CAN通信網(wǎng)在汽車(chē)中的應(yīng)用研究
控制局域網(wǎng)CAN(ControllerAreaNetwork)是德國(guó)Bosch公司為解決現(xiàn)代汽車(chē)中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交換而應(yīng)用開(kāi)發(fā)的一種通信協(xié)議。在國(guó)外,尤其是歐洲,CAN網(wǎng)絡(luò)已被廣泛地應(yīng)用在汽車(chē)上,如BENZ、BMW、PORSCHE、ROLLSROYCE、JAGUAR等車(chē)。
本文引用地址:http://butianyuan.cn/article/78045.htm現(xiàn)代汽車(chē)典型的控制單元有電控燃油噴射系統(tǒng)、電控傳動(dòng)系統(tǒng)、防抱死制動(dòng)系統(tǒng)(ABS)、防滑控制系統(tǒng)(ASR)、廢氣再循環(huán)控制、巡航系統(tǒng)和空調(diào)系統(tǒng)。
在一個(gè)完善的汽車(chē)電子控制系統(tǒng)中,許多動(dòng)態(tài)信息必須與車(chē)速同步。為了滿足各子系統(tǒng)的實(shí)時(shí)性要求,有必要對(duì)汽車(chē)公共數(shù)據(jù)實(shí)行共享,如發(fā)動(dòng)機(jī)轉(zhuǎn)速、車(chē)輪轉(zhuǎn)速、油門(mén)踏板位置等。但每個(gè)控制單元對(duì)實(shí)時(shí)性的要求是因數(shù)據(jù)的更新速率和控制周期不同而不同的。例如,一個(gè)8缸柴油機(jī)運(yùn)行在2400r/min,則電控單元控制兩次噴射的時(shí)間間隔為 6.25ms。其中,噴射持續(xù)時(shí)間為30°的曲軸轉(zhuǎn)角(2ms),在剩余的4ms內(nèi)需完成轉(zhuǎn)速測(cè)量、油量測(cè)量、A/D轉(zhuǎn)換、工況計(jì)算、執(zhí)行器的控制等一系列過(guò)程。這就意味著數(shù)據(jù)發(fā)送與接收必須在1ms內(nèi)完成,才能達(dá)到柴油機(jī)電控的實(shí)時(shí)性要求。這就要求其數(shù)據(jù)交換網(wǎng)是基于優(yōu)先權(quán)競(jìng)爭(zhēng)的模式,且本身具有極高的通信速率,CAN現(xiàn)場(chǎng)總線正是為滿足這些要求而設(shè)計(jì)的。不同參數(shù)應(yīng)具有不同的通信優(yōu)先權(quán)。
典型參數(shù)允許響應(yīng)時(shí)間
發(fā)動(dòng)機(jī)噴油量10ms
發(fā)動(dòng)機(jī)轉(zhuǎn)速300ms
車(chē)輪轉(zhuǎn)速1s~100s
進(jìn)氣溫度20s
冷卻液溫度1min
燃油溫度≈10min
3CAN總線的特點(diǎn)及通信協(xié)議
3.1CAN總線的特點(diǎn)
CAN作為一種多主總線,支持分布式實(shí)時(shí)控制的通信網(wǎng)絡(luò)。其通信介質(zhì)可以是雙絞線、同軸電纜或光纖。在汽車(chē)發(fā)動(dòng)機(jī)控制部件、傳感器、抗滑系統(tǒng)等應(yīng)用中,總線的位速率最大可達(dá)1Mbit/s。CAN光線具有以下主要特性:
a.無(wú)破壞性的基于優(yōu)先權(quán)競(jìng)爭(zhēng)的總線仲裁。
b.可借助接收濾波的多地址幀傳送。
c.具有錯(cuò)誤檢測(cè)與出錯(cuò)幀自動(dòng)重發(fā)送功能。
d.數(shù)據(jù)傳送方式可分?jǐn)?shù)據(jù)廣播式和遠(yuǎn)程數(shù)據(jù)請(qǐng)求式。
3.2CAN總線幀格式
CAN 和OSI七層參考模式,按照IEEE802.2和IEEE802.3標(biāo)準(zhǔn),其通信接口集成了CAN協(xié)議的物理層和數(shù)據(jù)鏈路層功能,可完成對(duì)通信數(shù)據(jù)的成幀處理,包括位填充、數(shù)據(jù)塊編碼、循環(huán)冗余檢驗(yàn)及優(yōu)先級(jí)別等項(xiàng)工作。在系統(tǒng)中,數(shù)據(jù)按照攜帶的信息類(lèi)型可分為四種幀格式:
a.數(shù)據(jù)幀。
用于節(jié)點(diǎn)間傳遞數(shù)據(jù),是網(wǎng)絡(luò)信息的主體。一個(gè)數(shù)據(jù)幀由7個(gè)不同位場(chǎng)構(gòu)成:幀起始、仲裁場(chǎng)、控制場(chǎng)、數(shù)據(jù)場(chǎng)、CRC場(chǎng)、ACK場(chǎng)和幀結(jié)束。其中數(shù)據(jù)段長(zhǎng)度可編程0~8個(gè)字節(jié)。
數(shù)據(jù)幀格式
b.遠(yuǎn)程幀。由在線單元發(fā)送,用于請(qǐng)求發(fā)送具有相同標(biāo)識(shí)符的數(shù)據(jù)幀,其幀格式與數(shù)據(jù)幀基本相同,但沒(méi)有數(shù)據(jù)場(chǎng)。
c.出錯(cuò)幀。出錯(cuò)幀是檢測(cè)總線出錯(cuò)的一個(gè)信號(hào)標(biāo)志,由兩個(gè)不同場(chǎng)構(gòu)成。第一場(chǎng)由來(lái)自不同節(jié)點(diǎn)的錯(cuò)誤標(biāo)志疊加,第二個(gè)場(chǎng)為錯(cuò)誤界定符。CAN協(xié)議采用CRC檢驗(yàn)并可提供相應(yīng)的錯(cuò)誤處理功能,保證數(shù)據(jù)通信的可靠性。
d.超載幀。由超載標(biāo)識(shí)和超載界定符組成,表明邏輯鏈路控制層要求的內(nèi)部超載狀態(tài),并將由媒體訪問(wèn)控制層的一些出錯(cuò)條件而被啟動(dòng)發(fā)送。用于擴(kuò)展幀序列的延遲時(shí)間。
3.3CAN數(shù)據(jù)鏈路控制
系統(tǒng)中,CAN總線以報(bào)文為單位進(jìn)行數(shù)據(jù)傳輸,節(jié)點(diǎn)對(duì)總線的訪問(wèn)采取位仲裁方式。報(bào)文起始發(fā)送節(jié)點(diǎn)標(biāo)識(shí)符分為功能標(biāo)識(shí)符(如轉(zhuǎn)速信號(hào))和地址標(biāo)識(shí)符(如控制單元節(jié)點(diǎn)地址)。CAN協(xié)議的最大特點(diǎn)是打破了傳統(tǒng)的節(jié)點(diǎn)地址編碼方式,而擴(kuò)展了對(duì)通信數(shù)據(jù)塊進(jìn)行編碼方式。采用數(shù)據(jù)塊的標(biāo)識(shí)符可用11位或29位二進(jìn)制表示,即可定義211或229個(gè)不同的數(shù)據(jù)類(lèi)型。即使對(duì)未來(lái)更復(fù)雜的汽車(chē)控制網(wǎng)絡(luò)其容量也足夠了。標(biāo)識(shí)符的值越小,幀數(shù)據(jù)的優(yōu)先級(jí)越高。通過(guò)數(shù)據(jù)鏈路控制,每個(gè)接收器完成幀接收濾波確定此幀數(shù)據(jù)是否有效,實(shí)際汽車(chē)應(yīng)用中一般采用不冗余的通信線路,而CAN協(xié)議提供強(qiáng)大的出錯(cuò)診斷機(jī)制,在保證數(shù)據(jù)通信的可靠性方面起了重要作用。
電控單元(ECU)連接至總線的電路是通過(guò)CAN物理層實(shí)現(xiàn)的,在實(shí)際應(yīng)用中ECU的總數(shù)將受限于總線上的電氣負(fù)載。物理層按照網(wǎng)絡(luò)標(biāo)準(zhǔn)規(guī)范模型劃分有三種功能:物理信號(hào)完成與位表示、定時(shí)和同步相關(guān)的功能;物理媒體附屬裝置完成總線發(fā)送/接收功能并提供總線故障檢測(cè)方法;媒體相關(guān)接口完成物理層的機(jī)械和電氣接口。
4CAN總線的應(yīng)用及其接口設(shè)計(jì)
4.1汽車(chē)網(wǎng)絡(luò)設(shè)計(jì)
除了命令和清求信息外,汽車(chē)的一些基本狀態(tài)信息(如發(fā)動(dòng)機(jī)轉(zhuǎn)速、車(chē)輪轉(zhuǎn)速、冷卻水溫度等)是大部分控制單元必須獲取的數(shù)據(jù),控制單元采用廣播發(fā)式向總線發(fā)送。如果在同一時(shí)刻所有控制單元都向總線發(fā)送數(shù)據(jù),將發(fā)生總線數(shù)據(jù)沖突,此時(shí),CAN總線協(xié)議提出用標(biāo)識(shí)符識(shí)別數(shù)據(jù)優(yōu)先權(quán)的總線仲裁。表2列出了汽車(chē)各電控單元產(chǎn)生及發(fā)送的數(shù)據(jù)類(lèi)型,及其他各單元對(duì)這些信息共享地程序。
油量位置和轉(zhuǎn)速信號(hào)具有較高的優(yōu)先級(jí),是因?yàn)樗鼈兊膶?shí)時(shí)性要求強(qiáng),并直接影響發(fā)動(dòng)機(jī)的動(dòng)力性、經(jīng)濟(jì)性和排放性能。
4.2CAN接口設(shè)計(jì)
本研究中,CAN總線被成功地用于電控柴油機(jī)標(biāo)定系統(tǒng),采用單片機(jī)系統(tǒng)與CAN控制器組成CAN標(biāo)準(zhǔn)接口。
目前,CAN總線芯片有很多種,如PHILIPSSJA1000、INTEL82526、MOTOROLA68HC05、SIEMENSC167C等。
本文電路設(shè)計(jì)中選用SJA1000作為CAN控制器芯片,ECU的應(yīng)用層由微處理器提供。連接各種類(lèi)型微處理器的CAN控制器SJA1000可完成物理層和數(shù)據(jù)鏈路層的所用功能,適用于汽車(chē)及一般工業(yè)環(huán)境,不但可以減少導(dǎo)線連接,并能增強(qiáng)診斷和監(jiān)控能力。
CAN節(jié)點(diǎn)通信接口的硬件設(shè)計(jì)如圖3所示。設(shè)計(jì)中,分別將微處理器的地址線、數(shù)據(jù)線和控制線引出,通過(guò)地址分配與片選對(duì)CAN控制器SJA1000進(jìn)行操作??偩€數(shù)據(jù)信號(hào)采用高速線性光耦6N137 隔離,電源信號(hào)為+5V的DC-DC隔離模塊,增強(qiáng)系統(tǒng)硬件利用抗干擾措施。82C250是CAN控制器和物理層總線之間的接口,具有抗汽車(chē)環(huán)境下的瞬間干擾、保護(hù)總線的能力。該器件可以提供對(duì)總線的差分發(fā)送能力和差分接收能力,與ISO/DIS11898標(biāo)準(zhǔn)完全兼容。
3CAN接口硬件電路設(shè)計(jì)
當(dāng)通過(guò)濾波驗(yàn)收的數(shù)據(jù)報(bào)文被接收后,將有兩種操作方式。一種是查詢方式,查詢接收狀態(tài)位被置高表示接收緩存器有數(shù)據(jù);另一種是中斷方式,若接收中斷開(kāi)放位允許,則產(chǎn)生觸發(fā)中斷。由于SJA1000內(nèi)部具有64bit接收緩沖器,對(duì)總線數(shù)據(jù)具有一定的緩存能力。通常系統(tǒng)采用主程序查詢方式對(duì)接收數(shù)據(jù)進(jìn)行處理,并用廣播方式發(fā)送,對(duì)特殊數(shù)據(jù)采用遠(yuǎn)程幀申請(qǐng)方式,這樣更有利于程序?qū)Χ鄠€(gè)任務(wù)的結(jié)構(gòu)化管理。
通訊程序流程
CAN 總線具有通信速率高、可靠性高、連接方便和性能價(jià)格比高等諸多優(yōu)勢(shì)。并且CAN應(yīng)用系統(tǒng)的設(shè)計(jì)是依據(jù)國(guó)際標(biāo)準(zhǔn)(ISO11898),各生產(chǎn)廠商的控制器有標(biāo)準(zhǔn)的輸入/輸出接口,所以該網(wǎng)絡(luò)是一個(gè)具有開(kāi)放性和靈活性的系統(tǒng),可以在不要求所有節(jié)點(diǎn)及其應(yīng)用層改變?nèi)魏诬浖陀布那闆r下,自由地增加或減少控制器節(jié)點(diǎn)。
5結(jié)束語(yǔ)
為了充分發(fā)揮電控單元在汽車(chē)控制中的作用,CAN通信網(wǎng)絡(luò)為全局優(yōu)化控制提供了條件。通過(guò)實(shí)際運(yùn)用表明,CAN總線與其他通信方式相比具有顯著的優(yōu)點(diǎn):
a.組網(wǎng)自由,擴(kuò)展性強(qiáng),對(duì)復(fù)雜的汽車(chē)網(wǎng)絡(luò)具有強(qiáng)大的優(yōu)勢(shì);
b.可根據(jù)數(shù)據(jù)內(nèi)容確定通信優(yōu)先權(quán),解決了轉(zhuǎn)速實(shí)時(shí)性和共享性的問(wèn)題;
c.自動(dòng)的錯(cuò)誤界定功能,簡(jiǎn)化了電控單元對(duì)通信的操作。
d.由于數(shù)據(jù)通信協(xié)議的標(biāo)準(zhǔn)性和開(kāi)放性,故本文中的接口電路具有一定的推廣意?系統(tǒng),并且被眾多工業(yè)控制系統(tǒng)采用,尤其是傳輸速率較高而對(duì)實(shí)時(shí)性及可靠性要求高的場(chǎng)合,它是一種十分有效的通信方式。
評(píng)論