基于LIN總線的車燈在線診斷系統(tǒng)設(shè)計與實現(xiàn)
汽車總線技術(shù)是現(xiàn)場總線的應(yīng)用之一,最初現(xiàn)場總線只用于工業(yè)控制。所謂現(xiàn)場總線是應(yīng)用在生產(chǎn)最底層的一種總線型拓撲網(wǎng)絡(luò)。汽車車身控制網(wǎng)絡(luò)目前要解決的問題就是建立一個統(tǒng)一、低成本的低端通訊網(wǎng)絡(luò)標準,LIN作為CAN的輔助總線而存在,實現(xiàn)車身控制網(wǎng)絡(luò)的層次化,以更低的成本實現(xiàn)車身控制網(wǎng)絡(luò)。LIN總線的目標就是定位于車身網(wǎng)絡(luò)模塊節(jié)點間的低端通訊,與CAN相比,由于LIN采用了低成本硬件的從節(jié)點,從而降低了硬件平臺的成本。另外,LIN完全可以滿足大多數(shù)低端應(yīng)用對象對傳輸速率的要求。所以UN以較低的成本實現(xiàn)了開關(guān)器件間的網(wǎng)絡(luò)通訊,有效支持了汽車應(yīng)用中分布式機械電子節(jié)點的控制。
2 硬件電路設(shè)計
2.1 系統(tǒng)設(shè)計思想
LIN從節(jié)點對總節(jié)點發(fā)出的控制信號進行處理,并對車燈驅(qū)動電路狀態(tài)進行測量。當從節(jié)點接收到報文信息后,對車燈發(fā)出相應(yīng)的控制信號,并分析各燈的狀態(tài),若發(fā)生故障,則生成一個數(shù)據(jù)信息發(fā)送到總節(jié)點。LIN從節(jié)點在檢測到總節(jié)點發(fā)送的信號后,先通過報文幀進行識別,看其是否屬于自己的報文信息。若屬于則首先判斷報文是不是查詢信息,如果是,則返回一個響應(yīng)信息,如果是控制信息,則對相應(yīng)的車燈進行控制,并對該車燈驅(qū)動電路上的測量點電位進行測量和進行處理??雌涫欠癜l(fā)生故障。若發(fā)生故障,則通過LIN總線發(fā)送信息給總節(jié)點。圖l示出LIN節(jié)點的硬件電路設(shè)計。
2.2 器件介紹
基本的LIN節(jié)點電路主要包括MCU、LIN收發(fā)器、電源模塊和車燈驅(qū)動電路。
2.2.1 MCU控制單元
設(shè)計中MCU選用MC68HC908QL4。它集成了一個從LIN接口控制模塊SLIC (Slave LIN Interface Controller),在一般情況下,SUC可作為SCI端口使用。該器件的主要特點是:
具有獨立的LIN報文標識符,8 B報文緩存區(qū);
自動調(diào)整波特率,幀同步;
自動處理和糾正UN同步間隔(SYNCH BREAK)和同步場(SYNCH BYTE);
沒有錯誤的LIN信息最多產(chǎn)生兩個中斷;
完整的LIN錯誤檢測和報告;
高速LIN達到83.33 Kb/s~120 Kb/s;
增強型檢測及其包括ID的產(chǎn)生。
只要按模塊的需要設(shè)置相應(yīng)的寄存器,就可以自動按照LIN總線協(xié)議進行和發(fā)送數(shù)據(jù)。這相對于SLIC模塊的單片機而言,則降低了軟件開發(fā)上的難度。MCU模塊的連接如圖2所示。
2.2.2 LIN收發(fā)器
選用TJAl020作為LIN收發(fā)器,TJAl020是LIN主/從協(xié)議控制器和LIN物理總線之間的接口,主要用作于車輛副網(wǎng)絡(luò)。其波特率為2.4~20 Kb/s??刂破髟赥XD管腳輸入的發(fā)送數(shù)據(jù)流通過LIN收發(fā)器轉(zhuǎn)換成LIN總線信號,并由收發(fā)器控制轉(zhuǎn)換速率和波形,減少極低的電磁發(fā)射(EME)。LIN總線的輸出管腳通過一個內(nèi)部終端電阻拉成高電平。收發(fā)器在LIN總線的輸入管腳檢測數(shù)據(jù)流并通過管腳RXD發(fā)送到微控制器。TJAl020的主要特點是:
具有高達20Kb/s的波特率和極低的電磁發(fā)射(EME);
具有高抗電磁干擾性(EMI)和低斜率模式可以進一步降低EME;
具有喚醒源識別本地或遠程;
具有在睡眠模式下電流消耗極低,可實現(xiàn)本地或遠程喚醒;
具有發(fā)送數(shù)據(jù)超時功能;
LIN總線對電池和地的短路保護;
具有總線終端和電池管腳,可防止汽車環(huán)境下的瞬變。
圖3所示為LIN模塊電路設(shè)計。
2.2.3 電源模塊
本設(shè)計中,LIN模塊的電壓調(diào)節(jié)器均采用微功耗、低壓差穩(wěn)壓器LTll2l一5。選用LTl121—5通過對SHDN輸入低電平,能使其進入停止模式,這時靜態(tài)電流只有16μA,因此在總線上沒有活動時,就能達到減少功耗的目的;此外,該器件還具有防止輸入和輸出電源反向的功能,即使在輸出端不增加二極管的情況下,也能防止電流反向倒流。圖4給出電源模塊電路。
2.2.4 車燈的驅(qū)動電路
采用功率驅(qū)動器BTS724G來驅(qū)動2l W和5 W的車燈。該驅(qū)動器是英飛凌公司設(shè)計的N溝道MOSFET功率管,內(nèi)部集成了充電泵、電流驅(qū)動,并具有檢測負載電流(包括過載、過溫和短路)故障反饋功能。BTS724G采用12 V或24 V負載控制,適用于各種阻性、感性或容性負載,尤其適用于車燈等具有高浪涌電流的負載,可作為繼電器、保險絲等的替代控制方法。BTS724G還具有短路保護、過載保護、過壓保護、過溫關(guān)斷、掉地和掉電保護、靜電放電保護和電源反接保護等多項保護功能。圖5給出驅(qū)動電路。
3 軟件設(shè)計
車燈控制系統(tǒng)主要完成兩個功能:一是實現(xiàn)LIN子節(jié)點對車燈的控制;二是實現(xiàn)對車燈故障的診斷。在控制中,通過分析總線電位和驅(qū)動電路中輸入、輸出、故障診斷引腳的電位來判斷系統(tǒng)是否發(fā)生故障。
要使LIN總線節(jié)點有效、實時地完成通信任務(wù),軟件設(shè)計是關(guān)鍵。采用結(jié)構(gòu)化程序設(shè)計方案具有較好的模塊性、可移植性和可修改性。
LIN信息的接收采用中斷方式,當MC68HC90—8Q14控制器檢測到符合該節(jié)點要求的信息幀后,首先判斷本地節(jié)點接收到的是什么信息幀,若為控制信息,則接收2個字節(jié)的數(shù)據(jù)信息;若為查詢信息,則將本地節(jié)點車燈的狀態(tài)以信息幀的形式發(fā)送回主節(jié)點,以反映節(jié)點情況。然后判斷,若為接收數(shù)據(jù)幀,則在SLIC模塊中的數(shù)據(jù)寄存器(SLCDx)上讀取相應(yīng)的信息。最后是根據(jù)數(shù)據(jù)信息中相關(guān)的位進行車燈控制,在發(fā)出控制信號后地相應(yīng)采集車燈驅(qū)動芯片輸入、輸出和故障診斷引腳的電位,通過對電位的分析判斷否發(fā)生故障,若發(fā)生故障則發(fā)送一個故障信息。圖6給出程序流程圖。
4 結(jié)語
介紹了基于LIN總線的車燈在線診斷系統(tǒng)并對硬件模塊和軟件構(gòu)架進行了簡單分析。LIN總線系統(tǒng)具有結(jié)構(gòu)簡單、性能可靠、價格低廉等特點,是汽車電子技術(shù)發(fā)展的必然趨勢。目前在國內(nèi)如何采用總線技術(shù)提高整車性能,降低制造和維護成本,已成為汽車生產(chǎn)廠家關(guān)注的熱點。