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