基于虛擬儀器的車(chē)載CAN總線監(jiān)控系統(tǒng)開(kāi)發(fā)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
汽車(chē)在開(kāi)發(fā)過(guò)程中需要對(duì)整車(chē)運(yùn)行參數(shù)進(jìn)行采集和監(jiān)控,以便分析各部件的運(yùn)行狀況,優(yōu)化和改進(jìn)整車(chē)控制策略。在整車(chē)耐久性考核中也需要全程采集和記錄運(yùn)行數(shù)據(jù),以便對(duì)整車(chē)及部件性能變化進(jìn)行分析。因此車(chē)載CAN總線監(jiān)控系統(tǒng)是電動(dòng)汽車(chē)研究和開(kāi)發(fā)的重要工具,本文重點(diǎn)論述車(chē)載CAN總線監(jiān)控系統(tǒng)的開(kāi)發(fā)以及在燃料電池汽車(chē)道路考核試驗(yàn)中的應(yīng)用。
1 汽車(chē)CAN網(wǎng)絡(luò)結(jié)構(gòu)及通訊協(xié)議
在電動(dòng)汽車(chē)中,整車(chē)控制器通過(guò)CAN總線與電機(jī)、蓄電池等部件通訊,讀取各部件的狀態(tài)信息并向部件發(fā)送控制信息。圖1為一種燃料電池汽車(chē)的CAN網(wǎng)絡(luò)結(jié)構(gòu),整車(chē)控制器通過(guò)CAN網(wǎng)絡(luò)采集燃料電池、DC/DC轉(zhuǎn)換器、蓄電池和電機(jī)等部件狀態(tài)參數(shù),根據(jù)一定的控制策略向DC/DC轉(zhuǎn)換器和電機(jī)發(fā)送控制命令,使動(dòng)力系統(tǒng)各部件協(xié)調(diào)工作,實(shí)現(xiàn)整車(chē)的動(dòng)力性和經(jīng)濟(jì)性指標(biāo)。監(jiān)控系統(tǒng)連接到CAN總線上,讀取總線的數(shù)據(jù)幀,實(shí)現(xiàn)數(shù)據(jù)的采集和存儲(chǔ)。
在CAN網(wǎng)絡(luò)中數(shù)據(jù)以報(bào)文為單位進(jìn)行傳輸,節(jié)點(diǎn)對(duì)總線的訪問(wèn)采取位仲裁方式。報(bào)文起始部分為標(biāo)識(shí)符,在CAN2.0B中標(biāo)識(shí)符采用29位格式,如圖2所示。其中,優(yōu)先級(jí)為3位,共8個(gè)優(yōu)先級(jí);8位PS為發(fā)送此報(bào)文的源地址,8位SA為目標(biāo)地址,8位PF為報(bào)文代碼。
監(jiān)控系統(tǒng)與整車(chē)CAN網(wǎng)絡(luò)連接,可接收總線上的全部數(shù)據(jù)幀。一個(gè)CAN數(shù)據(jù)幀包括標(biāo)識(shí)符和8字節(jié)數(shù)據(jù)。根據(jù)標(biāo)識(shí)符可判斷出該數(shù)據(jù)幀是哪個(gè)部件發(fā)送的,再根據(jù)部件的通訊協(xié)議對(duì)8個(gè)字節(jié)數(shù)據(jù)進(jìn)行解析可得到實(shí)際的參數(shù)值。
圖3為燃料電池汽車(chē)中燃料電池控制器向整車(chē)控制器發(fā)送的一個(gè)數(shù)據(jù)幀的格式。標(biāo)識(shí)符ID為29位數(shù)據(jù),根據(jù)標(biāo)識(shí)符格式定義可以得出燃料電池地址為11,整車(chē)控制器地址為10,數(shù)據(jù)幀優(yōu)先級(jí)為3。數(shù)據(jù)部分包含燃料電池輸出電壓、燃料電池輸出電流、電堆溫度、故障碼、狀態(tài)位和控制器LIFE信號(hào)等信息。
2 監(jiān)控系統(tǒng)硬件設(shè)計(jì)
車(chē)載CAN總線監(jiān)控系統(tǒng)硬件結(jié)構(gòu)如圖4所示,采用基于PC總線工業(yè)控制計(jì)算機(jī)(IPC)的硬件設(shè)計(jì)。便攜式工控機(jī)Apollo150具有抗干擾和減震設(shè)計(jì),適合于車(chē)載使用;具有一體化的液晶顯示屏和鍵盤(pán)鼠標(biāo)設(shè)計(jì),便于人機(jī)界面設(shè)計(jì);通過(guò)USB2.0接口連接U盤(pán)進(jìn)行存儲(chǔ),保證車(chē)載環(huán)境下大量數(shù)據(jù)的可靠存儲(chǔ);可以通過(guò)PCI和ISA擴(kuò)展槽擴(kuò)展數(shù)據(jù)采集和通訊接口;燃料電池汽車(chē)提供24V直流電源,經(jīng)逆變電源轉(zhuǎn)換成220V交流電,經(jīng)UPS給工控機(jī)供電?;贗PC的硬件結(jié)構(gòu)具有可靠性好、便于擴(kuò)展的特點(diǎn) ,同時(shí)可以利用PC機(jī)強(qiáng)大的軟硬件資源,提高開(kāi)發(fā)效率。
CAN通訊接口卡選用PCI7841雙口隔離型CAN接口卡,該接口卡插在Apollo150的PCI擴(kuò)展槽上,采用SJA1000 CAN控制器以及82C250 CAN接收器芯片,提供總線仲裁和錯(cuò)誤檢測(cè)功能,以確保數(shù)據(jù)通訊的可靠性。PCI7841具有兩個(gè)獨(dú)立的CAN接口,最高通訊速率為1Mbps。
3 監(jiān)控系統(tǒng)軟件設(shè)計(jì)
3.1軟件功能需求分析
CAN總線監(jiān)控系統(tǒng)軟件功能主要包括數(shù)據(jù)采集、故障診斷、界面顯示和數(shù)據(jù)存儲(chǔ)。數(shù)據(jù)采集功能對(duì)整車(chē)CAN網(wǎng)絡(luò)上的數(shù)據(jù)幀進(jìn)行采集,根據(jù)通訊協(xié)議對(duì)數(shù)據(jù)進(jìn)行解析,提取相應(yīng)的數(shù)據(jù);故障診斷功能對(duì)部件發(fā)送數(shù)據(jù)幀中的故障碼進(jìn)行分析,判斷當(dāng)前系統(tǒng)存在的故障信息;界面顯示功能對(duì)采集的數(shù)據(jù)以各種形式顯示在液晶屏上;數(shù)據(jù)存儲(chǔ)功能將采集數(shù)據(jù)以文件形式連續(xù)存儲(chǔ)在U盤(pán)上。[!--empirenews.page--]
3.2 基于虛擬儀器的軟件設(shè)計(jì)
虛擬儀器技術(shù)目前已成為測(cè)試領(lǐng)域的主流技術(shù),一個(gè)虛擬儀器系統(tǒng)主要由儀器硬件、計(jì)算機(jī)硬件和應(yīng)用軟件組成,應(yīng)用軟件又包括開(kāi)發(fā)環(huán)境、應(yīng)用程序和儀器驅(qū)動(dòng)程序三部分[4]。LabVIEW是NI公司推出的虛擬儀器開(kāi)發(fā)平臺(tái),采用圖形化的編程語(yǔ)言,具有強(qiáng)大的人機(jī)界面設(shè)計(jì)和數(shù)據(jù)分析處理功能,提供了豐富的儀器驅(qū)動(dòng)程序,便于快速創(chuàng)建靈活可靠的應(yīng)用系統(tǒng)?;贚abVIEW環(huán)境的虛擬儀器體系結(jié)構(gòu)如圖5所示。
CAN總線監(jiān)控系統(tǒng)軟件采用虛擬儀器開(kāi)發(fā)平臺(tái)LabVIEW開(kāi)發(fā),儀器硬件部分包括便攜式工控機(jī)和PCI總線CAN通訊接口卡。PCI-7841 CAN接口卡提供了動(dòng)態(tài)鏈接庫(kù)(DLL)形式的Windows2000/XP驅(qū)動(dòng)程序,在LabVIEW中通過(guò)DLL調(diào)用實(shí)現(xiàn)第三方硬件的儀器驅(qū)動(dòng)。PCI-7841提供的主要驅(qū)動(dòng)程序功能如表1所示。
車(chē)載CAN總線監(jiān)控系統(tǒng)采用了PC架構(gòu)和高性能數(shù)據(jù)通訊接口卡,利用虛擬儀器軟件開(kāi)發(fā)平臺(tái)的儀器驅(qū)動(dòng)、界面控件以及應(yīng)用程序開(kāi)發(fā)調(diào)試環(huán)境,提高了系統(tǒng)的可靠性和開(kāi)發(fā)效率。
3.3 監(jiān)控軟件流程設(shè)計(jì)
CAN總線監(jiān)控程序流程如圖6所示。首先進(jìn)行硬件初始化,創(chuàng)建文件目錄。讀取CAN信息幀后按照協(xié)議進(jìn)行解析,首先將數(shù)據(jù)幀分離成ID部分和數(shù)據(jù)部分,根據(jù)ID判斷是哪一個(gè)部件的信息;然后根據(jù)協(xié)議中定義的參數(shù)起始字節(jié)和總字節(jié)數(shù)取出數(shù)據(jù),經(jīng)過(guò)偏移量和比例因子運(yùn)算得出該參數(shù)的實(shí)際值。由于CAN網(wǎng)絡(luò)中包含了整車(chē)控制器和各部件的控制器節(jié)點(diǎn),在當(dāng)前時(shí)刻緩沖區(qū)內(nèi)有多個(gè)數(shù)據(jù)幀,監(jiān)控程序在進(jìn)入讀數(shù)據(jù)循環(huán)時(shí)不停地讀緩沖區(qū)的CAN數(shù)據(jù),直到緩沖區(qū)數(shù)據(jù)讀取完畢為止,這樣保證了讀取數(shù)據(jù)的實(shí)時(shí)性。讀取的數(shù)據(jù)連續(xù)存儲(chǔ)在U盤(pán)上,存儲(chǔ)頻率為10Hz,由于數(shù)據(jù)量較大,為了避免數(shù)據(jù)文件過(guò)大,監(jiān)控系統(tǒng)每隔1小時(shí)重新創(chuàng)建一次文件,根據(jù)當(dāng)前時(shí)間生成文件名。當(dāng)用戶按下結(jié)束按鈕后監(jiān)控程序結(jié)束。
4 應(yīng)用實(shí)例
在燃料電池汽車(chē)道路考核試驗(yàn)中,應(yīng)用車(chē)載CAN總線監(jiān)控系統(tǒng)采集和記錄整車(chē)CAN網(wǎng)絡(luò)數(shù)據(jù)。圖7為采集的車(chē)速曲線,圖8為燃料電池電壓電流曲線,其中車(chē)速數(shù)據(jù)來(lái)自于整車(chē)控制器,電壓、電流數(shù)據(jù)來(lái)自于燃料電池發(fā)動(dòng)機(jī)控制器。