朱雙華
(株洲職業(yè)技術(shù)學(xué)院,株洲 412001)
網(wǎng)關(guān)(Gateway)實際上就是一種模塊,它工作的好壞決定了不同的總線、模塊和網(wǎng)絡(luò)相互間通信的好壞。網(wǎng)關(guān)就像一個居民小區(qū)的門衛(wèi),在他讓任何客人進大門之前,他得問問客人是否是應(yīng)邀前來,或者通知某位住戶有人來訪了。對不兼容但卻需要互相通信的總線和網(wǎng)絡(luò)來說,網(wǎng)關(guān)所起的作用就和門衛(wèi)一樣。
網(wǎng)關(guān)是連接異型網(wǎng)絡(luò)的接口裝置,它綜合了橋接器和路由器的功能,汽車網(wǎng)關(guān)主要能在OSI參考模型的物理層、數(shù)據(jù)鏈路層和應(yīng)用層上對雙方不同的協(xié)議進行翻譯和解釋。
對于Bosch公司為奔馳600SEL等汽車開發(fā)的控制器局域網(wǎng)CAN1.2與CAN2.0協(xié)議之間的網(wǎng)關(guān),是指為處理多個ECU的核中核CPU之間的通信而提供的一種綜合接口裝置,實際上就是一個Intel-16位80C196單片微機,而美國三大汽車公司采用的SAE1850網(wǎng)絡(luò)與Bosch-CAN網(wǎng)絡(luò)之間的網(wǎng)關(guān),實際上就是一個Intel-16位87C196KR單片微機。
一個網(wǎng)關(guān)必須具備有從一個網(wǎng)絡(luò)協(xié)議到另一個協(xié)議轉(zhuǎn)換信息的能力,對于CAN協(xié)議的網(wǎng)關(guān),應(yīng)能涉及CAN協(xié)議4種幀類型中的兩種,即數(shù)據(jù)幀和遠(yuǎn)程幀。另外兩種錯誤幀和超限幀,由該網(wǎng)關(guān)的CAN芯片硬件控制,因此,可以說網(wǎng)關(guān)無附加的響應(yīng)性。當(dāng)然,網(wǎng)關(guān)必須具備有“狀態(tài)位”,即在任何一個網(wǎng)絡(luò)中發(fā)生的錯誤太多時,網(wǎng)關(guān)有報警狀態(tài)位或總線中斷狀態(tài)位,這樣,網(wǎng)關(guān)就像網(wǎng)絡(luò)中的節(jié)點那樣,可以調(diào)查總線狀態(tài)。
對于兩個網(wǎng)絡(luò)之間的網(wǎng)關(guān),其具備盡量少的傳輸?shù)却龝r間,信息丟失或超限差錯最少,能處理總線出現(xiàn)的差錯等特性。
如果兩個CAN網(wǎng)絡(luò)執(zhí)行器是兩片獨立的芯片(圖1),微控制器(單片微機)作為網(wǎng)關(guān),那么,CAN芯片就像靈巧的隨機存儲器被網(wǎng)關(guān)讀寫。一旦接收到信息,網(wǎng)關(guān)就執(zhí)行接收CAN芯片的外部讀操作,接著執(zhí)行轉(zhuǎn)換信息的邏輯指令,然后執(zhí)行外部寫操作,對第二個網(wǎng)絡(luò)的CAN芯片作傳輸編程。
所以說,網(wǎng)關(guān)主要是執(zhí)行外部讀、寫操作和轉(zhuǎn)換信息標(biāo)識符,而執(zhí)行讀、寫操作的重要技術(shù)條件是時間,讀、寫所要求的時間又取決于網(wǎng)關(guān)在CAN芯片接口的定時特性。
圖1 網(wǎng)關(guān)硬件的布置
1991年9月,標(biāo)準(zhǔn)的1.2版本的CAN協(xié)議修訂為新的2.0版本,新版本的技術(shù)關(guān)鍵是增加了信息標(biāo)識符,也就是說,新的CAN2.0既支持標(biāo)準(zhǔn)的11位,也支持?jǐn)U展后的29位信息標(biāo)識。
CAN2.0實施新的信息位,標(biāo)識擴展位(IDE位)使CAN操作裝置能區(qū)分標(biāo)準(zhǔn)和擴展格式,但大多數(shù)現(xiàn)存的標(biāo)準(zhǔn)CAN-1.2版本不能識別擴展后的信息格式,在實施過程中會響應(yīng)錯誤信息。
為了能實施29位的信息標(biāo)識,Intel公司開發(fā)了品種繁多的芯片,作為CAN的汽車用戶,需采用網(wǎng)關(guān)使網(wǎng)絡(luò)互連(圖2),在僅用CAN-l.2-11位信息標(biāo)識的條件下,能正確響應(yīng)29位標(biāo)識。
圖2 Bosch CAN1.2與CAN2.0之間的網(wǎng)關(guān)連接圖
圖3 網(wǎng)關(guān)處理的內(nèi)容
網(wǎng)關(guān)主要“處理” 有關(guān)下面三部分的內(nèi)容(如圖3所示):從第一個網(wǎng)絡(luò)讀取所接收的信息,翻譯信息,向第二個網(wǎng)絡(luò)發(fā)送信息。圖中翻譯信息標(biāo)識符的含義如下:CAN1.2和CAN2.0 的網(wǎng)關(guān)可用于以下兩種情況;第一種是最簡單的實施方式,即在兩個網(wǎng)絡(luò)之間不需要對信息標(biāo)識符翻譯,只是傳送標(biāo)準(zhǔn)信息,也就是說,這時的網(wǎng)關(guān)只起到互連CANl.2與CAN2.0,并讓這兩個網(wǎng)絡(luò)共享標(biāo)準(zhǔn)信息的任務(wù);第二種實施方式需要對信息標(biāo)識符作翻譯,也就是說,兩個網(wǎng)絡(luò)有各自的信息標(biāo)識符,例如,“發(fā)動機溫度信息”在CAN1.2網(wǎng)絡(luò)上具有專用的11位標(biāo)準(zhǔn)信息標(biāo)識符,而在CAN2.0網(wǎng)絡(luò)上卻具有擴展的29位信息標(biāo)識符,此時的網(wǎng)關(guān)需對這兩種信息標(biāo)識符通過計算或“查表”翻譯。
SAE選用CAN2.0協(xié)議作為“C級”串行控制和通信網(wǎng)絡(luò)的推薦實施標(biāo)準(zhǔn),由稱為SAE1939規(guī)范。CAN2.0每秒鐘的數(shù)據(jù)速率可達1Mbit/s, 也就是說,CAN2.0執(zhí)行相當(dāng)于SAE-C級的高速數(shù)據(jù)速率。可對于貨車的掛車或被牽引的機具來說,并不需要如此高CAN網(wǎng)絡(luò)均數(shù)據(jù)速率。由于高速率串行鏈路的電子元件和硬件的成本較昂貴,因此,就采用中速數(shù)據(jù)速率(B級) 41.6Kbitls的J1850網(wǎng)絡(luò)來管理掛車的牽引和制動,而CAN2.0只用于支持主車發(fā)動機的各個ECU,這樣,在貨車和大客車上出現(xiàn)了連接異型網(wǎng)絡(luò)的網(wǎng)關(guān)(如圖4所示)。
圖4 CAN與J1850之間的關(guān)系
同樣原理,原實施SAE-J1850B級通信速率的小客車,感到發(fā)動機、自動變速器、ABS等系統(tǒng)的數(shù)據(jù)速率偏低,想提高通信速率以改善汽車的控制性能,又不能讓汽車成本增加太多,就將原實施J1850的汽車增加一個網(wǎng)關(guān)(如圖5所示),并將網(wǎng)關(guān)前方的總線修改為CAN總線。
圖5 轎車CAN網(wǎng)與J1850網(wǎng)絡(luò)之間的網(wǎng)關(guān)
由于幾種數(shù)據(jù)總線的傳輸速率不同,所以系統(tǒng)之間不能直接進行數(shù)據(jù)交換。而事實上,在車輛處于正常工作狀態(tài)時,不同的總線系統(tǒng)之間是需要有信息交流的,如發(fā)動機系統(tǒng)(動力總線)與空調(diào)系統(tǒng)(舒適總線)之間就有信息交流,發(fā)動機控制單元會將節(jié)氣門開度、水溫、轉(zhuǎn)速等信號傳給空調(diào)控制單元,而空調(diào)控制單元需將壓縮機工作狀態(tài)傳遞給發(fā)動機控制單元。為了解決此問題,特設(shè)置了網(wǎng)關(guān),即Gateway,又稱為網(wǎng)絡(luò)適配器。它能把各種總線系統(tǒng)的傳輸速度轉(zhuǎn)換成一個中間頻率,從而使所有連接在CAN總線上的控制單元之間都能進行信息交流,整車的CAN總線系統(tǒng)就形成了一個有機的整體,如圖6所示。
在奧迪A4-B6 轎車上,Gateway只起到交換各種總線信息的作用, 這種Gateway稱為數(shù)據(jù)Gateway。而在Bora車上,Gateway 除起到交換信息的作用外,還能在不改變數(shù)據(jù)的前提下,將動力總線、舒適總線和娛樂總線上的自診斷信息傳遞到K線上,這樣可以使系統(tǒng)進行自診斷的速度加快。
當(dāng)更換某條CAN總線上的某個控制單元后,需進行該條CAN總線的適配,其目的在于使Gateway認(rèn)識此新的控制單元并對其進行數(shù)據(jù)轉(zhuǎn)換,否則該控制單元將不能參與CAN總線工作。每條CAN總線的每個控制單元都有一個固定的代碼數(shù)值,適配時需將CAN總線上所有控制單元的代碼數(shù)值加起來,輸入總和數(shù)值到適當(dāng)?shù)耐ǖ?,則該CAN總線適配成功,如果去掉某一控制單元的數(shù)值,則該控制單元無法參與CAN總線工作。如果更換了組合儀表,由于Gateway安裝在組合儀表里,所以3條Gateway總線都需進行適配。但例外的是安全氣囊控制單元,它不用編碼,即不在適配范圍之內(nèi),直接更換即可。
動力總線的適配:用VAG1551或 VAS5051進入地址碼“17”(儀表),然后選擇“10”功能(適配),進入“060”通道,輸入相應(yīng)數(shù)值后“確認(rèn)”即可。各單元數(shù)值:發(fā)動機為1,變速器為2,ESP為4,組合儀表為1024,如果該車是手動變速器,則適配時應(yīng)輸入“1209”。
舒適總線的適配:進入“061”通道輸入各控制單元代碼數(shù)值:汽車控制單元為1,舒適系統(tǒng)控制單元為2,組合儀表為256,轉(zhuǎn)向柱控制單元為1024,空調(diào)系統(tǒng)為2048,駐車加熱為32768。
信息娛樂總線的適配:進入“062”通道輸入各控制單元代碼數(shù)值:收音機為1,電話為 2,電子導(dǎo)航為4,組合儀表為16。
圖6 奧迪A4-B6轎車CAN系統(tǒng)示意圖
[1] 張鳳山.奧迪系列轎車維修保養(yǎng)手冊[M].北京:機械工業(yè)出版社,2009.
[2] 李東江,張大成.汽車車載網(wǎng)絡(luò)系統(tǒng)原理與檢修[M].北京:機械工業(yè)出版社,2008.