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