日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

lin通讯从节点同步间隔场_LIN模块介绍

發布時間:2024/3/7 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 lin通讯从节点同步间隔场_LIN模块介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述,協議規范及模塊實現

一、概述

1、如下圖為一個LIN網絡,包含了一個Master節點,兩個Slave節點:

LIN網絡

在LIN總線通訊中,Master task決定了在LIN總線上傳送的是哪一幀,Slave task提供每一幀所攜帶的數據。

2、如下圖為一個LIN節點的層次結構圖:

LIN1.3與LIN2.1的區別在于,LIN1.3沒有TL層,Signal interaction放在Protocol層中,沒有單獨的TP層。

3、LIN總線特點:

串行通信:線間干擾小,節省線束,傳輸距離長;

單線傳輸:增強的ISO9141 (ISO 15765-1), 總線電壓基于VBAT;

最高速率20Kbit/s:滿足車身上大部分的應用需求;

單主多從結構:無需仲裁;

基于通用UART/SCI的低成本接口硬件:幾乎所有MCU有具備LIN總線的硬件基礎;

從節點無須晶振或陶瓷震蕩器就可以實現同步:大幅度降低成本;

一條總線最多可連接16個節點:由總線電氣特性決定;

支持診斷功能:支持UDS服務;

4、LIN2.1節點模型:

LIN1.3節點模型:

LIN2.1與LIN1.3節點模型的差別在于LIN1.3沒有Transport layer,所以也就沒有流控、傳輸時間控制的功能,LIN1.3協議中沒有對診斷及節點配置進行規范,所以在LIN1.3中完成相應的功能都放在自定義診斷中完成。

5、LIN網絡拓撲結構:

1)單主任務,多從任務;

2)主節點包含主任務和從任務;

3)從節點只包含從任務;

4)主任務決定總線上的報文,從 任務發送數據;

6、LIN幀:

通信原理:主任務發送報頭,從任務用響應來補充報頭形成完整的報文。

報文傳輸:報文的內容由ID來定義。

廣播:所有節點都能夠接受總線上的幀。

7、調度表

1)負責調度網絡各報文發送的順序;

2)為每幀報文分配發送時隙(slot);

3)發送時隙:報文可以被發送的時間;

4)不同報文的發送時隙可能不同;

5)調度表在網絡系統設計階段確定;

6)調度表使得LIN通信具有可預測性;

8、切換調度表:

主任務可以擁有多個調度表,并在不同的調度表之間切換,該處理方式增加通信的靈活性。

二、協議規范

(1)字節間隔位于每個字節之間;

(2)響應間隔位于報頭與響應之間;

(3)留給MCU足夠的處理時間;

(4)幀長度可能增長;

1、字節場

1)基于SCI的通信格式;

2)發送一個字節需要10個位時間(TBIT);

2、間隔場

1)表示一幀報文的起始,由主節點發出;

2)間隔信號至少由13個顯性位組成;

3)隔界定符至少由1個隱形位組成;

4)間隔場是唯一一個不符合字節場格式的場;

5)從節點需要檢測到至少連續11個顯性位才認為是間隔信號;

3、同步場

1)確保所有從節點使用與節點相同的波特率發送和接收數據;

2)一個字節,結構固定:0X55;

4、標識符場

1)ID的范圍從0到63(Ox3f);

2)奇偶校驗符(Parity)P0,P1;

5、數據場

1)數據場長度1到8個字節;

2)低字節先發,低位先發;

3)如果某信號長度超過1個字節采用低位在前的方式發送(小端);

6、校驗和場

用于校驗接收的數據是否正確

1)經典校驗(Classic Checksum)僅校驗數據場(LIN1.3)

2)增強校驗(Enhance Checksum)校驗標識符場與數據場內容(LIN2.0、LIN2.1)

標識符為0x3C和0x3D的幀只能使用經典校驗

計算方法:反轉8位求和(inverted eight bit sum)

例:Data=0x4A、0x55、0x93、0xe5

7、幀長度

最小幀長度

THEADER_NOMINAL=34*TBIT

TRESPONSE_NOMINAL=10*(NDATA+1)*TBIT

TFRAME_NOMINAL=THEADER_NOMINAL+TRESPONSE_NOMINAL

最大幀長度

THEADER_MAX=1.4*THEADER_NOMINAL

TRESPONSE_MAX=1.4*TRESPONSE_NOMINAL

TFRAME MAX=THEADER MAX+TRESPONSE MAX

8、幀類型

1)無條件幀

使用頻度最高的幀類型,無任何發送條件;

標識符(ID)為0到59(0x3B);

主任務發出報頭,一個任務響應,一個或多個任務接收如下圖:

幀?ID = 0x30應答部分的發布節點為從機節點1,收聽節點為主機節點。典型應用如從機節點1向主機節點報告自身某信號的狀態。

幀?ID = 0x31應答部分的發布節點為主機節點,收聽節點為從機節點1和從機節點2。典型應用如主機節點向從機節點發布信息。

幀?ID = 0x32應答部分的發布節點為從機節點2,收聽節點為從機節點1。典型應用如從機節點之間彼此通信。

2)事件觸發幀

引入事件觸發幀的目的是節省帶寬。

BCM(Master)需要獲取4個車門的狀態,該如何實現?

第一種方式:

每次向四個車門請求狀態,浪費帶寬,因為車門狀態不是經常發生。

第二種方法:

將請求四個車門狀態的幀合并為一個事件觸發幀,Master不需要每次發送四個幀請求車門的狀態,只需要發送一個事件觸發幀即可,哪個車門狀態發生變化,對應的車門將響應該事件觸發幀。

事件觸發幀的響應會出現如下三種情況:

第一種:沒有車門狀態變化。

第二種:一個車門狀態發生變化:

第三種:多個車門狀態發生變化,此時將出現沖突,沖突處理時,Master需要像第一種處理方式一樣,重新發送四幀分別請求單個車門狀態。LIN1.3與LIN2.0、LIN2.1處理方式有所區別,區別在于LIN1.3不切換調度表,占用事件觸發幀的時隙發送,LIN2.0、LIN2.1將切換沖突調度表處理,如下圖:

3)零星幀(偶發幀(Sporadic Frame))

引入零星幀的目的也是為了節省帶寬,如:BCM(Master)需要發送對4個車窗的控制指令,但是,兩個車窗的控制命令很少被同時執行,同樣大量的帶寬被浪費。

具體方案如下:

4)診斷幀

診斷幀用來傳輸診斷或配置信息,一般包含8個字節。

標識符:

60(0x3C):主請求幀

61(0x3D):從響應幀

傳輸方式:

5)保留幀

標識符:62(0x3e), 63(0x3f)

在LIN 2.1中未對保留幀進行定義, 留給用戶自定義或將來的版本升級。

9、調度表

10、偏移

偏移(jitter)是指一幀報文實際開始發送的時刻與幀時隙起點的時間差(該值在LDF文件中定義)。

TFrame_Slot> jitter + TFrame_Maximum

11、網絡管理

12、睡眠(Go To Sleep)

睡眠指令只有主節點可以發送,從節點在接到睡眠指令之后,也可以選擇不進入睡眠狀態而繼續工作,這根據應用層協議而定。

13、喚醒(Wake Up)

在一個處于睡眠狀態的LIN網絡中,任何一個節點都可以發送喚醒信號。

發送節點發送的喚醒信號:

接收節點檢測的喚醒信號:

14、主任務狀態機模型

15、從任務狀態機模型

總結

以上是生活随笔為你收集整理的lin通讯从节点同步间隔场_LIN模块介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。