韋超毅, 吳一雄, 黃大明, 姚正遠
(1.廣西大學(xué)機械工程學(xué)院,南寧 530004; 2.南寧學(xué)院交通學(xué)院,南寧 530200)
硬件在環(huán)試驗傳承并拓展了純仿真試驗的優(yōu)點,受益于實時處理器控制技術(shù)、傳感器技術(shù)、控制局域網(wǎng)技術(shù)(CAN)通信網(wǎng)絡(luò)技術(shù)的發(fā)展,硬件在環(huán)可以對發(fā)動機模型進行建模、模擬特定工況傳感器信號、搭建虛實結(jié)合的CAN通信網(wǎng)絡(luò),通過信號轉(zhuǎn)換技術(shù)將虛擬模型與真實電子控制單元(ECU)和傳感器連接,在特定工況下實現(xiàn)真實ECU控制策略及CAN通信網(wǎng)絡(luò)開發(fā),從而最大限度接近實車開發(fā),減少建模難度,縮短工期。
自1994年dSPACE公司發(fā)布一套發(fā)動機實時仿真系統(tǒng)后,各大仿真公司紛紛展開硬件在環(huán)設(shè)備研究。1994年,文獻[1]提出使用數(shù)據(jù)采集電路板(DS2301)聯(lián)合DSP和CAN通信網(wǎng)絡(luò)對發(fā)動機ECU進行實時測試,結(jié)果表明該方法相比純仿真能更早發(fā)現(xiàn)信號傳輸隱患。文獻[2]提出了仿真ECU-CAN總線-真實ECU的CAN通信網(wǎng)絡(luò)驅(qū)動發(fā)動機仿真系統(tǒng)工作,不僅保證了系統(tǒng)實時性,更增加了系統(tǒng)真實性。文獻[3]提出在V模式開發(fā)基礎(chǔ)上,構(gòu)建電子控制單元(ECU)硬件在環(huán)測試臺,并使用PXI設(shè)備搭建上位機與ECU的CAN通信網(wǎng)絡(luò),最后開展ECU硬件在環(huán)發(fā)動機臺架測試。此外,還有大量研究促進了硬件在環(huán)通信網(wǎng)絡(luò)的開發(fā):CAN車載網(wǎng)絡(luò)在環(huán)測試系統(tǒng)、CAN總線人機交互硬件在環(huán)試驗臺、dSPACE環(huán)境下CAN通信混合動力硬件在環(huán)試驗臺等[4-6]。但這些研究主要集中在仿真模型搭建及ECU測試上,CAN測試網(wǎng)絡(luò)大多通過購買現(xiàn)成板卡實現(xiàn)。硬件在環(huán)設(shè)備對于上位機與ECU的CAN通信報文信號定義及CAN通信協(xié)議的研究文獻很少。
綜上,中國硬件在環(huán)設(shè)備仿真技術(shù)經(jīng)歷了從模型搭建到ECU開發(fā)的進程,目前主要集中于控制策略的開發(fā)和ECU驗證上,在NI PXI硬件在環(huán)試驗臺上采用J1939協(xié)議結(jié)合NI VeriStand 平臺開發(fā)CAN通信上層協(xié)議的研究極少,難點是如何構(gòu)建通信高層協(xié)議并創(chuàng)建DBC文件使上位機與ECU通訊[7]。而一套發(fā)動機硬件在環(huán)設(shè)備在添加其他傳感器和設(shè)備后完全可以改裝成電池硬件在環(huán)設(shè)備,但這需要重新搭建CAN通信網(wǎng)絡(luò)。為此,擬通過應(yīng)用NI VeriStand軟件和NI PXI平臺的CAN通信模塊基于J1939高層協(xié)議創(chuàng)建基于CAN總線通信的發(fā)動機ECU硬件在環(huán)通信系統(tǒng),并截取CAN通信報文詳細解讀,為后期平臺擴展作有用的鋪墊。
硬件在環(huán)試驗臺由五部分構(gòu)成,分別是人機交互界面(上位機)、實時處理器及板卡模塊(下位機)、ECU、模擬裝置、組合儀表,系統(tǒng)構(gòu)架如圖1所示。
圖1 系統(tǒng)構(gòu)架Fig.1 Platform architecture
上位機加載NI VeriStand平臺,負(fù)責(zé)運行發(fā)動機SIMULINK仿真模型[8],完成人機交互界面搭建并分配下位機上板卡資源使上位機NI VeriStand平臺的發(fā)動機SIMULINK模型與ECU物理通道相連[9]。下位機實時處理器及板卡模塊是硬件在環(huán)平臺關(guān)鍵部分,用來精確模擬曲軸傳感器、氧傳感器、進氣溫度傳感器等發(fā)動機測試平臺中不存在的物理傳感器,從而模擬需要的物理信號。臺架通過數(shù)字IO采集傳感器信息并驅(qū)動模擬傳感器工作,可以通過CAN總線實現(xiàn)ECU與上位機數(shù)據(jù)交互。
ECU上運行發(fā)動機電控系統(tǒng)控制算法,讀取板卡采集和模擬的信號計算后得到控制信號。人機交互界面可實現(xiàn)硬件配置、對發(fā)動機模型在線操控、發(fā)動機模型參數(shù)實時監(jiān)控、數(shù)據(jù)記錄與分析等功能。
選取NI生產(chǎn)的PXI高性能實時處理器板卡資源完成硬件在環(huán)平臺組建。上位機選用NI PXIe-1071機箱,搭載PXIe-8135 2.3 GHz雙核PXI嵌入式控制器。下位機選用PXI-1075機箱,搭載PXIe-8115 2.5 GHz雙核嵌入式處理器,可連接以太網(wǎng)端口,包含外設(shè)IO口以及高速USB端口可用于數(shù)據(jù)采集以及模塊化儀器控制。PXI-6713板卡具備模擬信號輸出功能且能同步更新多通道信號,可用來模擬發(fā)動機產(chǎn)生加速踏板等信號。PXI-6229板卡具備32條單端模擬輸入通道,48個雙向數(shù)字通道,用于數(shù)據(jù)采集(DAQ)。PXI-7842R板卡載有FPGA芯片,可用于高性能板載處理,最大時鐘頻率為40 MHz,具有96個定時模塊,用于模擬PWM信號模擬曲軸傳感器信號和凸輪軸傳感器信號。PXI-8513板卡帶有CAN控制器和收發(fā)器模塊,可使用軟件編程結(jié)合NI-XNET驅(qū)動構(gòu)建應(yīng)用程序。試驗根據(jù)發(fā)動機運行所需要信號數(shù)量以及板卡性能,對通道分配做了詳細定義。具體通道分配如表1所示。
表1 通道分配Table 1 Channel allocation
制定CAN總線通信協(xié)議能夠為發(fā)動機電控測試臺提供一個開放互連系統(tǒng),極大簡化現(xiàn)場布線并提供一個標(biāo)準(zhǔn)化互連通信平臺。Bosch公司制定并發(fā)布了CAN技術(shù)規(guī)范(Version2.0)[10],分為CAN2.0A和CAN2.0B兩個版本。CAN總線依據(jù)四種不同的通信幀進行應(yīng)答和傳輸數(shù)據(jù),包括數(shù)據(jù)幀、遠程幀、錯誤幀和過載幀。其中數(shù)據(jù)幀由七個部分構(gòu)成,包括幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC場、ACK場和幀結(jié)束[11],數(shù)據(jù)場可以長度為零,圖2為標(biāo)準(zhǔn)格式和擴展格式的構(gòu)成。標(biāo)準(zhǔn)幀格式的仲裁場由兩部分構(gòu)成,分別是11標(biāo)識符以及1位遠程請求位RTR,從ID28~ID18;擴展幀格式的仲裁場由四部分構(gòu)成,分別是29位標(biāo)識符、1位SRR位、1位IDE位及1位RTR位,標(biāo)識符從ID28至ID0[12]。報文傳輸順序由報文優(yōu)先級編碼決定,優(yōu)先級編碼數(shù)值越小優(yōu)先級就更高,贏得仲裁的高優(yōu)先級報文先行傳輸。如報文上出現(xiàn)多個傳輸請求,此時嚴(yán)格遵循報文優(yōu)先級法則仲裁出高優(yōu)先級報文先行傳輸。仲裁后的報文從控制器單元導(dǎo)入濾波寄存器后,使用屏蔽寄存器過濾掉其他標(biāo)識符不一致的幀,留下標(biāo)識符相符的報文。
圖2 標(biāo)準(zhǔn)幀和擴展幀的數(shù)據(jù)幀構(gòu)成Fig.2 Data frame composition of standardframe and extended frame
CAN2.0A/B規(guī)范只是對開放系統(tǒng)互聯(lián)(OSI)結(jié)構(gòu)的數(shù)據(jù)鏈路層和物理層做了詳細規(guī)定,上層協(xié)議部分沒有定義。對比圖如圖3所示。因此依據(jù)發(fā)動機硬件在環(huán)試驗臺信號交互需求制定了一個CAN網(wǎng)絡(luò)應(yīng)用層協(xié)議。
圖3 CAN總線與OSI模型基本分層對比Fig.3 Basic layering comparison chart betweenCAN bus and OSI model
ECU發(fā)送給組合儀表的協(xié)議制定過程參考了J1939-71協(xié)議(車輛應(yīng)用層)[13]。J1939以CAN2.0B為依據(jù),給擴展幀29位標(biāo)識作了新的描述,其余協(xié)議內(nèi)容不更改[14]。包括優(yōu)先級P、預(yù)留位R、數(shù)據(jù)頁DP、協(xié)議數(shù)據(jù)單元PF、擴展單元PS、源地址SA和數(shù)據(jù)字節(jié)[7]。這七部分通過協(xié)議數(shù)據(jù)單元PDU封裝成數(shù)據(jù)幀發(fā)送給其他設(shè)備。PGN(parameter group number)是J1939的核心部分,作為數(shù)據(jù)幀獨一無二的參數(shù)組編號,決定著報文傳輸?shù)姆较?,由PF場、PS場這兩部分構(gòu)成[15]。PDU具體構(gòu)成如圖4所示。
圖4 PDU具體構(gòu)成Fig.4 PDU specific composition
CAN協(xié)議規(guī)定了數(shù)據(jù)幀的SOF、SRR、IDE、RTR、控制域部分、CRC域和EOF域這幾部分,SAEJ1939不能修改,因此沒有在PDU中對這幾部分作規(guī)定。J1939有兩種格式PDU,分別是PDU1和PDU2,PF域數(shù)值為0~239則為PDU1格式,若PF數(shù)值為240~255則為PDU2格式[7]。PDU1格式用于發(fā)送給指定節(jié)點的信息,PS域決定目的地址;PDU2格式不指定節(jié)點,可以廣播給總線上所有節(jié)點,PS域此時作為擴展地址。
CAN總線網(wǎng)絡(luò)選用ECU的CAN2通道作為CAN總線,傳輸波特率為250 kbit/s。設(shè)定ECU源地址SA為0xD2,所以凡是ECU發(fā)出來的報文,報文ID最后一個字節(jié)就是0xD2[16]。如EngVecSpeed報文,ID為0x18FE6CD2,其中0x18表示優(yōu)先級為110,R為0,DP為0,由于PF>240,0x18FE6C表示PGN,其他報文制定以此類推。根據(jù)試驗臺通信網(wǎng)絡(luò)需求,依據(jù)CAN2.0B協(xié)議和J1939協(xié)議設(shè)計應(yīng)用層協(xié)議,PXI-8513與ECU通信采用標(biāo)準(zhǔn)幀,ECU與組合儀表通信采用擴展幀。部分總線報文定義及特性如表2所示。
同時也對信號的格式、字節(jié)順序、分辨率、數(shù)據(jù)長度、取值范圍、單位等信息做了詳細定義,部分信息如圖5所示。
表2 總線報文定義及特性Table 2 Bus message definition and characteristics
圖5 報文部分信息Fig.5 Partial message information
發(fā)動機試驗臺上各個節(jié)點數(shù)據(jù)使用CAN總線進行報文傳輸。上位機通過以太網(wǎng)將數(shù)據(jù)發(fā)送至實時處理器模塊,PXI-8513 CAN板卡接收后將數(shù)據(jù)發(fā)送至CAN總線,ECU獲取從CAN總線接收數(shù)據(jù)實現(xiàn)發(fā)動機算法處理,同時利用CAN總線把數(shù)據(jù)傳輸給組合儀表。其中Kvaser CAN接口節(jié)點是一個USB-CAN模塊,用來讀取CAN總線報文顯示在PC機上實現(xiàn)數(shù)據(jù)監(jiān)測、報文解析、故障診斷。各個節(jié)點交互關(guān)系如圖6所示。
圖6 節(jié)點交互關(guān)系Fig.6 Node interaction relationship
2.3.1 ECU CAN總線接口設(shè)計
發(fā)動機試驗臺ECU主芯片選用Freescale MPC565,定位為汽車電子控制處理器。集成了3個TouCan控制器模塊,符合CAN2.0標(biāo)準(zhǔn)。ECU的CAN收發(fā)器使用的是PCA82C250,采用斜率控制,具備高達1 M的傳送波特率,能有效減少射頻干擾。ECU集成了一對CAN數(shù)據(jù)交互端口,通過PCA82C250芯片把MPC565內(nèi)部CAN通道與外部CAN總線連接在一起。MPC565的A_CNTX0,A_CNRX0引腳和B_CNTX0,B_CNRX0引腳是兩組接收和發(fā)送端。A_CANL,A_CANH和B_CANL,B_CANH分別掛載到總線上,其原理圖如圖7所示。
圖7 CAN總線驅(qū)動原理圖Fig.7 CAN bus driver schematic
2.3.2 PXI-8513總線接口設(shè)計
PXI-8513是一款軟件可選的容錯控制局域網(wǎng)(CAN)接口,可使用NI-XNET驅(qū)動并開發(fā)上位機程序。能夠掛載多個節(jié)點同步通信,精確傳輸總線上大量交互的報文。其物理層的CAN收發(fā)器選用NXP TJA1041,兼容ISO11898協(xié)議,具備延時保護性能,有優(yōu)良靜電保護功能,支持波特率范圍為40 kbit/s~1 Mbit/s。由于通信在CAN總線上雙向流動,因此CAN要求有終端電阻,按照ISO11898要求使用120 Ω的電阻,防止信號發(fā)生反射[11]。
發(fā)動機ECU硬件在環(huán)系統(tǒng)如圖8所示。
圖8 發(fā)動機ECU硬件在環(huán)系統(tǒng)Fig.8 Engine ECU hardware in-loop system
使用可編程電源供電后ECU及下位機通電工作,火花塞此時點火,噴油器信號燈閃爍。
圖9 部分報文數(shù)據(jù)Fig.9 Partial message data
試驗臺啟動后,運行PC機上的Kvaser Canking程序讀取CAN2通道報文數(shù)據(jù)。根據(jù)J1939標(biāo)準(zhǔn)數(shù)據(jù)鏈路層中的定義對接收到的報文1個幀ID和數(shù)據(jù)分析。其中ID=0x18FE6CD2=0001,1000,1111,1110,0110,1100,1101,0010;29位ID前3位不用,優(yōu)先級3位:110;數(shù)據(jù)幀位(DP):0;保留位(R):0;協(xié)議數(shù)據(jù)單元(PF):FE;擴展單元(PS):6C;源地址(SA):D2。除去優(yōu)先級(P)3位和源地址(SA)可得PGN=0000,1111,1110,0110,1100=0xFE6C(H)=65132(D),為EngVecSpeed報文信息。解析總線上報文具體物理值需借助轉(zhuǎn)換公式,總線上物理參數(shù)的計算公式為[12]:
物理參數(shù)=比例系數(shù)×總線數(shù)值+偏移量
(1)
如讀取EngVecSpeed報文ID=0x18FE6CD2的數(shù)據(jù)域為00000000401F0021。按照所制定的協(xié)議,Byte4和Byte5字節(jié)作為發(fā)動機轉(zhuǎn)速數(shù)據(jù),數(shù)據(jù)采用intle排列方式,比例系數(shù)為0.125,偏移量為0,單位為r/min。則Byte4為低字節(jié),Byte5為高字節(jié)。第4字節(jié)4為高4位,0為低4位,第5字節(jié)1為高4位,F(xiàn)為低4位。那么解析時就為:1F40,0x1F40轉(zhuǎn)換成十進制是8 000,參照式(1),則總線轉(zhuǎn)速物理值為0.125×8 000+0=1 000 r/min。
根據(jù)編寫的發(fā)動機CAN通信協(xié)議,通過Vector CANoe軟件制定了報文解析DBC文件,在PC機上運行Kvaser Canking加載DBC文件通過CAN-USB接頭實時讀取通信報文。接收到部分報文數(shù)據(jù)如圖9所示。
此時發(fā)動機轉(zhuǎn)速的報文解析值是1 000 r/min,與公式解析結(jié)果一致,這表明所設(shè)計的DBC文件準(zhǔn)確效性。同時,解析值與上位機設(shè)定值和組合儀表實際顯示值一致,且無明顯延遲。組合儀表實際數(shù)據(jù)如圖10所示。
這說明所設(shè)計CAN通信網(wǎng)絡(luò)準(zhǔn)確有效,能夠使上位機運行發(fā)動機模型跟下位機及ECU正常通訊,實現(xiàn)發(fā)動機硬件在環(huán)CAN網(wǎng)絡(luò)數(shù)據(jù)交互,同時可以實現(xiàn)對報文監(jiān)控,一旦設(shè)備出現(xiàn)參數(shù)故障,可以直接分析報文數(shù)據(jù)從而加快診斷和開發(fā)進度。
3.2.1 發(fā)動機轉(zhuǎn)速保持定值試驗
試驗選用發(fā)動機低高兩個代表性的轉(zhuǎn)速:n1=1 000 r/min,n2=3 000 r/min[17]。設(shè)定節(jié)氣門不同開度條件下,在硬件在環(huán)試驗臺進行進氣歧管壓力測試。將LJ465Q發(fā)動機的節(jié)氣門開度,發(fā)動機轉(zhuǎn)速與進氣歧管壓力的實測數(shù)據(jù)[18]與硬件在環(huán)仿真數(shù)據(jù)對比,Measured value表示發(fā)動機實測值,SIMULINK value表示硬件在環(huán)仿真值,采用三次樣條插值處理數(shù)據(jù)后得到對比圖如圖11所示。
圖10 組合儀表實際數(shù)據(jù)Fig.10 Combination dashboard actual data
圖11 實測數(shù)據(jù)與仿真數(shù)據(jù)對比Fig.11 Comparison of measured data and simulation data
由實驗數(shù)據(jù)和曲線圖可以看出,當(dāng)加大節(jié)氣門的開度時,轉(zhuǎn)速隨之上升,進氣歧管壓力的仿真曲線慢慢接近實測值曲線,這表明仿真模型精度隨著轉(zhuǎn)速提升而提升。說明被控對象模型在所設(shè)計的硬件在環(huán)CAN通信網(wǎng)絡(luò)中能準(zhǔn)確通信,能夠為試驗提供可靠的進氣歧管壓力。
3.2.2 噴油脈寬
圖12 噴油脈寬脈譜圖Fig.12 Fuel injection pulse width spectrum
在硬件在環(huán)系統(tǒng)中測試了不同節(jié)氣門開度下的進氣歧管壓力和噴油脈寬,設(shè)定空燃比為14.7,處理實驗數(shù)據(jù)后得相應(yīng)噴油脈寬脈譜圖如圖12所示。
噴油脈寬數(shù)據(jù)表明所構(gòu)建的硬件在環(huán)系統(tǒng)能夠在人機交互界面實時監(jiān)測到進氣歧管壓力、扭矩、發(fā)動機轉(zhuǎn)速、冷卻液溫度、進氣溫度和氧傳感器反饋的空燃比等信息,很好地實現(xiàn)預(yù)期功能。
在原有發(fā)動機硬件在環(huán)系統(tǒng)中提出基于CAN總線的通信網(wǎng)絡(luò),應(yīng)用 NI VeriStand軟件和 NI PXI平臺的 CAN通信板卡,依據(jù) J1939高層協(xié)議搭建采用 CAN總線通信的發(fā)動機 ECU硬件在環(huán)通信系統(tǒng)。試驗引入Kvaser Canking報文監(jiān)控軟件實現(xiàn)報文監(jiān)控,加速CAN總線網(wǎng)絡(luò)開發(fā)進程并降低CAN總線開發(fā)成本。結(jié)果表明,設(shè)計的CAN網(wǎng)絡(luò)能滿足發(fā)動機ECU硬件在環(huán)試驗臺的通信需求,擴展了硬件在環(huán)通信網(wǎng)絡(luò),使試驗開發(fā)環(huán)境更接近真實ECU開發(fā)過程。