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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

概述,協(xié)議規(guī)范及模塊實(shí)現(xiàn)

一、概述

1、如下圖為一個LIN網(wǎng)絡(luò),包含了一個Master節(jié)點(diǎn),兩個Slave節(jié)點(diǎn):

LIN網(wǎng)絡(luò)

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

2、如下圖為一個LIN節(jié)點(diǎn)的層次結(jié)構(gòu)圖:

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

3、LIN總線特點(diǎn):

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

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

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

單主多從結(jié)構(gòu):無需仲裁;

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

從節(jié)點(diǎn)無須晶振或陶瓷震蕩器就可以實(shí)現(xiàn)同步:大幅度降低成本;

一條總線最多可連接16個節(jié)點(diǎn):由總線電氣特性決定;

支持診斷功能:支持UDS服務(wù);

4、LIN2.1節(jié)點(diǎn)模型:

LIN1.3節(jié)點(diǎn)模型:

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

5、LIN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu):

1)單主任務(wù),多從任務(wù);

2)主節(jié)點(diǎn)包含主任務(wù)和從任務(wù);

3)從節(jié)點(diǎn)只包含從任務(wù);

4)主任務(wù)決定總線上的報文,從 任務(wù)發(fā)送數(shù)據(jù);

6、LIN幀:

通信原理:主任務(wù)發(fā)送報頭,從任務(wù)用響應(yīng)來補(bǔ)充報頭形成完整的報文。

報文傳輸:報文的內(nèi)容由ID來定義。

廣播:所有節(jié)點(diǎn)都能夠接受總線上的幀。

7、調(diào)度表

1)負(fù)責(zé)調(diào)度網(wǎng)絡(luò)各報文發(fā)送的順序;

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

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

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

5)調(diào)度表在網(wǎng)絡(luò)系統(tǒng)設(shè)計階段確定;

6)調(diào)度表使得LIN通信具有可預(yù)測性;

8、切換調(diào)度表:

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

二、協(xié)議規(guī)范

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

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

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

(4)幀長度可能增長;

1、字節(jié)場

1)基于SCI的通信格式;

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

2、間隔場

1)表示一幀報文的起始,由主節(jié)點(diǎn)發(fā)出;

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

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

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

5)從節(jié)點(diǎn)需要檢測到至少連續(xù)11個顯性位才認(rèn)為是間隔信號;

3、同步場

1)確保所有從節(jié)點(diǎn)使用與節(jié)點(diǎn)相同的波特率發(fā)送和接收數(shù)據(jù);

2)一個字節(jié),結(jié)構(gòu)固定:0X55;

4、標(biāo)識符場

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

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

5、數(shù)據(jù)場

1)數(shù)據(jù)場長度1到8個字節(jié);

2)低字節(jié)先發(fā),低位先發(fā);

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

6、校驗(yàn)和場

用于校驗(yàn)接收的數(shù)據(jù)是否正確

1)經(jīng)典校驗(yàn)(Classic Checksum)僅校驗(yàn)數(shù)據(jù)場(LIN1.3)

2)增強(qiáng)校驗(yàn)(Enhance Checksum)校驗(yàn)標(biāo)識符場與數(shù)據(jù)場內(nèi)容(LIN2.0、LIN2.1)

標(biāo)識符為0x3C和0x3D的幀只能使用經(jīng)典校驗(yàn)

計算方法:反轉(zhuǎn)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)無條件幀

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

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

主任務(wù)發(fā)出報頭,一個任務(wù)響應(yīng),一個或多個任務(wù)接收如下圖:

幀?ID = 0x30應(yīng)答部分的發(fā)布節(jié)點(diǎn)為從機(jī)節(jié)點(diǎn)1,收聽節(jié)點(diǎn)為主機(jī)節(jié)點(diǎn)。典型應(yīng)用如從機(jī)節(jié)點(diǎn)1向主機(jī)節(jié)點(diǎn)報告自身某信號的狀態(tài)。

幀?ID = 0x31應(yīng)答部分的發(fā)布節(jié)點(diǎn)為主機(jī)節(jié)點(diǎn),收聽節(jié)點(diǎn)為從機(jī)節(jié)點(diǎn)1和從機(jī)節(jié)點(diǎn)2。典型應(yīng)用如主機(jī)節(jié)點(diǎn)向從機(jī)節(jié)點(diǎn)發(fā)布信息。

幀?ID = 0x32應(yīng)答部分的發(fā)布節(jié)點(diǎn)為從機(jī)節(jié)點(diǎn)2,收聽節(jié)點(diǎn)為從機(jī)節(jié)點(diǎn)1。典型應(yīng)用如從機(jī)節(jié)點(diǎn)之間彼此通信。

2)事件觸發(fā)幀

引入事件觸發(fā)幀的目的是節(jié)省帶寬。

BCM(Master)需要獲取4個車門的狀態(tài),該如何實(shí)現(xiàn)?

第一種方式:

每次向四個車門請求狀態(tài),浪費(fèi)帶寬,因?yàn)檐囬T狀態(tài)不是經(jīng)常發(fā)生。

第二種方法:

將請求四個車門狀態(tài)的幀合并為一個事件觸發(fā)幀,Master不需要每次發(fā)送四個幀請求車門的狀態(tài),只需要發(fā)送一個事件觸發(fā)幀即可,哪個車門狀態(tài)發(fā)生變化,對應(yīng)的車門將響應(yīng)該事件觸發(fā)幀。

事件觸發(fā)幀的響應(yīng)會出現(xiàn)如下三種情況:

第一種:沒有車門狀態(tài)變化。

第二種:一個車門狀態(tài)發(fā)生變化:

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

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

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

具體方案如下:

4)診斷幀

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

標(biāo)識符:

60(0x3C):主請求幀

61(0x3D):從響應(yīng)幀

傳輸方式:

5)保留幀

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

在LIN 2.1中未對保留幀進(jìn)行定義, 留給用戶自定義或?qū)淼陌姹旧墶?/p>

9、調(diào)度表

10、偏移

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

TFrame_Slot> jitter + TFrame_Maximum

11、網(wǎng)絡(luò)管理

12、睡眠(Go To Sleep)

睡眠指令只有主節(jié)點(diǎn)可以發(fā)送,從節(jié)點(diǎn)在接到睡眠指令之后,也可以選擇不進(jìn)入睡眠狀態(tài)而繼續(xù)工作,這根據(jù)應(yīng)用層協(xié)議而定。

13、喚醒(Wake Up)

在一個處于睡眠狀態(tài)的LIN網(wǎng)絡(luò)中,任何一個節(jié)點(diǎn)都可以發(fā)送喚醒信號。

發(fā)送節(jié)點(diǎn)發(fā)送的喚醒信號:

接收節(jié)點(diǎn)檢測的喚醒信號:

14、主任務(wù)狀態(tài)機(jī)模型

15、從任務(wù)狀態(tài)機(jī)模型

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。