從圖3中可以看到LIN協(xié)議數(shù)據(jù)幀結(jié)構(gòu)由報(bào)文頭、響應(yīng)報(bào)文以及幀間隔組成。其中:
1、報(bào)文頭包含同步間隙、同步域和報(bào)文標(biāo)識(shí)符場(chǎng)(0~63)。
2、響應(yīng)報(bào)文由1-9個(gè)字節(jié)構(gòu)成:其中2、4或8個(gè)字節(jié)的數(shù)據(jù)場(chǎng)和1個(gè)校驗(yàn)和場(chǎng)(LIN1.3)。
3、報(bào)文幀之間有幀間間隔分隔。
4、報(bào)文與響應(yīng)之間有幀內(nèi)響應(yīng)空間分隔。
5、最小幀間間隔和幀內(nèi)響應(yīng)空間均為0。
6、最大長(zhǎng)度收到報(bào)文幀的最大長(zhǎng)度frame_max限制。
那為什么用戶解碼LIN協(xié)議會(huì)出現(xiàn)數(shù)據(jù)長(zhǎng)度識(shí)別錯(cuò)誤和校驗(yàn)解碼出錯(cuò)問題呢?原因是使用了與輸入信號(hào)不對(duì)應(yīng)的LIN協(xié)議版本進(jìn)行解碼,不同版本的LIN協(xié)議存在差異,如下所述。
三、LIN2.0相對(duì)于LIN1.3最主要的差異
支持最多8個(gè)字節(jié)的數(shù)據(jù)序列。
取消了受保護(hù)標(biāo)識(shí)符中的數(shù)據(jù)長(zhǎng)度字段,即傳輸長(zhǎng)度不再受限于ID,并將最后一個(gè)字節(jié)視為校驗(yàn)和。
校驗(yàn)和的驗(yàn)算包括了受保護(hù)標(biāo)識(shí)符。
支持自動(dòng)波特率檢測(cè)功能。