新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 基于代碼生成的車身網(wǎng)絡(luò)電控系統(tǒng)設(shè)計

基于代碼生成的車身網(wǎng)絡(luò)電控系統(tǒng)設(shè)計

作者: 時間:2010-12-09 來源:網(wǎng)絡(luò) 收藏

(2)ISR的定位問題。中斷服務(wù)程序的聲明和定義都必須定位于non-banked區(qū)域,通過使用“#pragma CODE_SEG NON_BANKED”實現(xiàn)。同時,中斷服務(wù)程序末尾需要添加“#pragma CODE_SEG DEFAULT”,否則后面的函數(shù)也會被定位在non-banked區(qū)域而導(dǎo)致錯誤。因此,中斷服務(wù)程序必須被“#pragma CODE_SEG NON_BANKED”和“#pragma CODE_SEG DEFAULT”包圍起來。這也可通過修改模板實現(xiàn)。結(jié)合ISR返回值的宏定義,只需在當(dāng)函數(shù)返回值的前3個字符是“ISR”時,在函數(shù)前后輸出上述兩條pragma預(yù)編譯指令即可。生成ISR聲明的模板的核心部分如下:

仍以上述CAN0模塊的接收中斷為例,最終生成的函數(shù)聲明如下;


3 調(diào)試與驗證
本設(shè)計除了使用USBCAN卡作為數(shù)據(jù)采集節(jié)點以外,為了驗證兩種總線協(xié)議的實現(xiàn)是否符合標(biāo)準(zhǔn),更直觀地查看總線幀中各個字段的值以及隨時檢測總線上是否發(fā)生幀錯誤等,使用PC示波器PicoScope 5203搭配總線協(xié)議分析軟件WaveBPS捕獲兩種總線信號并進(jìn)行協(xié)議分析。Pi-coScope的兩個通道可同時捕獲CAN總線及LIN總線上的信號,進(jìn)一步方便了網(wǎng)關(guān)節(jié)點的調(diào)試。
圖5為在控制面板節(jié)點(源地址為0x26)打開左轉(zhuǎn)向燈時發(fā)送給車燈節(jié)點(目標(biāo)地址為0x20)的CAN數(shù)據(jù)幀。其中,標(biāo)記為S的位是根據(jù)位填充規(guī)則自動插入的填充位。圖6為車燈節(jié)點收到上述CAN數(shù)據(jù)幀后,根據(jù)網(wǎng)關(guān)路由策略及幀轉(zhuǎn)換規(guī)則,發(fā)送到LIN總線上的數(shù)據(jù)幀。

本文引用地址:http://butianyuan.cn/article/197566.htm



4 結(jié)論
本設(shè)計借助EA的功能,通過修改代碼生成模板以滿足系統(tǒng)開發(fā)中C語言及編譯器的要求,進(jìn)行了系統(tǒng)的開發(fā)和初步實驗驗證。此方法極大地方便了設(shè)計開發(fā),并可提高系統(tǒng)的可靠性。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉