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