摘要:隨著智能?聯(lián)技術(shù)的進(jìn)步,特別是適合智能?聯(lián)技術(shù)應(yīng)?的純電動(dòng)EV汽?平臺(tái)發(fā)展快速,?量汽?搭載了智能化功能,如主動(dòng)剎?、?適應(yīng)巡航、?動(dòng)泊?等。這些功能在提?駕駛?員使?感受的同時(shí),也成為教學(xué)中的新領(lǐng)域。針對(duì)該新功能的教學(xué)需求,需要制作?個(gè)智能化汽?的實(shí)訓(xùn)臺(tái)架,整個(gè)實(shí)訓(xùn)臺(tái)架的各個(gè)部件需解決通信問(wèn)題。因此,就通信的選擇和應(yīng)?做出討論、選擇,最后將CAN通信應(yīng)?于該實(shí)訓(xùn)臺(tái)架上。
關(guān)鍵詞:智能?聯(lián);智能化汽?實(shí)訓(xùn)平臺(tái);CAN通信
中圖分類號(hào): U463.6 收稿?期:2022-04-29
DOI:10.19999/j.cnki.1004-0226.2022.06.025
1 智能化汽?實(shí)訓(xùn)臺(tái)架的功能和硬件介紹
教學(xué)?的智能化汽?實(shí)訓(xùn)臺(tái)架需要實(shí)現(xiàn)以下功能:a.能夠?動(dòng)前進(jìn)和后退;b.能夠沿所畫的道路線?駛(含彎道);c.遇到所畫道路線中的固定障礙物能夠變道?駛,如果只有?個(gè)?道實(shí)訓(xùn)臺(tái)架要能停?避讓;d.?駛速度不能過(guò)快,要小于10 km/h。
針對(duì)實(shí)訓(xùn)臺(tái)架要實(shí)現(xiàn)的功能,必須配備以下配置:a.?個(gè)帶輪?的底盤,前輪可以實(shí)現(xiàn)轉(zhuǎn)向;b.?個(gè)VCU,兩個(gè)伺服電機(jī)和兩個(gè)配套的伺服電機(jī)控制器,?個(gè)位置傳感器。其中,?個(gè)伺服電機(jī)控制輪胎的前進(jì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)線性底盤的?作情況;c.?個(gè)雙?攝像頭和上位機(jī)來(lái)識(shí)別道路線和障礙物,其中上位機(jī)內(nèi)寫?程序,處理攝像頭、激光雷達(dá)、超聲波雷達(dá)的信號(hào),做出?動(dòng)駕駛的具體指令,傳送信號(hào)給VCU讓線性底盤動(dòng)作;d.?個(gè)激光雷達(dá)和四個(gè)超聲波雷達(dá),在光線不好的情況下識(shí)別障礙物;e.?個(gè)制動(dòng)燈和兩個(gè)轉(zhuǎn)向燈,可視化線性底盤的動(dòng)作;f.?塊顯?屏和?標(biāo)鍵盤外接設(shè)備可以操作智能化的程序;g.?個(gè)48 V鋰電池組作為實(shí)訓(xùn)臺(tái)架動(dòng)?,配套BMS電池管理系統(tǒng)。
綜上智能化汽?所需零件主要為:?個(gè)線性底盤(包含兩個(gè)伺服電機(jī)控制器和兩個(gè)伺服電機(jī)、?套位置傳感器、?個(gè)?架、?套可轉(zhuǎn)向的輪胎);?套燈光系統(tǒng)(轉(zhuǎn)向和制動(dòng)燈光);?個(gè)雙?攝像頭;?個(gè)激光雷達(dá);?套超聲波雷達(dá);?個(gè)顯?器和?標(biāo)鍵盤;?個(gè)上位機(jī);?個(gè)VCU;?套電池模塊。動(dòng)?連線如圖1所?。
2 各部件通信的實(shí)現(xiàn)
對(duì)于上述元器件,在動(dòng)?電路搭建完畢后就要考慮各元器件通信的問(wèn)題。除了燈光系統(tǒng)是單??控制開閉沒(méi)有通信的問(wèn)題外,其他所有的元器件都是以上位機(jī)和VCU為核?進(jìn)?通信。
激光雷達(dá)、雙?攝像頭、超聲波雷達(dá)和上位機(jī)通信將信號(hào)通信給上位機(jī),上位機(jī)內(nèi)寫有程序,根據(jù)這些程序算出實(shí)現(xiàn)實(shí)訓(xùn)臺(tái)架執(zhí)?器?作的指令信息。顯?屏和?標(biāo)鍵盤這些外設(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所?。
雙?攝像頭、激光雷達(dá)、超聲波雷達(dá)、顯?屏、?標(biāo)、鍵盤等,這些元器件由于預(yù)算原因都直接購(gòu)買的標(biāo)準(zhǔn)件成品,其中攝像頭、?標(biāo)、鍵盤?帶USB串口通信,激光雷達(dá)和超聲波雷達(dá)?的是U S B 接口,通信協(xié)議為U S B 轉(zhuǎn)RS232,顯?屏有專?的顯?屏連接線。連接過(guò)程中發(fā)現(xiàn)U S B接口?較多,因?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 ?主從節(jié)點(diǎn)之分,組?靈活?便
這四種元器件中除了伺服電機(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)取周期性的寫?指令,將元器件發(fā)送的信息寫?到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ù)?度編碼和數(shù)據(jù)。再經(jīng)過(guò)介質(zhì)訪問(wèn)控制?層(MAC)后數(shù)據(jù)要被打包的這個(gè)過(guò)程包括:LLC數(shù)據(jù)幀的接收、C R C序列計(jì)算、增加S O F位、S R R位、I D E位、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所?。
在任何時(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è)信息的開頭所顯?的重要性等級(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通信的最?傳輸速度為1 Mbit/s,遠(yuǎn)?于LIN通信的最?傳輸速度20 Kbit/s。因?yàn)閭鬏斔俣鹊目炻龥Q定了?絡(luò)系統(tǒng)最?的復(fù)雜度,所以在傳輸速度??CAN通信更優(yōu)秀。
3.3 信息傳遞準(zhǔn)確,抗?擾能?強(qiáng)
C A N通信?共有兩種狀態(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)C A N-H信號(hào)電壓3.5 V,C A N-L電壓1.5 V,表?邏輯0;隱性狀態(tài)CAN-H和CAN-L電壓均為2.4 V,表?邏輯1。當(dāng)總線上出現(xiàn)?個(gè)顯性狀態(tài)即邏輯0時(shí),總線上其他隱性狀態(tài)即邏輯1都會(huì)變?yōu)轱@性狀態(tài)邏輯0,如圖4所?。
由于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)為隱性,幀起始的顯性位表明開始發(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.控制段:C A N協(xié)議標(biāo)準(zhǔn)數(shù)據(jù)幀的控制段,由?位I D E?位r 的保留位和四個(gè)位的D L C(數(shù)據(jù)?度編碼) 0組成。
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)答段),由?位ACK Sol(t 應(yīng)答槽)和ACK Delimite(r 應(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ù)?度編碼)的四個(gè)位表明數(shù)據(jù)段數(shù)據(jù)的?度。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)的ACK Sol(t 應(yīng)答槽),發(fā)送節(jié)點(diǎn)接收到顯性狀態(tài)的ACK Sol(t 應(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所?。
以下五種情況節(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)有按照要求的格式編寫時(shí)認(rèn)定為格式錯(cuò)誤。
e.ACK錯(cuò)誤:發(fā)送節(jié)點(diǎn)在ACK Sol(t 應(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ǔ)
在新能源汽?越來(lái)越普及的今天,由于智能化功能被?量應(yīng)?,整?元器件對(duì)?以前普通燃油汽?有所增加,導(dǎo)致通訊系統(tǒng)復(fù)雜度變?。各個(gè)元器件的通信問(wèn)題和普通燃油?相?更加頻繁,數(shù)據(jù)量更?,對(duì)于數(shù)據(jù)的抗?擾能?也有更嚴(yán)格的要求。
本?在制做教學(xué)?的智能化汽?實(shí)訓(xùn)臺(tái)架過(guò)程中,通過(guò)對(duì)CAN通訊系統(tǒ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í)增加新的功能留有余地。
參考?獻(xiàn):
[1] CAN??書.www.renesas.com.
[2] 鄔寬明. CAN總線原理和應(yīng)?系統(tǒng)設(shè)計(jì)[M].北京:北京航空航天?學(xué)出版社,1996.
[3] 崔勝?.智能?聯(lián)汽?新技術(shù)[M].北京:化學(xué)?業(yè)出版社,2016.
作者簡(jiǎn)介:
陳克乾,男,1987年?,?級(jí)實(shí)習(xí)指導(dǎo),研究?向?yàn)槠?維修、新能源汽?和汽?智能?聯(lián)。