基于SAE J1939協議的車輛網絡集成方法
液晶顯示器的功能有:在指定位置顯示8×16英文字符,在指定位置畫線,在指定位置顯示預置位圖,在指定位置按指定方式自動顯示日期時間、讀取年月日、讀取時分秒、設置日期時間、顯示/關閉光標、打開/關閉背光。當進行不同程度的報警時,通過蜂鳴器發出的緩和或尖銳兩種不同的聲音進行提示。
4 車輛網絡軟件設計
4.1 信息交互ECU
信息交互ECU選用Freescale公司S12X系列中的MC;9S12XDP512作為主芯片,使用了嵌入式操作系統uC/()S-II。S12X的從CPU――中斷協處理器XGate,處理μC/OS-II時鐘節拍中斷并作任務切換,提高了系統的實時性,減輕了主CPU的負荷。XGate還用于處理與液晶顯示器串口通信、與PC串口通信、查詢鍵盤的有效輸入,并管理報警蜂鳴器。
信息交互ECU在μC/0S-II下創建了5個任務:系統初始任務、指示燈任務、儀表數據任務、鍵盤相關任務、J1939處理任務。系統初始任務打開RTI中斷,上電自檢,打開日期時間顯示;指示燈任務周期性地顯示信號指示燈及紅色信號指示燈報警提示,顯示診斷指示燈及DMl來源,處理報警事件;儀表數據任務周期性地按選定模式顯示儀表及小儀表報警提示,顯示組成員數據及組報警提示,顯示環溫/氣壓及單/全里程,并處理報警事件;鍵盤相關任務在有效輸入下根據按鍵及菜單進行分頁顯示切換、系統設置修改等;JI939處理任務周期性地遍歷兩個端口的協議棧進行報文收發、報文轉發和提取應答等。
4.2 其余自制ECU
其余自制ECU選用Freescale公司S12系列中的M(29S12DGl28作為ECU主芯片。上電初始化后,在無限循環下先遍歷協議棧,對請求報文進行響應,然后采集數據更新報文。程序采集傳感器信息,周期性地更新應用層報文。程序根據采集的信號、數據生成DTC,周期性地更新應用層診斷報文,根據DTC數目決定是否發送及是否用傳輸協議。程序半固定數據如DTC信息、里程信息等均保存在EEPROM中,每次上電導入,發生變化后實時更新。
結 語
通過對具備SAE J1939 CAN接口的ECU產品CAN總線功能進行分析,自定義若干ECU,集成實現基于SAE J1939協議的車輛網絡。在實驗室對比CAN卡、上車對比儀表板進行試驗研究的結果表明,所集成的車輛網絡工作穩定、信息量豐富、能實時反映故障診斷信息,解決了車輛儀表盤信息量較少和故障診斷實時性不足的問題。
雙核單片機的從CPU可提高μC/OS-II的實時性,降低了主CPU的負荷。
此外,SAEJ1939協議的完備通信策略和成熟的通信機制,使得協議完全可以在修改應用層和應用層診斷相關定義之后,推廣應用到其他工業環境類似的CAN通信領域,如列車控制、工廠控制等。
評論