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