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

    EEPW首頁 > 嵌入式系統 > 設計應用 > S12X系列雙核單片機的整車控制器CAN結點設計

    S12X系列雙核單片機的整車控制器CAN結點設計

    作者: 時間:2012-08-21 來源:網絡 收藏

    2 總線數據處理的基本流程
    利用XGATE進行總線數據處理的流程如圖2所示(執行順序從左到右)。當的MS模塊收到來自CAN總線上的消息時,XGATE首先執行中斷處理程序,其可以對數據進行預處理或獨自處理,也可以將數據保存到合適的內存緩沖區,以提交給主CPU(即 CPU)進行進一步操作。在XGATE上的代碼執行期間,S12X CPU上的代碼也一直運行,這樣在每100μs接收一幀CAN總線信息的情況下(這也是高速CAN總線的理論最大值),就可以有效地提高程序代碼的性能。尤其在對實時性要求較高的工業場合中,如進行混合動力汽車中的CAN總線通信等,有很大的應用價值。這些情況下,閉環控制系統都需要快速的系統響應,以及合理有效地配置好XGATE,可以很好地滿足控制系統的需要。MC9S12XE的結構配置在混合動力汽車控制系統的應用中具有很高的性價比。

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

    a.JPG



    3 XGATE的典型配置方法
    XGATE的應用與編程方法在參考文獻和中均有介紹,但基于XGATE的CAN總線的C語言編程大都沒有具體說明。這里給出一個含有XGATE的
    MC9S12XEP100通過ZLG USBCAN接口卡與上位機進行CAN總線通信的例子,XGATE模塊編寫的基本步驟如下:
    ①存Code Warrior軟件中新建一個的工程文件,在main.c和xgate.h中對共享數據段進行初始化,并將CAN1接收中斷提交給XGATE處理,然后啟動XGATE。
    ②初始化S12X CPU和CAN1通道,在xgate.cxgate中編寫接收中斷函數,并對中斷向量表進行設置。
    ③編寫與XGATE中CAN1接收中斷相對應的主處理器中斷函數,使主處理器能夠響應來自XGATE的中斷請求。
    其主要配置方法如下:
    ①新建一個工程義件,在main.c中對共享數據段進行初始化:
    d.JPG
    在prm文件中,SHARED DATA定義于一塊獨立的內存塊中,并放置于未分貝的RAM頁中,這樣運行時均能存取SHARED_DATA塊中的變量,實現了數據共享。
    “#definc CAN0RECEIVE_VEC 0xAA”語句中對XGATE中的CAN1接收中斷向量地址進行定義,其為CAN1在XGATE中的接收中斷號乘以2.CAN1的接收中斷向量號可在xgate.cxgate進行查找。代碼如下:
    e.JPG
    將CAN1的接收中斷交由XGATE進行處理,即將XGATE模塊的中斷請求配置寄存器置1(RQST=1),優先級設置為1(PRIO=1)。



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 双桥区| 淳化县| 阿拉善盟| 如东县| 潞西市| 海城市| 原平市| 苗栗市| 宁强县| 都江堰市| 仙桃市| 太和县| 镇沅| 安陆市| 康马县| 苏尼特右旗| 安康市| 大石桥市| 武宁县| 泾川县| 德江县| 南木林县| 台北市| 阳江市| 巴林右旗| 清涧县| 崇阳县| 洛南县| 项城市| 扶绥县| 新龙县| 龙泉市| 五华县| 昭通市| 保康县| 长宁区| 仙游县| 图木舒克市| 上林县| 荃湾区| 高邑县|