• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

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

    基于代碼生成的車身網絡電控系統設計

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

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

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


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

    本文引用地址:http://www.czjhyjcfj.com/article/197566.htm



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


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 平泉县| 江津市| 安新县| 抚顺县| 南充市| 铅山县| 深圳市| 玛沁县| 沙雅县| 荣昌县| 炉霍县| 肇州县| 怀宁县| 台州市| 北宁市| 宜宾市| 即墨市| 浮山县| 榆树市| 梁河县| 旅游| 卫辉市| 松桃| 陆川县| 芜湖县| 江安县| 会泽县| 贺兰县| 横峰县| 永修县| 绥阳县| 浦县| 景宁| 泸定县| 祁连县| 镇江市| 黄梅县| 岗巴县| 石屏县| 新建县| 沭阳县|