隨著現(xiàn)代汽車新技術的飛速發(fā)展,車輛安全系統(tǒng)和舒適系統(tǒng)的不斷完善,用于車輛中的電氣設備越來越多。針對國產轎車車身控制模塊的多子系統(tǒng)分別工作、智能化程度低、功能可擴展性差的現(xiàn)狀,提出了基于高層協(xié)議的分布式模塊化控制器局域網 CAN 總線控制解決方案。本文闡述了CAN總線協(xié)議及其技術特點。結合應用實例,分析了CAN總線技術在汽車中的應用優(yōu)勢,并對系統(tǒng)的總體結構,數(shù)據傳輸方式以及控制過程進行了詳細的描述,并完成節(jié)點電路設計,協(xié)議定義及軟件實現(xiàn),試驗驗證了其可行性。
1:引言
計算機控制系統(tǒng)的發(fā)展在經歷了基地式氣動儀表控制系統(tǒng)、電動單元組合式模擬儀表控制系統(tǒng)、集中式數(shù)字控制系統(tǒng)以及集散控制系統(tǒng)(DCS )后,隨著微處理器技術和集成電路技術的飛速發(fā)展,到了現(xiàn)在的現(xiàn)場總線控制系統(tǒng)?,F(xiàn)場總線也被稱為自動化領域的計算機網絡,是當今自動化領域技術發(fā)展的熱點之一,它標志著控制技術進入了一個新的時代?,F(xiàn)場總線以總線為紐帶,將現(xiàn)場設備連接起來成為一個能夠相互交換信息的控制網絡,是一種雙向串行多節(jié)點數(shù)字通信的系統(tǒng)。CAN總線也是現(xiàn)場總線的一種,被廣泛應用于汽車的控制系統(tǒng)、自動控制、樓宇自動化、醫(yī)學設備等各個領域。
2:CAN總線簡介
CAN是控制器局域網絡(Controller Area Network)的簡稱,它是由德國的Bosch公司及幾個半導體生產商開發(fā)出來的,CAN 總線是一種串行多主站控制器局域網總線。它具有很高的網絡安全性、通訊可靠性和實時性,簡單實用,網絡成本低。特別適用于汽車計算機控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強和振動大的工業(yè)環(huán)境。
CAN總線有如下基本特點:
◎ CAN總線為多主站總線,各節(jié)點可在任意時刻向網絡上的其他節(jié)點發(fā)送信息,不分主從,通信靈活;
◎ CAN總線采用獨特的非破壞性總線仲裁技術,優(yōu)先級高的節(jié)點優(yōu)先傳送數(shù)據,可滿足實時性要求;
◎ CAN總線具有點對點、一點對多點及全局廣播傳送數(shù)據的功能;
◎ CAN總線采用短幀結構,每幀有效字節(jié)數(shù)最多為8個,數(shù)據傳輸時間短,并有CRC及其他校驗措施,數(shù)據出錯率極低;
◎ CAN總線上某一節(jié)點出現(xiàn)嚴重錯誤時,可自動脫離總線,而總線上的其他操作不受影響;
◎ CAN總線系統(tǒng)擴充時,可直接將新節(jié)點掛在總線上,因而走線少,系統(tǒng)擴充容易,改型靈活;
◎ CAN總線最大傳輸速率可達1Mb/s(此時通信距離最長為40m),直接通信距離最遠可達10km(速率5kbps以下);
◎ CAN總線上的節(jié)點數(shù)主要取決于總線驅動電路。在標準幀(11位報文標識符)可達110個,而在擴展幀(29位報文標識符)其個數(shù)幾乎不受限制。
3: CAN總線控制系統(tǒng)的網絡構建原理
CAN總線是一種串行總線式的通信網絡。與其他串行式網絡所不同的是,CAN總線采用了帶優(yōu)先級的CSMA/CD協(xié)議對總線進行仲裁,所以,CAN總線構建的網絡允許網絡上的節(jié)點同時發(fā)送信息,這樣,CAN總線既可以構成多主結構的系統(tǒng),保證了系統(tǒng)設計的可靠性,也能保證信息處理的實時性。此外,CAN總線采用短幀結構,且它的每幀信息都有CRC校驗,這樣就能夠保證很低數(shù)據傳輸出錯率。CAN總線通信接口中集成了CAN協(xié)議的物理層和數(shù)據鏈路層功能,可完成對通信數(shù)據的成幀處理,包括位填充、數(shù)據塊編碼、循環(huán)冗余檢測、優(yōu)先級判別等工作.CAN總線控制系統(tǒng)的網絡拓撲原理圖如圖1所示,網絡通信介質采用雙絞線。總線的每個末端接有終端電阻RT以抑制信號反射,采用雙絞線為通信介質時,一般選取Rt= 100~120歐姆。在實際組建網絡時,圖中在參數(shù)D, S根據現(xiàn)場的情況來確定。節(jié)點分支的長度D應小于3米,而相鄰節(jié)點的距離S則要取決于總線的通信速率,一般說速率越高,其允許值也就越小。根據CAN的國際標準IS011898的建議,在總線位速率為1 Mbps時,S的值應小于40m,而當總線速率在5Kbps以下時,則可達10Krn。設計CAN總線的串行網絡主要是考慮其網絡擴展容易,增刪節(jié)點方便且成本較低等因素。系統(tǒng)的工作過程如下:系統(tǒng)上電復位后,CAN通信接口卡接收到PC機的數(shù)據后,便向總線上的各個節(jié)點傳播。CAN總線上的節(jié)點與被控對象(圖中未畫出)相連,當它接收到PC機的數(shù)據后,則對被控對象作相應的操作。當CAN總線節(jié)點有數(shù)據向總線發(fā)送時,便通過收發(fā)器把數(shù)據發(fā)到物理總線,或傳送到其它節(jié)點,或經CAN通信板卡傳送到上位機。

圖1 CAN控制系統(tǒng)的網絡拓撲原理圖
4:基于AT89S8252 的汽車計算機控制
4.1 AT89S8252芯片簡介
美國ATMEL公司的89系列單片機在內部功能和引腳上與MCS-51單片機兼容,而內部程序存儲器采用FLASH存儲器,因而也稱FLASH單片機。這是一個十分有特色的單片機系列。它源于51而又優(yōu)于51。因此對熟悉51系列的用戶來說,用89系列單片機取代51系列是輕而易舉的事。在89系列單片機中有一款非常優(yōu)秀的單片機――AT89S8252,它幾乎囊括了目前單片機的全部功能是ATMEL89系列中最高檔的單片機。
AT89S8252的特點
AT89S8252除具有89系列所共有的特性,如與80C51插座兼容;靜態(tài)時鐘方式等,還增加了以下功能:
▲ 8KFLASH程序存儲器有可下載功能,其下載功能是由PC通過AT89S8252的串行外圍接口SPI執(zhí)行的。
▲ 除了8KFLASH存儲器之外,它還含有一個2K的EEPROM,從而提高了存儲容量。
▲ 含有9個中斷響應的能力。
▲ 含有SPI接口。
▲ 含有WATCHDOG定時器。
▲ 含有雙數(shù)據指針。
▲ 含有從電源下降的中斷恢復。
如此這些使得89S8252成為目前以51為核心的單片機中功能較強,性價比較高的。
4.2 車身控制系統(tǒng)的介紹與拓撲結構
車身控制模塊的控制功能包括遙控中央門鎖和防盜、電動車窗玻璃升降器、內外燈、雨刮、后窗和后視鏡加熱控制、電動座椅和空調等。為了達到舒適、安全和方便的目的,同時隨著車上網絡技術的發(fā)展,集成了上述功能的全部或部分的車身控制模塊逐漸應用于高檔轎車,提高了汽車的使用性能。本文的車身控制模塊功能包括遙控中央門鎖和防盜、電動車窗玻璃升降器、內外燈、雨刮、后窗和后視鏡加熱控制。其結構包括中央控制模塊、主駕門模塊和其他三個門模塊。五個模塊之間采用波特率小于125k的低速雙線CAN總線通訊??梢酝ㄟ^獨立的或集成在儀表模塊中的網關,將車身控制模塊系統(tǒng)連接到高速的動力傳動總線,從而獲得車速信號、發(fā)動機轉速信號和安全氣囊觸發(fā)信號,或者自接從儀表模塊獲得車速信號、發(fā)動機轉速信號,從碰撞傳感器獲得碰撞信號,從變速器獲得檔位信號。使用總線連接可實現(xiàn)一些智能化的控制:當空調打開后或遙控閉鎖后,車身控制系統(tǒng)自動將所有車窗升到頂:車速超過30km/h時,自動將車門鎖定:一旦發(fā)生碰撞事故,在氣囊打開的同時解鎖所有車門,便于車內駕乘人員逃生。車身控制模塊CAN總線結構如圖2所示。

圖2 車身控制模塊CAN總線結構
4.3電路框圖
a: 主控單元硬件框圖(圖3)

圖3 主控單元硬件框圖
b: 受控單元硬件框圖(圖4)

圖4 受控單元硬件框圖
C: 門控單元硬件框圖(圖5)

圖5 門控單元硬件框圖
4.4 CAN總線系統(tǒng)智能節(jié)點設計
網絡中的節(jié)點是信息接收和發(fā)送站,根據接受的信息和本地采集的信息完成相應的控制。簡化的CAN節(jié)點是一個單芯片,可以直接將采集到的管腳電平和AD信號并轉化為CAN報文遠程傳送,在網絡中充當一個沉默的網關。這種裝置對于驅動遠程感應器、執(zhí)行器或采集數(shù)字和模擬數(shù)據都非常理想,它們能夠被看作中央微控制器的遠程附件。

圖6 CAN總線系統(tǒng)智能節(jié)點硬件電路原理圖
本硬件電路設計中,采用ATMEL AT89S8252作為MCU, Philips SJA1000作為CAN控制器,Philips TJA1050作為總線驅動器。從圖6可以看出,電路主要由上述三部分組成。微處理器AT89S8252負責SJA1000的初始化,通過SJA1000實現(xiàn)數(shù)據的接受和發(fā)送的等通信任務。SJA1000的AD0-AD7連接到AT89S8252的P0口,片選CS連接到AT89S8252 P2.l。P2.7為0時,CPU片外存貯器地址可選中SJA1000 。CPU通過這些地址可對SJA1000執(zhí)行相應的讀寫操作。SJA1000的RD, WR, ALE分別與AT89S8252的對應引腳相連,INT接AT89S8252的INT0, AT89S8252也可通過中斷方式訪問SJA1000。
TJA1050是CAN協(xié)議控制器和物理總線之間的接口,應用在波特率范圍在60k到1M的高速自動化應用中。TJA1050可以為總線提供不同的發(fā)送性能,為CAN控制器提供不同的接收性能,完全與ISO11898標準兼容。TJA1050有一個電流限制電路,保護發(fā)送器的輸出級,使由正或負電源電壓意外造成的短路不會對TJA1050造成損壞。TJA1050還有一個溫度保護電路,當與發(fā)送器的連接點的溫度超過大約165 攝氏度時,會斷開與發(fā)送器的連接。當總線短路時,尤其需要這個溫度保護電路。為了提高電磁兼容性,采用了終端分解結構。CAN總線系統(tǒng)智能節(jié)點硬件電路原理圖如上圖6所示。
在實際應用中,CAN總線大都用在如汽車和工業(yè)現(xiàn)場控制等的環(huán)境中,環(huán)境對電路的影響很大,所以為減少這些干擾,在設計CAN總線的節(jié)點時,通常在電路中使用高速光禍,如6N137等,使SJA1000的TX0與RX0不直接與TJA1050的TXD和RXD相連,而是通過高速光藕與TJA1050相連,這樣就能很好地實現(xiàn)總線上各CAN節(jié)點間的電氣隔離。同時還必須指出的是,光禍部分所采用的兩個電源VCC和VDD必須完全隔離,否則光禍也就失去了意義,即無法達到隔離的目的。
4.5 CPU電源設計
CPU的5V電源采用LM2575進行DC/DC轉換把12V的蓄電池電源轉換為SV的MCU控制的電源。LM2575的ON /OFF用來和MC33993的WAKE引腳相連,當外部開關動作時WAKE引腳為低,使LM2575正常工作,當無開關動作時,LM2575停止工作,從而減少損耗。

圖7 CPU電源設計原理圖
4.6 軟件設計
本系統(tǒng)軟件由總的系統(tǒng)軟件和高( 低) 速CAN 總線網絡單元軟件組成,軟件流程圖如圖8和圖9所示。其中圖9 高速CAN 總線網絡單元負責對實時性要求高的發(fā)動機控制、變速控制、安全控制和ABS 單元的控制動 作的采集和傳送,一旦有這些控制單元動作信號,經過微控制器對它們進行處理后將以最快的速度通過高速CAN 網絡傳給相應控制單元的ECU ,由控制單元ECU對控制對象進行控制;低速CAN 總線網絡的控制方法及單元軟件流程圖與此類似,但是由于它們的實時性要求相對前者不高,因此它們的傳輸優(yōu)先級相對較低。

圖8 總的系統(tǒng)軟件流程圖
5:結束語
CAN總線以其高通信速率、高性價比以及網絡構建的靈活性等諸多特點,成為目前最為流行的現(xiàn)場總線之一。隨著集成CAN協(xié)議的各種器件的不斷推出,CAN總線的應用范圍已不再局限于汽車工業(yè),它涉及的應用領域已擴展到醫(yī)療器件、傳感器技術、數(shù)據采集系統(tǒng)以及樓宇自動化和工業(yè)控制中。由此可見,CAN總線的應用前景十分廣闊。
參考文獻
【1】饒運濤,鄒繼軍 現(xiàn)場總線CAN原理與應用[M].北京:北京航空航天大學出版社,2003.6.
【2】劉梅 基于CAN總線的汽車車身控制系統(tǒng)的研究與設計 合肥工業(yè)大學 2005-07
【3】 周震 基于CAN總線的車身控制模塊. 南京航空航天大學 2005-07
【4】 王箴.CAN總線在汽車中應用[N]. 中國汽車報,2004.9.20(28).
【5】戴西槐 朱建新等 基于CAN總線的EV電控系統(tǒng)通信的設計與開發(fā). 電子技術應用網
【6】馬忠梅 籍順心 單片機的C語言應用程序設計. 北京航空航人大學出版社1999