隨着汽車業的飛速發展,汽車電控系統的配置不斷升級,使得車輛上的電子元件愈來愈多,其相互鏈接的網絡結構也愈來愈複雜。過去所採用的電纜鏈接方式所帶來的龐大布線負擔,容易形成車體太重和線路的磨損老化。在這種狀況下,就須要引入標準的總線技術,從而下降車身重量,同時提升各個電控元件之間的通訊可靠性。上世紀80年代,根據車用通訊網絡在不一樣控制層面的不一樣功能要求,SAE (Societv ofAuto-mobile Engineering)將其分爲A,B,C三類。其中A類爲低速網,數據傳輸速率一般爲1~10kb/s,LIN總線通訊網絡就屬於此類。LIN總線通常應用於不須要高性能及帶寬和複雜性較大的低端系統,如車門控制模塊、座椅調節、車燈控制和空調系統中傳感器和執行器之間的通訊。因爲其LIN總線成本較低,也能夠獨立用於不是特別複雜的車身控制網絡中。編程
1 LIN總線協議簡介網絡
LIN協議標準於1998年由Audi、BMW、Mo-torola、Daimlerehrysler、VCT、Volvo和Volkswa-gen等七家公司在A類網已有協議的基礎上聯合提出。LIN總線在當今汽車電子的網絡結構中被普遍使用,它基於通用的UART/SCI接口,使用單線信號傳輸,從節點無需晶振或陶瓷振盪器就能實現自同步,所以成本低廉。LIN總線網絡採用單主多從模式,圖1所示是UN總線網絡的結構示意圖,它由一個主節點和一個或若干個從節點組成,不須要總線仲裁。LIN總線協議基於ISO參考模型中的物理層,數據鏈路層採用NRZ (Not Re-turn Zero)編碼方式,電平分爲隱性電平(‘1’)和顯性電平(‘0’)。架構
1.1 物理層模塊化
LIN總線通常採用單總線(12 V)串行通信,總線長度最大可達到40 m,傳輸速率最高可達到20 Kb/s,一般使用2.4Kb/s、9.6 Kb/s和19.2 Kb/s這三個波特率進行數據傳輸。因爲從節點的個數除了受標識符數量的限制中,也受到總線的物理特性限制,節點過多必然減小網絡阻抗,從而致使通信條件變差,因此協議規定:一個LIN總線網絡上的節點數目不能超過16個。性能
1.2 數據鏈路層編碼
LIN總線協議的一個報文幀由報文頭和響應組成,圖2所示是LIN總線協議的報文幀結構。通常狀況下,報文頭都是由主節點發送,而響應則是由一個主節點或者一個從節點發送。LIN總線網絡中的數據通信都是由主節點發送一個報文頭來初始化的。報文頭包含一個空白場、一個同步場和一個標識符場,而響應則包括1 到9個字節場(0~8個數據場和一個校驗和場)。其中,字節場由字節間的間隔分開,報文頭和響應則由幀內響應間隔分開,它們的最小長度皆爲0。spa
報文頭中的空白場可以使節點可以識別一個報文的開始。空白場爲13位或者持續更長時間的顯性電平(‘0’)加上持續1個位時間以上的隱性電平(‘1’)組成。同步場則爲一個字節長度(ox55),可用來使相關從節點進行主從節點的時鐘同步。設計
標識符場格式如圖3所示,定義報文的信息,長度爲一個字節,其中前6位爲標識符位,可定義26=64個標識符(其中保留4個標識符做爲命令和擴展幀標識符),後2位爲奇偶校驗位。調試
標識符用於定義數據的傳輸方向和響應中數據場的長度,並從節點根據標識符判斷報文是否與本身相關,從而對報文作出反應,進行通信。當主節點發送的報文頭被相關從節點接受並對標識符判斷以後,從節點被要求進行數據發送,而主節點要接收從節點發送的數據,則須要將此標識符定義爲接收標識符,對於從節點來講,則需定義爲發送標識符,反之亦然。接口
響應中數據場的長度由標識符位中的第4位和第5位(ID5和ID4)決定,它們將全部的標識符分紅四組。每組有16個標識符,這些標識符表明着二、4和8 個數據場。數據場的傳輸由低位到高位,包含了各個節點須要傳輸的數據。校驗和場是數據場全部字節的和的反碼,當節點收到數據並進行校驗時,要求全部數據字節和與校驗和場的字節相加必須是0xFF。
2 車門控制中LIN通訊系統的設計
本設計方案主要採用英飛凌XC886單片機做爲主節點控制器,以英飛凌的TLE7259芯片做爲LIN驅動模塊,這樣可以使主節點車門控制器能夠經過LIN 總線與3個從節點車門控制器(TLE7810)進行通訊。做爲主節點,在此門控系統中,能夠經過司機側按鈕開關對全部車窗進行升降,並可進行後視鏡的調節和中央門鎖的控制。圖4所示是車門控制系統的結構框圖。
2.1 XC886與UN驅動模塊的接口設計
英飛凌公司的XC886單片機是基於8051工業標準架構的高性能8位微控制器,其內部集成有CAN控制器並支持UN通訊,同時包含兩個UART(其中一個用於支持LIN)和兩個單獨16位計時器的捕捉/比較單元(CCU),可靈活產生PWM信號。此外,還集成有高精度8路10位ADC、四個通用16位計時器和可編程16位看門狗計時器(WDT),並支持片內調試。XC886包含多種省功耗模式,很是適用於各類汽車車身控制網絡以及工業和農業設備控制、建築物照明控制、智能傳感器和工業自動化等領域。
系統中的LIN驅動模塊選用英飛凌公司的TLE7259芯片,它具備總線接地短路保護功能,適用於傳輸速率爲2.4 kb/s~20 kb/s的車載系統通訊網絡。同時,該器件還具備極強的防靜電放電(ESD)特性和優越的抗電磁干擾(EMI)能力。其基於固定斜率的斜率控制機制,還可實如今寬頻帶範圍內優越的EMC性能。在XC886做爲LIN總線主節點控制器的設計方案中,必須在TLE7259芯片的LIN_BUS引腳與INH引腳之間鏈接一個1kΩ的電阻和一個反向二極管,並將TLE7259配置成主節點驅動模塊。圖5所示是系統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語言編寫,具備很好的可讀性和維護性。事實上,總線技術的發展是推進汽車電子進步的一大動力,總線技術的普遍使用則進一步促進了汽車生產商對總線開發的投人,所以,汽車總線的開發必然在未來的汽車工業中佔據更爲重要的位置