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