《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 基于iCAN-bus的汽車駕駛狀態(tài)測量節(jié)點的設(shè)計

基于iCAN-bus的汽車駕駛狀態(tài)測量節(jié)點的設(shè)計

2008-11-26
作者:張 華1, 吳 欣1, 滕欣欣2

??? 摘??要: 提出了一種基于iCAN總線的汽車駕駛狀態(tài)測量節(jié)點" title="測量節(jié)點">測量節(jié)點的設(shè)計,給出了測量節(jié)點的硬件實現(xiàn)框圖及系統(tǒng)中轉(zhuǎn)發(fā)器軟件的設(shè)計方法,還對采用的加速度傳感器" title="加速度傳感器">加速度傳感器的數(shù)據(jù)處理方法進行了說明,。?

????關(guān)鍵詞: iCAN-bus;智能測控" title="智能測控">智能測控節(jié)點;LPC2119;加速度傳感器

?

??? 控制器局域網(wǎng)CAN(Controller Area Network)是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,。CAN最初被設(shè)計作為汽車環(huán)境中的控制總線,在車載各電子控制裝置(ECU)之間交換信息,形成汽車電子控制網(wǎng)絡(luò),。如在發(fā)動機管理系統(tǒng),、變速箱控制器、儀表裝備,、電子主干系統(tǒng)中,均嵌入CAN控制裝置[1],。CAN 總線具有實時性強、傳輸距離遠,、抗電磁干擾能力強,、成本低等優(yōu)點,以其高性能、高可靠性和獨立的設(shè)計而被廣泛應(yīng)用于汽車工業(yè),、航空工業(yè),、工業(yè)控制、安全防護等領(lǐng)域,。?

??? 本文提出了一種以Philips LPC2119為控制器的汽車駕駛狀態(tài)測量節(jié)點的設(shè)計, iCAN-bus協(xié)議的應(yīng)用使汽車駕駛狀態(tài)(方向盤,、油門、剎車和ECU控制等信息)的采集、處理和信息管理更具實時性和高效性,。經(jīng)實驗測試,該控制系統(tǒng)數(shù)據(jù)傳輸快速,、準確。?

1 CAN總線系統(tǒng)組成模式?

1.1 基于iCAN協(xié)議的CAN網(wǎng)絡(luò)?

??? 在本文的系統(tǒng)中,采用自主研發(fā)的iCAN協(xié)議作為本系統(tǒng)的應(yīng)用協(xié)議[2],。iCAN協(xié)議是基于CAN的內(nèi)部通信協(xié)議,該協(xié)議小巧,、通信效率高,對硬件資源要求低,非常適合于小型系統(tǒng)的使用。系統(tǒng)中的設(shè)備統(tǒng)稱為iCAN節(jié)點,。iCAN協(xié)議定義的通信方式是“面向節(jié)點,基于連接”的通信方式,。“面向節(jié)點”是指源節(jié)點地址及目的節(jié)點地址均已給定,即對于任何一個報文參與通信的雙方是確定的,。如圖1所示,。?

?

?

??? “基于連接”是指在網(wǎng)絡(luò)中任何一個參與通信的從站設(shè)備都必須和主站設(shè)備之間建立一個獨立的通信連接。這樣也為對任何一個設(shè)備的通信進行監(jiān)控提供了可能,。如圖2所示,。?

?

?

1.2 設(shè)備的通信模式?

??? iCAN協(xié)議定義了兩種通信方式:主從輪詢" title="輪詢">輪詢方式和事件觸發(fā)方式。主從輪詢方式又可分成點對點方式和廣播方式;事件觸發(fā)方式又可分成定時循環(huán)方式和狀態(tài)觸發(fā)方式,。如表1所示,。

?

?

1.3 實際的iCAN系統(tǒng)設(shè)計?

??? 在本文設(shè)計中,采用分布式處理的思想,每個從節(jié)點都能完成一些數(shù)據(jù)處理工作。例如,在加速度的數(shù)據(jù)采集中,相應(yīng)從站完成數(shù)據(jù)的采集,、調(diào)理,、有效數(shù)據(jù)的判斷等。這樣,減輕了主節(jié)點的工作量,減少了通信次數(shù)從而能進一步提高通信質(zhì)量,。?

??? 在通信模式上,采用主從輪詢和事件觸發(fā)相結(jié)合的方式,。在有從節(jié)點采集到有效數(shù)據(jù)的時候才主動向主節(jié)點報告,在通常情況下是沒有任何動作的。之所以還需要主從輪詢模式是基于以下原因,。從節(jié)點如果長時間沒有向主節(jié)點發(fā)送數(shù)據(jù),有兩種可能:第一,的確沒有數(shù)據(jù);第二,該節(jié)點已經(jīng)損壞,。在節(jié)點損壞的情況下,不會有任何數(shù)據(jù)發(fā)出,所以主節(jié)點必須定時查詢從節(jié)點的狀態(tài),這個查詢周期可以設(shè)置得比較長,視具體要求而定(典型值在幾百毫秒到幾秒)。對于損壞的從節(jié)點,主站會及時向用戶報警,。?

??? 系統(tǒng)由上位計算機節(jié)點(包括嵌入式PC機和CAN接口卡)作為系統(tǒng)的主節(jié)點,汽車駕駛狀態(tài)智能測控節(jié)點等作為從節(jié)點組成,。網(wǎng)絡(luò)拓撲結(jié)構(gòu)為總線型,通信介質(zhì)為屏蔽雙絞線。主節(jié)點除了負責與從節(jié)點的基本通信外,還負責運行汽車駕駛狀態(tài)(疲勞駕駛)智能控制程序,動態(tài)顯示各節(jié)點的工作狀態(tài)和重要的現(xiàn)場參數(shù)以及報警信息等,并對各節(jié)點的控制參數(shù),、運行參數(shù)進行整定和修改,。系統(tǒng)結(jié)構(gòu)如圖3所示。從節(jié)點對方向盤,、油門,、剎車和ECU控制等信息進行采集并傳至主節(jié)點。對于不同的設(shè)備,其總線轉(zhuǎn)換接口原理相同,只是具體的轉(zhuǎn)換模塊不同,。?

?

?

??? 油門控制加速度傳感器測量節(jié)點負責iCAN 總線的物理接口和底層協(xié)議的實現(xiàn),。測量節(jié)點如圖4所示,。?

?

?

1.4 CAN控制器?

??? 該測量節(jié)點的硬件電路以Philips的單片機LPC2119為核心,由高速CAN收發(fā)器TJA1050 和抗干擾電路等組成[3]。LPC2119內(nèi)帶有ARM7內(nèi)核,具有封裝小,、功耗低,、多個32位定時器、4路10位ADC,、2路CAN以及多達9個外部中斷等優(yōu)點,使得節(jié)點具有強大的數(shù)據(jù)處理能力,可運行高級的算法,如快速傅立葉變換等,。TJA1050提供了CAN控制器與物理總線之間的接口,以及對CAN總線的差動發(fā)送和接收功能。TJA1050是汽車專用高速CAN收發(fā)器,具有優(yōu)秀的EMC和EMI性能,。實踐證明,采用LPC2119和TJA1050構(gòu)造的CAN通信模塊,外圍擴展能力強,、空間小、同時可改善電磁輻射性能和抗電磁干擾性能,。該智能節(jié)點對加速度傳感器信號進行模數(shù)轉(zhuǎn)換,并對所獲得的數(shù)據(jù)進行處理;CAN控制器用于同上位機進行數(shù)據(jù)通信,完成CAN總線數(shù)據(jù)的接收與發(fā)送工作;各智能測控節(jié)點可以對各自的參數(shù)進行初始化、自動調(diào)整和配置等工作,。?

1.5 Low-G系列加速度傳感器?

??? Freescale雙軸加速度傳感器MMA6260Q由兩部分組成:G-單元和信號調(diào)理ASIC電路,。G-單元是機械結(jié)構(gòu),它是用半導(dǎo)體制作技術(shù)、由多晶硅半導(dǎo)體材料制成;信號調(diào)理ASIC電路由積分,、放大,、濾波和控制邏輯等組成,完成G-單元測量的信號到電壓輸出的轉(zhuǎn)換。加速度傳感器的輸出電壓與加速度成正比,為了測量加速度傳感器芯片的輸出電壓,通常使用帶有A/D的微控制器,。傳感器輸出與A/D之間的RC濾波電路用于減小時鐘噪聲,電源與地之間的0.1μF電容是去耦電容,芯片安裝時要盡量減小加速度傳感器與微控制器之間的距離,。測試電路如圖5所示。?

?

?

??? ARM7 LPC2119 的A/D轉(zhuǎn)換器基本時鐘由VPB時鐘提供,。每個轉(zhuǎn)換器包含一個可編程分頻器,可將時鐘調(diào)整至逐步逼近轉(zhuǎn)換所需的4.5MHz(最大);完全滿足精度要求的轉(zhuǎn)換需要11個轉(zhuǎn)換時鐘,10位轉(zhuǎn)換時間小于2.44μs,。為了降低噪聲和出錯幾率,模擬地和數(shù)字地之間、模擬電源和數(shù)字電源之間均用10μH的電感進行隔離,。?

2 系統(tǒng)軟件設(shè)計?

??? 系統(tǒng)軟件設(shè)計" title="軟件設(shè)計">軟件設(shè)計包括兩方面:(1)智能測控節(jié)點軟件設(shè)計,。主要是對加速度傳感器的采樣數(shù)據(jù)處理和完成與上位機之間的數(shù)據(jù)通信功能。(2)上位機軟件設(shè)計,。主要包括CAN節(jié)點初始化,、報文發(fā)送和報文接收,。?

2.1 智能節(jié)點軟件設(shè)計?

??? 由加速度傳感器MMA6260Q采樣來的模擬信號由LPC2119 A/D轉(zhuǎn)換,經(jīng)過有效數(shù)據(jù)檢查,、數(shù)字濾波、標度變換,、線性化技術(shù)等處理,消除由于隨機干擾帶來的誤差,得到實際被測加速度的準確數(shù)值,。LPC2119初始化完成以下任務(wù):設(shè)置工作方式、接收濾波方式,、接收屏蔽寄存器AMR和接收代碼ACR,、波特率參數(shù)和中斷允許寄存器IER等,。系統(tǒng)設(shè)定工作頻率為16MHz,波特率配置為1Mb/s。?

2.2 報文發(fā)送和接收子程序

??? CAN控制器有三個獨立的發(fā)送緩沖寄存器,發(fā)送時要判斷緩沖空閑,本設(shè)計中,先判斷第一主發(fā)送緩沖區(qū),然后進行數(shù)據(jù)格式轉(zhuǎn)換,啟動發(fā)送數(shù)據(jù),。報文發(fā)送,、接收數(shù)據(jù)流程如圖6所示。CAN的發(fā)送和接收子程序完成了CAN控制器的底層驅(qū)動,。?

?

?

??? 報文發(fā)送函數(shù)原型:INT32U CANSendData(CANNUM CanNum,INT32U Cmd,*RxBuf),CanNum:CAN控制器;Cmd:發(fā)送命令字;RxBuf:發(fā)送數(shù)據(jù)指針,。?

??? 接收采用中斷方式,為避免數(shù)據(jù)丟失,在函數(shù)庫中建立環(huán)形緩沖結(jié)構(gòu):?

??? Typedef struct_RcvCANDataCycleBuf_{ INT32U WritePoint:8;ReadPoint:8;?FullFlag:8;?

??? stcRxBUF RcvBuf [CAN_RCV_BUF_SIZE];?

??? }stcRcvCANCyBuf,*P_stcRcvCANCyBuf;?

??? 報文接收函數(shù)原型:?

??? void ReadCanRxBuf(CANNUM CanNum,stcRcvCAN CyBuf*RcvCyBuf) ?

??? CanNum:CAN控制器; RcvCyBuf:目標環(huán)形緩沖區(qū)指針。?

2.3 iCAN協(xié)議報文接收處理?

??? 智能節(jié)點必須符合iCAN協(xié)議報文的格式,先要把CAN的數(shù)據(jù)轉(zhuǎn)換成符合iCAN協(xié)議格式的報文,再通過CAN的收發(fā)子程序發(fā)送和接收,iCAN報文的接收處理流程如圖7所示,。?

?

?

??? 系統(tǒng)采用iCAN總線技術(shù)及協(xié)議設(shè)計,實現(xiàn)了汽車駕駛狀態(tài)——方向盤,、油門、剎車和ECU控制等信息采集和處理,。與以往的系統(tǒng)相比,其最大特點是提高了各測量節(jié)點的精度和穩(wěn)定性以及系統(tǒng)數(shù)據(jù)通信的速度并增強了抗干擾能力,。?

參考文獻?

[1] 鄔明寬. CAN 總線原理和應(yīng)用系統(tǒng)設(shè)計[M]. 北京:?北京航空航天大學出版社,1996. ?

[2]?周立功. iCAN現(xiàn)場總線原理與應(yīng)用[M]. 北京: 北京航空航天大學出版社,2007.?

[3]?周立功,張華. 深入淺出ARM7-LPC213x/214x(上、下)?[M].北京:北京航空航天大學出版社,2005.?

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,,以便迅速采取適當措施,,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。