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