黃名云,張成濤,華磊,朱永康,3
(1.廣西汽車零部件與整車技術(shù)重點(diǎn)實(shí)驗(yàn)室(廣西科技大學(xué)),廣西 柳州 545006;
2.廣西科技大學(xué)汽車與交通學(xué)院,廣西 柳州 545006;3.廣東省佛山市高明區(qū)技工學(xué)校,廣東 佛山 528500)
基于C8051F040的純電動(dòng)車CAN通信系統(tǒng)設(shè)計(jì)
黃名云1,2,張成濤1*,華磊2,朱永康2,3
(1.廣西汽車零部件與整車技術(shù)重點(diǎn)實(shí)驗(yàn)室(廣西科技大學(xué)),廣西 柳州 545006;
2.廣西科技大學(xué)汽車與交通學(xué)院,廣西 柳州 545006;3.廣東省佛山市高明區(qū)技工學(xué)校,廣東 佛山 528500)
汽車網(wǎng)絡(luò)化控制是未來汽車發(fā)展的必然趨勢,而實(shí)行車內(nèi)各電子單元之間的實(shí)時(shí)數(shù)據(jù)通信與共享則是進(jìn)行控制的基礎(chǔ)。文章基于C8051F040單片機(jī)設(shè)計(jì)了一個(gè)簡單的4子節(jié)點(diǎn)純電動(dòng)車通信網(wǎng)絡(luò)。文中分別對(duì)網(wǎng)絡(luò)進(jìn)行了系統(tǒng)設(shè)計(jì),硬件設(shè)計(jì),和軟件設(shè)計(jì),并通過簡單試驗(yàn)進(jìn)行了驗(yàn)證。實(shí)驗(yàn)結(jié)果顯示所設(shè)計(jì)4子節(jié)點(diǎn)CAN總線網(wǎng)絡(luò)無論是在數(shù)據(jù)準(zhǔn)確性、數(shù)據(jù)丟幀率以及高低速下的通信實(shí)時(shí)性都有較好的性能。由此可見,CAN高速和CAN低速兩條總線網(wǎng)絡(luò)的設(shè)計(jì)以及時(shí)間片輪詢多任務(wù)編程方式能有效緩解網(wǎng)絡(luò)負(fù)擔(dān),保證系統(tǒng)的實(shí)時(shí)性。該系統(tǒng)設(shè)計(jì)為進(jìn)一步進(jìn)行更復(fù)雜、更高性能的電動(dòng)車整車CAN網(wǎng)絡(luò)打下了良好的基礎(chǔ)。
純電動(dòng)車;C8051F040;CAN控制器;CAN收發(fā)器;CAN協(xié)議
CLC NO.:U462.1Document Code:AArticle ID:1671-7988 (2017)02-04-04
CAN(Controller Area Network)即控制器局域網(wǎng),是20世紀(jì)80年代初期,德國BOSCH公司為解決現(xiàn)代汽車中眾多控制單元、測試儀器之間的實(shí)時(shí)數(shù)據(jù)交換而開發(fā)的一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信協(xié)議[1]。由于CAN總線具有造價(jià)低廉,傳輸速率高,最高速率可高達(dá)1Mbps,安全性可靠性高,糾錯(cuò)能力強(qiáng),實(shí)時(shí)性好等優(yōu)點(diǎn),越來越多的汽車制造廠家采用CAN協(xié)議,CAN已經(jīng)成為一種國際標(biāo)準(zhǔn)(ISO-11898),是最有前途的現(xiàn)場總線之一[2]。國家“863計(jì)劃”關(guān)于電動(dòng)汽車課題中明確提出,新申報(bào)的電動(dòng)車開發(fā)項(xiàng)目必須采用CAN總線通訊模式。本論文正是基于這一背景設(shè)計(jì)了一個(gè)基于CAN總線的4個(gè)節(jié)點(diǎn)的電動(dòng)汽車車內(nèi)網(wǎng)絡(luò)。
隨著環(huán)境污染的日益嚴(yán)重以及石油危機(jī)的加劇,綠色節(jié)能的純電動(dòng)汽車越來越受到人們的歡迎,純電動(dòng)汽車成為汽車行業(yè)發(fā)展的必然趨勢[3]。同時(shí)隨著人們對(duì)汽車的舒適性,安全性等要求越來越高,汽車上的電子裝置也越來越多,一輛純電動(dòng)汽車上就有諸如整車控制器(VCU)、電機(jī)控制器(MCU)、電池管理系統(tǒng)(BMS)、車載充電機(jī)(CCS)、DC/DC電源(DCDC)、ABS防抱死制動(dòng)系統(tǒng)、安全氣囊、儀表系統(tǒng) 、車身控制系統(tǒng)、娛樂舒適系統(tǒng)等等眾多的電子ECU[4],用CAN總線把這些電子控制單元連接起來組成車內(nèi)網(wǎng)絡(luò),不但可以減少因?yàn)辄c(diǎn)對(duì)點(diǎn)通信而造成的龐大的線束,節(jié)省車內(nèi)空間,還可以提高汽車的實(shí)時(shí)性,穩(wěn)定性和安全性。由于時(shí)間和精力的限制,本文只選取了其中的四個(gè)節(jié)點(diǎn)進(jìn)行聯(lián)網(wǎng)設(shè)計(jì),以作為整車聯(lián)網(wǎng)通信的一個(gè)前期探索。
由于各個(gè)節(jié)點(diǎn)對(duì)實(shí)時(shí)性的要求不同,像動(dòng)力系統(tǒng)和安全系統(tǒng)對(duì)時(shí)間要求高,一般設(shè)為高速網(wǎng)絡(luò),而車身娛樂系統(tǒng)對(duì)實(shí)時(shí)性要求不高,一般設(shè)為低速網(wǎng)絡(luò),這樣不但減輕了網(wǎng)絡(luò)負(fù)擔(dān),也節(jié)省了資源,高速網(wǎng)絡(luò)和低速網(wǎng)絡(luò)之間需要網(wǎng)關(guān)連接[5]。本文設(shè)計(jì)的四個(gè)節(jié)點(diǎn)的通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 CAN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)采用總線拓?fù)湫问剑@樣有利于實(shí)現(xiàn)各節(jié)點(diǎn)的分布式控制。電機(jī)驅(qū)動(dòng)控制器和電池管理系統(tǒng)作為動(dòng)力系統(tǒng) ,設(shè)為高速CAN網(wǎng)絡(luò),速度設(shè)為500Kbps;車身主控制器作為車身系統(tǒng)組成,設(shè)為低速CAN網(wǎng)絡(luò),速度設(shè)為125Kbps。高速CAN和低速CAN之間由整車控制器做為網(wǎng)關(guān)連接,整車控制器除了做為網(wǎng)關(guān),最主要的是實(shí)行整車的控制,并外接一個(gè)液晶顯示屏,以便對(duì)整車通信狀態(tài)進(jìn)行顯示監(jiān)控。電機(jī)控制器負(fù)責(zé)將電機(jī)轉(zhuǎn)速、轉(zhuǎn)矩、電機(jī)溫度等信息通過CAN總線發(fā)送到整車控制器進(jìn)行處理和顯示,并接收來自整車控制器的控制信號(hào)。電池管理系統(tǒng)負(fù)責(zé)將電池電壓、電流、溫度、SOC、工作狀態(tài)等信息通過CAN總線發(fā)送到整車控制器進(jìn)行處理和顯示,同時(shí)接收來自整車控制器的控制信號(hào)。車身主控制器負(fù)責(zé)將燈光、門窗、電動(dòng)座椅等信息發(fā)送給整車控制器,同時(shí)接收來自整車控制器的控制信號(hào)。
2.1 硬件選擇及結(jié)構(gòu)設(shè)計(jì)
組成CAN通信的核心部件有單片機(jī),CAN控制器,CAN收發(fā)器,電氣隔離以及采集信號(hào)的傳感器等其他一些外圍部件[6]。單片機(jī)作為系統(tǒng)的大腦,直接對(duì)CAN控制器的相關(guān)寄存器進(jìn)行操縱和控制;CAN控制器集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層,將需要傳送或接收的數(shù)據(jù)按照CAN的幀格式和編碼方式轉(zhuǎn)換成協(xié)議數(shù)據(jù)流;CAN收發(fā)器是將單片機(jī)TTL電平轉(zhuǎn)換成CAN標(biāo)準(zhǔn)的差分電平,同時(shí)也實(shí)現(xiàn)總線的電氣保護(hù),過熱保護(hù)等,它直接與總線物理實(shí)體相連;為了增強(qiáng)系統(tǒng)的抗干擾能力,通常在CAN控制器與收發(fā)器之間增加電氣隔離部分。他們之間的原理連接框圖如圖2所示。
圖2 CAN節(jié)點(diǎn)硬件連接框圖
在這里單片機(jī)選用的是Cygnal公司的C8051F040微處理器,其內(nèi)核采用CIP-51微控制器,它與MCS-51指令集完全兼容,芯片上有1個(gè)12位多通道ADC,2個(gè)12位DAC,2個(gè)電壓比較器,1個(gè)電壓基準(zhǔn),1個(gè)32kB的FLASH存儲(chǔ)器,并且還有硬件實(shí)現(xiàn)的UART串行接口和完全支持CAN2.0A和CAN2.0B的CAN控制器,因而只需要增加CAN收發(fā)器和適當(dāng)?shù)目垢蓴_電路即可完成CAN節(jié)點(diǎn)的設(shè)計(jì),比傳統(tǒng)的單片機(jī)與CAN控制器共同組成的CAN節(jié)點(diǎn)更簡單,可靠,易操作。CAN收發(fā)器采用的是PHILIP公司TJA1050T;電氣隔離部分采用的是6N137高速光耦,他們之間的連接線路圖如圖3所示。
圖3 CAN節(jié)點(diǎn)硬件原理圖
C8051F040的TX0和RX0通過高速光耦6N137與CAN收發(fā)器TJA1050T的TXD和RXD相連,這樣就很好地實(shí)現(xiàn)了總線上各節(jié)點(diǎn)的電氣隔離,但要注意光耦電路的VA和VB需完全隔離。CANH和CANL管腳增設(shè)了阻容電路,以濾除總線上的干擾,提高系統(tǒng)的穩(wěn)定性,同時(shí)在CAN總線接入端與地之間分別反接一個(gè)二極管,以便CAN總線有較高的負(fù)電壓時(shí),能起到過壓保護(hù)作用。TJA1050T的第8腳接到C8051F040的一個(gè)管腳用于模式選擇,有靜音模式和高速模式,這里選擇高速模式,因?yàn)樵陟o音模式下,TJA1050T的發(fā)送器被禁能,執(zhí)行只聽功能。除整車控制器節(jié)點(diǎn)外,其他節(jié)點(diǎn)的硬件設(shè)計(jì)都如圖2圖3所示。
2.2 主控模塊的硬件設(shè)計(jì)
整車控制器作為網(wǎng)關(guān)因?yàn)樾枰B接高速和低速兩路CAN,所以需要至少兩路CAN通信接口[7],這里主控芯片選用飛思卡爾公司的MC9S12DXP512,它的內(nèi)部集成了5個(gè)CAN控制器,選用其中的兩路CAN控制器與CAN收發(fā)器相連后可以組成兩路CAN通信接口,分別用來連接高速CAN和低速CAN。主控芯片還需外接一個(gè)液晶顯示屏,以顯示整車通信狀態(tài)。具體硬件框圖如圖4所示:
圖4 整車控制器CAN通信結(jié)構(gòu)框圖
0路CAN控制器通過收發(fā)器與CAN高速相連,1路CAN控制器通過收發(fā)器與CAN低速相連,這樣就實(shí)現(xiàn)了整車控制器做為網(wǎng)關(guān)的硬件條件,其各元件之間的連接線路圖同其它節(jié)點(diǎn)。
軟件設(shè)計(jì)是CAN通信的重點(diǎn)及難點(diǎn),CAN通信需要滿足通信協(xié)議要求,CAN通信協(xié)議包括物理層,數(shù)據(jù)鏈路層及應(yīng)用層。物理層和數(shù)據(jù)鏈路層是通過CAN接口完成的,包括硬件電路和通信協(xié)議兩部分,由于CAN控制器中已經(jīng)嵌入了底層協(xié)議,因此在發(fā)送時(shí)只需將相應(yīng)的寄存器及數(shù)據(jù)信息設(shè)置好,直接啟動(dòng)發(fā)送即可[8],故系統(tǒng)的軟件開發(fā)主要集中在應(yīng)用層的設(shè)計(jì)上。按各節(jié)點(diǎn)在整車中的功能,分析出各節(jié)點(diǎn)需要通信的內(nèi)容,制作成如表1所示。
表1 CAN網(wǎng)絡(luò)各節(jié)點(diǎn)通信內(nèi)容
由于本網(wǎng)絡(luò)主要是研究各節(jié)點(diǎn)的相互通信,所以主要討論信息的發(fā)送和接收函數(shù)。對(duì)于發(fā)送函數(shù),所有接入網(wǎng)絡(luò)的控制器以廣播的形式向總線發(fā)送信息,為了滿足系統(tǒng)的實(shí)時(shí)性要求,發(fā)送報(bào)文的周期為30ms,采用時(shí)分輪詢的方式發(fā)送,具體方法為,所有控制器以接收到整車控制器發(fā)出控制幀(VCU)的時(shí)刻為對(duì)時(shí)基準(zhǔn),在相應(yīng)的時(shí)間間隔內(nèi)發(fā)送相關(guān)報(bào)文,具體的時(shí)間片輪詢順序如圖5所示,每個(gè)控制器開始發(fā)送報(bào)文的相對(duì)時(shí)刻誤差不應(yīng)超過±2ms。若某時(shí)段未收到整車控制器控制幀,則相應(yīng)節(jié)點(diǎn)控制器自動(dòng)在上一消息發(fā)出后30ms繼續(xù)發(fā)送。
圖5 各節(jié)點(diǎn)時(shí)間片輪詢順序
軟件實(shí)現(xiàn)過程如下:
而接收函數(shù)則采用濾波和中斷的方式,以便只接收需要的信息幀并對(duì)接收到的信息及時(shí)進(jìn)行處理。濾波的過程主要是通過設(shè)置驗(yàn)收濾波器和屏蔽寄存器來實(shí)現(xiàn)的,若屏蔽寄存器位設(shè)為0,則表示不關(guān)心,若為1,則表示接收?qǐng)?bào)文的ID位必須與驗(yàn)收濾波寄存器的位一致,比如說驗(yàn)收濾波器的值為00010100101,屏蔽寄存器的值為111111111110,屏蔽濾波器最后一位為0,表示不關(guān)心,1和0都可以通過,則00010100100,00010100101這兩種ID報(bào)文就可以被接收。這樣就實(shí)現(xiàn)了通過設(shè)置驗(yàn)收屏蔽寄存器來接收自己想要的報(bào)文,減輕主網(wǎng)絡(luò)的負(fù)擔(dān)。
整個(gè)主程序流程圖如圖6所示。
圖6 CAN網(wǎng)絡(luò)主程序流程圖
根據(jù)硬件原理圖搭建好試驗(yàn)平臺(tái),并根據(jù)軟件設(shè)計(jì)的思路編寫好程序,首先進(jìn)行單個(gè)節(jié)點(diǎn)的通信測試,隨后進(jìn)行各個(gè)節(jié)點(diǎn)的通信聯(lián)調(diào)。圖6為藍(lán)馬電子的USB-CAN-A1+轉(zhuǎn)換器對(duì)電池管理系統(tǒng)電池組溫度報(bào)文的發(fā)送情況的監(jiān)測輸出窗口。該溫度采用DS18B20溫度傳感器進(jìn)行采集,并通過CAN控制器將數(shù)據(jù)按30ms周期間隔發(fā)送到CAN總線上。從監(jiān)測窗口可以看到CAN通信波特率為500Kbps,接收幀數(shù)為189幀,通信速率為33幀/秒,總線占用率為0%等信息。這說明網(wǎng)絡(luò)負(fù)載低,接收稍有延遲,延遲時(shí)間不超過1ms。窗口下方接收數(shù)據(jù)幀014E為十六進(jìn)制,轉(zhuǎn)換為十進(jìn)制為334,此數(shù)值為溫度值乘以10的結(jié)果,所以實(shí)際溫度為33.4℃,與整車控制器上LCD顯示溫度一致,說明發(fā)送與接收到的數(shù)據(jù)一致,網(wǎng)絡(luò)可靠性好。
圖7 USB-CAN轉(zhuǎn)換器監(jiān)測高速CAN通信界面截圖
圖8 USB-CAN轉(zhuǎn)換器監(jiān)測低速CAN通信界面截圖
為了檢測數(shù)據(jù)有沒有丟幀現(xiàn)象以及低速網(wǎng)絡(luò)下的通信情況,特意編程設(shè)置只發(fā)送150幀報(bào)文,通信波特率設(shè)置為125Kbps,圖7為低速網(wǎng)絡(luò)下通信情況,由圖可以看出,150幀報(bào)文全部接收,并沒有丟幀,網(wǎng)絡(luò)延遲時(shí)間跟高速網(wǎng)絡(luò)差不多,但網(wǎng)絡(luò)占用率要稍高一點(diǎn)為2%,通信正確率仍舊為100%。
通過實(shí)驗(yàn)驗(yàn)證,高速和低速網(wǎng)絡(luò)都達(dá)到了較高的性能指標(biāo),可靠性較高,沒有發(fā)生丟幀現(xiàn)象,在分周期30ms發(fā)送一次數(shù)據(jù)幀的情況下,高速網(wǎng)絡(luò)占用率為0%,低速為2%。高低速兩條網(wǎng)絡(luò)的設(shè)計(jì)可以有效緩解網(wǎng)絡(luò)負(fù)擔(dān),同時(shí)各節(jié)點(diǎn)采用時(shí)間片輪詢的方式按周期發(fā)送消息可以有利于多任務(wù)的同時(shí)實(shí)現(xiàn)。
本文基于C8051F040單片機(jī)進(jìn)行了純電動(dòng)車CAN通信系統(tǒng)設(shè)計(jì),通過試驗(yàn)驗(yàn)證該系統(tǒng)設(shè)計(jì)方案可行,數(shù)據(jù)收發(fā)準(zhǔn)確,實(shí)時(shí)性較好,網(wǎng)絡(luò)通信順暢。為進(jìn)一步進(jìn)行整車CAN網(wǎng)絡(luò)通信以及設(shè)計(jì)高性能的CAN網(wǎng)絡(luò)打下了基礎(chǔ)。由于實(shí)車網(wǎng)絡(luò)要更復(fù)雜,網(wǎng)絡(luò)的性能要求更高,因此峰值負(fù)載、最大延遲時(shí)間、實(shí)時(shí)性調(diào)度算法等都是后續(xù)要考慮的問題[10]。
[1]Ronald G.Landman,Design and Analysis of CAN Networks for Vehicles.Society of Automotive Engineers.2000.(1).
[2]范儀繪.CAN總線在電動(dòng)汽車充電機(jī)上的應(yīng)用[J].農(nóng)業(yè)裝備與車輛工程.2010(11).
[3]葛林,周文華,徐航.CAN通信網(wǎng)絡(luò)在汽車中的應(yīng)用研究[J].汽車技術(shù).2000(11):1-4.
[4]宮江海,唐厚君,孔俊.CAN總線在電動(dòng)汽車上的應(yīng)用研究[J].工業(yè)控制計(jì)算機(jī).2004.17(3):23-24.
[5]遲瑞娟,曹止清.基于CAN總線的整車管理系統(tǒng)的硬件設(shè)計(jì).中國農(nóng)業(yè)大學(xué)學(xué)報(bào).2002,7(4):91-94.
[6]王練,劉堅(jiān).控制器局域網(wǎng)絡(luò)在大眾汽車中的應(yīng)用研究.汽車電器.2000.(2):7-10.
[7]李廣鑫,秦貴和,劉文靜等.CAN總線網(wǎng)關(guān)的設(shè)計(jì)與實(shí)現(xiàn)[J].吉林大學(xué)學(xué)報(bào).2010,28(2):166-171.
[8]秦貴和,葛安林等.汽車網(wǎng)絡(luò)技術(shù).汽車工程.2003,25(2):151-155.
[9]蔡偉杰,陳文強(qiáng),由毅等.整車CAN通信協(xié)議設(shè)計(jì)流程[J].汽車電器,2011,6:19-21
[10]曹萬科.CAN協(xié)議車載網(wǎng)絡(luò)若干關(guān)鍵理論研究[D].沈陽:東北大學(xué),2008.
Design of CAN Communication System for Battery Electric Vehicle Based on C8051F040
Huang Mingyun1,2, Zhang Chengtao1*, Hua Lei2, Zhu Yongkang2,3
(1.Guangxi Key Laboratory of Automobile Components and Vehicle Technology, Guangxi Liuzhou 545006; 2.Guangxi University of Science and Technology, Department of Automotive Engineering, Guangxi Liuzhou 545006; 3. Gaoming Technical school, Guangdong Foshan 528500)
Automotive network control system is the inevitable trend of the future development of the car, while the real-time data communication between the electronic units is the basis to implement this control system. In this paper, I designed a simple four CAN nodes communication system for a battery electric vehicle based on the C8051F040 microcontroller, including system design, hardware design and software design, also I did some simple experiments to verify its feasibility. The experiments’ results show that the network has good performance, both in date accuracy, date loss rate and real-time communication in both low and high speed. Therefore, the design of two lines bus network of CAN high speed and CAN low speed and the time slice polling multi task programming can effectively alleviate the burden of the network and ensure the real-time performance of the system. This system has laid a good foundation for the further design of more complex and higher performance CAN network for battery electric vehicle.
Battery Electric Vehicle; C8051F040; Can Controller; CAN Transceiver; CAN Protocol
U462.1
A
1671-7988 (2017)02-04-04
黃名云(1982-),女,助理講師,研究生,就讀于廣西科技大學(xué)汽車與交通學(xué)院。研究方向:車載網(wǎng)絡(luò)技術(shù)。
※通訊作者:張成濤(1978-),男,副教授,博士,就職于廣西汽車零部件與整車技術(shù)重點(diǎn)實(shí)驗(yàn)室(廣西科技大學(xué))。研究方向:車輛智能控制技術(shù)。
廣西高??茖W(xué)研究項(xiàng)目(重點(diǎn)),項(xiàng)目編號(hào)KY2015ZD070。
10.16638/j.cnki.1671-7988.2017.02.002