新聞中心

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

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

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

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

        本文引用地址: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中對共享數(shù)據段進行初始化,并將CAN1接收中斷提交給XGATE處理,然后啟動XGATE。
        ②初始化S12X CPU和CAN1通道,在xgate.cxgate中編寫接收中斷函數(shù),并對中斷向量表進行設置。
        ③編寫與XGATE中CAN1接收中斷相對應的主處理器中斷函數(shù),使主處理器能夠響應來自XGATE的中斷請求。
        其主要配置方法如下:
        ①新建一個工程義件,在main.c中對共享數(shù)據段進行初始化:
        d.JPG
        在prm文件中,SHARED DATA定義于一塊獨立的內存塊中,并放置于未分貝的RAM頁中,這樣運行時均能存取SHARED_DATA塊中的變量,實現(xiàn)了數(shù)據共享。
        “#definc CAN0RECEIVE_VEC 0xAA”語句中對XGATE中的CAN1接收中斷向量地址進行定義,其為CAN1在XGATE中的接收中斷號乘以2.CAN1的接收中斷向量號可在xgate.cxgate進行查找。代碼如下:
        e.JPG
        將CAN1的接收中斷交由XGATE進行處理,即將XGATE模塊的中斷請求配置寄存器置1(RQST=1),優(yōu)先級設置為1(PRIO=1)。



        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 新巴尔虎左旗| 永丰县| 江川县| 宝兴县| 大同市| 翁源县| 嘉禾县| 南郑县| 江津市| 甘孜县| 东山县| 靖安县| 巴林右旗| 厦门市| 长春市| 邻水| 闽侯县| 元朗区| 昌邑市| 健康| 新龙县| 博客| 舟山市| 罗江县| 巴楚县| 拜泉县| 海南省| 勐海县| 白银市| 墨脱县| 基隆市| 蒲城县| 金堂县| 甘孜县| 龙山县| 济阳县| 巴林右旗| 崇文区| 武隆县| 吉林省| 萨迦县|