一、什么是lin總線
LIN總線是針對汽車分布式電子系統(tǒng)而定義的一種低成本的串行通訊網(wǎng)絡(luò),是對控制器區(qū)域網(wǎng)絡(luò)(CAN)等其它汽車多路網(wǎng)絡(luò)的一種補(bǔ)充,適用于對網(wǎng)絡(luò)的帶寬、性能或容錯功能沒有過高要求的應(yīng)用。LIN總線是基于SCI(UART)數(shù)據(jù)格式,采用單主控制器/多從設(shè)備的模式,是UART中的一種特殊情況。
LIN(Local Interconnect Network)是一種低成本的串行通訊網(wǎng)絡(luò),用于實(shí)現(xiàn)汽車中的分布式電子系統(tǒng)控制。LIN 的目標(biāo)是為現(xiàn)有汽車網(wǎng)絡(luò)(例如CAN 總線)提供輔助功能,因此LIN總線是一種輔助的總線網(wǎng)絡(luò)。在不需要CAN 總線的帶寬和多功能的場合,比如智能傳感器和制動裝置之間的通訊使用LIN 總線可大大節(jié)省成本。
LIN 技術(shù)規(guī)范中除定義了基本協(xié)議和物理層外還定義了開發(fā)工具和應(yīng)用軟件接口。LIN 通訊是基于SCI(UART)數(shù)據(jù)格式,采用單主控制器/多從設(shè)備的模式。僅使用一根12V 信號總線和一個無固定時間基準(zhǔn)的節(jié)點(diǎn)同步時鐘線。這種低成本的串行通訊模式和相應(yīng)的開發(fā)環(huán)境已經(jīng)由LIN 協(xié)會制定成標(biāo)準(zhǔn)。
LIN 的標(biāo)準(zhǔn)化將為汽車制造商以及供應(yīng)商在研發(fā)應(yīng)用操作系統(tǒng)降低成本。
二、LIN總線的應(yīng)用
典型的LIN 總線應(yīng)用是汽車中的聯(lián)合裝配單元,如:門、方向盤、座椅、空調(diào)、照明燈、
濕度傳感器,交流發(fā)電機(jī)等。對于這些成本比較敏感的單元,LIN 可以使那些機(jī)械元件如
智能傳感器、制動器或光敏器件得到較廣泛的使用。這些元件可以很容易的連接到汽車網(wǎng)絡(luò)
中并得到十分方便的維護(hù)和服務(wù)。在LIN 實(shí)現(xiàn)的系統(tǒng)中通常將模擬信號量用數(shù)字信號量
所替換,這將使總線性能優(yōu)化。
在以下的汽車電子控制系統(tǒng)中使用LIN 來實(shí)現(xiàn)將得到非常完美的效果:
車頂
濕度傳感器
光敏傳感器
信號燈控制
汽車頂篷
車門
車窗玻璃
中樞鎖
車窗玻璃開關(guān)
吊窗提手
車頭
傳感器
小電機(jī)
方向盤
方向控制開關(guān)
擋風(fēng)玻璃上的擦拭裝置
方向燈
無線電
空調(diào)
座椅
座椅控制電機(jī)
轉(zhuǎn)速傳感器
盡管LIN 最初的設(shè)計(jì)目的是用于汽車電子控制系統(tǒng),但LIN 也可廣泛應(yīng)用于工業(yè)自動化
三、LIN自動尋址
LIN自動尋址時,判別子節(jié)點(diǎn)的位置分為7步,流程圖如圖3所示。
第1步,當(dāng)自動尋址開始時,所有子節(jié)點(diǎn)內(nèi)的上拉電阻及電流源都開路;
第2步,檢測所有子節(jié)點(diǎn)上通過Rshunt的電流Ishunt1;
第3步,所有子節(jié)點(diǎn)的電流源1導(dǎo)通;
第4步,檢測此時通過Rshunt的電流Ishunt2,計(jì)算Ishunt2與Ishunt1的差值,差值小于基準(zhǔn)電壓的子節(jié)點(diǎn)稱為預(yù)選子節(jié)點(diǎn);
第5步,關(guān)閉所有沒有被預(yù)選的子節(jié)點(diǎn)的電流源1;打開所有預(yù)選子節(jié)點(diǎn)的電流源2,同時保持電流源1打開狀態(tài);
第6步,檢測預(yù)選子節(jié)點(diǎn)上通過Rshunt的電流Ishunt3,計(jì)算Ishunt3與Ishunt1的差值,如果此差值低于基準(zhǔn)電壓,則判斷此子節(jié)點(diǎn)為離Master最近的子節(jié)點(diǎn),此時將設(shè)置的地址寫入到此子節(jié)點(diǎn)的RAM(RandomAccessMemory,隨機(jī)存取存儲器)中;
第7步,所有的子節(jié)點(diǎn)電流源1及電流源2開路,上拉電阻導(dǎo)通。
lin總線自動尋址的應(yīng)用
在最初幾年,汽車采用獨(dú)立自主電子系統(tǒng)。后來很快意識需要一種支持系統(tǒng)間相互通信的機(jī)制。這不僅催生出諸如能夠協(xié)調(diào)各個電子系統(tǒng)的串行通信信道(總線)等網(wǎng)絡(luò),同時也促進(jìn)了汽車整體功能改進(jìn)。
? ? ? ? 汽車網(wǎng)絡(luò):
1983年,博世公司開始開發(fā)控制器局域網(wǎng)(CAN)總線,并且在1986年正式發(fā)布相關(guān)協(xié)議。目前有多種不同汽車總線標(biāo)準(zhǔn),但是CAN仍然是最流行的標(biāo)準(zhǔn)。在CAN網(wǎng)絡(luò)中,所有節(jié)點(diǎn)(源于不同的ECU)都擔(dān)當(dāng)主節(jié)點(diǎn)(即,不存在主從拓?fù)浣Y(jié)構(gòu)),而且并不分配具體地址。而是由消息攜帶標(biāo)識符。
在給定時間,多個節(jié)點(diǎn)可以同時向CAN總線發(fā)送數(shù)據(jù)。然后由消息標(biāo)識符幫助確定消息的優(yōu)先級。最高優(yōu)先級的消息會使CAN總線進(jìn)入顯性狀態(tài)(dominant state),而所有其他節(jié)點(diǎn)會停止發(fā)送。這些節(jié)點(diǎn)實(shí)際上是收發(fā)器,除發(fā)送消息之外,其可以根據(jù)特定功能從總線查找特定消息。因此,CAN總線所連接的不同節(jié)點(diǎn)之間會出現(xiàn)信息流。
由于CAN會進(jìn)行填充錯誤、誤碼、校驗(yàn)和錯誤、誤幀以及應(yīng)答錯誤等多項(xiàng)錯誤檢查, 因此具有高可靠性。CAN支持高達(dá)1Mbps的數(shù)據(jù)傳輸速率,從而成為連接汽車關(guān)鍵功能ECU(如:變速箱、溫度傳感器等)的默認(rèn)選擇。
為什么選擇LIN?
但是,汽車電子的作用并非僅僅局限于這些關(guān)鍵單元。車身電子市場多年來一直在增長。典型車身控制應(yīng)用包括座椅、車窗、智能雨刷以及汽車空調(diào)傳感器等。對車身電子的關(guān)鍵要求是確保汽車更舒適、更安全。盡管這些系統(tǒng)可能不要求像關(guān)鍵ECU那樣的高安全性,但是它們?nèi)匀恍枰欢ǖ钠嚲W(wǎng)絡(luò)通信標(biāo)準(zhǔn)。
其所需不同網(wǎng)絡(luò)系統(tǒng)與類型分類如下:
- 常規(guī)車身與動力總成應(yīng)用采用具有實(shí)時特性的協(xié)議,主要是需要CAN;
- 多媒體應(yīng)用需要更高的帶寬與速度,甚至需要無線互聯(lián)。所采用的網(wǎng)絡(luò)包括Bluetooth、MOST 或Firewire;
- 安全關(guān)鍵應(yīng)用需要具備可靠性和容錯的協(xié)議。時間觸發(fā)CAN(TT-CAN)和FlexRay是其所采用的典型網(wǎng)絡(luò);
- 座椅、車窗、雨刷,甚至某些復(fù)雜的ECU中的智能傳感器及促動器具有更低的通信需求。這些應(yīng)用通常采用定制OEM協(xié)議尋址,其通信并不需要采用CAN或FlexRay接口。
對于最后一類應(yīng)用而言,由于OEM廠商采用其自有協(xié)議,因此OEM的供應(yīng)商在沒有標(biāo)準(zhǔn)情況下設(shè)計(jì)不同系統(tǒng)會面臨一些難題,如:復(fù)雜性與費(fèi)用。所以,不同汽車制造商在二十世紀(jì)九十年代后期共同成立了LIN聯(lián)盟。該聯(lián)盟在2002年終于實(shí)現(xiàn)了此類系統(tǒng)的聯(lián)網(wǎng)標(biāo)準(zhǔn),其稱為LIN。
LIN與CAN對比:
實(shí)現(xiàn)CAN比實(shí)現(xiàn)LIN的成本高。導(dǎo)致CAN成本更高的因素包括:
- CAN網(wǎng)絡(luò)中的每個節(jié)點(diǎn)都需要時鐘發(fā)生器或晶體;
- CAN的芯片級實(shí)現(xiàn)起來更復(fù)雜
- 采用雙線傳輸。
最重要的是,整個昂貴的架構(gòu)對于不需要高可靠性和高數(shù)據(jù)速率的應(yīng)用來說過于奢侈。
上述種種缺陷促進(jìn)了對LIN網(wǎng)絡(luò)需求增長。LIN總線的作用是補(bǔ)充而非替代CAN總線。它是一種支持汽車網(wǎng)絡(luò)遠(yuǎn)程以及非關(guān)鍵應(yīng)用的低成本串行通信協(xié)議。與CAN不同,LIN采用主從拓?fù)浣Y(jié)構(gòu)。這種網(wǎng)絡(luò)一般包含一個主節(jié)點(diǎn)和多達(dá)16個從節(jié)點(diǎn)。所有通信均由主節(jié)點(diǎn)發(fā)起。由于所有節(jié)點(diǎn)都是由主節(jié)點(diǎn)進(jìn)行時鐘控制,因此只有主節(jié)點(diǎn)中需要精密時鐘。這是使LIN成本低于CAN的原因之一(CAN中的所有節(jié)點(diǎn)都需要采用晶體或精密時鐘發(fā)生器)。
LIN特性與優(yōu)勢:
LIN的主要特性與優(yōu)勢如下:
1. 補(bǔ)充作用 – 如前所述,LIN的作用并非是替代而是補(bǔ)充CAN。此特性有助于CAN擴(kuò)展到應(yīng)用中的遠(yuǎn)程分級子網(wǎng)。
2. 單線實(shí)現(xiàn) – LIN的低成本單線實(shí)現(xiàn)方案(不同于CAN的雙絞線實(shí)現(xiàn)方案)可以顯著降低成本。
3. 數(shù)據(jù)速率 –出于EMI控制原因,數(shù)據(jù)速率限速為20Kbps,這有助于保持網(wǎng)絡(luò)的可靠性。
4. 廣播串行網(wǎng)絡(luò) – LIN網(wǎng)絡(luò)可以采用一個主節(jié)點(diǎn)和多達(dá)16個從節(jié)點(diǎn)。所有消息均從主節(jié)點(diǎn)始發(fā)并且最多由1個從節(jié)點(diǎn)根據(jù)消息標(biāo)識符做出響應(yīng)。
5. 自同步 – 無需晶體或諧振器,從而能夠大幅降低實(shí)現(xiàn)成本。
6. 等待時間 – LIN網(wǎng)絡(luò)可以提供保證等待時間,從而使其成為預(yù)測性更高的網(wǎng)絡(luò)。
7. 整體實(shí)現(xiàn) – LIN比CAN的實(shí)現(xiàn)成本和復(fù)雜性更低。對于CAN,其每個節(jié)點(diǎn)都需要CAN接口、晶體和雙線連接。而LIN通過簡單的串行通信模塊(SCB)和增強(qiáng)型ISO 9141接口便可工作,無需晶體,而且是采用單線連接。
表1提供LIN與CAN特性的快速對比,以幫助開發(fā)人員根據(jù)不同參數(shù)需求選擇網(wǎng)絡(luò):
? ? ? ? 基于LIN的系統(tǒng)的組件:
創(chuàng)建基于LIN的系統(tǒng)的復(fù)雜性遠(yuǎn)遠(yuǎn)低于基于CAN的系統(tǒng)?;贚IN的系統(tǒng)所需組件包括:
- 物理收發(fā)器(PHY)
- 帶有串行通信模塊(SCB)/接口的微控制器
- 開發(fā)工具:軟件
典型LIN網(wǎng)絡(luò)類似于圖2所示帶有一個主節(jié)點(diǎn)和多個從節(jié)點(diǎn)的系統(tǒng)。
? ? ? ?物理收發(fā)器注釋:大多數(shù)LIN實(shí)現(xiàn)方案采用收發(fā)器管理接口連接和支持更高的電壓電平。這些收發(fā)器一般位于微控制器外部。
為了在LIN網(wǎng)絡(luò)中擔(dān)當(dāng)從節(jié)點(diǎn),MCU需要一個串行通信接口(SCI)或串行通信模塊(SCB),以支持UART,從而實(shí)現(xiàn)接口連接。LIN協(xié)議采用UART作為基本收發(fā)方式。如果無法在MCU硬件中實(shí)現(xiàn)UART,則可以采用軟件實(shí)現(xiàn)。但是不建議采用這種方法,因?yàn)闀o處理器帶來不必要的負(fù)載。為用作主節(jié)點(diǎn),我們需要采用更高端的MCU。除了支持SCI的UART之外,主節(jié)點(diǎn)還需要一個時鐘發(fā)生器。
LIN采用符合ISO9141標(biāo)準(zhǔn)的BUS單線連接。如今我們具有更高級的汽車級MCU,其以內(nèi)置LIN-PHY提供對LIN的專用支持。這種集成可以使實(shí)現(xiàn)方案更緊湊、更簡單。
大多數(shù)MCU供應(yīng)商至少會在其一個器件系列中支持LIN接口。例如賽普拉斯半導(dǎo)體公司的可編程片上系統(tǒng)(PSoC),其提供一個在單芯片上集成可編程邏輯、存儲器和MCU的片上系統(tǒng)架構(gòu)。這些器件支持能夠配置為LIN的串行通信接口,從而很有可能適用于需要LIN的汽車應(yīng)用。
除了MCU和LIN PHY之外,配置LIN接口的不同參數(shù)通常需要軟件模塊等開發(fā)工具。賽普拉斯等處理器廠商可提供支持軟硬件同步設(shè)計(jì)的設(shè)計(jì)環(huán)境,如:PSoC Designer 與PSoC Creator。此類工具提供靈活的LIN組件或用戶模塊,其可以根據(jù)設(shè)計(jì)需求進(jìn)行編程并運(yùn)行。
MCU供應(yīng)商還需要通過符合LIN規(guī)范的一致性測試對其LIN接口進(jìn)行驗(yàn)證或認(rèn)證。幾乎所有OEM廠商都會提出此項(xiàng)要求,而MCU供應(yīng)商在其開發(fā)過程中遵守相關(guān)要求。
LIN消息幀:
為了更好地了解數(shù)據(jù)如何通過LIN傳輸,需要了解相關(guān)消息幀。LIN消息幀由一個報(bào)頭和一個響應(yīng)組成。報(bào)頭長度固定,而響應(yīng)包含0~8字節(jié)的數(shù)據(jù)。幀間響應(yīng)時間是從節(jié)點(diǎn)響應(yīng)LIN主節(jié)點(diǎn)發(fā)出的請求所需要的時間。幀間響應(yīng)時間隨網(wǎng)絡(luò)節(jié)點(diǎn)不同而不同,因?yàn)槠淙Q于各節(jié)點(diǎn)的軟硬件實(shí)現(xiàn)。響應(yīng)之后是一個針對消息幀的數(shù)據(jù)部分而計(jì)算的校驗(yàn)和。
報(bào)頭分為三個字段:
1. 同步間隔場(SYNC-break field)用于 激活所有連接的LIN從節(jié)點(diǎn),使其偵聽報(bào)頭的隨后部分。它由一個起始位和多個顯性位(dominant bit)組成。
2. 同步場(SYNC-field)是一個標(biāo)準(zhǔn)的數(shù)據(jù)格式字節(jié)。運(yùn)行于RC振蕩器上的LIN從節(jié)點(diǎn)采用固定量的上升沿和下降沿之間的距離測量總線的當(dāng)前位時間,以便重新計(jì)算內(nèi)部波特率。
3. 標(biāo)識符(ID)場由主節(jié)點(diǎn)發(fā)送到所有LIN節(jié)點(diǎn),其通常包含64個不同值之一,并且在8位數(shù)據(jù)中含有2個奇偶校驗(yàn)位。標(biāo)識符包含隨后通過LIN總線傳輸?shù)男畔?,如:發(fā)送者、接受者、用途以及數(shù)據(jù)字段長度。
消息幀結(jié)構(gòu)如圖3所示。。
?
? ? ? LIN應(yīng)用:
我們已經(jīng)清楚哪類汽車應(yīng)用需要LIN。我們來快速查看一下采用LIN網(wǎng)絡(luò)的典型應(yīng)用列表(見表2)。為了更好地了解其差異,表2將需要LIN的應(yīng)用與需要CAN的應(yīng)用進(jìn)行了對比。
車載電子數(shù)量在不斷增多,其網(wǎng)絡(luò)復(fù)雜性也在不斷提高。我們在不遠(yuǎn)的將來會在路上看到能夠相互通信的無人駕駛汽車。隨著汽車電氣網(wǎng)絡(luò)數(shù)量增多和復(fù)雜性提高,更簡單、更便宜的替代產(chǎn)品也在不斷增加,其中最流行的是LIN。LIN已經(jīng)成為大多數(shù)不需要CAN等級安全性的車身控制應(yīng)用的標(biāo)準(zhǔn),而且在將來還會保持其流行勢頭。隨著新版本的發(fā)布(最新版本為2.2A版),LIN也在保持其更新,以滿足汽車新標(biāo)準(zhǔn)要求。這同時也要求汽車MCU供應(yīng)商裝備最新、最優(yōu)LIN接口版本,以便在車身控制應(yīng)用領(lǐng)域發(fā)揮其用武之地。
評論