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