CAN總線在汽車車身控制中的應(yīng)用
20世紀(jì)80年代以來,隨著集成電路和單片機(jī)在汽車上的廣泛應(yīng)用,汽車上的電子控制單元越來越多,例如電子燃油噴射裝置、防抱死制動裝置(ABS)、安全氣囊裝置、電控門窗裝置和主動懸架等等。在這種情況下,如果仍采用常規(guī)的布線方式,即電線一端與開關(guān)相接,另一端與用電設(shè)備相通,將導(dǎo)致車上電線數(shù)目的急劇增加,使得電線的質(zhì)量占整車質(zhì)量的4%左右。另外,電控系統(tǒng)的增加雖然提高了轎車的動力性、經(jīng)濟(jì)性和舒適性,但隨之增加的復(fù)雜電路也降低了汽車的可靠性,增加了維修的難度。為此,改革汽車電氣技術(shù)的呼聲日益高漲。因此,一種新的概念——車用控制器局域網(wǎng)絡(luò)CAN應(yīng)運(yùn)而生。
CAN是控制器局域網(wǎng)絡(luò)(Controller Area Network)的簡稱,它是由德國Bosch公司及幾個(gè)半導(dǎo)體生產(chǎn)商開發(fā)出來的,CAN總線是一種串行多主站控制器局域網(wǎng)總線。它具有很高的網(wǎng)絡(luò)安全性、通訊可靠性和實(shí)時(shí)性,而且簡單實(shí)用,網(wǎng)絡(luò)成本低。特別適用于汽車計(jì)算機(jī)控制系統(tǒng)和環(huán)境溫度惡劣、電磁輻射強(qiáng)和振動大的工業(yè)環(huán)境。
CAN總線的技術(shù)特點(diǎn)
CAN總線可有效支持分布式控制或?qū)崟r(shí)控制。該總線的通信介質(zhì)可以是雙絞線、同軸電纜或光纖,其主要特點(diǎn)如下:
◆CAN總線為多主站總線,各節(jié)點(diǎn)可在任意時(shí)刻向網(wǎng)絡(luò)上的其他節(jié)點(diǎn)發(fā)送信息,且不分主從:
◆CAN總線采用獨(dú)特的非破壞性總線仲裁技術(shù),高優(yōu)先級節(jié)點(diǎn)優(yōu)先傳送數(shù)據(jù),故實(shí)時(shí)性好;
◆CAN總線具有點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)及全局廣播傳送數(shù)據(jù)的功能;
◆CAN總線采用短幀結(jié)構(gòu),每幀有效字節(jié)數(shù)最多為8個(gè),數(shù)據(jù)傳輸時(shí)間短,并有CRC及其它校驗(yàn)措施,數(shù)據(jù)出錯(cuò)率極低;
◆CAN總線上某一節(jié)點(diǎn)出現(xiàn)嚴(yán)重錯(cuò)誤時(shí),可自動脫離總線,而總線上的其他操作不受影響;
◆CAN總線系統(tǒng)擴(kuò)充時(shí),可直接將新節(jié)點(diǎn)掛在總線上,因而走線少,系統(tǒng)擴(kuò)充容易,改型靈活;
◆CAN總線的最大傳輸速率可達(dá)1Mb/s,直接通信距離最遠(yuǎn)可達(dá)到10km(速率在5kbps以下);
◆CAN總線上的節(jié)點(diǎn)數(shù)取決于總線驅(qū)動電路。在標(biāo)準(zhǔn)幀(11位報(bào)文標(biāo)識符)時(shí)可達(dá)到110個(gè),而在擴(kuò)展幀(29位報(bào)文標(biāo)識符)時(shí),個(gè)數(shù)不受限。
車身系統(tǒng)的CAN控制設(shè)計(jì)
CAN總線網(wǎng)絡(luò)系統(tǒng)架構(gòu)
現(xiàn)代汽車典刑的控制單元有發(fā)動機(jī)控制模塊、變速器控制模塊、多媒體控制模塊、氣囊控制模塊、空調(diào)控制模塊、巡航控制模塊、車身控制模塊(包括照明指示和車窗、刮雨器等)、防抱死制動系統(tǒng)(ABS)防滑控制系統(tǒng)(ASR)等。完善的汽車CAN總線網(wǎng)絡(luò)系統(tǒng)架構(gòu)如圖1所示。
CAN節(jié)點(diǎn)的硬件架構(gòu)
本系統(tǒng)中,CAN節(jié)點(diǎn)采用:
ECU(AT89C51)+CAN控制器(SJA1000)+CAN收發(fā)器(PCA82C250)的電路結(jié)構(gòu)以下是其核心芯片簡介:
(1)CAN控制器
為了系統(tǒng)進(jìn)一步擴(kuò)展的需要,可選取支持CAN 2.0B通訊協(xié)議的芯片SJA1000。SJA1000是PHILIPS公司生產(chǎn)的既支持CAN 2.0B,又支持CAN 2.0A的CAN控制器,它與僅支持CAN 2.0A的CAN控制器PCA82C200在硬件和軟件上完全兼容。
(2)CAN收發(fā)器
PCA82C250是PHILIPS推出的CAN控制器和物理總線接口芯片,可提供對總線的差分發(fā)送和接收。它與ISO 11898標(biāo)準(zhǔn)完全兼容,并有高速、斜率控制和待機(jī)3種不同的工作方式,可根據(jù)實(shí)際情況選擇。
(3)單片機(jī)AT89C51
AT89C51是ATMEL公司的單片機(jī)。它是一種低功耗、高性能、內(nèi)含4KB閃速存儲器的8位CMOS微控制器,與工業(yè)標(biāo)準(zhǔn)MCS-51指令系統(tǒng)和引腳完全兼容。AT89系列的優(yōu)越性在于其片內(nèi)閃速存儲器可進(jìn)行1000次的編程與擦除,且數(shù)據(jù)不易丟失,數(shù)據(jù)可保存10年。
CAN總線控制器、總線驅(qū)動器和單片機(jī)連接基本方法如圖2所示。
車身控制模塊中的CAN應(yīng)用層協(xié)議
協(xié)議原則
本協(xié)議遵循CAN2.0B規(guī)范,根據(jù)車身控制模塊的特點(diǎn),采用源→目的方法,每個(gè)節(jié)點(diǎn)都有自己固定的標(biāo)識地址,且節(jié)點(diǎn)數(shù)小于64,設(shè)計(jì)時(shí)可將中央控制模塊設(shè)為主節(jié)點(diǎn),而將車門、電動座椅子模塊及自檢子模塊設(shè)置為從節(jié)點(diǎn)。本協(xié)議可完成以下功能:
(1)特定信息的廣播;
(2)主從節(jié)點(diǎn)之間的連接;
(3)主從節(jié)點(diǎn)之間的信息交換(包括故障信息)。
本協(xié)議采用幀優(yōu)先原則分配標(biāo)識符,每一幀標(biāo)識符中的高四位表示幀類型,不同幀類型有不同的優(yōu)先權(quán),優(yōu)先權(quán)決定了各種信息幀在同等情況下的發(fā)送順序,協(xié)議中的29位標(biāo)識符的分配如下:
幀類型(4位)+目的地址(6位)+源地址(6位)+命令(或狀態(tài)、報(bào)告)屬性(13位)[或數(shù)據(jù)屬性+分段標(biāo)志+分段號(共13位)]。
對所有的命令或狀態(tài)、數(shù)據(jù)、報(bào)告屬性、除定時(shí)采集發(fā)送的數(shù)據(jù)外,原則上均需應(yīng)答(發(fā)送確認(rèn)幀以保證通訊正常)。
幀格式仲裁場和控制場定義
仲裁場由29位標(biāo)識符ID28-ID0以及SRR、IDE和RTR組成,SJA1000中的寄存器17-21用來存放擴(kuò)展幀格式幀信息的標(biāo)識符。發(fā)送時(shí),SRR=1,IDE=1,RTR=1/0(遠(yuǎn)程幀/數(shù)據(jù)幀)。標(biāo)識符中的ID28-ID25為車身控制模塊交換報(bào)文的幀類型(共4位)。ID24-ID19為車身控制模塊中幀信息使用者的地址(或稱為目的地址,共6位)。ID18-ID13為車身控制模塊中幀信息發(fā)送者的地址或稱為源地址(共6位)。ID12-ID5為車身控制模塊中交換的命令、狀態(tài)、數(shù)據(jù)或報(bào)告屬性(共8位),ID4位需附加命令或狀態(tài)、數(shù)據(jù)、報(bào)告屬性時(shí)的分段標(biāo)志。ID3-ID0為附加命令或狀態(tài)、數(shù)據(jù)、報(bào)告屬性的分段號(共4位)。當(dāng)ID4=0時(shí),ID3-ID0控制場、數(shù)據(jù)寄存器0-7有效。對于遠(yuǎn)程幀,則可忽略ID4-ID0以及控制場的值。SJA1000的寄存器16低四位DLC3-DLC0可構(gòu)成控制場,以決定數(shù)據(jù)幀的數(shù)據(jù)長度。
車身控制模塊CAN2.0B通訊報(bào)文約定
按車身控制模塊的節(jié)點(diǎn)要求,通訊的信息幀分為表1所列的6種,表1中的優(yōu)先級按序號從高到低排列。其目的地址和源地址的分配見表2所列。
|
---|
其工作方式如下:
(1)開機(jī)后或喚醒時(shí),從節(jié)點(diǎn)向主節(jié)點(diǎn)發(fā)送狀態(tài)信息,主節(jié)點(diǎn)發(fā)送廣播信息遠(yuǎn)程幀(兩次),廣播信息為共用信息,包括車速信號,檔位信號,點(diǎn)火開關(guān)位置信號等。
(2)正常情況下,從節(jié)點(diǎn)內(nèi)部巡查各端口狀態(tài),如有故障則向主節(jié)點(diǎn)發(fā)送故障代碼3次,主節(jié)點(diǎn)收到三次故障報(bào)警后開始響應(yīng),從節(jié)點(diǎn)停止發(fā)送,一旦故障消失,再向主節(jié)點(diǎn)發(fā)送正常信息。在主節(jié)點(diǎn)中應(yīng)有一故障表,以用于已診斷模塊的通訊。
(3)主結(jié)點(diǎn)分別發(fā)送自檢信息后,如各從節(jié)點(diǎn)正常,則發(fā)送正常信息,狀態(tài)和數(shù)據(jù)幀。如有故障,則通過分段數(shù)據(jù)幀發(fā)送故障報(bào)警幀。
(4)從節(jié)點(diǎn)監(jiān)測到正常輸入信號的變化(包括開關(guān)量和模擬量采樣級數(shù)的變化)后,便通過報(bào)告幀發(fā)送信息給主節(jié)點(diǎn),主節(jié)點(diǎn)則發(fā)送命令幀以示響應(yīng)。
通訊報(bào)文定義
表3所列是中央控制模塊與診斷模塊的通訊報(bào)文定義。表中,aaaa為分段號,可在故障代碼多于8個(gè)時(shí)設(shè)置,最多可達(dá)傳送16
雙絞線傳輸器相關(guān)文章:雙絞線傳輸器原理
評論