機(jī)電之家資源網(wǎng)
單片機(jī)首頁(yè)|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
基于普通單片機(jī)的LIN協(xié)議實(shí)現(xiàn)方案
基于普通單片機(jī)的LIN協(xié)議實(shí)現(xiàn)方案
 更新時(shí)間:2008-8-19 13:36:54  點(diǎn)擊數(shù):96
【字體: 字體顏色
1 概述

  LIN協(xié)議是新出現(xiàn)的一種新型低成本串行通信總線,其全稱是Local Interconnect Network,即局部互聯(lián)網(wǎng)絡(luò)。它最開始出現(xiàn)于汽車行業(yè),是為解決汽車智能化和網(wǎng)絡(luò)化的發(fā)展要求和降低汽車制造成本的矛盾而提出來(lái)的一種串行總線協(xié)議,主要用于車門、車燈等需要簡(jiǎn)單控制但又要求智能控制的場(chǎng)合。它的主要特點(diǎn)是:采用單個(gè)主控制器/多從設(shè)備通信模式;基于普通UART/SCI接口硬件實(shí)現(xiàn),協(xié)議簡(jiǎn)單;網(wǎng)絡(luò)傳輸速率不高,最高可達(dá)20kb/s。由于LIN協(xié)議的突出特點(diǎn)是協(xié)議對(duì)硬件的依賴程度低,可以基于普通單片機(jī)的通用串口等硬件資源以軟件方式實(shí)現(xiàn),成本低廉,因此可廣泛應(yīng)用于汽車行業(yè)以外的其他領(lǐng)域,如智能家庭網(wǎng)絡(luò)內(nèi)部的數(shù)據(jù)傳輸、節(jié)點(diǎn)控制等場(chǎng)合。

  本文依據(jù)對(duì)LIN協(xié)議的分析,對(duì)其協(xié)議在普通單片機(jī)上的具體實(shí)現(xiàn),即如何利用單片機(jī)有限的硬件資源實(shí)現(xiàn)LIN的主節(jié)點(diǎn)、從節(jié)點(diǎn),進(jìn)行可行性方案的研究、探討。

2 LIN協(xié)議的簡(jiǎn)介

  LIN協(xié)議的最新版本是LIN Specification Package Revision 2.O,包括協(xié)議規(guī)范、節(jié)點(diǎn)診斷配置規(guī)范、物理層規(guī)范、API規(guī)范等幾個(gè)方面,從硬件配置到節(jié)點(diǎn)配置語(yǔ)言都作了詳細(xì)的規(guī)定。下面就其協(xié)議規(guī)范作一簡(jiǎn)要介紹和分析。

  LIN的數(shù)據(jù)傳輸是采用報(bào)文幀的形式進(jìn)行的。一個(gè)完整的報(bào)文幀由1個(gè)主機(jī)節(jié)點(diǎn)發(fā)送的報(bào)文頭(header)和1個(gè)主機(jī)或從機(jī)節(jié)點(diǎn)發(fā)送的響應(yīng)(response)組成,如圖1所示。報(bào)文頭包括1個(gè)間隔場(chǎng)(break)、1個(gè)同步字節(jié)場(chǎng)(synch)和1個(gè)保護(hù)標(biāo)識(shí)符字節(jié)場(chǎng)PID(Protected IDentifier)。間隔場(chǎng)是由持續(xù)了至少13個(gè)位時(shí)的顯性電平和至少1個(gè)位時(shí)的隱性電平組成;由主機(jī)節(jié)點(diǎn)產(chǎn)生,標(biāo)志著一次數(shù)據(jù)通信過(guò)程報(bào)文幀的開始。同步字節(jié)場(chǎng)包含時(shí)鐘同步信息。同步字節(jié)場(chǎng)的格式是0x55,表現(xiàn)在8個(gè)位定時(shí)中有5個(gè)下降沿,即隱性跳變到顯性的邊沿。

  所有從機(jī)節(jié)點(diǎn)在主機(jī)節(jié)點(diǎn)發(fā)布報(bào)文頭之后都應(yīng)能檢測(cè)到間隔場(chǎng)的存在,并且在正確地接收同步字節(jié)場(chǎng)后,準(zhǔn)確計(jì)算出主機(jī)節(jié)點(diǎn)將要發(fā)送數(shù)據(jù)的波特率,并以此波特率作為下一步要發(fā)送或接收數(shù)據(jù)的波特率的設(shè)定值。這樣,經(jīng)過(guò)了間隔場(chǎng)和同步字節(jié)場(chǎng)的接收,所有的從機(jī)節(jié)點(diǎn)達(dá)到了與主機(jī)節(jié)點(diǎn)的同步。

  下一步,所有的從機(jī)節(jié)點(diǎn)以計(jì)算得到的波特率來(lái)接收?qǐng)?bào)文頭的保護(hù)標(biāo)識(shí)符字節(jié)場(chǎng)。

  保護(hù)標(biāo)識(shí)符字節(jié)場(chǎng)PID(Protected IDentifier)與標(biāo)準(zhǔn)的串行通信數(shù)據(jù)幀格式相同,由1位起始位和1位停止位及8位數(shù)據(jù)位組成,屬于數(shù)據(jù)場(chǎng),如圖2所示。

  保護(hù)標(biāo)識(shí)符字節(jié)場(chǎng)由兩部分組成:標(biāo)識(shí)符和標(biāo)識(shí)符奇偶校驗(yàn)。ID0~I(xiàn)D5屬標(biāo)識(shí)符,確定了標(biāo)識(shí)符的內(nèi)容,可從0~63取值。其中,0~59(0x3b)用于信號(hào)傳送幀,60(0x3c)和61(0x3d)用于傳送診斷數(shù)據(jù),62(0x3e)保留用于用戶定義的擴(kuò)展,63(0x3f)保留用于將來(lái)協(xié)議升級(jí)。奇偶校驗(yàn)位P0和P1則是對(duì)標(biāo)識(shí)符位ID0~I(xiàn)D5的奇校驗(yàn)和偶校驗(yàn),作為對(duì)接收到ID的校驗(yàn)措施,以確保接收ID的正確性。

  報(bào)文幀的響應(yīng)(response)由3~9個(gè)字節(jié)場(chǎng)(data field)組成,包括2、4或8字節(jié)的數(shù)據(jù)場(chǎng)(data field)和1個(gè)校驗(yàn)和場(chǎng)(checksum)。它們是由要發(fā)送數(shù)據(jù)的節(jié)點(diǎn)(主機(jī)節(jié)點(diǎn)或從機(jī)節(jié)點(diǎn))所發(fā)送的數(shù)據(jù)和校驗(yàn)場(chǎng)所組成,都屬于數(shù)據(jù)場(chǎng)。

  校驗(yàn)和場(chǎng)(checksum)有兩種:一般的校驗(yàn)和場(chǎng)與增強(qiáng)的校驗(yàn)和場(chǎng)。一般的校驗(yàn)和是數(shù)據(jù)場(chǎng)所有字節(jié)數(shù)據(jù)和的反碼。和是按帶進(jìn)位加(ADDC)方式計(jì)算,所有數(shù)據(jù)字節(jié)和的補(bǔ)碼與校驗(yàn)和字節(jié)相加的和必須是“0xFF”。增強(qiáng)的校驗(yàn)和與一般的校驗(yàn)和的區(qū)別在于計(jì)算數(shù)據(jù)場(chǎng)和時(shí)加上了保護(hù)標(biāo)識(shí)符字節(jié)場(chǎng)。

3 LlN協(xié)議在普通單片機(jī)上的實(shí)現(xiàn)

  現(xiàn)在單片機(jī)種類繁多,硬件資源各不相同,功能也千差萬(wàn)別。總體來(lái)講,基于普通單片機(jī)軟件實(shí)現(xiàn)LIN協(xié)議的方法可分為兩大類:一種是基于單片機(jī)通用串口的實(shí)現(xiàn)方式,另一種是基于單片機(jī)兩個(gè)普通端口位的位操作實(shí)現(xiàn)方法。

3. 1基于單片機(jī)通用串口LlN協(xié)議的實(shí)現(xiàn)

  基于單片機(jī)通用串口的LIN協(xié)議的實(shí)現(xiàn)方法主要是針對(duì)具有通用串口的單片機(jī)來(lái)講的。這類單片機(jī)的代表當(dāng)屬最常用的51系列單片機(jī),如Atmel公司的AT89C51/52。

(1)基于單片機(jī)串口LlN主節(jié)點(diǎn)的實(shí)現(xiàn)

  由LIN協(xié)議的分析可知,在一次幀通信過(guò)程中,主從節(jié)點(diǎn)在大部分時(shí)間里是以標(biāo)準(zhǔn)的串行通信數(shù)據(jù)幀的形式交換數(shù)據(jù)的,這也是LIN協(xié)議可以基于單片機(jī)通用串口實(shí)現(xiàn)的原因。幀通信的關(guān)鍵是要實(shí)現(xiàn)主節(jié)點(diǎn)和從節(jié)點(diǎn)的同步。在同步過(guò)程中,主、從節(jié)點(diǎn)所執(zhí)行的操作是不同的:主機(jī)節(jié)點(diǎn)的任務(wù)是要發(fā)送報(bào)文頭,從節(jié)點(diǎn)的任務(wù)是接收和判斷報(bào)文頭,實(shí)現(xiàn)與主節(jié)點(diǎn)的同步。報(bào)文頭的間隔場(chǎng)是一個(gè)基于主機(jī)節(jié)點(diǎn)時(shí)鐘頻率的13個(gè)以上位時(shí)(bit time)和至少1個(gè)位時(shí)的間隔界定符。對(duì)主節(jié)點(diǎn)來(lái)講,這一部分是實(shí)現(xiàn)主節(jié)點(diǎn)功能的關(guān)鍵。間隔場(chǎng)和間隔界定符的實(shí)現(xiàn)可采用改變串口波特率,用串口輸出特定數(shù)據(jù)的方法來(lái)實(shí)現(xiàn)。例如在一般情況下,單片機(jī)采用19.2kb/s波特率的速率傳輸數(shù)據(jù),可先將串口的波特率設(shè)置為9.6kb/s,則傳輸0xc0這樣一個(gè)數(shù)據(jù)就可以實(shí)現(xiàn)按照19.2kb/s的波特率來(lái)計(jì)算位時(shí)的同步間隔和同步間隔界定符的位時(shí)長(zhǎng)度要求(因若采用19.2kb/s的傳輸率傳輸00數(shù)據(jù)只能實(shí)現(xiàn)10個(gè)位時(shí)的同步間隔符,無(wú)法達(dá)到13個(gè)位時(shí)的要求)。隨后的PID場(chǎng)的發(fā)送和數(shù)據(jù)場(chǎng)的發(fā)送或接收,可以基于單片機(jī)的通用串口以正常的19.2.kb/s的波特率來(lái)操作。

  基于串口LlN主節(jié)點(diǎn)硬件原理如圖3所示。

  主節(jié)點(diǎn)在一次幀通信過(guò)程中,要根據(jù)通信過(guò)程中不同的階段,將串口設(shè)置成不同波特率的發(fā)送或者接收狀態(tài),以完成報(bào)文頭間隔場(chǎng)、同步字節(jié)場(chǎng)的發(fā)送,保護(hù)標(biāo)識(shí)符字節(jié)場(chǎng)的發(fā)送,及下一個(gè)階段的接收或者發(fā)送數(shù)據(jù)過(guò)程。

(2)基于單片機(jī)串口LlN從節(jié)點(diǎn)的實(shí)現(xiàn)

  從節(jié)點(diǎn)實(shí)現(xiàn)的關(guān)鍵是能夠正確實(shí)時(shí)地接收?qǐng)?bào)文頭,達(dá)到與主節(jié)點(diǎn)的同步,為下一步的數(shù)據(jù)交換做好準(zhǔn)備;趩纹瑱C(jī)通用串口構(gòu)成的LIN從節(jié)點(diǎn)的實(shí)現(xiàn)方案有兩種:一種是查詢方式,另一種是中斷方式。兩種方法的區(qū)別在于報(bào)文頭接收判斷方法的不同。查詢方式硬件原理如圖4所示。

  • 上一篇: 基于AT89S52的樂曲編輯發(fā)生器的設(shè)計(jì)
  • 下一篇: 高速A/D轉(zhuǎn)換器AD7654與單片機(jī)接口電路設(shè)計(jì)
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁(yè)  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國(guó)行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營(yíng)許可證:浙B2-20080178-1