來源:ECU診斷、汽車技研
01背景
本地互聯(lián)網(wǎng)絡(luò)LIN協(xié)議是基于Volvo衍生公司Volcano通信技術(shù)公司(VCT)開發(fā)的Volcano-Lite技術(shù)。因?yàn)槠渌嚻髽I(yè)也對CAN的低成本替代協(xié)議感興趣,所以建立了LIN辛迪加聯(lián)合組織。
該組織于1999年發(fā)布了LIN協(xié)議(1.0)并在2000年進(jìn)行了兩次更新。2002年11月,發(fā)布了LIN 1.3,主要是對物理層進(jìn)行了修改,提高了節(jié)點(diǎn)之間的兼容性。2003年發(fā)布了最新的版本LIN 2.0,其中包括一些重大更新,同時(shí)引入了一些新特性(例如診斷功能)。這些更新的主要目標(biāo)是簡化量產(chǎn)從節(jié)點(diǎn)的使用。
02應(yīng)用領(lǐng)域
LIN是CAN和SAE J1850協(xié)議的補(bǔ)充性協(xié)議,針對時(shí)間要求不高或不需要精確容錯(cuò)的應(yīng)用(相比CAN協(xié)議,LIN的可靠性較低)。LIN的目標(biāo)是易于使用,作為CAN協(xié)議的低成本替代品。LIN在車輛中可以使用的場合包括車窗升降器、后視鏡、雨刷和雨量傳感器。
03協(xié)議簡介
按照OSI模型,LIN涉及整個(gè)網(wǎng)絡(luò)協(xié)議棧,規(guī)范涵蓋物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層和應(yīng)用層。
LIN物理層基于ISO 9141(K-line)
主從式結(jié)構(gòu)
單線加上地線
時(shí)間觸發(fā)的調(diào)度
1-20 kb/s
顯性/隱性位
按字節(jié)的串行通信
線長不得超過40米
標(biāo)準(zhǔn)由LIN組織定義
04物理屬性
LIN總線收發(fā)器是ISO 9141標(biāo)準(zhǔn)采用的收發(fā)器的修訂版。總線為雙向傳輸,連接到節(jié)點(diǎn)收發(fā)器,并且通過終斷電阻器和二極管連接到節(jié)點(diǎn)的Vbat(圖1)。
△圖1:收發(fā)器說明(摘錄自LIN 2.0規(guī)范)
在總線上,一個(gè)邏輯低位(0)為顯性,一個(gè)邏輯高位(1)為隱性。
ECU的供電電壓(Vsup)應(yīng)該在7 V和18 V之間。圖2顯示總線邏輯位解釋的限制。
△圖2:總線上邏輯位的確定
05數(shù)據(jù)傳輸
LIN網(wǎng)絡(luò)通過LDF(LIN描述文件)進(jìn)行描述,LDF包含關(guān)于幀和信號的信息。這個(gè)文件同時(shí)用于主節(jié)點(diǎn)和從節(jié)點(diǎn)中的軟件創(chuàng)建。
主節(jié)點(diǎn)為控制方,確保以正確的時(shí)間間隔和周期發(fā)送數(shù)據(jù)幀,并且每個(gè)幀都在總線上獲得足夠的時(shí)間片。這種時(shí)間調(diào)度方法基于下載到主節(jié)點(diǎn)軟件的LCF(LIN配置文件)。
所有數(shù)據(jù)都通過一個(gè)包含幀頭、響應(yīng)和一些響應(yīng)間隔的幀進(jìn)行發(fā)送,因此從節(jié)點(diǎn)有時(shí)間進(jìn)行應(yīng)答。每個(gè)幀都發(fā)送到LCF確定的數(shù)據(jù)幀槽中。
主節(jié)點(diǎn)發(fā)送包含幀頭的幀時(shí),創(chuàng)建新的報(bào)文。然后從節(jié)點(diǎn)根據(jù)主節(jié)點(diǎn)發(fā)送的幀頭在幀中填充數(shù)據(jù)。
△圖3:LIN幀的例子
有三種不同的方法可以在總線上傳輸幀:無條件幀、事件觸發(fā)幀和零星幀。
無條件幀
這是**“常規(guī)”類型的LIN通信**。主節(jié)點(diǎn)在設(shè)置好的幀槽中發(fā)送一個(gè)幀頭,然后指定的從節(jié)點(diǎn)為該幀填充數(shù)據(jù)。
事件觸發(fā)幀
這種方法的目的是在不令總線上幀過載的情況下從從節(jié)點(diǎn)接受極可能多的信息??梢栽谑录|發(fā)幀中填充來自多個(gè)從節(jié)點(diǎn)的數(shù)據(jù)。從節(jié)點(diǎn)僅在值發(fā)生改變時(shí)才更新事件觸發(fā)幀中的數(shù)據(jù)。如果多個(gè)從節(jié)點(diǎn)想要更新幀中的數(shù)據(jù),會(huì)發(fā)生沖突。這種情況下,主節(jié)點(diǎn)應(yīng)向每個(gè)從節(jié)點(diǎn)發(fā)送無條件幀(從優(yōu)先級最高的節(jié)點(diǎn)開始)。
零星幀
這種方法為本來靜態(tài)的LIN協(xié)議提供一些動(dòng)態(tài)行為。僅當(dāng)主節(jié)點(diǎn)知道從節(jié)點(diǎn)中信號發(fā)生更新時(shí),才發(fā)送零星幀的幀頭。通常,主節(jié)點(diǎn)填充幀本身的數(shù)據(jù)字節(jié),從節(jié)點(diǎn)是信息的接收方。
06字節(jié)字段的定義
協(xié)議面向字節(jié),這表示數(shù)據(jù)的發(fā)送方式是每次一個(gè)字節(jié)。**一個(gè)字節(jié)字段包含一個(gè)起始位(顯性),8個(gè)數(shù)據(jù)位和一個(gè)結(jié)束位(隱性)。**數(shù)據(jù)位的發(fā)送方式為LSB優(yōu)先(最低有效位優(yōu)先)。數(shù)據(jù)傳輸可以劃分成一個(gè)主節(jié)點(diǎn)任務(wù)和一個(gè)從節(jié)點(diǎn)任務(wù)。
△圖4:字節(jié)字段的結(jié)構(gòu)
主節(jié)點(diǎn)任務(wù)
**主節(jié)點(diǎn)發(fā)送的幀(頭)包含三個(gè)部分:同步間隔字段、同步字節(jié)字段和一個(gè)標(biāo)識符字段。**每個(gè)部分都以一個(gè)起始位開始,以一個(gè)結(jié)束位結(jié)束。
**同步間隔字段表示報(bào)文的開始,至少13個(gè)顯性位(包括起始位)。**同步間隔以一個(gè)“間隔分隔符”結(jié)束,該分隔符至少包含一個(gè)隱性位。
△圖5:同步間隔字段
發(fā)送同步字節(jié)字段來確定兩個(gè)下降沿之間的時(shí)間,從而確定主節(jié)點(diǎn)使用的傳輸速率。位模式是0x55(01010101,最大下降沿?cái)?shù)量)。這對于兼容量產(chǎn)從節(jié)點(diǎn)尤其有用。
△圖6:同步字節(jié)字段
標(biāo)識符字段包含6位長的標(biāo)識符和兩個(gè)奇偶校驗(yàn)位。6位標(biāo)識符包含關(guān)于發(fā)送方和接收方的信息,以及響應(yīng)中要求的字節(jié)數(shù)。奇偶校驗(yàn)位如下進(jìn)行計(jì)算:校驗(yàn)位P0是ID0、ID1、ID2和ID4之間進(jìn)行邏輯“或”運(yùn)算的結(jié)果。校驗(yàn)位P1是ID1、ID3、ID4和ID5之間邏輯“或”運(yùn)算后再進(jìn)行反轉(zhuǎn)的結(jié)果。
△圖7:標(biāo)識符字段
△圖8:幀長取決于標(biāo)識符
根據(jù)主節(jié)點(diǎn)發(fā)送的標(biāo)識符的兩個(gè)MSB(最高有效位),從節(jié)點(diǎn)的響應(yīng)(數(shù)據(jù)字段)可以是2、4或8字節(jié)長。在LIN 2.0中才提供這個(gè)能力,以前的版本只有8字節(jié)的靜態(tài)長度。
△圖9:響應(yīng)數(shù)據(jù)字段
從節(jié)點(diǎn)任務(wù)
從節(jié)點(diǎn)等待同步間隔字段,然后通過同步字節(jié)字段開始主從節(jié)點(diǎn)之間的同步。根據(jù)主節(jié)點(diǎn)發(fā)送的標(biāo)識符,從節(jié)點(diǎn)將進(jìn)行接收、發(fā)送或什么都不做。應(yīng)該進(jìn)行發(fā)送的從節(jié)點(diǎn)發(fā)送主節(jié)點(diǎn)請求的字節(jié)數(shù),然后以一個(gè)檢驗(yàn)和字段結(jié)束傳輸。
有兩種不同類型的檢驗(yàn)和。LIN 1.3中使用傳統(tǒng)的檢驗(yàn)和,包含報(bào)文中所有數(shù)據(jù)字節(jié)(8個(gè)字節(jié))的反轉(zhuǎn)八位和。LIN 2.0中使用的新檢驗(yàn)和在檢驗(yàn)和計(jì)算中加入了保護(hù)的標(biāo)識符。反轉(zhuǎn)八位和與modulo-256不同。每次所得和大于256時(shí),就減去255。例如,對于240+32=272,和為272,然后執(zhí)行272-255=17,得到的檢驗(yàn)和為17。
為了節(jié)約電力,總線4秒鐘沒有活動(dòng)或者主節(jié)點(diǎn)發(fā)送休眠命令后,從節(jié)點(diǎn)將進(jìn)入休眠模式。通過總線上的顯性位(所有節(jié)點(diǎn)都可創(chuàng)建)把從節(jié)點(diǎn)從休眠模式中喚醒。
07診斷
LIN 2.0中的一項(xiàng)新功能是可以從主從節(jié)點(diǎn)讀出診斷信息。為了這個(gè)目的,使用了兩個(gè)幀標(biāo)識符。這兩個(gè)幀標(biāo)識符都需要8個(gè)數(shù)據(jù)字節(jié):主節(jié)點(diǎn)用標(biāo)識符60(0x3c)請求幀,從節(jié)點(diǎn)用標(biāo)識符61(0x3d)進(jìn)行響應(yīng)。診斷幀的第一個(gè)字節(jié)是NAD(診斷用節(jié)點(diǎn)地址),這是一個(gè)字節(jié)長的診斷用節(jié)點(diǎn)地址。值范圍從1到127,0被保留,128到255可以自由使用。有三種診斷方法:基于信號的診斷、用戶定義的診斷或使用診斷傳輸層。
基于信號的診斷
基于信號的診斷是最簡單的方法,在普通幀中使用標(biāo)準(zhǔn)信號,有以下特性:
從節(jié)點(diǎn)上負(fù)載較低
標(biāo)準(zhǔn)化的概念
靜態(tài),沒有靈活性
用戶定義的診斷
用戶定義的診斷可用來滿足特定設(shè)備的要求,但是這同時(shí)表示它不能用作通用目的。這種方法使用128到255范圍的NAD。
診斷傳輸層
對于基于CAN的系統(tǒng)(使用ISO診斷)之上構(gòu)建的LIN網(wǎng)絡(luò),可以使用這種方法。此方法使用NAD 1到127,具備以下特性:
主設(shè)備上負(fù)載較低
為LIN從節(jié)點(diǎn)提供ISO診斷
用于更復(fù)雜和強(qiáng)大的LIN節(jié)點(diǎn)
△圖10:請求幀PCI類型 = SF
△圖11:請求幀PCI類型 = FF
△圖12:請求幀PCI類型 = CF
診斷響應(yīng)幀以類似的方式構(gòu)建,響應(yīng)服務(wù)標(biāo)識符(RSID)指定響應(yīng)的內(nèi)容。
△圖13:響應(yīng)幀PCI類型 = SF
△圖14:響應(yīng)幀PCI類型 = FF
08版本兼容性
LIN 2.0主節(jié)點(diǎn)與LIN 1.3從節(jié)點(diǎn)向后兼容(有限制)。LIN 2.0和LIN 1.3從節(jié)點(diǎn)可以在網(wǎng)絡(luò)中并存,但是需要避免一些新特性(例如改進(jìn)的檢驗(yàn)和自動(dòng)波特率檢測)。
審核編輯:湯梓紅
-
通信技術(shù)
+關(guān)注
關(guān)注
20文章
1112瀏覽量
92171 -
LIN總線
+關(guān)注
關(guān)注
19文章
108瀏覽量
27436 -
總線系統(tǒng)
+關(guān)注
關(guān)注
0文章
24瀏覽量
10062
原文標(biāo)題:LIN總線系統(tǒng)的解析和應(yīng)用
文章出處:【微信號:智能汽車電子與軟件,微信公眾號:智能汽車電子與軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論