一、前言
LIN(Local Interconnect Network)是一種基於UART/SCI(通用異步收發器/串行通信接口)的低成本串行通信協議,主要用於汽車、家電、辦公設備等多種領域。LIN 總線可以連接各種電子控制單元(ECU)和傳感器,實現分布式智能化控制,同時具有低成本、低功耗、可靠性高等特點。在汽車應用中,LIN 總線可以用於發動機、車身和車輪等部位的控制系統,實現智能化的車輛控制。
本文的 E3110 開發板就使用了 LIN_TJA1022TK 晶片,本文旨在通過 E3110 開發板所需的 LIN 外設做一個簡單的介紹。
二、LIN 總線概述
LIN 總線是一種低成本的串行通訊網絡,專門針對汽車分布式電子系統而定義的。它基於 SCI(UART)數據格式,採用單主控制器/多從設備的模式,是 UART 中的一種特殊情況。
LIN 總線的主要優勢在於其低成本和簡單性。它使用一根 12V 信號總線和無固定時間基準的節點同步時鐘線進行通信,通過通信雙方約定的波特率進行通信。這種設計使得 LIN 總線可以廣泛應用於對網絡的帶寬、性能或容錯功能沒有過高要求的應用中,例如汽車座椅、車窗、車燈等分布式電子控制系統。
總的來說,LIN 總線是一種經濟實惠、簡單易用的通信協議,在汽車和家電等領域得到了廣泛應用。
2.1 LIN 通信原理
LIN 總線是一種低成本的串行通訊網絡,針對汽車分布式電子系統而定義。它採用單線傳輸方式,傳輸速率較低,通常只有 20kbps 左右。
LIN 總線工作原理是由一個總線線路、一個或多個 LIN 節點和一個 LIN 總線管理器組成。LIN 總線管理器負責總線上數據的傳輸,LIN 節點接收和發送數據,通過接收到的信號確定數據的發送方向,然後傳輸數據。
LIN 總線的主控制單元監控數據傳輸過程和數據傳輸速率。每條信息的開始處都通過 LIN 總線主控單元發送一個信息標題,從屬控制單元通過 LIN 總線進行數據傳輸。
LIN 總線具有無線連接、支持多種功能、自動化通信、簡單線路和高速高可靠性等優點,是汽車內部通信的重要技術。
2.2 LIN 總線技術特點
LIN總線的主要技術特點 | |
1 |
低成本:基於UART串口通訊,幾乎所有MCU都支持,因此具有廣泛的應用範圍。 |
2 |
一個主節點對應多個從節點:在LIN總線中,存在一個主節點,它負責發送信息給從節點。每個從節點都有一個地址碼,主節點通過這個地址碼來確定將信息發送給哪個從節點。 |
3 |
從節點不需要時鐘,晶振同步:LIN總線採用單線傳輸方式,從節點不需要獨立的時鐘或晶振來同步,而是通過接收主節點的信號來確定傳輸速率。 |
4 |
最大傳輸速率可達20Kbit/s:LIN總線的傳輸速率較低,最大傳輸速率只有20Kbit/s,這使得它適用於對傳輸速率要求不高的應用場景。 |
5 |
一根LIN信號線就可以實現ISO9141標準:LIN總線只需要一根信號線就可以實現信息的傳輸,符合ISO9141標準。 |
6 |
信號傳輸是可預測的:由於LIN總線採用單線傳輸方式,主節點和從節點之間的通信是按照一定的順序進行的,因此信號傳輸是可預測的。 |
7 |
可配置的:不需要改變LIN從節點的硬體軟體就可以增加從節點。 |
8 |
支持傳輸層和診斷功能:LIN總線具有傳輸層和診斷功能,可以用於檢測和診斷網絡中的故障。 |
表2-1 LIN 總線主要技術特點
2.3 LIN 主從機節點
LIN 總線採用單主多從結構,一個主節點對應多個從節點,由總線電氣特性的原因,一個 LIN 網絡最多可以連接 16 個節點。從節點不需要時鐘、晶振同步,LIN 總線具有可預測性,信號傳輸是可預測的。可重構性,不需要改變 LIN 從節點的硬體/軟體就可以增加從節點。LIN 支持傳輸層和診斷功能。LIN 總線上的節點通常被分為兩種類型:主機節點和從機節點。
主機節點(Master Node)是 LIN 網絡的最高級別節點,負責管理和調度 LIN 網絡上的數據傳輸。它包含主機任務(Master Task)和從機任務(Slave Task),其中主機任務負責調度總線上幀的傳輸次序、監測數據、處理錯誤,並作為標準時鐘參考,而從機任務則負責接收從機節點發出的總線喚醒命令。在 LIN 總線通信中,主機任務決定在 LIN 總線上傳送哪一幀,即實現總線調度表切換,LIN 報文幀頭產生和發送,從機任務提供每一幀響應數據/狀態。
從機節點(Slave Node)則是 LIN 網絡中接收和響應主機節點命令的節點,通常只包含從機任務。
在實際應用中,主機節點通常只有一個,而從機節點則可以有 1 到 15 個。每個 LIN 從機節點都需要設定唯一的設備地址碼(Device Address),用於標識和區別不同的從機節點。當主機節點發出指令時,會指定需要與之通信的從機節點的設備地址碼,只有與該地址碼相匹配的從機節點才會響應主機節點的指令。
圖2-2 LIN 總線拓撲圖
LIN 主從機任務 | ||
|
主機任務 |
從機任務 |
1 |
調度總線上幀的傳輸次序 |
發送應答(幀中除幀頭外剩下的部分) |
2 |
檢測數據,處理錯誤 |
接收應答 |
3 |
作為標準時鐘參考 |
既不接收也不應答 |
4 |
接受從機節點發出的總線喚醒命令 |
|
表2-3 LIN 主從機任務匯總表
2.4 LIN 總線報文幀
LIN報文幀是LIN總線協議中傳輸的基本單元,包含以下幾個部分:
A、同步間隔(Break Field):LIN總線報文幀的開始部分,由主機任務負責發送幀頭。同步間隔段用於同步所有節點的時間,以便於後續數據傳輸的同步。
B、同步段(Sync Byte Field):在同步間隔後,由主機任務發送同步段,所有從機任務會接收該同步段並對幀頭所包含的信息進行解析。
C、受保護的ID段(Protected Identifier Field):該部分用於標識幀的類型和接收者,有助於區分不同的幀類型和接收者。
D、數據段(Data Field):數據段包含傳輸的具體信息,例如指令、傳感器讀數等。
E、校驗和段(Checksum Field):用於檢測數據域中是否發生了錯誤,以保證傳輸的正確性。
在 LIN 報文幀的傳輸過程中,主機任務負責發送幀頭,從機任務接收幀頭並對幀頭所包含的信息進行解析,然後決定是發送應答,還是接收應答,還是不作任何反應。一旦主機發送了幀頭,從機必須對主機發送的幀頭髮送應答,以確認收到。如果從機沒有接收到完整的幀,它會發送一個錯誤應答或者丟棄該幀。
圖2-4 幀結構示意圖
2.5 LIN 網絡管理
LIN 網絡管理分為網絡休眠和喚醒管理,具體情況如下:
喚醒:當總線處於休眠狀態時,主/從機節點都可以向總線上發送喚醒信號,喚醒信號持續 250μs~5ms。喚醒信號顯性脈衝的結束處算起 100ms 以內準備接收來自主機的命令(幀頭);主機節點也必須被喚醒,在 100ms 之內主機節點發送幀頭開始通信。
休眠:總線可以再兩種情況下進入休眠。第一種是利用診斷幀中的主機請求幀 0x3C 作休眠命令,要求數據段的第一個字節為 0x00,其餘字節為 0xFF。第二種情況是當總線靜默(沒有顯性和隱性電平之間的切換) 4s~10s 時,節點自動進入休眠狀態。
三、E3110 開發板的 LIN 方案設計
E3110 開發板的設計上,選擇 TJA1022TK 這顆雙 LIN 收發器,它提供了一個本地接口互連網絡(LIN)主/從協議控制器和 LIN 中的物理總線網絡。
它主要用於使用波特率高達 20kBd 的車載子網並符合 LIN 2.0,LIN 2.1,LIN 2.2,LIN 2.2 a,ISO 17987-4:2016 (12 V LIN) 和 SAE J2602。TJA1022T 和 TJA1022TK(SO14/HVSON14包)是引腳兼容的。
3.1 LIN_TJA1022 方框圖
TJA1022TK 是 LIN 協議控制器系列的接口 IC,具有 6us 的傳播延遲時間。這個系列的接口 IC 通常被應用在汽車分布式電子控制系統中。
每個 LIN 節點都有一個接口電路,它負責在 LIN 網絡上發送和接收數據。TJA1022TK 是 LIN 節點的一部分,負責將 LIN 網絡與汽車分布式電子控制系統連接起來。
圖3-1 LIN_TJA1022TK 系統方框圖
3.2 LIN_TJA1022 引腳解析
E3110 開發板的 LIN_TJA1022TK 選用的是 SO8 的一個封裝,晶片共有 8 個管腳及相對應的管腳功能。
圖3-2 TJA1022TK: HVSON14封裝圖
引腳號 |
引腳名稱 |
功能說明 |
1 |
RXD1 |
接收數據輸出1(開漏),喚醒事件發生後處於低電平狀態。 |
2 |
SLP1_N |
睡眠控制輸入1,在RXD1上重置喚醒請求。 |
3 |
TXD1 |
發送數據輸入1。 |
4 |
RXD2 |
接收數據輸出2(開漏);喚醒事件發生後處於低電平狀態。 |
5 |
SLP2_N |
睡眠控制輸入2(活動低);在RXD2上重置喚醒請求。 |
6 |
NC |
不連接。 |
7 |
TXD2 |
發送數據輸入2。 |
8 |
GND |
接地。 |
9 |
LIN2 |
LIN總線2號輸入/輸出. |
10 |
VBAT |
蓄電池電源。 |
11 |
NC |
不連接。 |
12 |
NC |
不連接。 |
13 |
LIN1 |
LIN總線1號輸入/輸出。 |
14 |
NC |
不連接。 |
表3-3 LIN_TJA1022TK 引腳解析
備註:為了提高熱和電氣性能,應將 HVSON14 封裝的外露中心焊盤焊接到板級地。
3.3 E3110 開發板的 LIN原理圖
基於 E3110 開發板的 LIN 設計原理圖,LIN 總線輸出引腳通過內部終端電阻器被拉至高電平。對於主控制器應用,應在 VBAT 引腳與 LIN 引腳之間串聯一個外部電阻器和一隻二極體。接收器在 LIN 總線輸入引腳上檢測接收的數據流,然後通過 RXD1 和 RXD2 引腳傳輸給微控制器。當兩個收發器均處於睡眠模式時,功耗非常低。不過即使處於睡眠模式,TJA1022 仍可以通過LIN1/LIN2 和 SLP1_N/SLP2_N 引腳接收到喚醒信號。
圖3-4 LIN_TJA1022TK 原理圖
如對此有更多需求,敬請聯繫世平集團 ATU 部門,atu.cn@wpi-group.com。
四、參考文獻
[1] 《LIN 總線技術及其在汽車電子控制系統中的應用研究》.
[2] 參考《LIN 總線入門》.
[3] 參考【TJA1022TK Product data sheet】.
歡迎在博文下方留言評論,我們會及時回復您的問題。
如有更多需求,歡迎聯繫大聯大世平集團 ATU 部門:atu.sh@wpi-group.com 作者:Sandy Yang / 楊羽潔
更多資訊,請掃碼關注我們!
評論