隨著智能網聯技術的進步,特別是適合智能網聯技術應用的純電動EV汽車平臺發展快速,大量汽車搭載了智能化功能,如主動剎車、自適應巡航、自動泊車等。這些功能在提高駕駛人員使用感受的同時,也成為教學中的新領域。針對該新功能的教學需求,需要制作一個智能化汽車的實訓臺架,整個實訓臺架的各個部件需解決通信問題。因此,就通信的選擇和應用做出討論、選擇,最后將CAN通信應用于該實訓臺架上。
1 智能化汽車實訓臺架的功能和硬件介紹
教學用的智能化汽車實訓臺架需要實現以下功能:
a.能夠自動前進和后退;b.能夠沿所畫的道路線行駛(含彎道);c.遇到所畫道路線中的固定障礙物能夠變道行駛,如果只有一個車道實訓臺架要能停車避讓;d.行駛速度不能過快,要小于10km/h。
針對實訓臺架要實現的功能,必須配備以下配置:a. 一個帶輪子的底盤,前輪可以實現轉向;b.一個VCU,兩個伺服電機和兩個配套的伺服電機控制器,一個位置傳感器。其中,一個伺服電機控制輪胎的前進和后退,由于車速慢底盤行駛系統未做優化,所以制動采用前進信號終止后,加一個短時間的后退信號實現制動功能,另一個伺服電機控制前輪的左右轉向,位置傳感器控制左右轉向的最大轉向度,VCU整體控制協調線性底盤的工作情況;c.一個雙目攝像頭和上位機來識別道路線和障礙物,其中上位機內寫入程序,處理攝像頭、激光雷達、超聲波雷達的信號,做 出自動駕駛的具體指令,傳送信號給VCU讓線性底盤動作;d.一個激光雷達和四個超聲波雷達,在光線不好的情況下識別障礙物;e.一個制動燈和兩個轉向燈,可視化線性底盤的動作;f, 一塊顯示屏和鼠標鍵盤外接設備可以操作智 能化的程序;g,一個48V鋰電池組作為實訓臺架動力,配套 BMS電池管理系統。
綜上智能化汽車所需零件主要為:一個線性底盤(包含兩個伺服電機控制器和兩個伺服電機、一套位置傳感器、一個車架、一套可轉向的輪胎);一套燈光系統(轉向和制動燈光);一個雙目攝像頭;一個激光雷達;一套超聲波雷達;一個顯示器和鼠標鍵盤;一個上位機;一個VCU ;一套電池模塊。動力連線如圖1所示。
圖1 智能化汽車供電電路圖
2 各部件通信的實現
對于上述元器件,在動力電路搭建完畢后就要考慮各元器件通信的問題。除了燈光系統是單方面控制開閉沒有通信的問題外,其他所有的元器件都是以上位機和VCU為核心進行通信。
激光雷達、雙目攝像頭、超聲波雷達和上位機通信將信號通信給上位機,上位機內寫有程序,根據這些程序算出實現實訓臺架執行器工作的指令信息。顯示屏和鼠標鍵盤這些外設設備也和上位機通信,可以通過這些外設來運行、調整程序。
位置傳感器、兩個伺服電機控制器和VCU進行通信。VCU根據上位機計算的結果對伺服電機控制器進行控制驅動,伺服電機控制器和伺服電機的連接是配套的。位置傳感器結構簡單,只負責固定轉向位置的信號發送。上位機和VCU、電池的管理系統相互進行通信。通信的連接如圖2所示。
圖2 智能化汽車通信連接示意圖
雙目攝像頭、激光雷達、超聲波雷達、顯示屏、鼠標、鍵盤等,這些元器件由于預算原因都直接購買的標準件成品,其中攝像頭、鼠標、鍵盤自帶USB串口通信,激光雷達和超聲波雷達用的是USB接口,通信協議為USB轉RS232,顯示屏有專用的顯示屏連接線。連接過程中發現USB接口比較多,因為部分元器件供電和通信都依靠USB接口,所以在上位機處加增一個USB擴展,來處理這部分元器件供電和通信的需求。
剩下的上位機、VCU、伺服電機控制器、BMS電池管理系統存在較大的選擇空間。一方面這四個元器件在整個系統中比較重要,通信信息密度較高,另一方面這四個元器件的外接口多樣,對多種通信協議兼容。
3 關鍵元器件通信選擇的思路和實施
在上位機、VCU、伺服電機控制器、BMS電池管理系統的通信中,一般有LIN通信和CAN通信兩種選擇。由于對CAN通信具有以下優點,最終選擇CAN通信應用于實訓臺架上。
3.1 無主從節點之分,組網靈活方便
這四種元器件中除了伺服電機控制器是對VCU通信的以外,其他的VCU、上位機、BMS電池管理系統都很重要,相互之間沒有明顯的主從之分,但LIN通信是一主多從的搭建方式。
CAN通信僅設計了一條總線,上位機、VCU、BMS電池管理系統的收發器都連接在總線上,任何時刻任何節點都可以發送信息,當某一個收發器需要發送信息時就直接將信息發送到總線上,總線上所有的其他收發器都可以接收到該收發器發送的信息。而且CAN通信系統具有柔軟性,在總線上增加新的元器件,已經在總線上的其他節點的軟硬件都不需要做出改變,方便日后擴展。
3.2 通信速度快,延遲小
通信速度主要是受通信協議和配套的硬件影響,CAN通信擁有一套良好的協議來保證其通信速度。
在CAN通信中,元件發送的信息在硬件層面上是直接先發送到元件節點的CAN控制器上。在軟件層面上,通過調取周期性的寫入指令,將元器件發送的信息寫入到CAN控制器中的寄存器上,再由CAN控制器上的寄存器暫時將這些信息存起來。在CAN控制器上寄存器中的信息是PDU(協議數據單元),PDU中間包含SUD(數據)、PCI(來自哪,要去哪的信息),這樣每次信息到了要到達的地方會自動刪除掉之前的信息,添加SUD要去哪的信息(不同層的PCI更新)。
將SUD通過CAN控制器中的數據鏈路層補全成協議幀。SUD經過邏輯鏈路子層(LLC)后由三個位段組成,分別為ID段、數據長度編碼和數據。再經過介質訪問控制子層(MAC)后數據要被打包的這個過程包括:LLC數據幀的接收、CRC序列計算、增加SOF位、SRR位、IDE位、RTR位、保留位、CRC位、ACK位和EOF位到LLC數據幀。數據打包過程包括;數據在數據鏈路層中逐步由SUD添加成CAN協議幀,然后發送介質訪問管理,再通過總線發送給對方元器件節點的CAN收發器。整個協議定義如圖3所示。
圖3 數據在數據鏈路層傳輸示意圖
在任何時刻多個元器件的節點都可以發送信息。如果當總線上已經有節點在發送信息,其他元器件的節點就會等該節點發送完成后再發送,如果某兩個元器件的節點同時向總線發送信息,就需要對比這兩個信息的開頭所顯示的重要性等級,重要性高的節點先發送信息,這個過程叫仲裁。仲裁失敗的節點轉為接收,這個過程不破壞總線信息的發送。因LIN通信是主節點安排各個節點收發時間,并不利于信息的及時傳遞。
由于CAN通信協議的定義,CAN通信的最大傳輸速度為1Mbit/s,遠大于LIN通信的最大傳輸速度20Kbit/so因為傳輸速度的快慢決定了網絡系統最大的復雜度,所以在傳輸速度方面CAN通信更優秀。
3.3 信息傳遞準確,抗干擾能力強
CAN通信一共有兩種狀態,分別表示為1和0,但是CAN通信是一種雙絞線,擁有CAN-H和CAN-L兩種結構,直接信號表示為CAN-H和CAN-L發送的電壓不同的差分信號,需要將差分信號通過定義轉變為比特信號。一般定義如下:顯性狀態CAN-H信號電壓3.5V,CAN-L電壓1.5V,表示邏輯0;隱性狀態CAN-H和CAN-L電壓均為2.4V,表示邏輯1。當總線上出現一個顯性狀態即邏輯0時,總線上其他隱性狀態即邏輯1都會變為顯性狀態邏輯0,如圖4所示。
圖4 高速CAN信號定義示意圖
由于CAN通信的雙絞線為CAN-H、CAN-L結構,因此CAN通信的抗干擾能力強,優于LIN通信的單線結構。
CAN通信對于協議幀的設計,使得CAN通信的數據傳遞更為準確。CAN協議標準數據幀由幀起始(SOF)、仲裁段、控制段、數據段、CRC段、ACK段、幀結束段(EOF)組成。
a.幀起始段:CAN協議標準數據幀的幀起始段由一個位的顯性位組成。由于總線在沒有消息發送時候的空閑狀態為隱性,幀起始的顯性位表明開始發送CAN協議幀。
b.仲裁段:CAN協議標準數據幀的仲裁段由11位基本ID和一位RTR。仲裁段是各個信息同時向總線發送時誰能獲得發送權的依據。
c.控制段:CAN協議標準數據幀的控制段,由一位IDE一位r。的保留位和四個位的DLC(數據長度編碼)組成。
d.數據段:CAN協議標準數據幀的數據段,包含0~8個字節(byte),其中一個字節包含8個位(bit)。這一段是CAN協議標準幀需要傳遞的信息。
e.CRC段:CAN協議標準數據幀的CRC段(循環冗余校驗段)由15個位的CRC序列(循環冗余校驗序列),以及一個位的CRC分界(循環冗余校驗分界)組成。
f.ACK段:CAN協議標準數據幀的ACK段(應答段),由一位ACKSolt(應答槽)和ACKDelimiter(應答界定符)組成。
g.幀結束段(EOF):CAN協議標準數據幀的幀結束段,由七個位的隱性位構成,通知所有的接收節點發送信息結束。
經研究發現,協議幀中控制段的DLC(數據長度編碼)的四個位表明數據段數據的長度。CRC段是根據多項式生成的CRC值(循環冗余校驗值),在接收信息的節點接收到該條信息后,會在接收節點的CAN控制器中對該條信息的CRC序列(循環冗余校驗序列)進行校驗,確定該條信息的正確與否°ACK段接收信息的節點在接收到正確信息時,會反饋一個顯性狀態的ACKSolt(應答槽),發送節點接收到顯性狀態的ACKSolt(應答槽)后就知道信息被正常接收了。總計七個段的協議幀中有三個段來保證信息傳遞的準確。
LIN通信中的校驗要明顯少于CAN通信,因此CAN通信的數據傳達更準確可靠。
3.4 具有可靠的通信錯誤檢驗和處理能力
在CAN通信中,當元器件的節點檢測到信息錯誤時會發送錯誤幀。隨著錯誤幀的累積,該節點會在三種錯誤狀體中的一種中,即主動錯誤狀態、被動錯誤狀態、總線關閉狀態。
主動錯誤狀態:發送錯誤大于0小于127次,接收錯誤大于0小于127次,此時節點輸出主動錯誤標識,處于主動錯誤狀態。在主動錯誤狀態下,節點還可以正常參加總線通信。
被動錯誤狀態:當節點發送錯誤和接收錯誤大于127次但是小于255次時,節點被認為處于被動錯誤狀態。由于該節點發送和接收到的錯誤過多會被懷疑整個節點損壞,所以發送和接收的信息不夠可信。處于被動錯誤狀態的單元即使檢測到錯誤,如果其他處于主動錯誤狀態的節點沒有發現錯誤,整個總線也將認為沒有錯誤,因此處于被動錯誤狀態的節點檢測到錯誤后不能馬上發送下一條信息。在本次數據發送結束,下次數據發送之前的間隔期間必須插入八個隱性位的“延遲傳送”,當處于被動錯誤狀態的節點檢測到錯誤時,將輸出被動錯誤標識(連續六個隱性位,可以被其他節點信息的顯性位覆蓋)。
總線關閉狀態:當節點發送錯誤和接收錯誤大于255次后就進入到總線關閉狀態,信息的收發均被禁止。處于這個狀態的節點需重啟,在總線上檢測到128次連續的11個隱形位后該節點狀態變為主動錯誤狀態,可以進行信息的收發,如圖5所示。
圖5 錯誤狀態轉換示意圖
以下五種情況節點會被認為檢測到錯誤,并發送錯誤幀:
a.位錯誤:節點發送信息時,檢測到當前總線的信號與發送的信號不一致,此時CAN
線認為產生了位錯誤,這個過程不包含位填充。
b.填充錯誤:在需要位填充的段內,檢測到連續六個相同的電平位。
c.循環冗余校驗錯誤:從接收到的信息所計算出的循環冗余校驗結果與接收到的循環冗余校驗順序不一致時,認為是循環冗余校驗錯誤。
d.格式錯誤:當檢測到對應的信息沒有按照要求的格式編寫時認定為格式錯誤。
e.ACK錯誤:發送節點在ACKSolt(應答槽)中檢測到隱性電平時所檢測到的錯誤(表明沒有節點接收到剛發送的信息)。
在LIN報文中檢測出錯誤時,將通過主任務、從任務丟棄數據。所以CAN通信在錯誤檢測處理過程中比較優秀。
通過以上五點考慮,最后決定使用CAN通信。
4 結語
在新能源汽車越來越普及的今天,由于智能化功能被大量應用,整車元器件對比以前普通燃油汽車有所增加,導致通訊系統復雜度變高。各個元器件的通信問題和普通燃油車相比更加頻繁,數據量更大,對于數據的抗干擾能力也有更嚴格的要求。
本文在制作教學用的智能化汽車實訓臺架過程中,通過對CAN通訊系統在各元器件通訊組網的靈活性、通訊速率、信息傳抵抗干擾、檢測信息錯誤和處理錯誤信息這四個方面與LIN通訊進行了比較,發現關鍵部件通信采用CAN通信連接,可使整個實訓臺架在操作過程中能夠完成當初設計時所需實現的功能,且為今后的實訓臺架升級增加新的功能留有余地。
審核編輯:郭婷
評論
查看更多