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