一、LIN總線概述
1、什么是LIN總線
LIN(Local Interconnect Network)即局部連接網絡,也被稱為“局域網子系統(tǒng)”即LIN總線是CAN總線網絡下的子系統(tǒng),車上各個LIN總線系統(tǒng)之間的數據交換是由控制單元通過CAN數據總線實現的
LIN總線是一種輔助的串行通信總線網絡,多用于不需要CAN總線的帶寬和多功能的場合,LIN的目標是為現有汽車網絡(例如CAN總線)提供輔助功能
LIN典型的應用是車上傳感器和執(zhí)行器的聯網,LIN屬于汽車上的A級網絡。
2、LIN總線的特點
(1)工作方式:LIN總線為單主/多從方式
(2)數據傳輸線:LIN總線為單線傳輸
(3)工作電壓:LIN總線為12V
(4)傳輸速率:LIN總線最高為20kb/s,屬于低速總線(A類)
(5)傳輸距離:LIN總線最長為40m
(6)LIN總線無需仲裁
(7)傳輸的數據長度:LIN總線一幀信息中數據長度為2、4或8B
(8)標識符的位數:LIN總線有6位標識符
(9)節(jié)點數:LIN總線一般不超過16個
(10)傳輸線的顏色:LIN總線主色為紫色
3、LIN總線的優(yōu)點
(1)在LIN系統(tǒng)中,加入新節(jié)點時,不需要其它從節(jié)點作任何軟件或硬件的改動
(2)整個網絡的配置信息只包含在主節(jié)點中,從節(jié)點可以自由地接入或脫離網絡而不會影響網絡中的通信LIN的網絡結構
(3)從節(jié)點不需振蕩器就能實現同步,節(jié)省了多個控制器部件的硬件成本
(4)基于通用UART接口,幾乎所有微控制器都具備LIN必需的硬件,價格低廉、結構簡單
二、LIN總線的結構原理
1、LIN總線的網絡結構
一個主節(jié)點,主節(jié)點可以執(zhí)行主任務(引起LIN網絡通信)也可以執(zhí)行從任務,總線上的信息傳送由主節(jié)點控制。主節(jié)點連接在CAN數據總線上
多個從節(jié)點,從節(jié)點只能執(zhí)行從任務。
奧迪A6L轎車LIN總線內部組成示意圖
2、主節(jié)點(主控制單元)
LIN總線主控單元監(jiān)控數據傳遞及其速率,發(fā)送信息標題
主控制單元的軟件內已設定了一個周期,這個周期用于決定何時將哪些信息發(fā)送到LIN數據總線上多少次
該控制單元在LIN數據總線與CAN總線之間起溝通作用(“翻譯”),它是LIN總線系統(tǒng)中唯一與CAN數據總線相連的控制單元
通過LIN主控制單元進行與之相連的LIN從控制單元的自診斷
3、從節(jié)點(從控制單元)
接收、傳遞或忽略與從主節(jié)點接收到的主任務(起始報文/信息標題)相關的數據
可以通過一個“叫醒”信號,喚醒主節(jié)點
檢查所接收數據總量和所發(fā)送數據的總量
同主節(jié)點的同步字節(jié)保持一致
只能按照主節(jié)點的要求同其他從節(jié)點進行數據交換
注意:只有當LIN主節(jié)點發(fā)送出主任務(起始報文或信息標題)后,從節(jié)點才會反應
奧迪A6L轎車CAN LIN總線與從控制器示意圖
4、LIN總線的物理結構
三、LIN總線報文幀的類型
無條件幀:
攜帶數據信息;
事件觸發(fā)幀:
處理偶發(fā)的事件
偶發(fā)幀:
保證在調度表確定性的條件下為系統(tǒng)動態(tài)行為的靈活性而設定的
上述3中幀的報文標識符的范圍為0~59(0x3b)
診斷幀(命令幀、應答幀):
攜帶8個字節(jié)的診斷信息或組態(tài)信息,主節(jié)點診斷請求幀的標識符為60(0x3c),從節(jié)點診斷應答幀的標識符為61(0x3d)
用戶自定義幀:
可攜帶用戶自定義的任何信息,標識符為62(0x3e),在調度時可給用戶自定義幀分配報文幀時隙,每當時隙到來時發(fā)送用戶自定義幀的幀頭
保留幀:
保留幀標識符63(0x3f),在LIN2.0中沒有被使用
報文傳輸是由報文幀的格式表示和控制。
四、報文幀格式
一個主機節(jié)點發(fā)送的報文頭;
一個主機或從機節(jié)點發(fā)送的響應組成。
報文頭包含同步間隙、同步字節(jié)和報文標識符(0~63)
響應報文由1-9個字節(jié)構成:
其中2、4或8個字節(jié)的數據場和1個校驗和場。
報文幀之間有幀間間隔分隔;
報文與響應之間有幀內響應空間分隔;
最小幀間間隔和幀內響應空間均為0;
最大長度收到報文幀的最大長度FRAME_max限制。
1、字節(jié)場
每一個字節(jié)場的長度由10個定時位定時(BIT TIME);
起始位(START BIT)是一個“顯性”位,標志字節(jié)的開始;
8為數據位,先發(fā)送最低位;
停止位(STOP BIST)是一個“隱性”位,標志著字節(jié)場的結束。
2、報文頭(HEADER FIELDS)
A、同步間隔(synchronisation break)
作用:
標識報文的開始,由主節(jié)點發(fā)送;使得所有的從機任務和總線時鐘信號同步。
同步間隔:
至少13bit的顯性位,之后緊隨至少1bit隱性值的同步界定符。
同步界定符的作用:
用來檢測接下來的同步域(Synch Field)的起始位。
B、同步場(SYNCH FIELD)
包含了時鐘的同步信息。格式為0x55,表現為8個位定時中有5個下降沿(隱性到顯性的跳變)
C、標識符場(IDENTIFIER FIELD)
6個標識符位(ID0~ID5)和2個標識符奇偶校驗位(P0 P1);
ID4和ID5定義了數據場的數據長度;
3、數據場(DATE FIELDS)
由多個8位的字節(jié)場組成,傳輸由LSB開始
4、校驗和場(CHECK SUM FIELDS)
校驗和域是數據域所有字節(jié)的和的反碼。
校驗和按“帶進位加(ADDC)”方式計算,每個進位都被加到本次結果的最低位(LSB)。這就保證了數據字節(jié)的可靠性。
所有數據字節(jié)的和的補碼與校驗和字節(jié)之加的和必須是“0xFF”。
五、命令幀
0x3C(ID 60)表示主節(jié)點請求幀(診斷幀),以便從主節(jié)點向從節(jié)點發(fā)送命令和數據。
0x3D(ID 61)表示從響應幀,該幀觸發(fā)從節(jié)點向主節(jié)點發(fā)送數據。
過程:
標識符為0x3c一個的“主機請求幀”,主機向從機發(fā)送數據和命令;標志符為0x3dD的“從機相應幀”觸發(fā)一個從機向主機發(fā)送數據。
命令幀中的第一個數劇場為0x00~0x7F, 其用法由LIN協會定義;
剩下的命令幀用戶可以自行分配.
1、睡眠模式命令
總線有兩種狀態(tài):
睡眠模式:從主節(jié)點發(fā)送睡眠模式命令后到總線上出現喚醒信號結束,沒有任何總線活動的這種模式。
喚醒模式:被喚醒信號喚醒之后的總線處于喚醒模式,可以有總線活動。
睡眠模式命令:
是第一個數據字節(jié)為0x00的命令幀
總線的睡眠模式可以通過任何節(jié)點的從任務發(fā)送一個喚醒幀來終止。
2、喚醒過程
某一個節(jié)點的從任務發(fā)送喚醒信號后,所有的節(jié)點都運行啟動過程
并等待主機任務發(fā)送一個同步間隔場和同步場;
若等待超時(TIME_OUT),請求第一個喚醒信號的節(jié)點再一次發(fā)送新的喚醒信號;
上述情況最多出現3次,此后,若還沒將總線喚醒,則等待3個TIME_OUT時間,再發(fā)送喚起信號。
六、用戶自定義幀
0x3E(ID 62)表示用戶定義的擴展幀,后跟任意數量的數據字節(jié)。
0x3F(ID 63)預留供將來使用。
七、LIN總線的報文長度
報文幀以一個同步間隔作為開始,以校驗和域作為結束。
報文幀中的字節(jié)域用字節(jié)間空間和幀內響應空間分隔。
字節(jié)間空間和幀內響應空間的長度沒有定義,但限制了整個報文幀的長度。
最小的幀長度TFRAME_MIN是傳輸一個幀的所需要的最小時間(字節(jié)間空間和幀內響應空間應為0);
最大的幀長度TFRAME_MAX是傳輸一個幀的最大時間。
八、LIN的報文濾波和確認
1、報文濾波
LIN的報文濾波是基于標識符的,即每一個從機任務對應一個傳送標識符。
說明:用戶通過網絡配置保證任務和標識符間的對應關系
2、報文確認
如果直到幀的末尾均沒有檢測到錯誤,則此報文對于發(fā)送器和接收器都有效。
如果報文發(fā)生錯誤,則主機和從機任務都認為報文沒有發(fā)送。
注意:主機任務和從機任務在發(fā)送和接收到一個錯誤報文時所采取的措施,并沒有在協議規(guī)范中定義。像主機重新發(fā)送或從機的后退操作都由用戶按照應用要求在應用層程序中來實現,這些需要用戶在應用層中說明
九、LIN錯誤和異常處理:
1、錯誤檢測
A、位錯誤:
節(jié)點在發(fā)送時也監(jiān)控總線,當監(jiān)控到的位的值與發(fā)送的位的值不同時,則在這個位時間內檢測到一個錯誤。
B、校驗和錯誤:
所有數據字節(jié)的和的補碼與校驗和之和不是“0xFF”,則檢測到校驗和錯誤。
C、標識符奇偶錯誤
所有的從機節(jié)點都能區(qū)分 ID 場中 8 位都已知的標識 符和一個已知但錯誤的標識符。
D、從機不響應錯誤
如果任何主機任務在發(fā)送同步場和標識符后,在最大長度時間內TFRAME_MAX中沒有完成報文幀 的發(fā)送,則產生一個不響應錯誤。
E、同步場不一致錯誤
當從機檢測到同步場的邊沿在給出的容差外,則檢測到一個同步場不一致錯誤。
F、沒有總線活動
如果在接收到最后的一個有效信息后,在Ttime_out時間內沒有檢測到有效的同步間隔場和字節(jié)場,則檢測到一個沒有總線活動錯誤。
2、故障界定
故障界定主要依靠主節(jié)點,使它可以處理盡量多的錯誤檢測、錯誤回復和診斷。故障界定基于系統(tǒng)的要求,不是LIN協議內容。
主機控制單元要檢測以下錯誤狀態(tài):
主機任務發(fā)送:
當回讀自己的發(fā)送時,在同步或標識符字節(jié)中的位錯誤、標識符奇偶錯誤和沒有總線活動錯誤需要被檢測。
主機節(jié)點的從機任務:
當期望或讀取來自總線上的數據時,從機不響應錯誤和校驗和錯誤被檢測。
從機控制單元需檢測以下錯誤情況:
從機任務發(fā)送:當回讀自己的發(fā)送時,數據或校驗和場中的位錯誤被檢測。
從機任務接受:當從總線讀取數據時,標識符奇偶錯誤和校驗和錯誤需被檢測。
十、汽車上LIN總線的應用
現以車門LIN網絡為例介紹LIN總線設計的一般方法。
車門控制LIN網絡的結構及其在車門上的布置如右圖所示,該網絡由主機節(jié)點、后視鏡從機節(jié)點、搖窗機從機節(jié)點、門鎖從機節(jié)點構成。
車門控制LIN網絡
主機節(jié)點
從機節(jié)點
主機節(jié)點采集本地各控制開關的狀態(tài)并接受CAN總線上的遠程信息,據此產生控制指令,并將指令轉換為LIN報文幀通過LIN網絡發(fā)送給相應從機節(jié)點,從機節(jié)點接收到與自己相關的報文幀后對報文幀進行拆封、解讀,然后根據獲得的指令控制相應的執(zhí)行器動作,從而實現對車門各部件的控制。同時,在需要時從機節(jié)點分別將其控制部件所處狀態(tài)反饋給主機節(jié)點,主機節(jié)點再將該狀態(tài)信息通過指示燈或喇叭提供給駕駛員或通過CAN總線發(fā)送給其他控制單元。主機節(jié)點也作為本LIN網絡與上層CAN網絡連接的網關。
主機節(jié)點主要由控制器、電源、控制按鈕、LIN接口、CAN接口和指示燈幾部分組成。
后視鏡從機節(jié)點主要由控制器、電源、LIN接口、執(zhí)行器驅動單元和執(zhí)行器如后視鏡調整電機、除霜加熱器等組成。
評論