《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的LIN協(xié)議實(shí)現(xiàn)
基于單片機(jī)的LIN協(xié)議實(shí)現(xiàn)
EEworld
EEworld
摘要: 1概述LIN協(xié)議是新出現(xiàn)的一種新型低成本串行通信總線(xiàn),,其全稱(chēng)是LocalInterconnectNetwork,即局部互聯(lián)網(wǎng)絡(luò),。...
關(guān)鍵詞: 單片機(jī) LIN協(xié)議
Abstract:
Key words :

關(guān)鍵字:單片機(jī) LIN協(xié)議

1 概述

LIN協(xié)議是新出現(xiàn)的一種新型低成本串行通信總線(xiàn),,其全稱(chēng)是Local Interconnect Network,,即局部互聯(lián)網(wǎng)絡(luò)。它最開(kāi)始出現(xiàn)于汽車(chē)行業(yè),,是為解決汽車(chē)智能化和網(wǎng)絡(luò)化的發(fā)展要求和降低汽車(chē)制造成本的矛盾而提出來(lái)的一種串行總線(xiàn)協(xié)議,,主要用于車(chē)門(mén)、車(chē)燈等需要簡(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ì)硬件的依賴(lài)程度低,,可以基于普通單片機(jī)的通用串口等硬件資源以軟件方式實(shí)現(xiàn),,成本低廉,因此可廣泛應(yīng)用于汽車(chē)行業(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)文幀的開(kāi)始,。同步字節(jié)場(chǎng)包含時(shí)鐘同步信息。同步字節(jié)場(chǎng)的格式是0x55,,表現(xiàn)在8個(gè)位定時(shí)中有5個(gè)下降沿,,即隱性跳變到顯性的邊沿。

LIN報(bào)文幀 www.elecfans.com


所有從機(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)保留用于用戶(hù)定義的擴(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ī)種類(lèi)繁多,硬件資源各不相同,,功能也千差萬(wàn)別,。總體來(lái)講,,基于普通單片機(jī)軟件實(shí)現(xiàn)LIN協(xié)議的方法可分為兩大類(lèi):一種是基于單片機(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)講的,。這類(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所示,。


基于串口LlN主節(jié)點(diǎn)硬件原理 www.elecfans.com


主節(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)備,。基于單片機(jī)通用串口構(gòu)成的LIN從節(jié)點(diǎn)的實(shí)現(xiàn)方案有兩種:一種是查詢(xún)方式,,另一種是中斷方式,。兩種方法的區(qū)別在于報(bào)文頭接收判斷方法的不同。查詢(xún)方式硬件原理如圖4所示,。





同樣,,從節(jié)點(diǎn)也要求準(zhǔn)確的波特率和計(jì)時(shí),對(duì)時(shí)鐘要求較高,。建議采用22.1184MHz晶振,。

在查詢(xún)方式的硬件電路中,為了能及時(shí)感受到主節(jié)點(diǎn)報(bào)文頭的起始階段,,可以將串口接收數(shù)據(jù)端,,RXD端與單片機(jī)的一個(gè)外部中斷觸發(fā)端口(INTl或INT0)相連。這樣,,當(dāng)主節(jié)點(diǎn)發(fā)送過(guò)來(lái)的間隔場(chǎng)的下降沿到來(lái)時(shí),,就可以實(shí)時(shí)地觸發(fā)從節(jié)點(diǎn)進(jìn)入對(duì)報(bào)文頭的接收查詢(xún)程序段。在報(bào)文頭的接收查詢(xún)過(guò)程中,,從節(jié)點(diǎn)自總線(xiàn)電平下降沿到來(lái)之際,,就對(duì)總線(xiàn)顯性電平(低電平)持續(xù)的時(shí)間進(jìn)行累積計(jì)算,直到發(fā)現(xiàn)總線(xiàn)恢復(fù)為隱性電平(高電平)為止,。如果此段持續(xù)時(shí)間大于11個(gè)主節(jié)點(diǎn)工作位時(shí)時(shí)間,,那么從節(jié)點(diǎn)就斷定是一次幀通信的開(kāi)始,。接著從節(jié)點(diǎn)對(duì)同步字節(jié)場(chǎng)的接收作好準(zhǔn)備,,在同步字節(jié)場(chǎng)開(kāi)始位的第一個(gè)下降沿起,連續(xù)對(duì)同步字節(jié)場(chǎng)的后4個(gè)下降沿進(jìn)行計(jì)時(shí)累加,,最后將得到的計(jì)時(shí)時(shí)間除以8,,得到主節(jié)點(diǎn)發(fā)送數(shù)據(jù)的位時(shí)時(shí)間,即主節(jié)點(diǎn)下一步將要進(jìn)行數(shù)據(jù)通信的波特率,。從節(jié)點(diǎn)以此作為串口波特率設(shè)定值,,通過(guò)串口與主節(jié)點(diǎn)交換數(shù)據(jù)。隨后的串口發(fā)送或接收數(shù)據(jù)可采用串口查詢(xún)或中斷的方式進(jìn)行,。

間隔場(chǎng)和同步字節(jié)場(chǎng)的計(jì)時(shí)方法有兩種:一種方法是采用軟件模擬一個(gè)位時(shí)時(shí)間,,在各階段通過(guò)計(jì)算調(diào)用位時(shí)程序次數(shù)間接計(jì)算出時(shí)間,;另一種方法是將定時(shí)器TO設(shè)定成定時(shí)一個(gè)位時(shí)時(shí)間后中斷,在各個(gè)階段查詢(xún)定時(shí)器T0中斷次數(shù),,通過(guò)計(jì)算TO中斷次數(shù)的差值,,也可以間接算出各個(gè)階段的持續(xù)時(shí)間長(zhǎng)度。

查詢(xún)方式硬件電路簡(jiǎn)單,,系統(tǒng)中斷的種類(lèi)和次數(shù)少,,程序運(yùn)行比較穩(wěn)定;但不足之處是系統(tǒng)大部分時(shí)間都花費(fèi)在對(duì)幀報(bào)文頭的等待查詢(xún)上,,系統(tǒng)資源利用率低,。

中斷方式則是對(duì)查詢(xún)方式的不足之處改進(jìn)和提高,其硬件原理如圖5所示,。





中斷方式對(duì)間隔場(chǎng)和同步字節(jié)場(chǎng)的接收則完全采用中斷方式進(jìn)行,。由于普通單片機(jī)的外部中斷觸發(fā)端只有下降沿和低電平兩種觸發(fā)方式,所以報(bào)文頭間隔場(chǎng)開(kāi)始階段和同步字節(jié)場(chǎng)的下降沿可以觸發(fā)從節(jié)點(diǎn),,但報(bào)文信號(hào)的上升沿卻無(wú)法讓從節(jié)點(diǎn)感知,。改進(jìn)方法是,讓接收數(shù)據(jù)流分別經(jīng)過(guò)1個(gè)三態(tài)門(mén)和1個(gè)三態(tài)非門(mén)再進(jìn)入單片機(jī)的串口,,2個(gè)三態(tài)門(mén)由單片機(jī)的兩個(gè)端口來(lái)控制,。一般情況下,三態(tài)門(mén)導(dǎo)通,,三態(tài)非門(mén)截止,,數(shù)據(jù)流正常進(jìn)入單片機(jī)串口。當(dāng)間隔場(chǎng)的下降沿觸發(fā)單片機(jī)后,,程序控制三態(tài)門(mén)截止,,三態(tài)非門(mén)導(dǎo)通,數(shù)據(jù)流反相進(jìn)入單片機(jī),,間隔場(chǎng)的上升沿經(jīng)過(guò)三態(tài)非門(mén)后變成下降沿,,同樣也可以觸發(fā)單片機(jī)中斷。在隨后的同步字節(jié)場(chǎng)的接收中,,可以按照正常中斷方式進(jìn)行,,即可由同步字節(jié)場(chǎng)的5個(gè)下降沿觸發(fā)單片機(jī)中斷5次接收。由于采用中斷方式,,所以各個(gè)階段的計(jì)時(shí)就只能采用查詢(xún)定時(shí)器T0中斷次數(shù)的方法來(lái)實(shí)現(xiàn),。

中斷方式的優(yōu)點(diǎn)是,對(duì)主程序運(yùn)行的影響比較小,,系統(tǒng)的資源利用率高,。不足之處是增加了單片機(jī)的外圍電路,硬件稍顯復(fù)雜,。

3.2基于單片機(jī)普通端口位LIN協(xié)議的實(shí)現(xiàn)

對(duì)于沒(méi)有通用串口的單片機(jī)來(lái)講,,必須采用端口位位操作的方法來(lái)實(shí)現(xiàn)LIN協(xié)議,。這類(lèi)單片機(jī)的硬件資源一般很有限,有的只有一個(gè)定時(shí)器,,還不具備外部中斷能力,,如Microchip的PIC18F200系列。這種單片機(jī)的突出特點(diǎn)是價(jià)格低廉,,做出的LIN節(jié)點(diǎn)將具有無(wú)可比擬的價(jià)格優(yōu)勢(shì),。

(1)基于普通端口位LIN主節(jié)點(diǎn)的實(shí)現(xiàn)

基于單片機(jī)普通端口位的1IN主節(jié)點(diǎn),在報(bào)文頭和數(shù)據(jù)場(chǎng)的實(shí)現(xiàn)上都要采用位操作的方法來(lái)實(shí)現(xiàn),。其硬件構(gòu)成原理圖和基于單片機(jī)通用串口LIN主節(jié)點(diǎn)硬件原理圖完全相同,,區(qū)別在于前者數(shù)據(jù)收發(fā)端RXD和TXD端可以是任意的單片機(jī)普通端口位,而后者則必須采用單片機(jī)通用串口,。
報(bào)文頭間隔場(chǎng)的實(shí)現(xiàn)可以將定時(shí)器TO設(shè)置為定時(shí)一個(gè)位時(shí)中斷的工作方式,,置LIN數(shù)據(jù)發(fā)送端TXD為顯性電平(低電位),啟動(dòng)定時(shí)器T0對(duì)顯性電平持續(xù)時(shí)間進(jìn)行計(jì)時(shí),,當(dāng)達(dá)到13個(gè)以上位時(shí)后置LIN發(fā)送數(shù)據(jù)端TXD為隱性電平(高電位),,這樣就完成了間隔場(chǎng)的發(fā)送。在隨后的間隔場(chǎng)界定符和同步場(chǎng)的實(shí)現(xiàn)上,,也采用同樣的方法,。在數(shù)據(jù)場(chǎng)的接收和發(fā)送中,同樣需要定時(shí)器TO的配合來(lái)完成,。發(fā)送數(shù)據(jù)時(shí),,從待發(fā)數(shù)據(jù)存儲(chǔ)區(qū)中依次取出一個(gè)個(gè)數(shù)據(jù),轉(zhuǎn)換成10個(gè)bit類(lèi)型的位數(shù)據(jù),。定時(shí)器T0同樣是1個(gè)位時(shí)中斷1次,,在中斷處理程序中改變計(jì)時(shí)變量值。發(fā)送數(shù)據(jù)程序根據(jù)計(jì)時(shí)變量的差值將lO個(gè)bit類(lèi)型的位數(shù)據(jù)依次按照持續(xù)1個(gè)位時(shí)時(shí)間從數(shù)據(jù)發(fā)送端TXD端發(fā)出,;接收數(shù)據(jù)時(shí),,則需要先用定時(shí)器T0計(jì)時(shí)半個(gè)位時(shí)時(shí)間,以檢測(cè)1個(gè)字節(jié)的開(kāi)始位,,然后恢復(fù)定時(shí)器TO的一個(gè)位時(shí)計(jì)時(shí)中斷設(shè)定,。這樣,在隨后的數(shù)據(jù)位檢測(cè)中就能保證在數(shù)據(jù)位的中間時(shí)刻檢測(cè)該數(shù)據(jù)位,,從而保證數(shù)據(jù)位接收的正確性,。在10個(gè)bit類(lèi)型的位數(shù)據(jù)接收完畢后,還要將其轉(zhuǎn)換為一個(gè)byte類(lèi)型的數(shù)據(jù),,存入相應(yīng)的數(shù)據(jù)緩沖區(qū)。

(2)基于普通端口位LIN從節(jié)點(diǎn)的實(shí)現(xiàn)

基于單片機(jī)普通端口位LIN從節(jié)點(diǎn)硬件電路和基于單片機(jī)通用串口查詢(xún)方式的從節(jié)點(diǎn)硬件電路基本相同,,區(qū)別同樣也是沒(méi)有用到單片機(jī)的通用串口,。

由于沒(méi)有外部中斷的功能,,因此對(duì)主節(jié)點(diǎn)發(fā)送過(guò)來(lái)的報(bào)文頭的接收只能靠從節(jié)點(diǎn)主動(dòng)地等待查詢(xún)??紤]到從節(jié)點(diǎn)程序不可能一直在查詢(xún)等待與主節(jié)點(diǎn)同步,,因此從節(jié)點(diǎn)應(yīng)該不定時(shí)地去查詢(xún)等待主節(jié)點(diǎn)的報(bào)文頭。開(kāi)始階段設(shè)置定時(shí)器為不定長(zhǎng)時(shí)間中斷方式,,時(shí)間到后從節(jié)點(diǎn)去查詢(xún)等待主節(jié)點(diǎn)發(fā)送的報(bào)文幀,。當(dāng)檢測(cè)到同步信息后,設(shè)置定時(shí)器為標(biāo)準(zhǔn)位時(shí)時(shí)間中斷方式,,對(duì)從節(jié)點(diǎn)接收或發(fā)送數(shù)據(jù)過(guò)程進(jìn)行位時(shí)界定,。從節(jié)點(diǎn)按照上述提到的位操作方法接收PID場(chǎng),并轉(zhuǎn)換為byte類(lèi)型的數(shù)據(jù),,判斷下一步數(shù)據(jù)場(chǎng)的發(fā)送或接收方向,,接著按照位操作的方法實(shí)現(xiàn)數(shù)據(jù)的發(fā)送或接收。定時(shí)器的兩種工作方式在查詢(xún)等待和報(bào)文通信過(guò)程中輪流轉(zhuǎn)換,,在報(bào)文通信過(guò)程結(jié)束后,,重新設(shè)置定時(shí)器為不定長(zhǎng)時(shí)間中斷方式,等待下一次的報(bào)文通信過(guò)程,,以此類(lèi)推,。

從節(jié)點(diǎn)由于采用不定期查詢(xún)等待方法與主節(jié)點(diǎn)的同步,因此通信成功率不高,;但對(duì)于數(shù)據(jù)通信速率和實(shí)時(shí)性要求不是很高的場(chǎng)合,,還可以滿(mǎn)足要求。如果單片機(jī)有外部中斷能力,,則可以改從節(jié)點(diǎn)不定期查詢(xún)?yōu)閺墓?jié)點(diǎn)用外部中斷查詢(xún)主節(jié)點(diǎn)發(fā)送來(lái)的報(bào)文,,這樣通信的成功率就可以大大提高。

結(jié) 語(yǔ)

相對(duì)于增強(qiáng)型單片機(jī),,普通單片機(jī)的功能顯得簡(jiǎn)單多了,,資源也很有限,但它有一個(gè)價(jià)格低廉的優(yōu)勢(shì),。而LIN總線(xiàn)的特點(diǎn)是協(xié)議簡(jiǎn)單,,可用軟件方式實(shí)現(xiàn),特別適合于數(shù)據(jù)通信速率要求不高,、控制簡(jiǎn)單的場(chǎng)合,。如果能以普通單片機(jī)有限的資源實(shí)現(xiàn)LIN通信協(xié)議,無(wú)疑會(huì)為低端串行通信領(lǐng)域提供一個(gè)很好的選擇,。以普通單片機(jī)為硬件基礎(chǔ)構(gòu)成的LIN節(jié)點(diǎn)也一定會(huì)在生產(chǎn)和生活的相關(guān)應(yīng)用領(lǐng)域大有作為,。
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。