LIN總線技術(shù)及應(yīng)用——協(xié)議規(guī)范(一)
本文引用地址:http://m.butianyuan.cn/article/201612/328875.htm1、信號報文
——信號位于幀的數(shù)據(jù)場中,以數(shù)字或數(shù)組的形式出現(xiàn)
——同一種信號在相同ID的報文數(shù)據(jù)場中的位置總是固定的
2、診斷報文
——診斷報文由兩個保留ID來傳輸,用來傳輸節(jié)點的診斷信息
而這些數(shù)據(jù)在LIN總線上進(jìn)行傳送的實體就是幀。
下面是LIN報文傳輸?shù)脑砑胺绞剑?/p>
通信原理:主任務(wù)發(fā)送報頭,從任務(wù)用響應(yīng)來補(bǔ)充報頭形成完整的報文
系統(tǒng)靈活性:可以自由地增減從節(jié)點,而不需要改變其它從節(jié)點的軟件和硬件
報文傳輸:報文的內(nèi)容由ID來定義(跟CAN相似)
廣播:所有節(jié)點都能夠同時地接受和響應(yīng)總線上的幀
現(xiàn)在讓我們來了解一下LIN報文幀的結(jié)構(gòu)。
幀由一個報頭(由主機(jī)任務(wù)提供)和一個幀響應(yīng)(由從機(jī)任務(wù)提供)組成。
報頭包括同步間隔場、同步場和標(biāo)識符場三個部分;標(biāo)識符場位置在間隔場和同步場之后。標(biāo)識符唯一定義了幀的目的。而用于提供與標(biāo)識符相關(guān)的幀響應(yīng)的從機(jī)任務(wù)就會輸送該目的,過程如上文所示。
幀響應(yīng)由于數(shù)據(jù)場和校驗和場組成。如果從機(jī)任務(wù)對標(biāo)識符有關(guān)的數(shù)據(jù)感興趣,那么它就可以接收這個響應(yīng),核實校驗和,并使用這些被傳送過來的數(shù)據(jù)。
下圖就是LIN報文幀的結(jié)構(gòu)。
其中,除了間隔場以外,其余的場都遵循字節(jié)場的格式。
LIN總線是基于SCI的通信格式,字節(jié)場以起始位開始,以結(jié)束位結(jié)束,中間是8個位的數(shù)據(jù),所以與CAN總線不同的是,在LIN總線通信中發(fā)送一個字節(jié)需要10個位時間。
字節(jié)場的格式如下圖所示。
接下來我們會詳細(xì)的介紹報頭中每一個場的結(jié)構(gòu)。
表示一幀報文的起始,由主節(jié)點發(fā)出
間隔信號至少由13個顯性位組成,間隔界定符至少由1個隱性位組成
間隔場是唯一一個不符合字節(jié)場格式的場
從節(jié)點需要檢測到至少連續(xù)11個顯性位才認(rèn)為是間隔信號
確保所有從節(jié)點使用與主節(jié)點相同的波特率發(fā)送和接收數(shù)據(jù)
一個字節(jié),結(jié)構(gòu)固定: 0X55
標(biāo)識符即ID,起始位之后的6位數(shù)據(jù)為幀ID,幀ID的范圍從0到63(0x3F)
奇偶校驗符(Parity) P0,P1
字節(jié)間隔位于每個字節(jié)之間,響應(yīng)間隔位于報頭與響應(yīng)之間。
留給MCU足夠的處理時間
幀長度可能增長
最小值可以是0
數(shù)據(jù)場長度1到8個字節(jié)
低字節(jié)先發(fā),低位先發(fā)
如果某一信號長度超過1個字節(jié),采用低位在前的方式發(fā)送(小端)
用于校驗接收的數(shù)據(jù)是否正確(1個字節(jié))
經(jīng)典校驗(Classic Checksum):僅校驗數(shù)據(jù)場(1.3)
增強(qiáng)校驗(Enhance Checksum):校驗標(biāo)識符場與數(shù)據(jù)場內(nèi)容(2.0)
標(biāo)識符為0x3C(60)和0x3D(61)的幀只能使用經(jīng)典校驗
翻轉(zhuǎn)八位和(inverted eight bit sum)
例:Data = 0x4A, 0x55, 0x93, 0xE5;Checksum = 0xE6。
評論