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