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