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