引言
CAN(Controll Area Network)即為控制器局域網,是世界上應用最為廣泛的現場總線之一。它最早由德國Bosh公司率先提出,主要用于解決現代汽車中眾多的控制與測試儀器之間的數據交換問題。CAN總線規范已經被ISO國際標準組織制定為國際標準IS011898(高速應用)和IS011519(低速應用),得到了Motorola、Intel、Philips、Siemence、NEC等公司的支持。由于CAN總線具有很多優越的性能,因此它在汽車工業、航空工業、工業控制、安全防護等眾多領域中得到了廣泛應用。目前CAN總線系統以其高性能和高可靠性,在汽車總成控制器的開發中占據了重要的位置。CAN總線系統智能節點設計的工作重點集中在節點的硬件系統設計和軟件系統設計上。本文以國家863高技術發展計劃電動汽車重大專項為依托,圍繞混和動力汽車總成控制器進行CAN總線系統智能節點設計。
1 智能節點體系結構
1.1 技術特點
CAN總線與其他通訊網絡的不同之處在于:報文傳送中不包括目標地址,以全網廣播為基礎,各接收站根據報文中反映數據的性質的標識符過濾報文;強化了對數據安全性的關注,滿足控制系統較高的數據需求。它具有如下顯著特征:極高的總線利用率、低成本、高速的數據傳輸速率、遠距離傳輸、可靠的錯誤處理和檢錯機制、可根據報文的ID決定接收或屏蔽該報文、節點在錯誤嚴重的情況下具有自動退出總線的功能等等。
1.2 體系結構
CAN層的定義與開放系統互連模型(GSI)一致。每一層與另一設備上相同的那一層通訊。實際的通訊發生在每一設備上相鄰的兩層,而設備只通過模型物理層的物理介質互連。CAN的規范定義了模型的最下面兩層:數據鏈路層和物理層。應用層協議可以由CAN用戶定義成適合特別工業領域的任何方案。另外,CAN還能使用多種物理介質,如雙紋線、光纖等,其中最常用的是雙絞線。信號使用差分電壓傳送,兩條信號線被稱為“CAN_H”和“CAN_L”,靜態時均是2.5V左右,此時狀態表示為邏輯“1”,也可以叫做“隱性”。用CAN_H比CAN.L高表示邏輯“0”,稱為“顯形”,通常電壓值為:CAN_H=3.5V和CAN_L=1.5V。
1.3 智能節點網絡模型
在汽車總成控制系統中,各個ECU(Electrcnic Control Unit)單元之間的通訊都是通過CAN總線來實現的。CAN總線智能節點設計的好壞將直接決定控制單元之間通訊信息的可靠性。智能節點主要由微控制器,CAN控制器和CAN收發器構成。
微控制器主要利用CAN控制器來接收數據,并進行數據處理,然后將處理結果通過CAN控制器和CAN收發器發送給其它的節點。根據軟件設計的需要,采用Motorola公司推出的32位高性能微控制器MPC565作為智能節點的控制中樞。該控制器具有快速數據處理、高速可靠通訊和強抗干擾性等顯著特點。在CAN總線系統設計中得到了廣泛應用。
CAN控制器主要執行在CAN規范中所定義的CAN通訊協議,通常用于信息緩沖和驗收濾波。在該系統中采用MPC565提供的高性能CAN控制器模塊ToLuCAN進行節點設計。TouCAN模塊是一個高速的(高傳輸率IMBiffSec),短距離的,可在不同介質上通訊的CAN控制器。它不但在控制器局域網中采用CAN2.0B通訊協議實現與其它ECU單元之問的異步通訊,而且還擁有消息濾波功能的屏蔽寄存器,將接收的消息ID與選定的消息緩沖區ID進行比較,如果存在一個匹配,那么該消息即可被接收,其主要特點如下:
(1)完全符合CAN通訊協議標準,傳輸率最多同達到1Mbit/sec。
(2)可通過編程來設置傳送消息的具體方案,即從最低的ID號開始傳送消息或者從最低消息緩沖區號開始傳送消息。
(3)采用開放式網絡結構,具有獨立的傳輸介質(外部直接連接CAN總線收發器)。
CAN收發器用于建立CAN控制器和物理總線之間的連接,控制邏輯電平信號從CAN控制器到達物理總線的物理層,反之亦然。在智能節點系統中.CAN收發器采用的是PHILIPS公司推出的PCA82C250芯片。它是一種先進的CAN總線收發器,不僅能夠對總線提供差動發送能力和對CAN控制器提供差動接收能力,而且擴展的普通模式范圍(-7V.+12V)和斜率控制功能使電磁兼容EMC性能增強。另外它還可以防止總線輸出短路和一般控制環境中的瞬變現象,具有熱關閉功能。可以在溫度過載的情況下保護器件。
2 智能節點硬件系統設計
智能節點的硬件系統原理圖如圖1所示。它利用PCA82C250芯片將MPC565的內部CAN通訊引腳與外部CAN總線連接在一起。PCA82C250是一個連接CAN控制器和外部物理總線的接口,所提供的最高傳送波特率為1M波特。MPC565的A_CNTX0,A_CNRX0引腳和B_CNTX0,B_CNRX0引腳分別作為兩個通訊端口的傳送端和接收端。MPC565微控制器用于對TouCAN模塊進行初始化,并通過該模塊與外部總線網路進行通訊。
圖1智能節點硬件原理圖
3 智能節點軟件系統設計
智能節點的軟件系統主要包括TouCAN初始化模塊、消息傳送模塊和消息接收模塊。
3.1 TouCAN初始化模塊
該模塊主要用于實現消息緩沖區的初始化和CAN通訊參數的初始化,其流程圖如圖2所示。它的主要工作過程如下:
圖2 TouCAN初始化流程圖
(1)初始化所有的操作模式
首先通過配置控制寄存器0 (CANCTRL0)來設定傳輸和接收引腳的操作模式,然后設定控制寄存器1的位定時參數。如PROPSEG,PSEGSI,PSEG2,RJW。隨后通過編程設置PRESDIV寄存器來選擇SCLOCK操作時鐘。最后通過設定控制寄存器1中的LBUF位來選擇內部仲裁模式。
(2)初始化消息緩沖區
TouCAN模塊包括16個消息緩沖區,在每個消息緩沖區有效或無效時,它的控制和狀態字必須執行寫操作。另外必要時每個消息緩沖區的所有其他入口都應該被初始化。
(3)初始化屏蔽寄存器用于接收外部屏蔽源。
(4)初始化TouCAN的中斷處理器。
中斷處理器的初始化主要是完成對中斷配置寄存器CANICR和相關屏蔽位的設置。這些屏蔽位主要包括消息緩沖區中斷屏蔽位IMASK,總線關閉和錯誤中斷屏蔽位CANCTRL0,WAKE中斷屏蔽位CANMCR。
(5)對模塊配置寄存器中的HALT位取反.用于實現CAN總線同步。
3.2 消息傳送模塊
消息傳送模塊比較簡單,主要由TouCAN模塊獨立完成,其流程圖如圖3所示。
圖3 消息傳送流程圖
消息的傳送過程:加載消息和標識符ID到用于傳送的消息緩沖區中,使這個傳送緩沖區有效.執行相關操作完成消息的傳送:寫控制和狀態字,使傳送緩沖區無效;寫ID_HIGH和ID_LOW字;寫待傳送的數據字節;寫控制和狀態字,使得傳送緩沖區有效,并設定傳輸消息長度。
在上述操作過程中,第1步和第4步是必須的,可以保證數據的相干性。另外一旦一個有效的傳送代碼被寫入到一個傳送消息緩沖區中,緩沖區便開始檢測CAN總線是否空閑.或者有空白的中間幀。而當有多個消息等待傳送時,內部的仲裁邏輯將選擇一個消息緩沖區用于下一幀的傳送。在成功傳送之后,自由運行定時器的值將被寫入到消息緩沖區的TIME字段中,在控制和狀態字中的CODE字段也被更新,同時IFLAG寄存器中的狀態位被置1。
3.3 消息接收模塊
消息接收模塊的處理要復雜的多,在接收消息的同時,它要處理總線分離和接收溢出等情況,其流程圖如圖4所示。消息的接收過程:首先用戶配置消息緩沖區等待接收,然后TouCAN模塊把串行消息緩沖區中接收到的具有匹配ID的消息傳送到接收消息緩沖區中,最后用戶處理消息,具體操作如下:寫控制和狀態字,使接收緩沖區無效;寫ID_HIGH和ID_LOW字;寫控制和狀態字,屏蔽接收消息緩沖區,使其有效并且為空。同傳送操作過程類似,第1步和第3步也是用于保證數據的相干性。一旦這些步驟完成,消息緩沖區將作為一個有效的接收緩沖區使用,并進行匹配操作。消息緩沖區任何時候都能捕捉到TouCAN是否接收到錯誤的空閑幀,在這個過程中,所有有效的消息緩沖區比較他們的標識符ID同最新接收的消息的標識符ID.如果匹配,則從最低入口開始,將幀傳送到第一個匹配的接收消息緩沖區中。在接收到消息的問時,自由運行定時器的值被寫入到消息緩沖區的TIME字段,ID字段、DATA字段和RX長度字段被存儲,代碼字段被更新。另外FLAG寄存器中的狀態標志位也被置1。
圖4 消息接收流程圖
4 結論
通過對汽車總成控制器的CAN總線系統智能節點的研究,建立了汽車控制系統通訊網路的模型,為整車開發奠定了基礎。目前利用該智能節點已經完成了總成控制器與其它ECU單元之間的通訊測試。測試結果充分表明:所設計的智能節點完全符合總成控制的需要.具有較好的推廣價值。
本文作者創新點:提出了利用32位微控制器MotorolaMPC565的TouCAN模塊來構建混合動力汽車CAN總線系統.并設計了智能節點的硬件系統和軟件系統。
責任編輯:gt
-
芯片
+關注
關注
455文章
50714瀏覽量
423154 -
總線
+關注
關注
10文章
2878瀏覽量
88052 -
工業控制
+關注
關注
37文章
1451瀏覽量
85830
發布評論請先 登錄
相關推薦
評論