基于LIN2.1協(xié)議的車(chē)窗控制系統(tǒng)的應(yīng)用
圖4 基于TLE9832的防夾車(chē)窗系統(tǒng)原理圖
3.3 LIN通信部分的軟件設(shè)計(jì)
LIN通信部分的程序流程如圖5所示。可將車(chē)窗控制器中LIN通信部分的程序分為兩個(gè)部分:
圖5 LIN通信部分程序流程
?、?第一部分為初始化,在每次重新上電后,程序都會(huì)首先讀取Flash中的數(shù)據(jù),若0x8000中的數(shù)據(jù)為0x78,則判斷產(chǎn)品在出廠(chǎng)后執(zhí)行過(guò)保存配置的功能。所以程序會(huì)將存儲(chǔ)在Flash中的NAD和幀ID讀出來(lái),作為當(dāng)前的NAD和幀ID。接著是初始化LIN模塊,包括設(shè)置與LIN通信相關(guān)的定時(shí)器和 UART等外設(shè),設(shè)置從節(jié)點(diǎn)的各個(gè)參數(shù)、波特率等。
?、?第二部分則放在定時(shí)器中斷里面,在每次中斷時(shí)進(jìn)行節(jié)點(diǎn)配置、數(shù)據(jù)的發(fā)送和接收。首先是根據(jù)幀ID判斷有無(wú)節(jié)點(diǎn)配置任務(wù),若有則根據(jù)SID執(zhí)行各種節(jié)點(diǎn)配置任務(wù);接著根據(jù)收到的數(shù)據(jù)幀內(nèi)容控制車(chē)窗的自動(dòng)上升和自動(dòng)下降;最后將車(chē)窗信息,包括電樞電流、車(chē)窗位置等發(fā)給主節(jié)點(diǎn)。
4 LIN通信的測(cè)試結(jié)果
本測(cè)試借助Kvaser公司出品的LIN通信測(cè)試工具Leaf Professional LIN及其配套軟件CANLab完成。測(cè)試時(shí)測(cè)試工具設(shè)置為主節(jié)點(diǎn),TLE9832單片機(jī)設(shè)置為從節(jié)點(diǎn),比特率設(shè)置為19 200 bps。初始NAD設(shè)置為0x06,初始幀ID為無(wú)條件幀0x00、0x01和診斷配置幀0x3C、0x3D,SupplierID和Function ID都為0x0000。
首先測(cè)試節(jié)點(diǎn)配置的各個(gè)功能:先測(cè)試分配N(xiāo)AD功能,將NAD修改為0x03;接著測(cè)試有條件分配N(xiāo)AD功能,將NAD修改為0x08;然后測(cè)試分配一系列幀ID功能,并保存設(shè)置;最后重新上電,并讀取從節(jié)點(diǎn)信息。節(jié)點(diǎn)配置功能的測(cè)試結(jié)果如圖6所示。
圖6 節(jié)點(diǎn)配置功能的測(cè)試結(jié)果
然后通過(guò)LIN總線(xiàn)控制車(chē)窗自動(dòng)上升和下降,測(cè)試結(jié)果如圖7所示。
圖7 車(chē)窗自動(dòng)上升下降功能的測(cè)試結(jié)果
最后通過(guò)LIN總線(xiàn)獲得車(chē)窗上升過(guò)程中電樞電流的數(shù)據(jù),并轉(zhuǎn)換成圖形,如圖8所示。其中電流值為經(jīng)過(guò)A/D轉(zhuǎn)換后的結(jié)果。
圖8 車(chē)窗上升過(guò)程中的電樞電流值
結(jié)語(yǔ)
本文基于LIN2.1協(xié)議設(shè)計(jì)了防夾車(chē)窗控制系統(tǒng)中的通信模塊。可以看出,該模塊可以很好地滿(mǎn)足用戶(hù)在數(shù)據(jù)傳輸和診斷等方面的需求。LIN總線(xiàn)自身的發(fā)展必將推動(dòng)車(chē)身控制領(lǐng)域的進(jìn)一步發(fā)展。
評(píng)論