lin通訊從節點同步間隔場 LIN匯流排介紹

2021-10-14 08:11:08 字數 2111 閱讀 9060

lin(local interconnect network)區域性連線網路,相對於can匯流排為較低速匯流排,屬於輔助can網路的低成本網路匯流排。

1.基本思想

1.1 主節點和從節點

lin網路中包含乙個主節點和若干從節點,主節點包含乙個主任務和若干從任務,從節點只包含從任務。

圖1 主/從節點示意圖

主任務:決定匯流排上的報文

從任務:傳送資料

1.2 幀的組成

一幀報文包含乙個頭部(header,主任務提供)和乙個響應(response,從任務提供)。

圖2 幀組成示意

原理:主任務傳送報頭,從任務響應報頭來補充報頭以形成完整的報文。

1.3 資料傳輸

傳輸的資料報含兩種,一種叫signal(訊號報文),一種叫diagnostic message(診斷報文)。

1.4 排程表

主任務在什麼時候傳送相應的報頭及報文傳送順序,是基於排程表的。

2.幀結構

如下圖所示:

圖3 幀結構示意圖

(1)間隔段

間隔段包含至少13個顯性位,後面跟至少1個位傳輸時間的間隔定界符。

圖4 間隔段

(2)同步位元組段

同步位元組段填充的數值位為0x55。從任務應該總是可以檢測到間隔段/同步位元組段的序列。

圖5 同步位元組段

(3)pid段

protected identifier即報文id,分為兩個部分:報文id部分和奇偶檢驗位。

frame identifier

奇偶檢驗位

計算公式如下:

圖6 奇偶檢驗位計算

pid段結構如下圖:

圖7 pid段

(4)資料段

圖8 資料段

(5)checksum

3.幀型別

(1)無條件幀(unconditional frame)

id範圍:0x00 - 0x3b

主任務發報頭,乙個任務響應,乙個或多個任務接收。

例如:

圖9 無條件幀傳輸示意

(2)事件觸發幀(event triggered frame)

id範圍:0x00 - 0x3b

(3)零星幀(sporadic frame)

id範圍:0x00 - 0x3b

僅由主節點傳送。

(4)診斷幀(diagnostic frame)

id範圍:

主請求幀——0x3c(60)

從請求幀——0x3d(61)

(5)使用者自定義幀(user-defined frame)

id範圍:0x3e

(6)保留幀(reserved frame)

id範圍:0x3f

剛好筆者最近有個專案用到lin網路,其實也算是第一次接觸,先大致介紹一下,後續會分享更多學習心得。

程序間通訊,同步

程序間通訊 管道 pipe 管道是一種半雙工的通訊方式,資料只能單向流動,而且只能在具有親緣關係的程序間使用。程序的親緣關係通常是指父子程序關係。有名管道 named pipe 有名管道也是半雙工的通訊方式,但是它允許無親緣關係程序間的通訊。訊號量 semophore 訊號量是乙個計數器,可以用來控...

執行緒間通訊 同步

同步 是指多個任務按照約定的先後次序 相互配合完成一件事情 訊號量 由訊號量決定 執行緒是繼續執行 還是阻塞等待 訊號量代表某種資源 其值表示系統中該資源的數量 訊號量是乙個受保護的量 只能通過特定的三種操作來訪問 初始化p操作 申請資源,有可能阻塞 v操作 釋放資源,不會阻塞 p s 操作 if ...

程序間通訊方式總結(windows 和linux)

windows程序間同步方式有 1.互斥量 mutex 2.訊號量 semaphore 3.事件 event 4.臨界區 critical section 5.互鎖函式 臨界區和互鎖函式沒有相應的核心物件因而不能跨程序 linux程序同步方式有 互斥量 讀寫鎖 條件變數 linux核心同步方法 原子...