LIN總線在車身控制中的應(yīng)用性研究
掃描二維碼
隨時(shí)隨地手機(jī)看文章
LIN總線簡(jiǎn)介
LIN總線主要用于汽車電子控制系統(tǒng),構(gòu)成CAN、TTP/C等高速總線的輔助網(wǎng)絡(luò),實(shí)現(xiàn)汽車網(wǎng)絡(luò)的分級(jí)制結(jié)構(gòu),以簡(jiǎn)化線束,合理利用網(wǎng)絡(luò)資源,節(jié)約成本。
LIN網(wǎng)絡(luò)設(shè)計(jì)中關(guān)鍵問題是LIN總線接口的軟件和硬件設(shè)計(jì)。筆者在研究LIN規(guī)范的新修訂版本LIN2.0的基礎(chǔ)上設(shè)計(jì)了基于該規(guī)范的LIN節(jié)點(diǎn),針對(duì)LIN接口設(shè)計(jì)中幾個(gè)關(guā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 為開關(guān)電源的LIN接口電路如圖1所示。SA57022電源輸出的打開與關(guān)斷由LIN收發(fā)器控制通過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)可通過主機(jī)節(jié)點(diǎn)發(fā)送幀頭中的同步場(chǎng)來校準(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)用中無須再外接從機(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編碼,無法直接產(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)文幀的到來。主機(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)通過同步場(chǎng)給從機(jī)節(jié)點(diǎn)提供波特率基準(zhǔn),從機(jī)節(jié)點(diǎn)通過測(cè)量同步場(chǎng)來校準(zhǔn)自身波特率,以保證在報(bào)文傳輸中各節(jié)點(diǎn)之間的同步。
同步場(chǎng)邏輯值為0x55,波形如圖4所示。從機(jī)節(jié)點(diǎn)通過測(cè)量同步場(chǎng)中第1和第5個(gè)下降沿之間的時(shí)間間隔來計(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)。
(1)
設(shè)從機(jī)節(jié)點(diǎn)計(jì)數(shù)器1作為波特率發(fā)生器工作于常數(shù)自動(dòng)重新裝入的8位定時(shí)器/計(jì)數(shù)器方式,得到式(2)。
(2)
使從機(jī)節(jié)點(diǎn)與主機(jī)節(jié)點(diǎn)同步,則令:
Bs=B (3)
由式(1)~式(3)可得到式(4)。
(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)。
汽車電磁環(huán)境惡劣,因此汽車通信系統(tǒng)的抗干擾能力尤為重要,按該設(shè)計(jì)制作的LIN網(wǎng)絡(luò)在BZ-5型汽車電火花干擾試驗(yàn)臺(tái)上進(jìn)行了抗干擾實(shí)驗(yàn),試驗(yàn)中網(wǎng)絡(luò)通信順利,各項(xiàng)功能正常。
結(jié)束語
在車身控制系統(tǒng)中應(yīng)用LIN總線降低了低端通信網(wǎng)絡(luò)的成本,同時(shí)增加了設(shè)計(jì)的靈活性,提高了系統(tǒng)的可靠性,有利于分布式車身控制系統(tǒng)的開發(fā)。多種工作模式的實(shí)現(xiàn)和它們之間的轉(zhuǎn)換可減少電能消耗和電磁輻射;調(diào)整波特率產(chǎn)生幀頭的方法可擺脫對(duì)額外或特殊器件的依賴;從機(jī)節(jié)點(diǎn)自同步的實(shí)現(xiàn)可減小節(jié)點(diǎn)體積降低成本。