引言
CAN(Controller Area Network)是德國Bosch公司最先提出的,是目前汽車控制器局域網中最流行、最常用的總線。它的主要特點是:CAN總線為多主站總線,各節點均可在任意時刻主動向網絡上的其他節點發送信息,不分主從,通信靈活;CAN總線采用獨特的非破壞性總線仲裁技術,優先級高的節點先傳送數據,能滿足實時性要求;CAN總線具有點對點、一點對多點及全局廣播傳送數據的功能;CAN總線上每幀有效字節數最多為8個,并有CRC及其他校驗措施,數據出錯率極低,某個節點出現嚴重錯誤,可自動脫離總線,總線上的其他操作不受影響;CAN總線只有2條導線,系統擴充時可直接將新節點掛在總線上,因此走線少,系統容易擴充,改型靈活;CAN總線傳輸速度快,在傳輸距離小于40 m時,最大傳輸速率可達1 Mb/s。CAN總線的應用不僅能簡化線束,實現傳感器共享,降低系統成本,而且能大大降低車輛的故障率。CAN總線在汽車上的應用是現代汽車技術的發展趨勢。
2 CAN總線在汽車中的應用
目前,汽車中的網絡連接主要采用2條CAN總線,一條是驅動系統的高速CAN總線,速率達500 kb/s,另一條是車身系統的低速CAN總線,速率是100 kb/s。驅動系統的CAN主要連接對象是發動機控制器(ECU)、ASR及ABS控制器、安全氣囊控制器、組合儀表等,其基本特征相同,都是控制與汽車行駛直接相關的系統。車身系統的CAN主要連接對象是4門以上的中控門鎖、電動車窗、后視鏡和車廂內照明燈等。有些先進的轎車除了上述2條CAN總線外,還會有第3條CAN總線,它的主要連接對象是衛星導航及智能通信系統。
在國外尤其是在歐洲,CAN已成為現代汽車中必不可少的裝置,CAN總線技術正日趨成熟,應用也越來越廣,奔馳、寶馬、大眾、沃爾沃、雷諾等汽車都采用CAN作為控制器聯網的技術。國內對CAN總線的研究剛剛起步,到目前為止還沒有較成功的應用。但我國對車輛局域網絡總線技術的研究與開發非常重視,最近國家有關部門對CAN總線在豪華大客車上的應用做出明確規定。相信這一政策的出臺必將大大促進相關企業和科研單位對汽車CAN總線的研究與開發應用。本文討論客車車身CAN總線系統中的車燈節點設計,它屬于低速CAN總線上的節點設計。
3 單片機及其CAN總線模塊
NEC是僅次于Freescale的世界第二大車用單片機制造商,由于其在中國推廣的比較晚,國內企業使用得并不多。CAN總線模塊是 μPD780822型單片機的一個外設,是一個完整的CAN控制器。可滿足車身CAN總線網絡的要求。除了具有CAN的基本功能外,還包括一些特有功能,如時間同步功能、可編程的CAN總線喚醒和CPU喚醒功能、可編程的總線關閉時發送底層復位功能等。對CAN總線的訪問分為控制/狀態寄存器的訪問和發送 /接收緩沖器的訪問。
CAN控制器發送的信息幀分為二種:發送數據幀和發送遠程幀。有二個發送緩沖器,其中一個為16字節,一個為8 字節。16字節的緩沖器可以存儲標準幀和擴展幀二種格式的數據幀,8字節的緩沖器可以用來存儲要發送的數據。發送數據幀時,在數據寫到發送緩沖器后,如果相應的發送請求位使能,則數據被發送到CAN總線上,數據幀的數據可以用軟件設置成1~8個字節。數據幀的格式如圖1所示。
CAN控制器接收信息時首先要將接收信息的標識符與相應緩沖器的標識符進行比較,只有標識符相同的信息才能被接收。μPD780822型單片機的CAN模塊有2個獨立的發送緩沖器,2個緩沖器共用1個16字節的數據區來存儲最多8字節數據的CAN幀。發送區和接收區的結構相似,當標志位和控制位沒有設置為CAN專用時,CPU可以把其作為普通的數據存儲區使用。
控制器接收緩沖器有16個,接收信息幀時用的緩沖器區由信息數量寄存器(MCNT)決定。從總線上接收的信息被直接存儲在發送緩沖區中。工作中沒有使用的接收緩沖區可以被CPU作為普通的RAM使用。每個接收緩沖器都有其可編程的中斷使能位。
4 網絡結構和節點
客車車身CAN系統包括主控節點、燈光節點、空調節點、車門節點和儀表節點等,如圖2所示。其中,前車燈節點控制包括前左、右示廓燈,前左、右位燈,前左、右遇險報警燈,前左、右駐車燈,左、右前照燈遠光,左、右前照燈近光,前左、右霧燈和前左、右轉向燈等16個控制單位。后車燈節點控制包括后左、右示廓燈,后左、右轉向燈,后左、右制動燈,后左、右位燈,后左、右霧燈和后左、右倒車燈等12個控制單位。主控節點主要接收來自駕駛員的一些開關輸入信號。儀表節點主要通過接收總線上的數據來控制方向、水溫、機油壓力、制動、車門、車燈、ABS/ARS和除霜等指示燈和控制儀表,以顯示車速、發動機轉速、水溫、燃油、機油、電壓、步進電機等數值。空調節點控制空調的開關和車內溫度的設定等。車門和后視鏡節點控制車門電磁閥開關、后視鏡調整開關和后視鏡加熱開關。安全節點監控ABS和ECAS的電源。
5 硬件電路設計
燈光節點的硬件結構如圖3所示,它包括燈光控制模塊和CAN接口模塊。燈光控制模塊由TLP521-4型光電隔離器和BTS442、BTS740型智能開關組成。
TLP521-4是4路光電隔離器,8個TLP521-4組成32路光電隔離,把傳遞到開關和開關反饋的信號與單片機連接起來。BTS442是 Infineon公司生產的單路輸出智能開關(PROFET),具有允許較大瞬態電流(140 A以上)和較寬泛的溫度范圍(-55℃~+150℃)等優點,6個BTS442組成6路控制開關,控制大燈和霧燈等6個大電流負載。BTS740是 lnfineon公司生產的4路輸出智能開關,把輸出的2路并作1路用,使其通過較大的瞬時電流。5個BTS740組成10路控制開關用以控制其余的小電流負載。BTS442和BTS740都有診斷反饋功能,如果出現錯誤,BTS442的第4引腳和BTS740的第4引腳與第8引腳上會出現一個低電平信號,通過光電隔離器把該信號接入單片機,實現端點檢測功能,并通過CAN信息幀反饋到儀表節點上。所有節點的硬件CAN接口模塊都相同,包括燈光節點在內。由于這種單片機帶有CAN總線模塊,所以不需專門的CAN控制器,單片機沒有CAN收發器,需要外接82C250型收發器,中間是6N137型光電隔離器。單片機、光電隔離器和CAN收發器硬件接口電路如圖4所示。
6 節點軟件設計
節點軟件流程如圖5所示。程序采用查詢方式,節點初始化并報告正常工作后將一直處于查詢狀態,直到主控節點發送的燈光控制命令到達燈光節點時,單片機才可判斷控制的是哪一路燈光或哪幾路燈光,并通過開關的診斷反饋功能檢測相應的開關是否正常。如果正常,則向相應的高/低端開關發送相應的控制命令,然后回到查詢狀態。如果不正常,則向儀表節點發送相應端點的不正常信息幀,繼續檢測相應的端點。
節點初始化主要是單片機初始化,包括端口初始化和CAN控制模塊的初始化。單片機端口初始化主要對用到的I/O口上電復位。CAN模塊的初始化主要是設置所用的特殊功能寄存器,主要包括協議模式、驗收濾波方式、CAN通信速率和中斷寄存器的設置等。將驗收代碼和驗收屏蔽代碼寫入驗收代碼寄存器和驗收屏蔽寄存器。
CAN總線的軟件設計主要包括CAN節點的初始化、數據的發送和接收程序,掌握了這3個模塊的設計,基本上就完成了CAN通信的軟件設計。
7 結束語
雖然本節點是為控制客車車燈設計的,但對其他一些節點也有借鑒作用,尤其是CAN總線的硬件接口部分,可以通用到客車其他CAN網絡節點上,甚至可以用在其他非汽車領域的CAN網絡上,如工業自動化等領域。
-
單片機
+關注
關注
6037文章
44561瀏覽量
635602 -
控制器
+關注
關注
112文章
16376瀏覽量
178201 -
CAN總線
+關注
關注
145文章
1951瀏覽量
130782
發布評論請先 登錄
相關推薦
評論