基于CAN總線的汽車內(nèi)部網(wǎng)絡(luò)系統(tǒng)研究
掃描二維碼
隨時隨地手機(jī)看文章
摘要:研究汽車局域網(wǎng)CAN總線在汽車中的具體應(yīng)用,實(shí)現(xiàn)采用Motorola公司16位單片機(jī)MC9S12DP256為核心的CAN節(jié)點(diǎn)設(shè)計(jì)。根據(jù)汽車內(nèi)部CAN網(wǎng)絡(luò)速率的不同,給出不同速率網(wǎng)絡(luò)之間實(shí)現(xiàn)通信的網(wǎng)關(guān)軟硬件設(shè)計(jì)。該系統(tǒng)具有結(jié)構(gòu)簡單、可靠性高等特點(diǎn),具有廣闊的應(yīng)用前景。
關(guān)鍵詞:汽車內(nèi)部網(wǎng)絡(luò) CAN總線 MC9S12DP256
引 言
隨著車用電氣設(shè)備越來越多,從發(fā)動機(jī)控制到傳動系統(tǒng)控制,從行駛、制動、轉(zhuǎn)向系統(tǒng)控制到安全保證系統(tǒng)及儀表報(bào)警系統(tǒng),從電源管理到為提高舒適性而作的各種努力,使汽車電氣系統(tǒng)形成一個復(fù)雜的大系統(tǒng),而且這一系統(tǒng)都集中在駕駛室控制。另外,隨著近年來ITS的發(fā)展,以3G(GPS、GIS和GSM)為代表的新型電子通信產(chǎn)品的出現(xiàn),對汽車的綜合布線和信息的共享交互提出了更高的要求。
從布線角度分析,傳統(tǒng)的電氣系統(tǒng)大多采用點(diǎn)對點(diǎn)的單一通信方式,相互之間少有聯(lián)系,這樣必然需要龐大的布線系統(tǒng)。據(jù)統(tǒng)計(jì),一輛采用傳統(tǒng)布線方法的高檔汽車中,其導(dǎo)線長度可達(dá)2 000 m,電氣節(jié)點(diǎn)達(dá)1 500個,而且根據(jù)統(tǒng)計(jì),該數(shù)字大約每10年增長1倍,從而加劇了粗大的線束與汽車有限的可用空間之間的矛盾。無論從材料成本還是工作效率看,傳統(tǒng)布線方法都將不能適應(yīng)汽車的發(fā)展。
從信息共享角度分析,現(xiàn)代典型的控制單元有電控燃油噴射系統(tǒng)、電控傳動系統(tǒng)、防抱死制動系統(tǒng)(ABS)、防滑控制系統(tǒng)(ASR)、廢氣再循環(huán)控制、巡航系統(tǒng)和空調(diào)系統(tǒng)。為了滿足各子系統(tǒng)的實(shí)時性要求,有必要對汽車公共數(shù)據(jù)實(shí)行共享,如發(fā)動機(jī)轉(zhuǎn)速、車輪轉(zhuǎn)速、油門踏板位置等,但每個控制單元對實(shí)時性的要求是因數(shù)據(jù)的更新速率和控制周期不同而不同的。這就要求其數(shù)據(jù)交換網(wǎng)是基于優(yōu)先權(quán)競爭的模式,且本身具有較高的通信速率。CAN總線正是為滿足這些要求而設(shè)計(jì)的。
1 CAN簡介
德國Bosch 公司為解決現(xiàn)代車輛中眾多的控制和數(shù)據(jù)交換問題,開發(fā)出一種CAN(Controller Area Network)現(xiàn)場總線通信結(jié)構(gòu)。CAN總線硬件連接簡單,有良好的可靠性、實(shí)時性和性能價格比。CAN總線能夠滿足現(xiàn)代自動化通信的需要,已成為工業(yè)數(shù)據(jù)總線通信領(lǐng)域中最為活躍的一支。其主要特點(diǎn)
是:
?、?CAN總線為多主站總線,各節(jié)點(diǎn)均可在任意時刻主動向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,不分主
從,通信靈活;
?、?CAN總線采用獨(dú)特的非破壞性總線仲裁技術(shù),優(yōu)先級高的節(jié)點(diǎn)優(yōu)先傳送數(shù)據(jù),能滿足實(shí)時性要求;
③ CAN總線具有點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)及全局廣播傳送數(shù)據(jù)的功能;
?、?CAN總線上每幀有效字節(jié)數(shù)最多為8個,并有CRC及其他校驗(yàn)措施,數(shù)據(jù)出錯率極低,萬一某一節(jié)點(diǎn)出現(xiàn)嚴(yán)重錯誤,可自動脫離總線,總線上的其他操作不受影響;
?、?CAN總線只有兩根導(dǎo)線,系統(tǒng)擴(kuò)充時,可直接將新節(jié)點(diǎn)掛在總線上即可,因此走線少,系統(tǒng)擴(kuò)充容易,改型靈活;
⑥ CAN總線傳輸速度快,在傳輸距離小于40 m時,最大傳輸速率可達(dá)1 Mb/s;
?、?CAN總線上的節(jié)點(diǎn)數(shù)主要取決于總線驅(qū)動電路,在CAN2.0B標(biāo)準(zhǔn)中,其報(bào)文標(biāo)識符幾乎不受限
制。
總之,CAN總線具有實(shí)時性強(qiáng)、可靠性高、通信速率快、結(jié)構(gòu)簡單、互操作性好、總線協(xié)議具有完善的錯誤處理機(jī)制、靈活性高和價格低廉等特點(diǎn)。
2 總體方案設(shè)計(jì)
2.1 汽車內(nèi)部CAN網(wǎng)絡(luò)設(shè)計(jì)
正是由于CAN總線具有這些其他通信方式無法比擬的優(yōu)點(diǎn),使之成為電動汽車控制系統(tǒng)的理想
總線。
現(xiàn)代汽車典型的電控單元主要有主控制器、發(fā)動機(jī)控制系統(tǒng)、懸架控制系統(tǒng)、制動防抱死控制系統(tǒng)(ABS)、牽引力控制系統(tǒng)、ASR控制系統(tǒng)、儀表管理系統(tǒng)、故障診斷系統(tǒng)、中央門鎖系統(tǒng)、座椅調(diào)節(jié)系統(tǒng)、車燈控制系統(tǒng)等。所有這些子控制系統(tǒng)連接起來構(gòu)成一個實(shí)時控制系統(tǒng)——指令發(fā)出去之后,必須保證在一定時間內(nèi)得到響應(yīng),否則,就有可能發(fā)生重大事故。這就要求汽車上的CAN通信網(wǎng)絡(luò)有較高的波特率設(shè)置。另外,汽車在實(shí)際運(yùn)行過程中,眾多節(jié)點(diǎn)之間需要進(jìn)行大量的實(shí)時數(shù)據(jù)交換。若整個汽車的所有節(jié)點(diǎn)都掛在一個CAN網(wǎng)絡(luò)上,眾多節(jié)點(diǎn)通過一條CAN總線進(jìn)行通信,信息管理配置稍有不當(dāng),就很容易出現(xiàn)總線負(fù)荷過大,導(dǎo)致系統(tǒng)實(shí)時響應(yīng)速度下降的情況。這在實(shí)時系統(tǒng)中是不允許的,因此在對汽車上各節(jié)點(diǎn)的實(shí)時性進(jìn)行了分析之后,根據(jù)各節(jié)點(diǎn)對實(shí)時性的要求,設(shè)計(jì)了高、中、低速三個速率不同的CAN通信網(wǎng)絡(luò),將實(shí)時性要求嚴(yán)格的節(jié)點(diǎn)組成高速CAN通信網(wǎng)絡(luò),將其他實(shí)時性要求相對較低的節(jié)點(diǎn)組成中速CAN通信網(wǎng)絡(luò),將剩下實(shí)時性要求不是很嚴(yán)格的節(jié)點(diǎn)組成低速CAN通信網(wǎng)絡(luò)。并架設(shè)網(wǎng)關(guān)將這三個速率不同的三個通信網(wǎng)絡(luò)連接起來,實(shí)現(xiàn)全部節(jié)點(diǎn)之間的數(shù)據(jù)共享。整個汽車的CAN通信網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。
圖1 汽車CAN總線網(wǎng)0絡(luò)拓?fù)鋱D
發(fā)動機(jī)控制系統(tǒng)、懸架控制系統(tǒng)、制動防抱死控制系統(tǒng)(ABS)、牽引力控制系統(tǒng)、ASR控制系統(tǒng)這五個節(jié)點(diǎn)是汽車運(yùn)行的核心部件,對時間響應(yīng)要求嚴(yán)格,因此將這五個節(jié)點(diǎn)組成高速CAN通信網(wǎng)絡(luò),通信波特率設(shè)為500 bps。儀表管理系統(tǒng)、故障診斷系統(tǒng)等相對來說對實(shí)時性的要求較低,因此這些節(jié)點(diǎn)構(gòu)成中速CAN通信網(wǎng)絡(luò)、通信波特率設(shè)為128 bps。中央門鎖系統(tǒng)、座椅調(diào)節(jié)系統(tǒng)、車燈控制系統(tǒng)對實(shí)時性要求不是很嚴(yán)格,它們構(gòu)成低速通信網(wǎng)絡(luò),通信波特率設(shè)為30 bps。兩個網(wǎng)關(guān)跨接高、中、低速三條總線,與各節(jié)點(diǎn)進(jìn)行數(shù)據(jù)交換。網(wǎng)關(guān)通過對CAN總線間待傳數(shù)據(jù)信息的智能化處理,可以確保只有某類特定的信息才能夠在網(wǎng)絡(luò)間傳輸。
2.2 器件選擇
汽車內(nèi)部CAN網(wǎng)絡(luò)主要由兩部分組成:面向底層ECU的CAN節(jié)點(diǎn)和實(shí)現(xiàn)高低速網(wǎng)絡(luò)數(shù)據(jù)共享及網(wǎng)絡(luò)管理的網(wǎng)關(guān)。為了減少開發(fā)周期,選擇Motorola公司一款帶CAN模塊的中檔微處理器MC9S12DP256;CAN收發(fā)器以及電源系統(tǒng)是用MC33989來實(shí)現(xiàn)的。
微控制器MC9S12DP256是基于16位HCS12 CPU及0.25 μm微電子技術(shù)的高速、高性能5.0 V Flash存儲器產(chǎn)品中的中檔芯片。其較高的性能價格比使其非常適合用于一些中高檔汽車電子控制系統(tǒng);同時其較簡單的背景開發(fā)模式(BDM)也使開發(fā)成本進(jìn)一步降低,使現(xiàn)場開發(fā)與系統(tǒng)升級變得更加方便。
MC9S12DP256的主頻高達(dá)25 MHz;片上集成了許多標(biāo)準(zhǔn)模塊,包括2個異步串行通信口SCI、3個同步串行通信口SPI、8通道輸入捕捉/輸出比較定時器、2個10位8通道A/D轉(zhuǎn)換模塊、1個8通道脈寬調(diào)制模塊、49個獨(dú)立數(shù)字I/O口(其中20個具有外部中斷及喚醒功能)、兼容CAN2.0A/B協(xié)議的5個CAN模塊以及1個內(nèi)部IC總線模塊;片內(nèi)擁有256 KB的Flash EEPROM?12 KB的RAM、4 KB的EEPROM。這些豐富的內(nèi)部資源和外部接口資源可以滿足各種ECU數(shù)據(jù)的處理以及發(fā)送和接收。由于有多個CAN模塊,所以非常適合做高低速網(wǎng)絡(luò)之間的網(wǎng)關(guān)。
Motorola公司的系統(tǒng)級芯片(SBC)MC33989具有二個電源整流器,專為MCU和外圍器件提供電源。這個智能化的半導(dǎo)體器件可以提供所有必需的系統(tǒng)電壓,內(nèi)部有一個低噪聲的200 mA整流器用來給MCU子系統(tǒng)供電。另外,還有一個控制外部導(dǎo)通晶體管的裝置用來給外圍設(shè)備供電。這個外部導(dǎo)通晶體管允許調(diào)整二次電源,使之滿足每種特殊應(yīng)用所需的功耗極限要求。二次供電電源還能根據(jù)要求切斷所選外圍設(shè)備的供電,并以此達(dá)到降低功耗的目的。
除了提供系統(tǒng)電源外,SBC內(nèi)部還集成了一個1 Mb的CAN收發(fā)器。該收發(fā)器具有主控狀態(tài)超時檢測、內(nèi)部熱保護(hù)以及CAN-H和CAN-L輸入端短路保護(hù)等功能。收發(fā)器內(nèi)部還對CAN-H和CAN-L輸入端進(jìn)行了跳啟、電池反接以及短接至電源或地的保護(hù)。
4個高壓喚醒輸入端使器件具備了強(qiáng)大的喚醒功能。這些喚醒輸入端的最大耐壓能達(dá)40 V。輸入端的上拉源能在芯片上產(chǎn)生。由于只需用上拉源就能隨時檢測開關(guān)輸入的變化,因此能較好地降低功耗。該器件還具有周期性喚醒功能。另外,SBC還提供了針對MCU的復(fù)位調(diào)節(jié)與低壓檢測功能。
2.3 CAN節(jié)點(diǎn)的硬件電路設(shè)計(jì)
為了便于調(diào)試和演示,節(jié)點(diǎn)模塊都包括CAN接口、RS232接口和液晶顯示器。在調(diào)試過程中,液晶顯示器用來將本地?cái)?shù)據(jù)和通過CAN總線接收的數(shù)據(jù)直觀地顯示出來,RS232接口在需要的情況下可用來與PC機(jī)建立通信。
節(jié)點(diǎn)的核心芯片是微處理器MC9S12DP256,主要負(fù)責(zé)CAN的初始化,完成數(shù)據(jù)的處理及監(jiān)控?cái)?shù)據(jù)的傳送。
圖2中MC33989是CAN控制器與物理層總線之間的接口。該器件可以提供對總線的差分發(fā)送能力和差分接收能力,具有抗汽車環(huán)境下的瞬間干擾、保護(hù)總線的功能。除此之外,它還為MCU和外圍器件提供電源。CAN節(jié)點(diǎn)原理框圖如圖2所示。
圖2 CAN節(jié)點(diǎn)原理框圖
2.4 CAN網(wǎng)關(guān)的硬件電路設(shè)計(jì)
網(wǎng)關(guān)的主要作用是協(xié)調(diào)各個網(wǎng)絡(luò)之間數(shù)據(jù)的共享,負(fù)責(zé)各節(jié)點(diǎn)之間的通信,其硬件結(jié)構(gòu)與CAN節(jié)點(diǎn)非常相似。由于它負(fù)責(zé)高速與低速網(wǎng)絡(luò)之間的數(shù)據(jù)共享,所以,必須同時跨接在兩個網(wǎng)絡(luò)之間。CAN總線網(wǎng)關(guān)硬件框圖如圖3所示。
圖3 CAN總線網(wǎng)關(guān)硬件框圖
微處理器MC9S12DP256具有5個CAN模塊,這里使用其中的兩個:一個通過MC33989與低速網(wǎng)相連,實(shí)現(xiàn)與低速網(wǎng)的通信;另一個通過MC33989與高速網(wǎng)相連,實(shí)現(xiàn)高、低速網(wǎng)之間的通信以及對網(wǎng)絡(luò)的管理。
2.5 CAN網(wǎng)絡(luò)通信系統(tǒng)軟件設(shè)計(jì)
本設(shè)計(jì)所需實(shí)現(xiàn)的功能是各節(jié)點(diǎn)發(fā)送接收數(shù)據(jù),網(wǎng)關(guān)能實(shí)現(xiàn)數(shù)據(jù)的轉(zhuǎn)換,實(shí)現(xiàn)高、低速網(wǎng)絡(luò)之間的通信。在實(shí)驗(yàn)過程中,假設(shè)速率不同的兩個網(wǎng)絡(luò),數(shù)據(jù)刷新周期分別為10 ms的低速網(wǎng)和5 ms的高速網(wǎng)。軟件設(shè)計(jì)由KEIL C編寫,主程序完成數(shù)據(jù)的處理和收發(fā),中斷程序負(fù)責(zé)數(shù)據(jù)的采集,主程序由CAN總線數(shù)據(jù)的收發(fā)、液晶顯示控制、數(shù)據(jù)幀解析三部分構(gòu)成。通過中斷判斷數(shù)據(jù)的接收或發(fā)送,根據(jù)高、低速的不同,每隔一段時間(5 ms或10 ms)發(fā)送一組新數(shù)據(jù)。通信程序流程如圖4所示。
圖4 通信程序流程結(jié)語
結(jié)語
為了充分發(fā)揮ECU在汽車控制中的作用,CAN通信網(wǎng)絡(luò)為全局優(yōu)化提供了條件。通過實(shí)驗(yàn)證明,CAN總線具有以下優(yōu)點(diǎn):① 組網(wǎng)自由,擴(kuò)展性強(qiáng);② 自動錯誤界定,簡化了電控單元對通信的操作;③ 可根據(jù)數(shù)據(jù)內(nèi)容確定優(yōu)先權(quán),解決通信的實(shí)時性問題。
此外,CAN網(wǎng)絡(luò)還被眾多工業(yè)控制系統(tǒng)采用,尤其是傳輸速率較高而且對實(shí)時性及可靠性要求高的場合,所以CAN總線將有廣闊的應(yīng)用前景。
參考文獻(xiàn)
1 鄔寬明.CAN總線原理和應(yīng)用系統(tǒng)設(shè)計(jì). 北京:北京航空航天出版社,1996
2 陽憲惠. 現(xiàn)場總線技術(shù)及其應(yīng)用. 北京:清華大學(xué)出版社,1999
3 MC9S12DP256 Advance Information. Revision 1.1. December 1, 2000
4 System Basis Chip with High Speed CAN. July 10, 2002
黃濤:博士,主要研究方向?yàn)?strong>汽車電子。周德恒:碩士研究生,主要研究方向?yàn)榍度胧较到y(tǒng)及車載網(wǎng)絡(luò)應(yīng)用。