隨著(zhù)現代電子技術(shù)的不斷發(fā)展和電子技術(shù)在汽車(chē)系統中的不斷應用,汽車(chē)的各種性能都得到了極大的改善,F代駕乘人員對汽車(chē)各個(gè)方面的要求越來(lái)越高,如視野性、方便性、舒適性和娛樂(lè )性等。 新的控制功能隨汽車(chē)級別的提升不斷增加,如中央門(mén)鎖、燈光控制、玻璃升降、后視鏡調節、天窗控制、座椅調節和點(diǎn)火延時(shí)控制等。傳統的控制系統多采用繼電器和獨立模式控制,這使得車(chē)內線(xiàn)束過(guò)多且布線(xiàn)復雜,從而造成了嚴重的電磁干擾,使系統的可靠性下降。CAN/LIN總線(xiàn)技術(shù)的應用,取代了傳統的線(xiàn)束,使信息交換變得安全、迅捷、高效。 汽車(chē)中CAN (Controller Area Network)主要用于車(chē)載各電子控制裝置ECU之間交換信息,形成汽車(chē)電子控制網(wǎng)絡(luò )。各控制單元使用特定的總線(xiàn)技術(shù)來(lái)實(shí)現數字/模擬信號在中央控制單元和執行器件、傳感器之間的傳輸。每一個(gè)狀態(tài)或事件的傳輸都有專(zhuān)門(mén)的通道。為了將信息從中央控制單元傳輸到各子單元,每一個(gè)子單元都應該有通用、標準的開(kāi)放式接口?刂茍绦衅骷蛡鞲衅髂K對于傳輸速率要求不是很高,比如后視鏡定位。所有這些低速率的模塊都不需要使用CAN總線(xiàn),而可選擇一種相比CAN總線(xiàn)來(lái)說(shuō)價(jià)格更低廉而有效的方式——LIN總線(xiàn)。 LIN(Local Interconnect Network)是一種用于汽車(chē)中分布式電子系統的新型低成本串行通信網(wǎng)絡(luò )。它由汽車(chē)廠(chǎng)商開(kāi)發(fā),專(zhuān)門(mén)應用于低端系統,作為CAN的輔助網(wǎng)絡(luò )或子網(wǎng)絡(luò )。在不需要CAN總線(xiàn)的帶寬和多功能的場(chǎng)合,比如智能傳感器和制動(dòng)裝置之間的通信,使用LIN總線(xiàn)可以大大節省成本。 目前,高/低速CAN和J1850總線(xiàn)已經(jīng)成為標準的車(chē)用網(wǎng)絡(luò )總線(xiàn)。這些總線(xiàn)速度極高,具有高抗電磁干擾性和高傳輸可靠性等優(yōu)越的性能,但價(jià)格也較高。大量的車(chē)身和安全性能方面的應用對車(chē)用網(wǎng)絡(luò )總線(xiàn)的性能要求并不太高,只需要一種性?xún)r(jià)比更高的標準車(chē)用網(wǎng)絡(luò )總線(xiàn),而LIN總線(xiàn)正好可以滿(mǎn)足這一需求。因此,目前LIN總線(xiàn)技術(shù)正被越來(lái)越廣泛的應用到車(chē)身電子中。 本文將結合汽車(chē)智能燈控系統,介紹LIN總線(xiàn)技術(shù)在其中的應用。本文首先介紹的是基于C167CS微控制器和智能功率器件的燈光控制模塊的總體功能設計,然后對于LIN總線(xiàn)技術(shù)在汽車(chē)智能燈控系統中的具體實(shí)施應用,包括LIN總線(xiàn)模塊的硬件接口電路設計和軟件設計做了深入的研究。 1 燈控模塊設計 本文基于英飛凌C167CS微控制器及智能功率器件設計了汽車(chē)燈光控制模塊,如圖1、2所示,微控制器采用英飛凌的C167CS-LM(外擴Flash)。子模塊1用于控制所有功率器件的開(kāi)關(guān)動(dòng)作,同時(shí)對系統狀態(tài)進(jìn)行定時(shí)監控,并提供合適的反饋信號。反饋信號反映了車(chē)燈的故障狀態(tài),子模塊1通過(guò)LIN總線(xiàn)將故障診斷信息傳輸到子模塊2。子模塊2接收來(lái)自于子模塊1的故障診斷信息,并通過(guò)液晶周期地顯示。子模塊2同時(shí)還處理來(lái)自于儀表盤(pán)的車(chē)燈控制信息,通過(guò)LIN總線(xiàn)傳輸到子模塊1,然后子模塊1根據儀表盤(pán)信息作用于相應的功率器件,實(shí)現對車(chē)燈的開(kāi)關(guān)設置。 系統通過(guò)采用LIN總線(xiàn)技術(shù),實(shí)現了兩個(gè)控制模塊之間車(chē)燈信息的實(shí)時(shí)傳輸。LIN總線(xiàn)硬件接口電路應用英飛凌公司的TLE6258總線(xiàn)LIN收發(fā)器,它作為介于協(xié)議控制器和物理總線(xiàn)之間的接口,特別適于在汽車(chē)和工業(yè)應用中的LIN系統中驅動(dòng)總線(xiàn)。TLE6258還提供空閑工作模式以減少電流消耗,具有短路保護和過(guò)溫保護等保護功能。 子模塊1中大量采用了英飛凌智能功率器件,其中BTS724和BTS716是電源MOSFET高位開(kāi)關(guān)(漏極與電源相連),帶電荷泵、輸入的參考地與CMOS兼容以及診斷反饋,而B(niǎo)TS443和BTS134是單通道FET功率管,也稱(chēng)為低位開(kāi)關(guān)(源極與電源相連),高位開(kāi)關(guān)和低位開(kāi)關(guān)都內嵌保護功能。負載可以是阻性負載、感性負載或容性負載,最適用于帶高浪涌電流的負載,如燈等,從而取代了傳統的繼電器、熔斷器和離散電路的傳統汽車(chē)燈光控制方法,避免了采用太多的分立元件,減小了模塊體積,同時(shí)提高了模塊的EMC特性。該模塊具有短路保護、過(guò)載保護、電流限制、過(guò)溫關(guān)斷、過(guò)壓保護、電源反接保護、掉地與欠壓保護和靜電保護等保護功能。 2 LIN總線(xiàn)簡(jiǎn)介 LIN總線(xiàn)是一種串行通信網(wǎng)絡(luò ),可以將開(kāi)關(guān)、顯示器、傳感器和執行器等簡(jiǎn)單控制設備連接起來(lái),主要用于汽車(chē)中的分布式電子控制系統。LIN采用單主機/多從機的總線(xiàn)拓撲結構(沒(méi)有總線(xiàn)仲裁),僅使用一根12V信號總線(xiàn)。主節點(diǎn)包含主任務(wù)和從任務(wù),從節點(diǎn)只包含從任務(wù)。它不需要專(zhuān)門(mén)的片上通訊模塊,采用標準串行通信接口USART,速率可達20kbps,總線(xiàn)長(cháng)度不大于40m。LIN總線(xiàn)作為一種輔助的總線(xiàn)網(wǎng)絡(luò ),在不需要CAN總線(xiàn)的優(yōu)越性能的場(chǎng)合,相比于CAN總線(xiàn)具有更高的性?xún)r(jià)比。 它有如下幾個(gè)方面的優(yōu)點(diǎn)。 ● LIN是一種低端網(wǎng)絡(luò )系統,可提供簡(jiǎn)單的網(wǎng)絡(luò )解決方案,支持網(wǎng)絡(luò )節點(diǎn)的互操作性,大大減少了系統安裝、調試和接線(xiàn)的成本和時(shí)間。 ● LIN的通信量小、配置靈活,采用單線(xiàn)連接及單主機/多從機的通信結構(無(wú)需總線(xiàn)仲裁),可保證低端設備及電子控制單元簡(jiǎn)便、快捷的實(shí)時(shí)通信。 ● 通過(guò)主機節點(diǎn)可將LIN與上層網(wǎng)絡(luò )(如CAN)相連接,實(shí)現LIN的子總線(xiàn)輔助通信功能,從而優(yōu)化網(wǎng)絡(luò )結構,提高網(wǎng)絡(luò )效率和可靠性。 ● LIN的協(xié)議是開(kāi)放的,任何組織和個(gè)人無(wú)需支付費用即可獲取。 LIN規范包括三個(gè)主要部分:LIN協(xié)議規范部分(說(shuō)明LIN的物理層和數據鏈路層)、LIN配置語(yǔ)言部分(說(shuō)明LIN配置文件的格式)和LIN API部分(說(shuō)明網(wǎng)絡(luò )與應用程序間的接口)。 LIN協(xié)議的通信機制和幀結構如圖3所示,LIN網(wǎng)絡(luò )中的每個(gè)節點(diǎn)都有一個(gè)從任務(wù)模塊,主節點(diǎn)還包含一個(gè)主任務(wù)模塊。幀頭由主任務(wù)發(fā)出,包括同步間隙、同步場(chǎng)和信息標識符。所有節點(diǎn)中的從任務(wù)(包括主節點(diǎn))對信息標識符進(jìn)行濾波,并發(fā)回數據場(chǎng)和校驗場(chǎng)。字節場(chǎng)采用SCI/UART串行數據格式。 3 LIN總線(xiàn)技術(shù)在汽車(chē)智能燈控系統中的應用 汽車(chē)燈光控制模塊的控制實(shí)際上是根據車(chē)燈的狀態(tài)信息及駕駛員對車(chē)燈狀態(tài)的要求來(lái)實(shí)現的。車(chē)燈的狀態(tài)信息主要是故障信息的反饋,駕駛員對車(chē)燈狀態(tài)的要求通過(guò)儀表盤(pán)的車(chē)燈按鈕來(lái)傳遞。本汽車(chē)燈光控制模塊為了便于整車(chē)安裝,分成兩個(gè)子模塊,如圖4所示。子模塊1負責根據儀表盤(pán)車(chē)燈按鈕的狀態(tài)控制功率器件開(kāi)關(guān)動(dòng)作,同時(shí)監控車(chē)燈狀態(tài),提供反饋信號,并根據反饋信號判斷車(chē)燈的故障狀態(tài)。子模塊2負責采集儀表盤(pán)車(chē)燈按鈕信息,同時(shí)用LCD顯示出目前車(chē)燈的故障狀態(tài)信息。 下面對汽車(chē)智能燈控模塊控制思想及LIN總線(xiàn)技術(shù)在其中的應用做出具體分析:在系統啟動(dòng)并進(jìn)行初始化以后,子模塊1開(kāi)始啟動(dòng)一個(gè)定時(shí)器,實(shí)現周期性地對數字量診斷輸出的車(chē)燈和模擬電流傳感器診斷輸出的車(chē)燈進(jìn)行檢測(檢測不同智能開(kāi)關(guān)向微控制器反饋的數字和模擬故障信號),對于出現故障的車(chē)燈信息,通過(guò)LIN總線(xiàn)傳輸到子模塊2。傳輸信息包括故障車(chē)燈的名稱(chēng)、故障車(chē)燈所在的診斷組(數字量診斷組或模擬量診斷組)和故障狀態(tài)(斷路或短路等)。子模塊1同時(shí)亦接收來(lái)自于子模塊2的儀表盤(pán)的車(chē)燈按鈕掃描信息,該信息包含了駕駛員對于車(chē)燈狀態(tài)的要求(開(kāi)通或關(guān)斷)。然后結合診斷結果及儀表盤(pán)的掃描結果,決定是否打開(kāi)車(chē)燈或關(guān)閉車(chē)燈。子模塊2通過(guò)LIN總線(xiàn)接收子模塊1傳輸過(guò)來(lái)的車(chē)燈的故障診斷信息,周期性的通過(guò)LCD進(jìn)行顯示。同時(shí)亦周期性的掃描儀表盤(pán)的按鈕狀態(tài),并通過(guò)LIN總線(xiàn)傳輸到子模塊1。 本汽車(chē)燈光控制模塊作為車(chē)身低端網(wǎng)絡(luò ),傳輸數據量小,對傳輸快速性要求不高,20kBaud完全可以滿(mǎn)足系統對傳輸速率的要求。相比于具有更多優(yōu)良性能而價(jià)格也更高昂的CAN總線(xiàn),LIN總線(xiàn)成本較低,容易在UART中實(shí)現,并具有較好的容故障能力和傳輸可靠性。在綜合考慮總線(xiàn)的硬件與軟件成本和總線(xiàn)的可靠性之后,選擇LIN總線(xiàn)實(shí)現燈控模塊內部?jì)蓚(gè)子模塊間的數據傳輸,而CAN總線(xiàn)則用于燈控模塊與車(chē)身內部其他ECU之間的通信。 3.1 LIN總線(xiàn)硬件接口電路 LIN總線(xiàn)硬件接口電路如圖5所示,該模塊分為主節點(diǎn)和從節點(diǎn)兩個(gè)單元。供電電源電路采用英飛凌TLE4278電壓調節器實(shí)現,輸入Vi為12V,輸出Vq為5V。收發(fā)器采用英飛凌TLE 6258系列LIN總線(xiàn)收發(fā)器。從安全角度考慮,主節點(diǎn)電路在電源引腳和總線(xiàn)間以及總線(xiàn)和參考地之間分別連接1kΩ電阻和1nF電容,以保證總線(xiàn)信號在顯性電平和隱性電平間切換時(shí)有合適的時(shí)間延遲。 TLE 6258是單線(xiàn)收發(fā)器,適用于LIN協(xié)議,與LIN規范1.2兼容,發(fā)送速率可達20kbps,功率消耗低,且具有短路保護和過(guò)溫保護等功能,特別適于作為汽車(chē)和工業(yè)應用,且可用于標準的ISO9141系統。為了減小電流損耗,TLE 6258提供了一種空閑模式。在空閑模式下,TLE 6258退出總線(xiàn)活動(dòng),既不接收也不發(fā)送數據,電流降到最低,從而達到減小電流損耗的目的。TLE 6258在正常工作模式和空閑模式之間的切換過(guò)程如圖6所示,在正常工作模式下,通過(guò)對ENN置1進(jìn)入空閑模式。在空閑模式下,通過(guò)在總線(xiàn)上發(fā)送喚醒幀,可把主機或從機從空閑模式喚醒,返回到正常工作模式。進(jìn)入正常工作模式后,ENN變?yōu)?,釋放RxD為傳輸數據狀態(tài)。 3.2 LIN總線(xiàn)通訊軟件設計 LIN軟件基于幾個(gè)狀態(tài)機制和功能塊,狀態(tài)機制通過(guò)串行接口的中斷調用,在程序中用nTRANSCEIVER_STATUS表示每個(gè)狀態(tài)。主機任務(wù)發(fā)送同步間隔場(chǎng)(Synch Break Field)、同步場(chǎng)(Synch Field)和標識符場(chǎng),如果從機在總線(xiàn)上檢測到匹配的標識符,它會(huì )接收或發(fā)送數據到總線(xiàn)(這里假設數據字節是8個(gè),主機為接收數據,從機為發(fā)送數據,也可定義為主機發(fā)送數據,從機接收數據)。以下(1)~(3)為主機任務(wù),(4)~(13)為從機任務(wù)。 (1)發(fā)送同步間隔場(chǎng); (2)接收同步間隔場(chǎng)和發(fā)送同步場(chǎng); (3)接收同步場(chǎng)和產(chǎn)生/發(fā)送ID域; (4)接收ID域(報文過(guò)濾),拷貝數據到緩沖器(LIN transfer buffer) 并發(fā)送第一個(gè)數據字節; (5)接收第一個(gè)數據字節和發(fā)送第二個(gè)數據字節; (6)接收第二個(gè)數據字節和發(fā)送第三個(gè)數據字節; (7)接收第三個(gè)數據字節和發(fā)送第四個(gè)數據字節; (8)接收第四個(gè)數據字節和發(fā)送第五個(gè)數據字節; (9)接收第五個(gè)數據字節和發(fā)送第六個(gè)數據字節; (10)接收第六個(gè)數據字節和發(fā)送第七個(gè)數據字節; (11)接收第七個(gè)數據字節和發(fā)送第八個(gè)數據字節; (12)接收第八個(gè)數據字節和計算/發(fā)送校驗和域; (13)接收校驗和域。 為了傳輸汽車(chē)智能燈控模塊中所需要的信息,定義了7個(gè)字節變量a0、a1、a2、a3、a4、a5和a6,用于存儲車(chē)燈故障狀態(tài)信息;另外還定義了兩個(gè)字節變量key_result0和key_result1,用于存儲儀表盤(pán)的車(chē)燈按鈕掃描信息。 車(chē)燈故障狀態(tài)信息的定義分為數字量診斷組和模擬量診斷組:數字量診斷組包括駐車(chē)燈、示警燈和尾燈等20盞燈;模擬量診斷組包括前照燈、霧燈等6盞燈。每盞燈的故障狀態(tài)有三種情況,用兩個(gè)“位”來(lái)表示:正常狀態(tài)(DIAG_OK),用“00”表示;斷路狀態(tài)(DIAG_OPEN_LOAD),用“01”表示;過(guò)載狀態(tài)(DIAG_OVERLOAD),用“10”表示。例如,左駐車(chē)燈用a2的低兩位表示,定義為static sbit parklightfrontleft_lowbit=a2^0、static sbit parklightfrontleft_highbit=a2^1;a2^1=0,a2^0=1,則表示駐車(chē)燈處于斷路故障狀態(tài)。如此推算,模擬量診斷組6盞車(chē)燈,故障狀態(tài)信息需要占用12位,我們用字節存儲器a0和a1表示;數字量診斷組20盞車(chē)燈,故障狀態(tài)信息需要占用40位,我們用字節存儲器a2、a3、a4、a5和a6表示。車(chē)燈故障狀態(tài)信息共計7字節,采用字節數為8的報文幀格式傳輸,第8個(gè)字節用0補齊。 儀表盤(pán)車(chē)燈按鈕共計16個(gè)開(kāi)關(guān)量,每個(gè)開(kāi)關(guān)量有兩種狀態(tài),用一個(gè)“位”表示:按鈕關(guān)斷,用“1”表示;按鈕打開(kāi),用“0”表示。我們用兩個(gè)字節存儲器key_result0和key_result1存儲按鈕信息,報文幀含有兩個(gè)字節的數據量。 發(fā)送數據字節過(guò)程如圖7所示。以發(fā)送車(chē)燈故障狀態(tài)信息為例,這個(gè)狀態(tài)機制用于把數據字節發(fā)送到總線(xiàn)上去,ID被定義為發(fā)送ID(SEND_ID)。 子狀態(tài)及相應的收發(fā)器狀態(tài)如下。 子狀態(tài)1~8:節點(diǎn)用于發(fā)送數據字節 接收中斷 LIN_vRxd_Interrupt; 子狀態(tài)9:節點(diǎn)用于發(fā)送數據字節 接收中斷 LIN_vRxd_Interrupt; 子狀態(tài)10:校驗和域已經(jīng)被正確接收 接收中斷 LIN_vRxd_Interrupt。 其中,子狀態(tài)1接收中斷中調用功能函數UCB_Txd,該函數獲取用戶(hù)數據存儲的首地址。 接收數據字節過(guò)程如圖8所示。以接收儀表盤(pán)車(chē)燈按鈕信息為例,這個(gè)狀態(tài)機制用于接收來(lái)自總線(xiàn)的數據,ID被定義為接收ID(REC_ID)。 子狀態(tài)及相應的收發(fā)器狀態(tài)如下。 子狀態(tài)1:節點(diǎn)用于接收數據字節 接收中斷 LIN_vRxd_Interrupt ; 子狀態(tài)2:節點(diǎn)用于接收數據字節 接收中斷 LIN_vRxd_Interrupt; 子狀態(tài)3:節點(diǎn)用于接收數據字節 接收中斷 LIN_vRxd_Interrupt; 子狀態(tài)4:節點(diǎn)用于接收數據字節 接收中斷 LIN_vRxd_Interrupt。 其中,子狀態(tài)4接收中斷中調用功能函數UCB_Rxd,該函數將接收到的數據存儲入用戶(hù)緩沖器。 結論 本文結合汽車(chē)智能燈控系統,對于LIN總線(xiàn)技術(shù)在汽車(chē)智能燈控系統中的具體實(shí)施應用,包括LIN總線(xiàn)模塊的硬件接口電路設計和軟件設計做了深入研究。實(shí)驗證實(shí):LIN總線(xiàn)憑借其結構簡(jiǎn)單、配置靈活、性?xún)r(jià)比高等方面的獨特優(yōu)勢,不僅能夠滿(mǎn)足汽車(chē)智能燈光控制系統對數據信息傳輸的要求,而且節省成本,完全達到了期望的性能、價(jià)格要求,具有廣闊的應用前景。 |