LIN(Local Interconnect Network的簡稱,中譯是區域互聯網路),是應用在汽車內零組件之間通訊的串列網絡傳輸協議。由於汽車上的技術及設備漸漸增加,需要低價的串列網路,而控制器區域網路(CAN)的成本太高,無法在車上的每一個設備中都裝設。歐洲汽車製造商開始使用不同的串列通訊技術,因此出現彼此無法相容的問題。
在1990年代末期,由BMW、大眾集團、奧迪、富豪汽車及梅賽德斯-賓士這五家車廠開始了LIN Consortium,也有從Volcano汽車集團及摩托羅拉而來的軟體及硬體協助。第一個完全實現的新LIN協定(LIN version 1.3)是在2002年11月發佈。在2003年9月發佈了2.0版,增加了額外的診斷功能。若是配合特製的LIN over DC power line(DC-LIN)收發器,LIN也可以用在汽車車池的電力線通信。
- LIN over DC power line(DC-LIN)的相關標準是ISO/AWI 17987-8[1]。
- ISO技術管理委員會(ISO Technical Management Board,ISO TMB)已指定CAN in Automation為依照ISO 17987的LIN供應商ID的註冊機構。
網路拓樸
LIN是廣播串行網路,其中包括16個設備(一台主站,15台從站)[2][3][4][5]
所有的訊息都是由主站開始,最多會有一台從站回覆有特定識別碼的訊息。主站節點也可能當作一個從站,回應自己發出的訊息。
因為所有的通訊都是由主站開始,不需要有碰撞偵測的方案[6]。
主站和從站一般都是用單片機實現,不過為了節省成本、空間或是電源,也可以用特殊的硬體或是特殊應用積體電路來實現。
目前的應用會結合低價的LIN網路及小型感測器來建構小型網路。這些子系統之間可以用骨幹網路連接(在汽車中可能是CAN)[7]。
簡介
LIN是低成本的串列通訊協定,可以有效支援車內網路的遠程應用。
LIN特別適用在分散在汽車不同位置的機械式節點,也適用於工業應用。
LIN設計時是和CAN網路互補,組成車內的階層式網路。
LIN Consortium是在1990代末期組成的,組成成員是五家歐洲車廠,以及明導國際(以前的Volcano車輛集團)及飛思卡爾(之前的摩托羅拉,現在已併入恩智浦半導體)。
新的LIN規範中,第一個完全實現的版本是在2002年11月發佈的LIN 1.3版。在2003年9月提出了2.0版,擴充了組態能力,以及額外的診斷機能以及工具介面。
協定的主要特點如下:
- 單一主站,最多16個從站(沒有總線仲裁的過程)。這是LIN Consortium強調的特點,以達到確定性的時間反應[8]。
- 從站節點位置偵測(Slave Node Position Detection、SNPD),可以在送電後才指定節點的位址[9]。
- 單線通訊,在長度40公尺時,可以到19.2 kbit/s[8][10]。在LIN規範2.2中[9],速率最高可到20 kbit/s。
- 可確保的延遲時間。
- 可變長度的資料頁框(2, 4及8位元組)。
- 可變動的組態。
- 多播接收的時間同步。設備電路的時脈不需非常準確。不需要晶振(crystal)或是陶瓷振盪器。
- 資料檢查碼以及錯誤檢測。.
- 可以檢測故障的節點。
- 以標準UART/SCI(串列通訊介面)為基礎的電路,低成本的方案。
- 可以建立階層式的網路
- 工作電壓為12 V[8]。
資料是透過可變長度,固定格式的訊息來在網路上傳播。
主站會送出標頭(header)資料,其中包括同步間隔(Synchronization break)信號,之後是同步欄位以及識別符(ID)欄位。從站回應資料頁框(frame),其中包括2個、4個或8個位元組的資料,再加上3個位元組的控制資訊[9]。
LIN訊息頁框
訊息包括以下的欄位[9]:
- 同步間隔(Synchronization break)
- 同步位元組
- 識別符(ID)位元組
- 資料位元組
- 檢查碼位元組
- 無條件頁框(Unconditional frame):識別符會在0到59(0x3b)之內。
會帶有訊號,所有無條件頁框的收聽節點都要接收此頁框,若沒有錯誤的話,其應用程式需處理對應的內容。 - 事件驅動頁框(Event-triggered frame):
其目的是增加LIN節點的反應能力,不需要為了偶爾出現的訊號而用輪詢的方式向各節點確認,消耗網路的頻寬。
無條件頁框的第一個位元組需和某個事件驅動頁框的保護識別符(PID[11])相同。
從站只有在其數值變化時才需要回應對應的無條件頁框。若沒有節點回應,該頁框的剩餘時間沒有信號,會忽略該標頭資料。
若不止一個節點回覆,此頁框時間會出現資料碰撞,主站需處理碰撞的情形,在下一次提出事件驅動頁框前需要先請求所有相關的無條件頁框。 - 偶發頁框(Sporadic frame):
此頁框是在主站有需要時,由主站發出,因此不會有碰撞。
只有在主站知道某頁框的資料有變化時,才會在對應的頁框時間區間內送出偶發頁框的標頭。
偶發頁框的發送者需要回應標頭的資料。 - 診斷頁框(Diagnostic frame):識別符是60(0x3c)(主站請求頁框)或61(0x3d)(從站回應頁框)。
其中包括診斷或是組態的資訊,長度8位元組。
主站在產生診斷頁框的標頭之前,需要先問診斷模組是否應送診斷資料,以及網路上是否應有資訊。
從站也會接收這些資料,依照其診斷模組的訊息回應資訊, - 自定頁框(User-defined frame):識別符是62(0x3e)。
可以包括任何資訊。當處理了指定給該頁框的頁框時間區間時,會送出指定頁框的標頭。 - 保留頁框(Reserved frame):其識別符是63(0x3f)。
LIN 2.0 cluster不會使用。
LIN硬體
LIN規範就是為了設計在網路中很低價的硬體節點所開發。LIN設備是以ISO 9191為基礎的低成本、單線網路[12]。
以現今的汽車網架構來看,會使用有UART能力,或是有專門LIN硬體的微控制器。
微控制器會產生通訊協定、同位元等LIN通訊需要的所有資料,透過LIN收發器(可能只是電壓轉換,再加上一些機能)
LIN的從站節點越便宜越好,因此其時脈可能不是用石英晶體諧振器或陶瓷諧振器,而是用RC振盪器產生時脈。為了確保LIN頁框內波特率的穩定性,頁框中會有SYNC(同步)的欄位。
LIN通訊協定
LIN主站會依照一個或是幾個事先定義的排程表,在LIN網路上開始傳送或是接收訊息。排程表中至少會包括各訊息開始發送的相對時序。 LIN頁面由兩部份組成:標頭(header)及回應(response)。標頭是由LIN主站送出,回應可能由特定的LIN從站送出,或是由LIN主站本身送出。
LIN是用串列的方式傳送資料,一個位元組中有八個位元,一個起始位元,一個結束位元,無同位元檢查(break欄位沒有起始位元及停止位元)。位元率的範圍最慢到1 kbit/s,最快到20 kbit/s。 在網路上的資料可以分為隱性(recessive,邏輯上的高準位)及顯性(dominant,邏輯上的低準位) 其時間基礎是由LIN主站的穩定時脈來源來決定,最小的單位是1位元時間(52 µs @ 19.2 kbit/s)。
LIN協定上,有列出兩種網路上的狀態:睡眠狀態及活躍狀態。在LIN網路上有資料時,所有的LIN節點都進入活躍狀態。在一定時間的逾時時間後,節點會進入睡眠狀態,若有喚醒頁框(WAKEUP frame)時才會回到活躍狀態。 喚醒頁框可以由網路上任何一個節點發起,可以是LIN主站依照其內部時程發起。也可以是LIN從站由其韌體所產生。 在所有節點都活躍之後,主站會繼續下一個識別符的排程。
包括五部份:
- 間隔(BREAK)
- 間隔欄位會活化所有的LIN從站,預備接收後續標頭的內容。其欄位包括一個啟始位元以及數個顯性位元,長度至少是11個位元時間,目前使用的標準,其長度是13個位元時間,和基本的資料格式不同。間隔欄位是在主時脈可以和各LIN節點時脈不同時(但差異在一定範圍內時),確保所有接收的LIN節點可以偵測到表示開始通訊的間隔欄位,這不是標準的資料格式,其數值均為0。
- 同步(SYNC)
- 同步欄位是標準的資料格式位元組,數值是十六進制的0x55(高位元及低位元輪流變化) 。使用RC振盪器的LIN從站可以用一定數量上昇緣及下降緣的時間差,計算網站上的位元時間(主站的time normal),並且重新計算內部的位元率。
- 位元組間隔(INTER BYTE SPACE)
- 位元組間隔是用來調整網路上的 jitter,是LIN規範中可選擇的項目。若啟動的話,所有LIN模組都要支援此一機能。位元組間隔出現在間隔欄位和同步欄位之間、同步欄位和識別符欄位之間、同步欄位和識別符欄位之間、酬載(不考慮通訊協定,實際要傳輸的資料)欄位和檢查碼欄位之間。在酬載欄位的每一個位元組之間也要有位元組間隔。
- 識別符(IDENTIFIER)
- 識別符定義一個到多個LIN從站節點要進行的動作。網路設計者需在設計階段實現故障樹的機能。
- 識別符再加上二位元的檢查位元,即為 受保護的識別符(PID[11])。
- 回應間隔(RESPONSE SPACE)
- 是識別符欄位和LIN回應訊息中第一個位元組之間的間隔時間。當特定的LIN頁框(標頭及回應)由LIN主站傳送完畢,LIN主站會用完整的回應間隔間來計算何時要再送出回應資料。若回應是由另外一個LIN從站送出,主站及從站點會在其逾時時間的計算上,各自處理50%的回應間隔。
- 若識別符(IDENTIFIER)讓一個LIN從站(Slave Node)傳送回應訊息,此識別符稱為Rx識別符。若識別符讓LIN從站送出任務訊息,此識別符稱為Tx識別符。
- 在一個頁框時間內,只允許一個從站傳送回復資料。
- ID=0x3c~ 為特定用途,請參考 #頁框種類 說明。
- 標頭(header)必定由Master Node 發起。
回應是由LIN從站任務產生(可能是從站,也可能是主站的從站任務)[13],分為資料及校驗和[9]。
- 資料
- 回應的從站可以送零個到八個位元組到網路上,資料數量由應用程式設計者決定,對應LIN從站應用程式中相關的資料。
- 檢查碼(CHECKSUM)
- LIN有二種檢查碼模式:一種檢查碼只包括資料欄位(V1.3 之前的規範),又名classic checksum;另一種也包括識別符(V2.0之後的規範),又名enhanced checksum[14]。由應用程式的設計者事先定義要用的檢查碼模式。
- 診斷訊息(ID=0x3C & 3D)使用classic checksum
- 回應 Tx識別符的 又稱為 Publisher 或 Sender,發布者,傳送端,寄件者。
- 回應 Rx識別符的 又稱為 Subscriber 或 Receiver,訂閱者,接收端,收件者。
從站節點位置偵測試(SNPD)或自動定址
從站節點位置偵測試(Slave node position detection, SNPD)或自動定址(autoaddressing)的技術可以偵測LIN網路上各從站節點的位置順序,並給予節點不重覆的節點位址(unique node address、NAD)[15],好處是可以讓同一類或是類似的設備可以直接連接到網路,不需要另外修改程式
限制:
- 所有需要自動定址的從站,需要在同一條網路線上(若是不需要自動定址的標準從站,接線就不受限制)。
SNPD方法 | SNPD方法ID | 公司 |
---|---|---|
外部接線菊花鏈(Extra wire daisy chain) | 0x01 | 恩智浦半導體(以前的菲利浦) |
總線分流法(Bus shunt method) | 0x02 | Elmos Semiconductor |
保留 | 0x03 | 還不確定 |
保留 | 0x04 | 還不確定 |
保留 | 0xFF | 還不確定 |
外部接線菊花鏈(Extra wire daisy chain,XWDC)的方案中,每一個從站設備需要多提供一個輸入腳D1,以及一個輸出腳D2。
- 第一個SNPD節點的輸入腳D1接到GND,或是接到主站的輸出腳。
- 第一個SNPD節點的輸出腳D2,接到第二個SNPD節點的輸入腳D1,以及類推。
每一個組態腳Dx(x=1-2)有以下額外的機能來進行位置偵測:
- 可以切換的上拉電阻,電阻另一端連接Vbat
- 下拉到GND
- 有比較器,電壓準位是Vbat/2
總線分流法(Bus shunt method,BSM)的從站設備中,有二個LIN節點
- bus_in
- bus_out
每一個節點需增加以下電路,進行位置偵測的機能。
- 可以切換的上拉電阻。
- 可以切換的,從Vbat提供的2 mA電流源。
- 分流電阻
- 差動放大器
- 類比—數位轉換器
在EP 1490772 B1及US 7091876的專利中,有提到BSM的自動定址技術。
LIN的優點
- 方便使用
- 元件容易取得
- 比CAN或其他的通訊網路要便宜
- 減少線束
- 可以讓車輛更可靠
- 網路延伸很容易
- 不需通訊協定的權利金
LIN的目的不是為了完全取代CAN網路。不過若價格是主要考量,較沒有速度及頻寬上的需求時,LIN是很適合的替代方案。一般來說,LIN會用在車輛中對性能或安全性較不要求的子系統,以下是一些例子。
應用
應用場合 | LIN應用的例子 |
---|---|
車頂 | 感測器、光感測器、光線控制、天窗 |
方向盤 | 巡航控制、刮水器、方向燈、溫濕度控制、收音機,方向盤鎖 |
座椅 | 座椅調整馬達、乘員感測器、控制面板 |
引擎 | 感測器、小馬達、冷卻風扇馬達 |
溫濕度 | 小型馬達、控制面板 |
門 | 後視鏡、中控ECU、後視鏡開關、車窗升降器、座椅控制開關、門鎖 |
照明 | 窗台板的RGB LED照明 |
位址
LIN網路中的位址是透過NAD(Node ADdress、節點位址)來實現,NAD是PID(protected identifier、受保護識別碼[11])的一部份。NAD的值有7位元,其範圍從1到127 (0x7F)
開發工具
在開發LIN網路或是除錯時,硬體訊號的檢查格外的重要。邏輯分析儀及通訊分析儀可以搜集、分析、解碼通訊訊號並加以儲存,方便開發及除錯使用。
相關條目
- 網路串列協定列表
- SAE J3068(LIN-CP)
參考資料
外部連結
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.