來源:曉超說
--lIN物理層--
大家好,本文章向大家介紹LIN總線的物理層。
出于成本原因與CAN相比,LIN通信線路為一根線。
另外,LIN通信可以不需要通信控制器,它的物理通信可以通過UART接口也稱為SCI接口實現。
這種接口幾乎集成在所有的微控制器中,所以LIN是基于UART幀結構的通信。
通過右圖我們可以看到真實LIN報紋與UART幀的對應關系。
圖片源VECTOR
我們可以看到UART幀包括8個數據位加一個起始位和一個停止位。
起始位是一個固定的邏輯0,停止位是一個固定的邏輯1。
那么在LIN總線中,邏輯0與邏輯1和物理電瓶如何對應呢?
我們繼續學習LIN的信號規范。
在LIN規范中,規定顯信位是一個邏輯0。
對于發送節點,總線物理電瓶小于20%VSUP時即為0。
對于接收節點,總線物理電瓶小于40%VSUP時為0。
隱性位是一個邏輯1。
對于發送節點,總線物理電瓶大于80%VSUP時為1。
對于接收節點,總線物理電瓶大于60%VSUP時即為1。
以上規定了接收節點和發送節點的信號特征。
在數據傳輸過程中,發送節點和接收節點還需要進行同步,來保證數據傳輸的準確性。
下面我們介紹Lin總線的同步。
在LIN總線中,有初始同步和重同步兩種同步方式。
首先我們介紹初始同步。
LIN主節點/重節點在每次報文傳輸開始時需要建立同步。
為了降低成本,LIN總線沒有時鐘線。
重節點一般采用低成本的RC振蕩器,并允許最大14%的時鐘偏差。
當總線處于空閑時,總線狀態為邏輯1。
數據開始傳輸時,由LIN的主節點實現初始同步。
主節點會向總線發送同步間隔場和同步場數據。
同步間隔場至少由13個位的顯信位和1個位的隱信位組成。
同步場數據為LIN(x)55。
當重節點接收到主節點發送的同步場數據后,
重節點測量同步場第一個和最后一個下降嚴之間的時間,并將此時間除以8。
由此計算出主節點的位時間。
同時,根據計算結果調整自身的位速率,從而使主節點和重節點的位速率一致。
初始同步實現了所有重節點時鐘和主節點時鐘同步。
但是,在實際應用中,各節點時鐘精度是存在差異的。
在數據傳輸的過程中,由于這種時鐘精度的差異可能會造成未傳輸的偏差。
在LIN總線中還有一種同步方式,為重同步。
LIN幀格式是基于UART的通行格式。
發送節點和接收節點可利用UART幀其實位的下降嚴進行同步。
盡量避免因時鐘精度的差異而導致的傳輸偏差。
這個階段的同步稱之為重同步。
以上內容就是關于LIN總線物理層的介紹。
--LIN通信原理及幀結構--
接下來向大家介紹LIN總線的通信原理以及LIN報文幀結構。
首先是LIN總先通信原理。
LIN網絡采用的是主從結構。在這種主從結構中,有一個主節點和多個從節點。主節點包含主任務和從任務,從節點只包含從任務。
主任務根據在LIN調度表中確定的時間,負責向總先發送Header也稱為"報頭"。網絡中的節點接收到Header后,從任務負責發送Response或接收Response或不發送也不接收。Response也稱為"響應"。
Header和Response就組成了LIN報文。
我們這里可以看一個例子,來理解LIN總線的通信原理。
在這個例子中,網絡有一個主節點和三個從節點。在LIN的調度表中定義了LIN報文的發送時間。
在T0發送Header1,在T1發送Header2,在T2發送Header3。那么,LIN的主節點就會按照定義好的時間去發送Header。
主節點在T0發送了Header1,接著從節點1發送了Response,從節點3接收了Response,從節點2不發送也不接收。
接著,主節點根據調度表發送了Header2、Header3,完成一個通信循環。由此我們可以看到,LIN報文的發送和接收時間都是預先確定并且可以預測的。
經過上面的介紹,我們了解到LIN報文是由Header和Response組成的。下面我們具體看一下LIN報文的幀結構。
首先是Header。Header是由主節點發送的。
header由sync break field的及同步間隔場、sync field的同步場和Protected Identifier及PID組成。同步間隔場由同步間隔和間隔界定符組成。同步間隔為至少持續13個位的顯信位。
由于總線處于空閑時為隱信位,并且報文中除同步間隔場外的任何其他字段均符和UART真格式,也就不會發出大于9個位的顯信位。
所以,同步間隔可以表示一幀報文的其實。間隔接訂符至少包含一個隱信位。同步場為固定格式,數據為LINx55,用于初始同步。下面我們來詳細看一下header中的PID。
PID由6位ID和P0,P1兩位奇偶校驗位組成。由于LIN的ID有6位,所以它的范圍為0-63。在這些ID中,60和61及LINx3C和LINx3D用于診斷報文。
62和63為保留。P0,P1兩位奇偶校驗位組成,P0是ID0、ID1、ID2、ID4進行異或運算的結果。P1是ID1、ID3、ID4、ID5進行異或運算后取非的結果。
由此我們可以看出ID與PID是有一個確定的對應關系的。
我們接著看Response。
Response包含數據場和校驗場。數據場長度為1-8個字節。校驗場能夠起到校驗和保護傳輸內容的作用。我們具體來看一下。在另總線中有兩種校驗模型,分別是經典校驗和增強校驗。
那么它們有什么區別呢?經典校驗范圍為數據場內容,增強校驗范圍為PID和數據場內容。
在LIN規范1.1、1.2、1.3版本中沒有增強校驗。這里需要注意的是,對于ID為LINx3c和LINx3d的報紋,也就是整段報文,在所有版本的LIN規范中使用的都是經典校驗。
評論
查看更多