新聞中心

        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.104case.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)。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 靖江市| 贵州省| 塔城市| 宜阳县| 乐陵市| 济南市| 延吉市| 措勤县| 胶南市| 雷波县| 顺昌县| 谢通门县| 钦州市| 绥宁县| 青神县| 娄烦县| 潜山县| 含山县| 绩溪县| 敖汉旗| 津南区| 新竹市| 轮台县| 施甸县| 安丘市| 鄂温| 绥江县| 安图县| 略阳县| 农安县| 毕节市| 盘山县| 景东| 龙岩市| 石棉县| 吉林市| 新沂市| 马山县| 扶风县| 阿合奇县| 河间市|