1、引言
總線通訊技術自20世紀80年代開始應用在汽車上之后[1],便在電子技術和汽車技術的推動下飛速發展,目前已形成了適用于不同場合的多種汽車總線標準,如MOST、CAN、TTP、LIN等。汽車總線中通訊節點和數據流量持續增加,節點日益復雜,使得汽車總線在重量、布置、成本、通信效率等方面面臨困境,走出這一困境的出路在于實行汽車總線的網絡化和分級制。A類總線——局域互連網LIN(Local Interconnect Network)因此應運而生。LIN是一種結構
簡單、配置靈活、成本低廉的新型低速串行總線,主要用作CAN等高速總線的輔助網絡或子網絡。在帶寬要求不高、功能簡單、實時性要求低的場合,如車身電器的控制等方面,使用LIN總線,可有效的簡化網絡線束、降低成本、提高網絡通訊效率和可靠性。
2、汽車網絡
目前有分別適用發動機和底盤控制、車身電器控制、車載多媒體等不同場合的多種汽車總線標準。SAE(Society of Automotive Engineering)按傳輸速度的不同將汽車網絡總線分為三類,如表1所示。
表一 汽車網絡分類
A類總線協議有許多種,然而長久以來卻沒有一種協議能成為該領域的通用標準。1998年Audi、Motorola、BMW、DaimlerChrysler 、VCT、Volvo和Volkswagen七家公司聯合成立了LIN協會,在潛心研究A類總線的基礎上提出了新型A類總線——LIN,該總線一經面世,即以其低廉的成本優異的性能廣為各大廠商所接受,有望成為A類總線的國際標準。
3、LIN
LIN 總線基于SCI/UART數據格式,采用單主機多從機模式,總線僅由三根導線組成(電源、地線和數據線),LIN總線的驅動/接收器規范遵從ISO9141標準,且EMI性能有所提高。LIN在硬件和軟件上保證了網絡節點的互操作性,并可預測EMC。
LIN的主要特點:成本低,基于通用UART/SCI接口,幾乎所有微控制器都具備LIN必需的硬件;極少的信號線就可實現ISO9141標準;傳輸速率最高可達20Kb/s,最大總線長度40m;單主機/多從機模式,無需總線仲裁;從機節點不需石英或陶瓷振蕩器就能實現自同步;保證信號傳輸的延遲時間;不需要改變LIN從機節點的硬件和軟件就可以在網絡上增加或刪除節點等。
LIN總線規范的初始版本LIN1.0由LIN協會在1999年7月發布,后幾經修訂,現行版本為LIN協會在2003年9月發布的LIN2.0。LIN規范包括傳輸協議規范、傳輸媒介、開發工具接口和軟件程序編制接口。LIN的規范化將改變低端汽車網絡雜亂的現狀,并將降低汽車電子設備的開發、生產、服務和維護成本
3、1 LIN拓撲結構
LIN采用單主機多從機模式,一個LIN網絡包括一個主機節點和若干個從機節點。
(由于過多節點將導致網絡阻抗過低,一個LIN網絡中節點總數不宜超過16。)主機節點既包括主機任務也包括從機任務,從機節點都只包括從機任務,如圖1所示。主機節點也可以通過網關和其他總線如CAN連接。
3、2 LIN數據傳輸
LIN總線中數據借助報文幀來傳輸,報文幀由報文頭和響應組成。
報文頭只能由主機任務發送,它包括同步間隔場、同步場和標識符場三個部分。同步間隔場為至少13個連續的顯性位(低電平),它標志著一個報文幀的開始。其后為同步場,同步場邏輯值為0x55,從機節點利用同步場來實現與主機節點的同步。標識符場緊跟在同步場之后,長度為一個字節。標識符場中低6位為標識符位,共可組成64個標識符,其中60個用作一般報文傳輸、兩個用作診斷幀、一個用作用戶定義幀、一個留作LIN擴展用。標識符后兩位為奇偶校驗位。
標識符指出當前幀的內容,從機節點據此來確定自己是否應該對當前幀做出響應、做出何種響應。
響應由從機任務發送,它由數據場和校驗和場組成。數據場由報文幀所攜帶的數據組成,長度為一到八個字節。報文幀的最后為校驗和場,長度為一字節,LIN1.3及其以前的規范版本中規定校驗和場僅對數據場作校驗,稱為傳統校驗和,LIN2.0規范中規定校驗和場校驗范圍包括數據場和標識符場,稱為增強校驗和。
一個完整的報文幀如圖2所示。
圖2 LIN報文幀
根據傳輸條件的不同,報文幀可分為絕對幀、觸發幀、離散幀、診斷幀、用戶定義幀和保留幀六種[2]。LIN總線上的所有通訊都由主機節點中的主機任務發起,主機任務根據進度表來確定當前的通訊內容,發送相應的幀頭,并為報文幀分配幀通道。總線上的從機節點接收幀頭之后,通過解讀標識符來確定自己是否應該對當前通訊做出響應、做出何種響應。基于這種報文濾波方式,LIN可實現多種數據傳輸模式,且一個報文幀可以同時被多個節點接收利用,如圖3所示。
圖3 LIN數據傳輸模式
3.3總線睡眠和喚醒
需要時可由主機節點發送一個標識符為0x3C且數據場中首字節為0的診斷幀將所有從機節點置為睡眠狀態,如果總線在4秒鐘以上沒有任何活動,從機節點也自動進入睡眠狀態,以減小功耗。
處于睡眠狀態的LIN網絡中的任何一個節點都可以請求喚醒總線,總線上的所有節點在接收到喚醒請求后應脫離睡眠狀態并為接收總線命令做好準備。主機節點接收到喚醒請求后也被喚醒,并在從機節點準備好之后發送幀頭,尋找喚醒原因。
3.4錯誤檢測和處理
LIN規范定義了六種不同類型的報文錯誤:位錯誤、校驗和錯誤、標識符錯誤、從機不響應錯誤、總線不活動錯誤和同步場不一致錯誤。主機節點和從機節點分別檢測這六種錯誤中的若干種。
4.LIN應用設計
LIN是一種低速串行總線,其提出是針對汽車應用的,主要用于汽車電子控制系統, 實現智能傳感器、執行器等的連接。LIN定位于汽車上的下層局部網絡。由CAN構成汽
圖4 基于CAN/LIN的分級制汽車網絡
車的上層主干網絡,而在不需要CAN的高速與多功能性的場合則由LIN來構成下層局部網絡,實現分級制網絡結構,以達到合理分配利用網絡資源、提高線路布置的方便靈活性、降低成本的目的。典型的基于CAN-LIN總線的分級制汽車車身網絡如圖4所示。
現以車門LIN網絡為例介紹LIN總線設計的一般方法。
車門控制LIN網絡的結構及其在車門上的布置如圖5所示,該網絡由主機節點、后視鏡從機節點、搖窗機從機節點、門鎖從機節點構成。
圖5 車門控制LIN網絡
主機節點采集本地各控制開關的狀態并接受CAN總線上的遠程信息,據此產生控制指令,并將指令轉換為LIN報文幀通過LIN網絡發送給相應從機節點,從機節點接收到與自己相關的報文幀后對報文幀進行拆封、解讀,然后根據獲得的指令控制相應的執行器動作 ,從而實現對車門各部件的控制。同時,在需要時從機節點分別將其控制部件所處狀態反饋給主機節點,主機節點再將該狀態信息通過指示燈或喇叭提供給駕駛員或通過CAN總線發送給其他控制單元。主機節點也作為本LIN網絡與上層CAN網絡連接的網關。
圖6為車門控制LIN網絡的主機節點和后視鏡從機節點的結構框圖圖。主機節點主要由控制器、電源、控制按鈕、LIN接口、CAN接口和指示燈幾部分組成。后視鏡從機節點主要由控制器、電源、LIN接口、執行器驅動單元和執行器如后視鏡調整電機、除霜加熱器等組成。
主機節點和從機節點控制器均采用PHILIPS的高性能8位單片機P87LPC768,該單片機除具有51系列單片機典型功能,完全滿足LIN控制器的硬件要求外,還具有片內看門狗和振蕩器等模塊,可有效簡化LIN節點結構,降低成本。LIN收發器采用PHILIPS公司生產的TJA1020,其可用波特率范圍2.4-20Kbits/s,它具有較高的抗電磁干擾性(EMI),可以自動修整輸出波形降低電磁輻射(EME),且當傳輸速率低于10Kb/s時, TJA1020可以工作在低斜率模式下而進一步降低電磁輻射。電源模塊主要由PHILIPS公司生產的電壓調節器SA57022構成,SA57022可通過ON/OFF引腳開啟或關閉,它與LIN收發器配合實現節點的睡眠和喚醒。主機節點的CAN接口由CAN控制器SAJ1000和CAN驅動器82C250組成。從機節點中以BTS432等半導體功率開關器件取代傳統的繼電器作為各執行器的開關器件,具有響應迅速、可靠性高、結構緊湊等優點,并可通過其反饋引腳診斷負載狀態。
5、結束語
隨著汽車技術和網絡通信技術的發展,汽車信息通信的網絡化是必然趨勢。汽車信息通信的多樣化促進了汽車分級制網絡的產生和發展。LIN作為一種性能優異、價格低廉的新型A類總線,必將進一步促進汽車分級制網絡結構的實施和完善,推動汽車技術的發展。同時,LIN作為一個開放的協議,在工業及家電領域也有著廣闊的應用前景。
參考文獻
[1] Matthew Ruff, “Eaolution of Interconnect Network (LIN) Solution”. Motorola, Inc. IEEE 2003
[2] LIN Consortium. “LIN Specification Package Vision2.0” www.lin-subbus.org, 2003
[3] LIN Consortium. “LIN Specification Package Vision1.2” www.lin-subbus.org, 2000
[4] Christopher A. Lupini, “ Multiplex Bus Progression”. SAE 2003-01-0111
[5] John V. DeNuto, Stephen Ewbank, Francis Kleja, Christopher A. Lupini and Robert A. Perisho, Jr: “LIN Bus and its Potential for use in Distributed Multiplex Applications” . SAE 2001-01-0072