LIN總線:汽車車身控制應(yīng)用標(biāo)準(zhǔn)
加爾文制造公司(今摩托羅拉公司)在二十世紀(jì)三十年代推出車載收音機(jī)時(shí),沒有幾個(gè)人能看清其未來。多年來這種收音機(jī)一直是唯一的車載電子組件。當(dāng)今汽車中的信息娛樂系統(tǒng)僅僅是眾多電子控制系統(tǒng)之一:當(dāng)今現(xiàn)代汽車中的電子控制單元(ECU)數(shù)量多達(dá)80種(如圖1所示)。汽車電子組件市場(chǎng)自然一直保持增長勢(shì)頭,到2018年市值有望達(dá)到185億美元。
在最初幾年,汽車采用獨(dú)立自主電子系統(tǒng)。后來很快意識(shí)需要一種支持系統(tǒng)間相互通信的機(jī)制。這不僅催生出諸如能夠協(xié)調(diào)各個(gè)電子系統(tǒng)的串行通信信道(總線)等網(wǎng)絡(luò),同時(shí)也促進(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)識(shí)符。
在給定時(shí)間,多個(gè)節(jié)點(diǎn)可以同時(shí)向CAN總線發(fā)送數(shù)據(jù)。然后由消息標(biāo)識(shí)符幫助確定消息的優(yōu)先級(jí)。最高優(yōu)先級(jí)的消息會(huì)使CAN總線進(jìn)入顯性狀態(tài)(dominant state),而所有其他節(jié)點(diǎn)會(huì)停止發(fā)送。這些節(jié)點(diǎn)實(shí)際上是收發(fā)器,除發(fā)送消息之外,其可以根據(jù)特定功能從總線查找特定消息。因此,CAN總線所連接的不同節(jié)點(diǎn)之間會(huì)出現(xiàn)信息流。
由于CAN會(huì)進(jìn)行填充錯(cuò)誤、誤碼、校驗(yàn)和錯(cuò)誤、誤幀以及應(yīng)答錯(cuò)誤等多項(xiàng)錯(cuò)誤檢查, 因此具有高可靠性。CAN支持高達(dá)1Mbps的數(shù)據(jù)傳輸速率,從而成為連接汽車關(guān)鍵功能ECU(如:變速箱、溫度傳感器等)的默認(rèn)選擇。
為什么選擇LIN?
但是,汽車電子的作用并非僅僅局限于這些關(guān)鍵單元。車身電子市場(chǎng)多年來一直在增長。典型車身控制應(yīng)用包括座椅、車窗、智能雨刷以及汽車空調(diào)傳感器等。對(duì)車身電子的關(guān)鍵要求是確保汽車更舒適、更安全。盡管這些系統(tǒng)可能不要求像關(guān)鍵ECU那樣的高安全性,但是它們?nèi)匀恍枰欢ǖ钠嚲W(wǎng)絡(luò)通信標(biāo)準(zhǔn)。
其所需不同網(wǎng)絡(luò)系統(tǒng)與類型分類如下:
- 常規(guī)車身與動(dòng)力總成應(yīng)用采用具有實(shí)時(shí)特性的協(xié)議,主要是需要CAN;
- 多媒體應(yīng)用需要更高的帶寬與速度,甚至需要無線互聯(lián)。所采用的網(wǎng)絡(luò)包括Bluetooth、MOST 或Firewire;
- 安全關(guān)鍵應(yīng)用需要具備可靠性和容錯(cuò)的協(xié)議。時(shí)間觸發(fā)CAN(TT-CAN)和FlexRay是其所采用的典型網(wǎng)絡(luò);
- 座椅、車窗、雨刷,甚至某些復(fù)雜的ECU中的智能傳感器及促動(dòng)器具有更低的通信需求。這些應(yīng)用通常采用定制OEM協(xié)議尋址,其通信并不需要采用CAN或FlexRay接口。
對(duì)于最后一類應(yīng)用而言,由于OEM廠商采用其自有協(xié)議,因此OEM的供應(yīng)商在沒有標(biāo)準(zhǔn)情況下設(shè)計(jì)不同系統(tǒng)會(huì)面臨一些難題,如:復(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對(duì)比:
實(shí)現(xiàn)CAN比實(shí)現(xiàn)LIN的成本高。導(dǎo)致CAN成本更高的因素包括:
- CAN網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都需要時(shí)鐘發(fā)生器或晶體;
- CAN的芯片級(jí)實(shí)現(xiàn)起來更復(fù)雜
- 采用雙線傳輸。
最重要的是,整個(gè)昂貴的架構(gòu)對(duì)于不需要高可靠性和高數(shù)據(jù)速率的應(yīng)用來說過于奢侈。
上述種種缺陷促進(jìn)了對(duì)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ò)一般包含一個(gè)主節(jié)點(diǎn)和多達(dá)16個(gè)從節(jié)點(diǎn)。所有通信均由主節(jié)點(diǎn)發(fā)起。由于所有節(jié)點(diǎn)都是由主節(jié)點(diǎn)進(jìn)行時(shí)鐘控制,因此只有主節(jié)點(diǎn)中需要精密時(shí)鐘。這是使LIN成本低于CAN的原因之一(CAN中的所有節(jié)點(diǎn)都需要采用晶體或精密時(shí)鐘發(fā)生器)。
LIN特性與優(yōu)勢(shì):
LIN的主要特性與優(yōu)勢(shì)如下:
1. 補(bǔ)充作用 – 如前所述,LIN的作用并非是替代而是補(bǔ)充CAN。此特性有助于CAN擴(kuò)展到應(yīng)用中的遠(yuǎn)程分級(jí)子網(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ò)可以采用一個(gè)主節(jié)點(diǎn)和多達(dá)16個(gè)從節(jié)點(diǎn)。所有消息均從主節(jié)點(diǎn)始發(fā)并且最多由1個(gè)從節(jié)點(diǎn)根據(jù)消息標(biāo)識(shí)符做出響應(yīng)。
5. 自同步 – 無需晶體或諧振器,從而能夠大幅降低實(shí)現(xiàn)成本。
6. 等待時(shí)間 – LIN網(wǎng)絡(luò)可以提供保證等待時(shí)間,從而使其成為預(yù)測(cè)性更高的網(wǎng)絡(luò)。
7. 整體實(shí)現(xiàn) – LIN比CAN的實(shí)現(xiàn)成本和復(fù)雜性更低。對(duì)于CAN,其每個(gè)節(jié)點(diǎn)都需要CAN接口、晶體和雙線連接。而LIN通過簡(jiǎn)單的串行通信模塊(SCB)和增強(qiáng)型ISO 9141接口便可工作,無需晶體,而且是采用單線連接。
表1提供LIN與CAN特性的快速對(duì)比,以幫助開發(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所示帶有一個(gè)主節(jié)點(diǎn)和多個(gè)從節(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需要一個(gè)串行通信接口(SCI)或串行通信模塊(SCB),以支持UART,從而實(shí)現(xiàn)接口連接。LIN協(xié)議采用UART作為基本收發(fā)方式。如果無法在MCU硬件中實(shí)現(xiàn)UART,則可以采用軟件實(shí)現(xiàn)。但是不建議采用這種方法,因?yàn)闀?huì)給處理器帶來不必要的負(fù)載。為用作主節(jié)點(diǎn),我們需要采用更高端的MCU。除了支持SCI的UART之外,主節(jié)點(diǎn)還需要一個(gè)時(shí)鐘發(fā)生器。
LIN采用符合ISO9141標(biāo)準(zhǔn)的BUS單線連接。如今我們具有更高級(jí)的汽車級(jí)MCU,其以內(nèi)置LIN-PHY提供對(duì)LIN的專用支持。這種集成可以使實(shí)現(xiàn)方案更緊湊、更簡(jiǎn)單。
大多數(shù)MCU供應(yīng)商至少會(huì)在其一個(gè)器件系列中支持LIN接口。例如賽普拉斯半導(dǎo)體公司的可編程片上系統(tǒng)(PSoC),其提供一個(gè)在單芯片上集成可編程邏輯、存儲(chǔ)器和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ī)范的一致性測(cè)試對(duì)其LIN接口進(jìn)行驗(yàn)證或認(rèn)證。幾乎所有OEM廠商都會(huì)提出此項(xiàng)要求,而MCU供應(yīng)商在其開發(fā)過程中遵守相關(guān)要求。
LIN消息幀:
為了更好地了解數(shù)據(jù)如何通過LIN傳輸,需要了解相關(guān)消息幀。LIN消息幀由一個(gè)報(bào)頭和一個(gè)響應(yīng)組成。報(bào)頭長度固定,而響應(yīng)包含0~8字節(jié)的數(shù)據(jù)。幀間響應(yīng)時(shí)間是從節(jié)點(diǎn)響應(yīng)LIN主節(jié)點(diǎn)發(fā)出的請(qǐng)求所需要的時(shí)間。幀間響應(yīng)時(shí)間隨網(wǎng)絡(luò)節(jié)點(diǎn)不同而不同,因?yàn)槠淙Q于各節(jié)點(diǎn)的軟硬件實(shí)現(xiàn)。響應(yīng)之后是一個(gè)針對(duì)消息幀的數(shù)據(jù)部分而計(jì)算的校驗(yàn)和。
報(bào)頭分為三個(gè)字段:
1. 同步間隔場(chǎng)(SYNC-break field)用于 激活所有連接的LIN從節(jié)點(diǎn),使其偵聽報(bào)頭的隨后部分。它由一個(gè)起始位和多個(gè)顯性位(dominant bit)組成。
2. 同步場(chǎng)(SYNC-field)是一個(gè)標(biāo)準(zhǔn)的數(shù)據(jù)格式字節(jié)。運(yùn)行于RC振蕩器上的LIN從節(jié)點(diǎn)采用固定量的上升沿和下降沿之間的距離測(cè)量總線的當(dāng)前位時(shí)間,以便重新計(jì)算內(nèi)部波特率。
3. 標(biāo)識(shí)符(ID)場(chǎng)由主節(jié)點(diǎn)發(fā)送到所有LIN節(jié)點(diǎn),其通常包含64個(gè)不同值之一,并且在8位數(shù)據(jù)中含有2個(gè)奇偶校驗(yàn)位。標(biāo)識(shí)符包含隨后通過LIN總線傳輸?shù)男畔ⅲ纾喊l(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)行了對(duì)比。
車載電子數(shù)量在不斷增多,其網(wǎng)絡(luò)復(fù)雜性也在不斷提高。我們?cè)诓贿h(yuǎn)的將來會(huì)在路上看到能夠相互通信的無人駕駛汽車。隨著汽車電氣網(wǎng)絡(luò)數(shù)量增多和復(fù)雜性提高,更簡(jiǎn)單、更便宜的替代產(chǎn)品也在不斷增加,其中最流行的是LIN。LIN已經(jīng)成為大多數(shù)不需要CAN等級(jí)安全性的車身控制應(yīng)用的標(biāo)準(zhǔn),而且在將來還會(huì)保持其流行勢(shì)頭。隨著新版本的發(fā)布(最新版本為2.2A版),LIN也在保持其更新,以滿足汽車新標(biāo)準(zhǔn)要求。這同時(shí)也要求汽車MCU供應(yīng)商裝備最新、最優(yōu)LIN接口版本,以便在車身控制應(yīng)用領(lǐng)域發(fā)揮其用武之地。