新聞中心

EEPW首頁 > 汽車電子 > 設計應用 > 基于代碼生成的車身網絡電控系統(tǒng)設計

基于代碼生成的車身網絡電控系統(tǒng)設計

作者: 時間:2010-12-09 來源:網絡 收藏

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

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


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

本文引用地址:http://2s4d.com/article/197566.htm



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


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉