基于SAE J1939協議的發(fā)動機總線數據模擬器開發(fā)
3 發(fā)動機總線數據模擬系統設計
這里重點分析SAE J1939-7l關于發(fā)動機參數的定義以及SAE J1939-73關于故障診斷信息的定義,明確發(fā)動機發(fā)送報文的格式以及數據意義,進行系統各個模塊的方案設計。
3.1 發(fā)動機參數報文發(fā)送模塊
該模塊是類比現場測試的一組數據,按照適用于BOSCH高壓共軌系統的歐Ⅲ發(fā)動機基于SAEJ1939的CAN通訊規(guī)范,將幀ID和代表發(fā)動機參數的數據字節(jié)位置相對應,在報文規(guī)定的更新率下.將發(fā)動機參數持續(xù)發(fā)送到總線網絡。該模塊有單次發(fā)送和按J1939協議規(guī)定的更新率發(fā)送2種模式。發(fā)動機參數包括發(fā)動機轉速、汽車行駛速度、油壓、水溫等。
3.2 發(fā)動機故障報文發(fā)送模塊
該模塊為總線儀表增加了故障診斷功能,即總線儀表可以借助液晶顯示屏實時顯示發(fā)動機的故障類型。該模塊程序流程見圖3,標定的故障依次規(guī)定了故障路徑、故障詳情、編號、SPN和FMI。
3.3 虛擬儀表模塊
虛擬儀表主要將發(fā)動機的發(fā)動機轉速、車速、油壓、水溫、電壓等重要參數顯示在虛擬儀表盤上,更直觀顯示相應數據,模擬行車儀表實際運行狀態(tài)。采用Dundas Software公司的Dundas Gauge for.NET進行虛擬儀表的可視化開發(fā),Dundas軟件平臺完全支持Visual Studio 2005特征,包括智能標記、高級數據綁定等。Dundas儀表向導提供了豐富的素材庫,利用該向導,用戶設計應用于各領域的儀表控件外形和數據指示方式。用戶只需在應用程序中對儀表需要動態(tài)變化和響應的部分編寫代碼即可實現虛擬儀表的功能。
3.4 CAN幀信息顯示模塊
本模塊是通過調用一個listview控件實現的,列元素依次是時間、幀ID、P、R、DP、PF、PS、SA、幀格式、幀類型、數據長度、數據、傳輸方向、時間標識、第幾路CAN。其中,P,R,DP.PF,PS,SA由幀ID解析函數得到,其他則由接口函數庫的參數得出。
以發(fā)動機轉速為例,給出CAN幀信息解析(實際參數=原始數×分辨率+偏移量)。報文名稱:Electronic Engine Controller#1 (EEC1),SPN:190,PGN:61 444,ID:OxCF00,源地址:發(fā)動機(接收地址:ABS(0x0B)、儀表(0x17),更新率:10 ms,位置:4~5字節(jié),分辨率:0.125 r/min,0偏移,數據范圍:0~8 031_875 r/min。要發(fā)送轉速為3 000 r/min,則發(fā)送數據的第4、5字節(jié)應為:3 000/0.125=24 000(0xC051))。發(fā)送PDU編碼為:0CFD0400 XX XX XX C0 5D XX XX XX(XX表示任意數據)。
3.5 實時參數曲線模塊
實時參數曲線模塊是利用Dundas Chart for.NET以動態(tài)曲線顯示發(fā)動機轉速、潤滑油壓力等參數以,并可以將顯示數據輸出、保存,同時還提供歷史數據回放功能。包括轉速、油壓、水溫、電壓4種曲線。該模塊和虛擬儀表模塊共同實現發(fā)動機參數動態(tài)直觀的顯示,便于實驗調試。
3.6 儀表測試模塊
該模塊將虛擬儀表的指針運行速度與開發(fā)儀表進行比較,測試開發(fā)儀表的步進電動機驅動效果。通過選擇待測表盤,設置發(fā)送數據的最大值,以及測試次數,可以實現虛擬儀表在選定范圍內的循環(huán)運行,從而與待測儀表進行比對。儀表測試模塊可以較直觀的對儀表的開發(fā)提供參考。
評論