基于普通單片機的LIN協(xié)議實現(xiàn)方案
發(fā)布時間:2008/6/3 0:00:00 訪問次數(shù):958
    
    
    1 概述
    lin協(xié)議是新出現(xiàn)的一種新型低成本串行通信總線,其全稱是local interconnect network,即局部互聯(lián)網(wǎng)絡(luò)。它最開始出現(xiàn)于汽車行業(yè),是為解決汽車智能化和網(wǎng)絡(luò)化的發(fā)展要求和降低汽車制造成本的矛盾而提出來的一種串行總線協(xié)議,主要用于車門、車燈等需要簡單控制但又要求智能控制的場合。它的主要特點是:采用單個主控制器/多從設(shè)備通信模式;基于普通uart/sci接口硬件實現(xiàn),協(xié)議簡單;網(wǎng)絡(luò)傳輸速率不高,最高可達20kb/s。由于lin協(xié)議的突出特點是協(xié)議對硬件的依賴程度低,可以基于普通單片機的通用串口等硬件資源以軟件方式實現(xiàn),成本低廉,因此可廣泛應(yīng)用于汽車行業(yè)以外的其他領(lǐng)域,如智能家庭網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)傳輸、節(jié)點控制等場合。
    本文依據(jù)對lin協(xié)議的分析,對其協(xié)議在普通單片機上的具體實現(xiàn),即如何利用單片機有限的硬件資源實現(xiàn)lin的主節(jié)點、從節(jié)點,進行可行性方案的研究、探討。
    
    2 lin協(xié)議的簡介
    lin協(xié)議的最新版本是lin specification package revision 2.o,包括協(xié)議規(guī)范、節(jié)點診斷配置規(guī)范、物理層規(guī)范、api規(guī)范等幾個方面,從硬件配置到節(jié)點配置語言都作了詳細(xì)的規(guī)定。下面就其協(xié)議規(guī)范作一簡要介紹和分析。
    lin的數(shù)據(jù)傳輸是采用報文幀的形式進行的。一個完整的報文幀由1個主機節(jié)點發(fā)送的報文頭(header)和1個主機或從機節(jié)點發(fā)送的響應(yīng)(response)組成,如圖1所示。報文頭包括1個間隔場(break)、1個同步字節(jié)場(synch)和1個保護標(biāo)識符字節(jié)場pid(protected identifier)。間隔場是由持續(xù)了至少13個位時的顯性電平和至少1個位時的隱性電平組成;由主機節(jié)點產(chǎn)生,標(biāo)志著一次數(shù)據(jù)通信過程報文幀的開始。同步字節(jié)場包含時鐘同步信息。同步字節(jié)場的格式是0x55,表現(xiàn)在8個位定時中有5個下降沿,即隱性跳變到顯性的邊沿。
    
    
    所有從機節(jié)點在主機節(jié)點發(fā)布報文頭之后都應(yīng)能檢測到間隔場的存在,并且在正確地接收同步字節(jié)場后,準(zhǔn)確計算出主機節(jié)點將要發(fā)送數(shù)據(jù)的波特率,并以此波特率作為下一步要發(fā)送或接收數(shù)據(jù)的波特率的設(shè)定值。這樣,經(jīng)過了間隔場和同步字節(jié)場的接收,所有的從機節(jié)點達到了與主機節(jié)點的同步。
    下一步,所有的從機節(jié)點以計算得到的波特率來接收報文頭的保護標(biāo)識符字節(jié)場。
    保護標(biāo)識符字節(jié)場pid(protected identifier)與標(biāo)準(zhǔn)的串行通信數(shù)據(jù)幀格式相同,由1位起始位和1位停止位及8位數(shù)據(jù)位組成,屬于數(shù)據(jù)場,如圖2所示。
    保護標(biāo)識符字節(jié)場由兩部分組成:標(biāo)識符和標(biāo)識符奇偶校驗。id0~id5屬標(biāo)識符,確定了標(biāo)識符的內(nèi)容,可從0~63取值。其中,0~59(0x3b)用于信號傳送幀,60(0x3c)和61(0x3d)用于傳送診斷數(shù)據(jù),62(0x3e)保留用于用戶定義的擴展,63(0x3f)保留用于將來協(xié)議升級。奇偶校驗位p0和p1則是對標(biāo)識符位id0~id5的奇校驗和偶校驗,作為對接收到id的校驗措施,以確保接收id的正確性。
    報文幀的響應(yīng)(response)由3~9個字節(jié)場(data field)組成,包括2、4或8字節(jié)的數(shù)據(jù)場(data field)和1個校驗和場(checksum)。它們是由要發(fā)送數(shù)據(jù)的節(jié)點(主機節(jié)點或從機節(jié)點)所發(fā)送的數(shù)據(jù)和校驗場所組成,都屬于數(shù)據(jù)場。
    校驗和場(checksum)有兩種:一般的校驗和場與增強的校驗和場。一般的校驗和是數(shù)據(jù)場所有字節(jié)數(shù)據(jù)和的反碼。和是按帶進位加(addc)方式計算,所有數(shù)據(jù)字節(jié)和的補碼與校驗和字節(jié)相加的和必須是“0xff”。增強的校驗和與一般的校驗和的區(qū)別在于計算數(shù)據(jù)場和時加上了保護標(biāo)識符字節(jié)場。
    
    3 lln協(xié)議在普通單片機上的實現(xiàn)
    現(xiàn)在單片機種類繁多,硬件資源各不相同,功能也千差萬別。總體來講,基于普通單片機軟件實現(xiàn)lin協(xié)議的方法可分為兩大類:一種是基于單片機通用串口的實現(xiàn)方式,另一種是基于單片機兩個普通端口位的位操作實現(xiàn)方法。
    3. 1基于單片機通用串口lln協(xié)議的實現(xiàn)
    基于單片機通用串口的lin協(xié)議的實現(xiàn)方法主要是針對具有通用串口的單片機來講的。這類單片機的代表當(dāng)屬最常用的51系列單片機,如atmel公司的at89c51/52。
    (1)基于單片機串口lln主節(jié)點的實現(xiàn)
    由lin協(xié)議的分析可知,在一次幀通信過程中,主從節(jié)點在大部分時間里是以標(biāo)準(zhǔn)的串行通信數(shù)據(jù)幀
    
    
    1 概述
    lin協(xié)議是新出現(xiàn)的一種新型低成本串行通信總線,其全稱是local interconnect network,即局部互聯(lián)網(wǎng)絡(luò)。它最開始出現(xiàn)于汽車行業(yè),是為解決汽車智能化和網(wǎng)絡(luò)化的發(fā)展要求和降低汽車制造成本的矛盾而提出來的一種串行總線協(xié)議,主要用于車門、車燈等需要簡單控制但又要求智能控制的場合。它的主要特點是:采用單個主控制器/多從設(shè)備通信模式;基于普通uart/sci接口硬件實現(xiàn),協(xié)議簡單;網(wǎng)絡(luò)傳輸速率不高,最高可達20kb/s。由于lin協(xié)議的突出特點是協(xié)議對硬件的依賴程度低,可以基于普通單片機的通用串口等硬件資源以軟件方式實現(xiàn),成本低廉,因此可廣泛應(yīng)用于汽車行業(yè)以外的其他領(lǐng)域,如智能家庭網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)傳輸、節(jié)點控制等場合。
    本文依據(jù)對lin協(xié)議的分析,對其協(xié)議在普通單片機上的具體實現(xiàn),即如何利用單片機有限的硬件資源實現(xiàn)lin的主節(jié)點、從節(jié)點,進行可行性方案的研究、探討。
    
    2 lin協(xié)議的簡介
    lin協(xié)議的最新版本是lin specification package revision 2.o,包括協(xié)議規(guī)范、節(jié)點診斷配置規(guī)范、物理層規(guī)范、api規(guī)范等幾個方面,從硬件配置到節(jié)點配置語言都作了詳細(xì)的規(guī)定。下面就其協(xié)議規(guī)范作一簡要介紹和分析。
    lin的數(shù)據(jù)傳輸是采用報文幀的形式進行的。一個完整的報文幀由1個主機節(jié)點發(fā)送的報文頭(header)和1個主機或從機節(jié)點發(fā)送的響應(yīng)(response)組成,如圖1所示。報文頭包括1個間隔場(break)、1個同步字節(jié)場(synch)和1個保護標(biāo)識符字節(jié)場pid(protected identifier)。間隔場是由持續(xù)了至少13個位時的顯性電平和至少1個位時的隱性電平組成;由主機節(jié)點產(chǎn)生,標(biāo)志著一次數(shù)據(jù)通信過程報文幀的開始。同步字節(jié)場包含時鐘同步信息。同步字節(jié)場的格式是0x55,表現(xiàn)在8個位定時中有5個下降沿,即隱性跳變到顯性的邊沿。
    
    
    所有從機節(jié)點在主機節(jié)點發(fā)布報文頭之后都應(yīng)能檢測到間隔場的存在,并且在正確地接收同步字節(jié)場后,準(zhǔn)確計算出主機節(jié)點將要發(fā)送數(shù)據(jù)的波特率,并以此波特率作為下一步要發(fā)送或接收數(shù)據(jù)的波特率的設(shè)定值。這樣,經(jīng)過了間隔場和同步字節(jié)場的接收,所有的從機節(jié)點達到了與主機節(jié)點的同步。
    下一步,所有的從機節(jié)點以計算得到的波特率來接收報文頭的保護標(biāo)識符字節(jié)場。
    保護標(biāo)識符字節(jié)場pid(protected identifier)與標(biāo)準(zhǔn)的串行通信數(shù)據(jù)幀格式相同,由1位起始位和1位停止位及8位數(shù)據(jù)位組成,屬于數(shù)據(jù)場,如圖2所示。
    保護標(biāo)識符字節(jié)場由兩部分組成:標(biāo)識符和標(biāo)識符奇偶校驗。id0~id5屬標(biāo)識符,確定了標(biāo)識符的內(nèi)容,可從0~63取值。其中,0~59(0x3b)用于信號傳送幀,60(0x3c)和61(0x3d)用于傳送診斷數(shù)據(jù),62(0x3e)保留用于用戶定義的擴展,63(0x3f)保留用于將來協(xié)議升級。奇偶校驗位p0和p1則是對標(biāo)識符位id0~id5的奇校驗和偶校驗,作為對接收到id的校驗措施,以確保接收id的正確性。
    報文幀的響應(yīng)(response)由3~9個字節(jié)場(data field)組成,包括2、4或8字節(jié)的數(shù)據(jù)場(data field)和1個校驗和場(checksum)。它們是由要發(fā)送數(shù)據(jù)的節(jié)點(主機節(jié)點或從機節(jié)點)所發(fā)送的數(shù)據(jù)和校驗場所組成,都屬于數(shù)據(jù)場。
    校驗和場(checksum)有兩種:一般的校驗和場與增強的校驗和場。一般的校驗和是數(shù)據(jù)場所有字節(jié)數(shù)據(jù)和的反碼。和是按帶進位加(addc)方式計算,所有數(shù)據(jù)字節(jié)和的補碼與校驗和字節(jié)相加的和必須是“0xff”。增強的校驗和與一般的校驗和的區(qū)別在于計算數(shù)據(jù)場和時加上了保護標(biāo)識符字節(jié)場。
    
    3 lln協(xié)議在普通單片機上的實現(xiàn)
    現(xiàn)在單片機種類繁多,硬件資源各不相同,功能也千差萬別。總體來講,基于普通單片機軟件實現(xiàn)lin協(xié)議的方法可分為兩大類:一種是基于單片機通用串口的實現(xiàn)方式,另一種是基于單片機兩個普通端口位的位操作實現(xiàn)方法。
    3. 1基于單片機通用串口lln協(xié)議的實現(xiàn)
    基于單片機通用串口的lin協(xié)議的實現(xiàn)方法主要是針對具有通用串口的單片機來講的。這類單片機的代表當(dāng)屬最常用的51系列單片機,如atmel公司的at89c51/52。
    (1)基于單片機串口lln主節(jié)點的實現(xiàn)
    由lin協(xié)議的分析可知,在一次幀通信過程中,主從節(jié)點在大部分時間里是以標(biāo)準(zhǔn)的串行通信數(shù)據(jù)幀
熱門點擊
- 基于MC9S08GB32的便攜式無水阻槳頻船
- 關(guān)于DS18B20測量溫度的幾個問題
- 單片機顯控系統(tǒng)中的漢字輸入
- RFMD®擴展了業(yè)界領(lǐng)先的EDGE產(chǎn)
- AD8302在幅相檢測系統(tǒng)中的應(yīng)用
- ATSC制數(shù)字電視機頂盒研究
- 采用高速高分辨率信號采集卡構(gòu)成超聲探傷系統(tǒng)
- 基于數(shù)字移相的高精度脈寬測量系統(tǒng)
- 理想的非編與非編的理想(上)
- 基礎(chǔ)儀器的示波器:領(lǐng)舞電子測試市場(下)
推薦技術(shù)資料
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究