基于CAN總線的電動(dòng)汽車整車參數(shù)測試網(wǎng)絡(luò)
1、引言
現(xiàn)代交通的迅猛發(fā)展帶來的能源與環(huán)境危機(jī)已經(jīng)成為世界性的難題。發(fā)展電動(dòng)汽車,采用清潔能源,被認(rèn)為是最好的解決方案之一。為此,各國投入了大量的人力物力進(jìn)行電動(dòng)汽車的研究,并取得了可喜成果。
電動(dòng)汽車不僅包括傳統(tǒng)汽車的運(yùn)行速度、行駛里程等參數(shù),還包括電動(dòng)汽車獨(dú)有的能耗、電源電壓、電流及電機(jī)轉(zhuǎn)速等電氣參數(shù),參數(shù)多達(dá)100多項(xiàng)。掌握這些參數(shù)對于分析電動(dòng)汽車整體運(yùn)行性能有著重要意義。這些參數(shù)類型各異、位置分散,要想集中測量存在很大困難。因此,需要分散測量,再通過監(jiān)控節(jié)點(diǎn)集中顯示和記錄的方式構(gòu)造測試網(wǎng)絡(luò)??刂破骶钟蚓W(wǎng)CAN(controller area network)能有效支持分布式和實(shí)時(shí)控制的串行通訊,與其它現(xiàn)場總線相比,它具有簡單可靠、速率高、無主從以及連接方便等諸多優(yōu)點(diǎn),是一種在汽車車載測控網(wǎng)絡(luò)中成熟應(yīng)用的總線形式。因此,我們選用CAN總線構(gòu)造電動(dòng)汽車整車參數(shù)測試網(wǎng)絡(luò)。
2、CAN總線網(wǎng)絡(luò)總體結(jié)構(gòu)
2.1 監(jiān)測網(wǎng)絡(luò)總體結(jié)構(gòu)
圖1 系統(tǒng)總體結(jié)構(gòu)框圖
電動(dòng)汽車整車運(yùn)行參數(shù)監(jiān)測網(wǎng)絡(luò)共由9個(gè)CAN節(jié)點(diǎn)構(gòu)成,包括1個(gè)負(fù)責(zé)網(wǎng)絡(luò)調(diào)度與數(shù)據(jù)處理的PC104監(jiān)控節(jié)點(diǎn)和8個(gè)單片機(jī)數(shù)據(jù)采集節(jié)點(diǎn)。8個(gè)數(shù)據(jù)采集節(jié)點(diǎn)包括1個(gè)車輛參數(shù)采集節(jié)點(diǎn)、1個(gè)動(dòng)力電池參數(shù)采集節(jié)點(diǎn)、1個(gè)輔助電池參數(shù)采集節(jié)點(diǎn)、1個(gè)電機(jī)參數(shù)采集節(jié)點(diǎn)和4個(gè)電池參數(shù)采集節(jié)點(diǎn)。由于動(dòng)力電池節(jié)點(diǎn)、輔助電池節(jié)點(diǎn)和電機(jī)節(jié)點(diǎn)采集的參數(shù)都是電壓、電流以及充放電的能量,因此可以將這三個(gè)節(jié)點(diǎn)作為一類節(jié)點(diǎn)設(shè)計(jì),統(tǒng)稱為電量參數(shù)采集節(jié)點(diǎn)。動(dòng)力電池由40節(jié)12V鉛酸蓄電池串聯(lián)而成,串聯(lián)電池組的性能取決于每節(jié)電池的性能,40組電池參數(shù)在4個(gè)電池節(jié)點(diǎn)中分別進(jìn)行測量,每個(gè)節(jié)點(diǎn)負(fù)責(zé)測試10節(jié)電池的參數(shù),因此4個(gè)電池參數(shù)采集節(jié)點(diǎn)是另一類數(shù)據(jù)采集節(jié)點(diǎn)。此外,還有1個(gè)車輛參數(shù)采集節(jié)點(diǎn),主要采集車輛的各種狀態(tài),包括車輛啟動(dòng)、停止,空調(diào)的開關(guān)狀態(tài),發(fā)動(dòng)機(jī)的轉(zhuǎn)速(針對混合動(dòng)力車),電機(jī)轉(zhuǎn)速。因此這個(gè)系統(tǒng)包括了3類數(shù)據(jù)采集節(jié)點(diǎn),即電量節(jié)點(diǎn)、電池節(jié)點(diǎn)和車輛節(jié)點(diǎn)。整個(gè)系統(tǒng)的結(jié)構(gòu)如圖1所示。
在整個(gè)的系統(tǒng)中,共有3類8個(gè)數(shù)據(jù)采集節(jié)點(diǎn),完成146項(xiàng)參數(shù)的采集。采集的數(shù)據(jù)通過CAN總線將數(shù)據(jù)發(fā)送到監(jiān)控節(jié)點(diǎn),監(jiān)控節(jié)點(diǎn)也通過微處理器完成總線上數(shù)據(jù)的接收。同時(shí),該節(jié)點(diǎn)通過雙口RAM和一臺PC104計(jì)算機(jī)的ISA總線通訊,PC104通過雙口RAM獲取監(jiān)控節(jié)點(diǎn)從總線上收到的數(shù)據(jù),并將數(shù)據(jù)進(jìn)行顯示和記錄。同時(shí),PC104還通過一個(gè)串行口直接接收GPS數(shù)據(jù)接收板的車輛速度、經(jīng)緯度和時(shí)鐘信息,并作為同步信息進(jìn)行記錄和顯示,以便將汽車的實(shí)時(shí)性能與速度和運(yùn)行地況聯(lián)系起來。信息每0.5秒記錄一次,采用變化記錄的數(shù)據(jù)壓縮算法,并以*.dat文件格式進(jìn)行存儲。
2.2 網(wǎng)絡(luò)中傳輸?shù)男畔?/p>
CAN總線是通過信息幀傳輸數(shù)據(jù)的,可分為數(shù)據(jù)幀、遠(yuǎn)程幀、錯(cuò)誤幀和超載幀。信息以報(bào)文為單位傳輸,不同的報(bào)文以標(biāo)識符(ID)進(jìn)行區(qū)分,標(biāo)識符越小,報(bào)文的優(yōu)先級越高。
監(jiān)控節(jié)點(diǎn)發(fā)送信息的報(bào)文標(biāo)識符為00H,用于向數(shù)據(jù)采集節(jié)點(diǎn)發(fā)送查詢信息,采集節(jié)點(diǎn)收到監(jiān)控節(jié)點(diǎn)的查詢信息后,向總線上發(fā)送自己的一包數(shù)據(jù),監(jiān)控節(jié)點(diǎn)收到以后確認(rèn)此節(jié)點(diǎn)工作正常。通過這種方式,監(jiān)控節(jié)點(diǎn)可以隨時(shí)查詢網(wǎng)絡(luò)中連接了那些數(shù)據(jù)采集節(jié)點(diǎn)。由于報(bào)文所帶數(shù)據(jù)長度最大為8字節(jié),對于測量參數(shù)較多的電量節(jié)點(diǎn)和電池節(jié)點(diǎn),需要分配較多的報(bào)文標(biāo)識符。每個(gè)電量節(jié)點(diǎn)分配2個(gè)標(biāo)識符,每節(jié)電池分配1個(gè)標(biāo)識符。因?yàn)榕c參數(shù)相聯(lián)系的報(bào)文標(biāo)識符是固定的,根據(jù)收到的標(biāo)識符就可判斷收到的是哪個(gè)參數(shù)。電動(dòng)汽車整車參數(shù)監(jiān)測網(wǎng)絡(luò)中傳送的報(bào)文標(biāo)識符(ID)與參數(shù)的對應(yīng)關(guān)系見表1:
表1 報(bào)文標(biāo)識符與參數(shù)對應(yīng)表
3、數(shù)據(jù)采集節(jié)點(diǎn)的設(shè)計(jì)
作為一個(gè)運(yùn)行參數(shù)監(jiān)測網(wǎng)絡(luò),數(shù)據(jù)采集是系統(tǒng)工作的基礎(chǔ)。本系統(tǒng)共有3類8個(gè)數(shù)據(jù)采集節(jié)點(diǎn),即車輛參數(shù)采集節(jié)點(diǎn),3個(gè)電量參數(shù)采集節(jié)點(diǎn)和4個(gè)電池參數(shù)采集節(jié)點(diǎn)。下面將分別就3類節(jié)點(diǎn)的設(shè)計(jì)進(jìn)行介紹。
系統(tǒng)中所有的數(shù)據(jù)采集節(jié)點(diǎn)都采用如圖2所示的結(jié)構(gòu),包括一個(gè)微處理器、一個(gè)CAN控制器和一個(gè)CAN收發(fā)器。微處理器采用INTEL公司的80C196KB,主要負(fù)責(zé)采集外界的各項(xiàng)參數(shù),同時(shí)管理和調(diào)度節(jié)點(diǎn)的工作,當(dāng)采集到一組合理的數(shù)據(jù)以后,通過操作CAN控制器向總線上發(fā)送數(shù)據(jù)。CAN控制器選用了SJA1000,它集成了CAN2.0A和CAN2.0B的總線協(xié)議,負(fù)責(zé)完成數(shù)據(jù)的發(fā)送和接收。CAN收發(fā)器82C250是CAN控制器和物理總線的接口,其內(nèi)部驅(qū)動(dòng)電路具有限流電路,提供對總線的差動(dòng)發(fā)送和接收功能,同時(shí)采用了光電隔離同總線交換數(shù)據(jù),有助于抑制汽車等惡劣電氣環(huán)境下的瞬變干擾。
3.1 車輛參數(shù)采集節(jié)點(diǎn)的設(shè)計(jì)
車輛節(jié)點(diǎn)采集的參數(shù)包括車輛啟動(dòng)、停止的狀態(tài),空調(diào)的開關(guān)狀態(tài),電機(jī)與發(fā)動(dòng)機(jī)的轉(zhuǎn)速信息,從采集參數(shù)的特征來看,分為開關(guān)量和頻率量。對于開關(guān)量的采集,無需額外的傳感器,只需要將電壓信號通過光電耦合直接輸入微處理器的輸入口即可檢測;對于頻率量的轉(zhuǎn)速,我們選用了霍爾傳感器進(jìn)行測量。在輸出軸上貼磁鋼片,當(dāng)磁鋼片通過霍爾元件時(shí),霍爾傳感器輸出脈沖,此脈沖通過光電隔離輸入到80C196的高速輸入口,由于高速輸入口可以自動(dòng)記錄脈沖跳變的時(shí)刻,可以對脈沖進(jìn)行精確測量,而且高低頻率都適用。車輛采集節(jié)點(diǎn)的結(jié)構(gòu)框圖如圖3所示。
3.2 電量節(jié)點(diǎn)的設(shè)計(jì)
對于電壓電流等電參數(shù)來說,應(yīng)用通常的A/D變換很容易測量;但是對于電能參數(shù),由于是電壓電流的時(shí)間積分值,應(yīng)用普通方法測量起來難度很大。因此對于電量測量選用集成電量測量芯片CS5460A,該芯片可以同時(shí)測量電壓、電流以及兩者的功率和能量。CS5460A是帶有串行SPI接口的單相雙向功率/電能計(jì)量集成電路芯片,主要應(yīng)用在單相電子式電能表和三相電子式電能表中。芯片完成一次校準(zhǔn)后,將校準(zhǔn)系數(shù)存到系統(tǒng)的EEPROM中,每次上電CPU從EEPROM中讀出校準(zhǔn)系數(shù),并寫入測量芯片中,然后通過SPI接口寫入命令,即可進(jìn)行相應(yīng)電流電壓和電能的測量。通過SPI接口,微處理器讀出該芯片中的測量結(jié)果,更新EEPROM中的電能信息,并通過報(bào)文的方式發(fā)送到CAN總線上。
為了保證測量電路的工作可靠,測量電路在設(shè)計(jì)時(shí)通過光電隔離器件將CS5460A的SPI接口和微處理器的I/O口進(jìn)行隔離,防止了相互的干擾。由于芯片SPI接口的數(shù)據(jù)線(SDI、SDO)和時(shí)鐘線(SCLK)信號變化很快,選用高速光耦6N137隔離,其耦合速率可達(dá)10Mbps;而芯片的片選(CS)、復(fù)位(RESET)和中斷(INT)輸出信號屬于電平信號,變換速率很低,用普通光耦TLP521-1即可實(shí)現(xiàn)。
3.3 電池參數(shù)采集節(jié)點(diǎn)設(shè)計(jì)
電動(dòng)汽車動(dòng)力電池是由40節(jié)12V鉛酸蓄電池串聯(lián)而成,每節(jié)電池的性能將影響整個(gè)電池組的性能。因此有必要對每一個(gè)電池的參數(shù)進(jìn)行測量。包括每節(jié)電池的電壓,電流以及測量傳感器的狀態(tài)。由于共有40節(jié)電池,用一個(gè)節(jié)點(diǎn)進(jìn)行測量任務(wù)量太大,因此設(shè)計(jì)了4個(gè)節(jié)點(diǎn)對40節(jié)電池進(jìn)行測量,每個(gè)節(jié)點(diǎn)負(fù)責(zé)10節(jié)電池參數(shù)的測量,電池參數(shù)只有電壓和電流,可以通過簡單的A/D變換得到,因此,電池節(jié)點(diǎn)的設(shè)計(jì)不再詳細(xì)介紹。
4、基于PC104的監(jiān)控節(jié)點(diǎn)的設(shè)計(jì)
由于整個(gè)網(wǎng)絡(luò)測試的146項(xiàng)參數(shù)都要進(jìn)行顯示和記錄,以微處理器為核心的單片機(jī)系統(tǒng)顯然無法勝任如此繁重的任務(wù)需求。另外采用單片機(jī)開發(fā)必然會帶來巨大的工作量。為了給用戶提供友好的人機(jī)交互界面,減小開發(fā)工作量,監(jiān)測節(jié)點(diǎn)選擇了結(jié)構(gòu)緊湊,軟硬件功能和PC相近的嵌入式PC104模塊進(jìn)行開發(fā)。
PC104模塊采用嵌入式CPU,選用256MB 袖珍Flash 盤作為系統(tǒng)硬盤,存儲操作系統(tǒng)、應(yīng)用程序和采集數(shù)據(jù),選用夏普10.4英寸液晶顯示屏作為人機(jī)交換的界面。
PC機(jī)與外設(shè)的接口方式靈活多樣決定了CAN控制器和PC機(jī)的接口方式也是多種多樣的,常用的方式有:RS-232串口、并行打印口、USB接口、ISA總線接口等。本系統(tǒng)中PC104通過雙口RAM通訊獲取智能接收節(jié)點(diǎn)的數(shù)據(jù)。所謂的智能接收節(jié)點(diǎn),是指該節(jié)點(diǎn)配有微處理器,它通過雙口RAM和PC104完成數(shù)據(jù)交換,將從總線上接收到的數(shù)據(jù)發(fā)送到PC104進(jìn)行顯示和記錄,并將PC104要發(fā)送的數(shù)據(jù)發(fā)送到CAN總線上。由于加入了微處理器,極大地減輕了主機(jī)PC104的負(fù)擔(dān),提高了系統(tǒng)的實(shí)時(shí)性能。
4.1 基于信箱格式的雙口RAM通訊
信箱結(jié)構(gòu)是實(shí)現(xiàn)對于雙口RAM內(nèi)部存儲區(qū)共享的一種邏輯結(jié)構(gòu)。信箱式共享存儲區(qū)具有兩層含義:首先把各微處理器專用存儲區(qū)與共享存儲區(qū)劃分開來,僅建立一塊較小的共享區(qū)供通訊使用;其次對共享區(qū)作了細(xì)分,仿效郵政信箱格式建立了分格式邏輯結(jié)構(gòu)。
智能節(jié)點(diǎn)的微處理器和PC104的ISA總線之間通過雙口RAM IDT7132進(jìn)行數(shù)據(jù)交換,在雙口RAM中開辟了2塊公共存儲區(qū)作為通訊的2個(gè)公共信箱,一個(gè)用于微處理器向PC104傳輸數(shù)據(jù),另一個(gè)用于PC104向微處理器傳送數(shù)據(jù)。下面以微處理器向PC104通訊的公共信箱為例介紹基于信箱格式的通訊方式。
智能節(jié)點(diǎn)向PC104傳送數(shù)據(jù)的公共信箱長度為16個(gè)字節(jié),其中第一個(gè)字節(jié)為可讀寫標(biāo)記,當(dāng)任何一方需要操作讀寫數(shù)據(jù)時(shí),先檢查該字節(jié),若為0AAH,則不能進(jìn)行操作;若為55H,可以操作;第二個(gè)字節(jié)是讀寫次數(shù),表示在PC104讀出數(shù)據(jù)之前,智能節(jié)點(diǎn)寫入新的數(shù)據(jù)的次數(shù);第三個(gè)字節(jié)為該組數(shù)據(jù)的ID號,以區(qū)分不同的數(shù)據(jù);第四個(gè)字節(jié)開始為真正的數(shù)據(jù)區(qū),數(shù)據(jù)區(qū)的長度依據(jù)前面ID的不同會有差別;數(shù)據(jù)區(qū)之后是一個(gè)字節(jié)的垂直異或校驗(yàn)值(從讀寫次數(shù)開始的異或結(jié)果),可以據(jù)此對傳輸數(shù)據(jù)的正確性進(jìn)行驗(yàn)證。
4.2 基于VC的顯示記錄軟件設(shè)計(jì)
車載PC104節(jié)點(diǎn)基于Windows98操作系統(tǒng)完成了實(shí)時(shí)多任務(wù)的可視化程序設(shè)計(jì),實(shí)現(xiàn)了對146項(xiàng)參數(shù)的數(shù)據(jù)接收、處理和顯示。采用“非定長”數(shù)據(jù)壓縮算法,對大量數(shù)據(jù)進(jìn)行記錄。由于采用高級語言Visual C6.0進(jìn)行編程,給設(shè)計(jì)工作帶來了很大方便,界面采用了傳統(tǒng)儀表顯示和動(dòng)畫顯示的結(jié)合,搭建了友好的人機(jī)交換界面。
5、地面數(shù)據(jù)分析處理
地面數(shù)據(jù)分析處理軟件采用VisualBasic6.0作為開發(fā)工具,界面圖文并茂,操作簡單直觀。數(shù)據(jù)庫采用SQL數(shù)據(jù)庫對實(shí)驗(yàn)數(shù)據(jù)進(jìn)行存儲和操作。主要功能是將從PC104轉(zhuǎn)儲的實(shí)驗(yàn)數(shù)據(jù)解壓后存儲為數(shù)據(jù)庫,同時(shí)描繪出各種參數(shù)隨時(shí)間變化的曲線。圖4為某次運(yùn)行過程中記錄的電機(jī)電流曲線圖。
分析軟件的功能主要包括:(1)轉(zhuǎn)儲實(shí)驗(yàn)數(shù)據(jù),并對數(shù)據(jù)解壓形成實(shí)驗(yàn)數(shù)據(jù)庫;(2)對實(shí)驗(yàn)進(jìn)行回放,再現(xiàn)實(shí)驗(yàn)過程中各參數(shù)的變化過程;(3)可任意進(jìn)行局部縮放,能夠仔細(xì)觀察某時(shí)刻的參數(shù)值;(4)可對數(shù)據(jù)庫進(jìn)行查詢和簡單的統(tǒng)計(jì),并可以打印查詢和統(tǒng)計(jì)結(jié)果的報(bào)表;(5)通過分析處理軟件,可以看出各個(gè)參數(shù)的變化趨勢,為分析電動(dòng)汽車的性能提供參考。
6、結(jié)語
電動(dòng)汽車整車運(yùn)行參數(shù)記錄裝置在完成研制后,在汕頭國家電動(dòng)汽車運(yùn)行試驗(yàn)基地裝車,經(jīng)過多次軟硬件調(diào)整后,系統(tǒng)運(yùn)行穩(wěn)定,各項(xiàng)參數(shù)測量準(zhǔn)確,實(shí)時(shí)性好,記錄無誤,通訊工作正常,數(shù)據(jù)處理、分析正確,達(dá)到了預(yù)期效果,已經(jīng)通過項(xiàng)目組的驗(yàn)收。
參考文獻(xiàn)
[1] PHILIPS Corporation.SJA1000, Stand-alone CAN controller product specification.2000
[2] 饒運(yùn)濤,鄒繼軍,鄭勇蕓.現(xiàn)場總線CAN原理與應(yīng)用技術(shù).北京:北京航空航天大學(xué)出版社,2003
[3] 邱公偉,趙祥元,巫淑萍.實(shí)時(shí)控制與智能儀表多微機(jī)系統(tǒng)的通信技術(shù).北京:清華大學(xué)出版社,1996