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