LIN總線協(xié)議的應(yīng)用
TLE7259芯片具有等待模式、正常模式和睡眠模式等三個工作模式。上電后。芯片立即進(jìn)入等待模式,然后可通過EN引腳置1使之進(jìn)入正常模式。在正常模式,XC886單片機(jī)可在TXD LIN管腳輸入所需發(fā)送的數(shù)據(jù)流,并通過TLE725芯片轉(zhuǎn)換成LIN總線信號,以控制轉(zhuǎn)換速率和波形,從而降低電磁輻射(EME)。LIN總線的輸出管腳(Bus)可通過一個內(nèi)部終端電阻拉成高電平。TLE725芯片可在LIN總線的輸入管腳檢測數(shù)據(jù)流并通過管腳RXD_LIN發(fā)送到XC886單片機(jī)。在正常模式下,將EN引腳置0可使芯片進(jìn)入睡眠模式,此時的靜態(tài)電流不超過8 mA,用戶也可以通過LIN總線或本地引腳(WK)進(jìn)行喚醒,使之重新進(jìn)入等待模式。
2.2 LIN通信中主節(jié)點的軟件實現(xiàn)
軟件采用C語言模塊化編寫,易于維護(hù)。本設(shè)計方案中,LIN總線的傳輸速率設(shè)置為20 kbit/s,可在單主節(jié)點和3個從節(jié)點之間通訊,支持?jǐn)?shù)據(jù)場長度設(shè)置為2個字節(jié)。第一個字節(jié)用于發(fā)送主節(jié)點控制命令或接收從節(jié)點狀態(tài)信息,后一個字節(jié)為預(yù)留,可用于用戶擴(kuò)展。
通常由主節(jié)點向從節(jié)點發(fā)送控制命令,主要包括車窗升降控制、車門鎖命令和后視鏡調(diào)節(jié)控制等,表1所列是其控制命令的數(shù)據(jù)場定義。當(dāng)車窗控制部分發(fā)送車窗無動作命令時(Bit2為0),可忽略后兩位(Bit1和Bit0)判斷,車窗保持原狀。當(dāng)后視鏡部分發(fā)送后視鏡無動作命令時(Bit6為0),則忽略后三位(Bit5,Bit4和Bit3)判斷,此時左右兩個后視鏡電機(jī)均無動作,后視鏡位置保持原狀。中控鎖部分(Bit7)用于中控鎖的狀態(tài)比較,若位數(shù)據(jù)相同,則保持中控鎖狀態(tài),若位數(shù)據(jù)不同,則驅(qū)動中控鎖電機(jī)進(jìn)行相應(yīng)動作。
狀態(tài)信息一般由從節(jié)點反饋給主節(jié)點,以用于故障診斷,主要包括車窗升降電機(jī)和繼電器的短路和開路信息等,表2所列是狀態(tài)信息的數(shù)據(jù)場定義。當(dāng)主節(jié)點收到后狀態(tài)信息后。若發(fā)現(xiàn)故障,則主節(jié)點控制器將使指示燈閃爍或者進(jìn)行聲音報警。
主節(jié)點初始化之后,系統(tǒng)將處于等待狀態(tài),同時檢查是否有數(shù)據(jù)傳輸需求。主程序每10 ms檢查一次主節(jié)點控制器的按鍵參數(shù)。當(dāng)司機(jī)側(cè)主控板上有按鍵動作時,系統(tǒng)會將相應(yīng)按鍵數(shù)據(jù)轉(zhuǎn)換成控制命令并通過LIN總線發(fā)送給從節(jié)點控制器;若沒有按鍵動作,則要求從節(jié)點反饋狀態(tài)信息,并分析其工作狀態(tài)。圖6所示是其主節(jié)點的程序流程圖。
3 結(jié)束語
本文介紹了基于英飛凌公司的XC886單片機(jī)的車門控制系統(tǒng)的LIN總線通信模塊的設(shè)計方法,并對其硬件設(shè)計和軟件結(jié)構(gòu)進(jìn)行了簡單的分析。運用LIN總線技術(shù)開發(fā)的車窗、后視鏡和中央門鎖控制系統(tǒng),由于使用了低功耗的8位單片機(jī),因而降低了成本,提高了系統(tǒng)性能,是汽車電子技術(shù)的發(fā)展方向。本系統(tǒng)程序采用 C語言編寫,具有很好的可讀性和維護(hù)性。事實上,總線技術(shù)的發(fā)展是推動汽車電子進(jìn)步的一大動力,總線技術(shù)的廣泛使用則進(jìn)一步促進(jìn)了汽車生產(chǎn)商對總線開發(fā)的投人,因此,汽車總線的開發(fā)必然在將來的汽車工業(yè)中占據(jù)更為重要的位置。
評論