LIN總線簡(jiǎn)介
LIN(Local Interconnect Network)是一種低成本的串行通訊網(wǎng)絡(luò),用于實(shí)現(xiàn)汽車(chē)中的分布式電子系統(tǒng)控制。LIN 的目標(biāo)是為現(xiàn)有汽車(chē)網(wǎng)絡(luò)(例如CAN 總線)提供輔助功能,因此LIN 總線是一種輔助的總線網(wǎng)絡(luò)。在不需要CAN 總線的帶寬和多功能的場(chǎng)合,比如智能傳感器和制動(dòng)裝置之間的通訊使用LIN 總線可大大節(jié)省成本。LIN 技術(shù)規(guī)范中除定義了基本協(xié)議和物理層外還定義了開(kāi)發(fā)工具和應(yīng)用軟件接口。LIN
通訊是基于SCI(UART)數(shù)據(jù)格式,采用單主控制器/多從設(shè)備的模式。僅使用一根12V 信號(hào)總線和一個(gè)無(wú)固定時(shí)間基準(zhǔn)的節(jié)點(diǎn)同步時(shí)鐘線。這種低成本的串行通訊模式和相應(yīng)的開(kāi)發(fā)環(huán)境已經(jīng)由LIN 協(xié)會(huì)制定成標(biāo)準(zhǔn)。LIN 的標(biāo)準(zhǔn)化將為汽車(chē)制造商以及供應(yīng)商在研發(fā)應(yīng)用操作系統(tǒng)降低成本。
典型的LIN 總線應(yīng)用是汽車(chē)中的聯(lián)合裝配單元,如:門(mén)、方向盤(pán)、座椅、空調(diào)、照明燈、濕度傳感器,交流發(fā)電機(jī)等。對(duì)于這些成本比較敏感的單元,LIN 可以使那些機(jī)械元件如智能傳感器、制動(dòng)器或光敏器件得到較廣泛的使用。這些元件可以很容易的連接到汽車(chē)網(wǎng)絡(luò) 中并得到十分方便的維護(hù)和服務(wù)。在LIN 實(shí)現(xiàn)的系統(tǒng)中通常將模擬信號(hào)量用數(shù)字信號(hào)量 所替換,這將使總線性能優(yōu)化。在以下的汽車(chē)電子控制系統(tǒng)中使用LIN 來(lái)實(shí)現(xiàn)將得到非常完美的效果:
LIN節(jié)點(diǎn)硬件設(shè)計(jì)
1 LIN接口總體設(shè)計(jì)
LIN 節(jié)點(diǎn)硬件上主要包括LIN接口電路部分、控制輸入部分、顯示電路或負(fù)載驅(qū)動(dòng)輸出等,其中LIN接口為節(jié)點(diǎn)的核心。以Microchip公司的 PIC16F87為控制器、TJA1020為L(zhǎng)IN收發(fā)器、SA57022 為開(kāi)關(guān)電源的LIN接口電路如圖1所示。SA57022電源輸出的打開(kāi)與關(guān)斷由LIN收發(fā)器控制通過(guò)INH引腳控制。
圖1 LIN接口原理圖
因主機(jī)節(jié)點(diǎn)需為網(wǎng)絡(luò)中的從機(jī)節(jié)點(diǎn)提供時(shí)鐘基準(zhǔn),故在主機(jī)節(jié)點(diǎn)中為PIC16F87配置了外部晶振。在從機(jī)節(jié)點(diǎn)中,從機(jī)節(jié)點(diǎn)可通過(guò)主機(jī)節(jié)點(diǎn)發(fā)送幀頭中的同步場(chǎng)來(lái)校準(zhǔn)自身波特率,故可省去外部晶振而使用PIC16F87內(nèi)置的RC振蕩器。
2 LIN收發(fā)器應(yīng)用設(shè)計(jì)
TJA1020 為L(zhǎng)IN收發(fā)器,它是LIN 協(xié)議控制器和LIN傳輸媒體之間的接口,是節(jié)點(diǎn)的核心器件,負(fù)責(zé)收發(fā)數(shù)據(jù)時(shí)總線的波形調(diào)整和電平轉(zhuǎn)換及節(jié)點(diǎn)多種工作模式的實(shí)現(xiàn)。TJA1020按LIN物理層規(guī)范集成了片內(nèi)從機(jī)端電阻,在從機(jī)節(jié)點(diǎn)應(yīng)用中無(wú)須再外接從機(jī)端電阻,在主機(jī)節(jié)點(diǎn)應(yīng)用中按圖1所示在其INH引腳和LIN引腳之間串接主機(jī)端電阻和二極管可提高總線的驅(qū)動(dòng)能力,并在總線對(duì)地短路時(shí)使節(jié)點(diǎn)自動(dòng)進(jìn)入睡眠狀態(tài),減少電流損耗。
以TJA1020為收發(fā)器構(gòu)造的LIN節(jié)點(diǎn)具有普通、低斜率、睡眠、準(zhǔn)備四種工作模式,以盡可能降低功耗和電磁輻射,各種模式下的節(jié)點(diǎn)狀態(tài)和模式間轉(zhuǎn)換如圖2所示。
圖2 工作模式的節(jié)點(diǎn)狀態(tài)以及模式間的切換
LIN節(jié)點(diǎn)軟件設(shè)計(jì)
1 LIN主機(jī)節(jié)點(diǎn)軟件設(shè)計(jì)
LIN主機(jī)節(jié)點(diǎn)行使幀處理和LIN網(wǎng)絡(luò)的通信管理職能,程序流程如圖3所示。
圖3 主機(jī)程序流程
LIN規(guī)范規(guī)定,同步間隔場(chǎng)為至少13個(gè)連續(xù)的顯性位(低電平)。LIN 通信基于通用UART/SCI接口,字節(jié)傳送使用8N1編碼,無(wú)法直接產(chǎn)生這樣一個(gè)顯性序列。
總線的正常通信波特率為9.6k,從機(jī)節(jié)點(diǎn)始終以此波特率工作,主機(jī)節(jié)點(diǎn)在需要發(fā)送同步間隔場(chǎng)時(shí)將波特率降低到4.8k,并發(fā)送0x00,則工作于9.6k 波特率的從機(jī)節(jié)點(diǎn)將檢測(cè)到18個(gè)連續(xù)的顯性位,從而判斷一個(gè)新報(bào)文幀的到來(lái)。主機(jī)節(jié)點(diǎn)在發(fā)送完同步間隔場(chǎng)后將波特率恢復(fù)到9.6k.2 LIN從機(jī)節(jié)點(diǎn)軟件設(shè)計(jì)
LIN從機(jī)節(jié)點(diǎn)的職能可概括為幀頭檢測(cè)與接收和幀處理這兩部分。在每個(gè)報(bào)文幀的幀頭中由配置晶體振蕩器的主機(jī)節(jié)點(diǎn)通過(guò)同步場(chǎng)給從機(jī)節(jié)點(diǎn)提供波特率基準(zhǔn),從機(jī)節(jié)點(diǎn)通過(guò)測(cè)量同步場(chǎng)來(lái)校準(zhǔn)自身波特率,以保證在報(bào)文傳輸中各節(jié)點(diǎn)之間的同步。
同步場(chǎng)邏輯值為0x55,波形如圖4所示。從機(jī)節(jié)點(diǎn)通過(guò)測(cè)量同步場(chǎng)中第1和第5個(gè)下降沿之間的時(shí)間間隔來(lái)計(jì)算校準(zhǔn)自身波特率。
圖4 同步場(chǎng)波形圖
設(shè)主機(jī)節(jié)點(diǎn)和從機(jī)節(jié)點(diǎn)的串行口均工作于方式1(8位UART,波特率可變),主機(jī)節(jié)點(diǎn)波特率為B,從機(jī)節(jié)點(diǎn)以定時(shí)器測(cè)量同步場(chǎng)第1和第5個(gè)下降沿得到的計(jì)數(shù)個(gè)數(shù)為C,從機(jī)節(jié)點(diǎn)振蕩器當(dāng)前頻率為fs,得到式(1)。
設(shè)從機(jī)節(jié)點(diǎn)計(jì)數(shù)器1作為波特率發(fā)生器工作于常數(shù)自動(dòng)重新裝入的8位定時(shí)器/計(jì)數(shù)器方式,得到式(2)。
使從機(jī)節(jié)點(diǎn)與主機(jī)節(jié)點(diǎn)同步,則令:
Bs=B
由式(1)~式(3)可得到式(4)。
從機(jī)節(jié)點(diǎn)以由式(4)計(jì)算得到的N值作計(jì)數(shù)器1產(chǎn)生波特率的重新裝入值,可產(chǎn)生與主機(jī)節(jié)點(diǎn)一致的波特率。
節(jié)點(diǎn)制作與實(shí)驗(yàn)
利用該設(shè)計(jì)制作LIN節(jié)點(diǎn)構(gòu)建LIN網(wǎng)絡(luò),對(duì)其進(jìn)行了通信試驗(yàn)和初步的抗干擾試驗(yàn)。由于報(bào)文幀頭和報(bào)文幀響應(yīng)均由主機(jī)節(jié)點(diǎn)發(fā)送,報(bào)文幀幀頭和報(bào)文幀響應(yīng)間的幀間響應(yīng)間隔較小。
當(dāng)LIN從機(jī)節(jié)點(diǎn)在LIN主機(jī)節(jié)點(diǎn)的引導(dǎo)下相互傳送指令或信息時(shí),LIN網(wǎng)絡(luò)上進(jìn)行從機(jī)節(jié)點(diǎn)到從機(jī)節(jié)點(diǎn)的數(shù)據(jù)傳輸,此時(shí)LIN主機(jī)節(jié)點(diǎn)發(fā)送報(bào)文幀幀頭,一個(gè)LIN從機(jī)節(jié)點(diǎn)發(fā)送報(bào)文幀響應(yīng),另一個(gè)或幾個(gè)LIN從機(jī)節(jié)點(diǎn)接收?qǐng)?bào)文幀響應(yīng)。由于這種報(bào)文幀傳送需要3個(gè)甚至3個(gè)以上節(jié)點(diǎn)參與,故預(yù)留了較長(zhǎng)的幀間間隔,以便報(bào)文幀響應(yīng)的發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)有充足的響應(yīng)時(shí)間,確保報(bào)文幀傳送的順利完成。
當(dāng)LIN主機(jī)節(jié)點(diǎn)向某從機(jī)節(jié)點(diǎn)請(qǐng)求數(shù)據(jù)時(shí),LIN總線上進(jìn)行從機(jī)節(jié)點(diǎn)到主機(jī)節(jié)點(diǎn)的數(shù)據(jù)傳輸,此時(shí)LIN主機(jī)節(jié)點(diǎn)發(fā)送報(bào)文幀頭, LIN從機(jī)節(jié)點(diǎn)接收?qǐng)?bào)文幀幀頭后發(fā)送報(bào)文幀響應(yīng), LIN主機(jī)節(jié)點(diǎn)接收?qǐng)?bào)文幀響應(yīng)。
汽車(chē)電磁環(huán)境惡劣,因此汽車(chē)通信系統(tǒng)的抗干擾能力尤為重要,按該設(shè)計(jì)制作的LIN網(wǎng)絡(luò)在BZ-5型汽車(chē)電火花干擾試驗(yàn)臺(tái)上進(jìn)行了抗干擾實(shí)驗(yàn),試驗(yàn)中網(wǎng)絡(luò)通信順利,各項(xiàng)功能正常。
結(jié)束語(yǔ)
對(duì)總線式車(chē)身控制系統(tǒng)中的CAN/LIN混合網(wǎng)絡(luò)進(jìn)行深入研究,給出車(chē)身混合網(wǎng)絡(luò)結(jié)構(gòu)中主控節(jié)點(diǎn)設(shè)計(jì)與實(shí)現(xiàn)。在車(chē)身控制系統(tǒng)中,將LIN總線連入低速車(chē)身系統(tǒng)中,通過(guò)主控節(jié)點(diǎn)將CAN總線和LIN總線構(gòu)建成混合控制網(wǎng)絡(luò),使其控制系統(tǒng)兼具可靠性、高性能和低成本優(yōu)點(diǎn)。在器件選型上采用FREESCALE典型汽車(chē)電子芯片和智能觸點(diǎn)檢測(cè)模塊,既實(shí)現(xiàn)了可靠網(wǎng)絡(luò)控制功能,同時(shí)也降低汽車(chē)的開(kāi)發(fā)、生產(chǎn)成本,具有較高實(shí)用性。