《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > S12X系列雙核單片機的整車控制器CAN結點設計
S12X系列雙核單片機的整車控制器CAN結點設計
單片機與嵌入式系統
摘要: XGATE內核的MC9S12XE系列雙核單片機具有數據處理速度快、反應時間短、功耗低等優點,在汽車電子領域有著很好的應用前景。本文介紹了Freescale公司MC9S12X系列雙核單片機在混合動力汽車整車控制器中應用的優點,給出了其進行CAN總線通信的硬件接口設計與執行流程。最后給出了其利用協處理器XGATE管理CAN總線通信的典型配置方法。
Abstract:
Key words :

作者:李潤鑫,邱瑞昌,劉 彪,高 健

引言

    高精度、高速度、高可靠性的混合動力汽車整車控制器是實現整車控制的基礎。為了避免車載環境中的電磁干擾,滿足閉環控制系統的快速響應,整車控制器與其他控制器的通信采取CAN總線方式。CAN總線位速率最大可達1 Mb/s,可以滿足整車控制器與外界的高速通信。

Freeseal公司MC9S12XE(簡稱S12X)系列單片機專門用于汽車網絡和通用車身應用,具有32位單片機的性能,且具有16位MCU的所有優點和功效。內部的增強型XGATE模塊,允許高速數據自主地在單片機外設和內部RAM、I/O端口之間進行數據傳輸與處理,XGATE內置有一個16位的精簡指令集內核,可以對要傳輸的數據進行預處理并執行復雜的通信協議,易于用C語言進行編程。合理地使用XGATE可以提高整車控制器與外界CAN總線的通信速度,而不增加主CPU(S12X CPU)的中斷負荷,從而提高了單片機的數據處理能力。

1 CAN總線硬件接口設計

    S12X雙核單片機CAN總線結點接口原理圖如圖1所示。為了增強CAN總線節點的抗干擾能力,S12X單片機的CAN總線收發引腳并不是直接與PCA82C250的TxD和RxD相連,而是通過高速光耦6N137后與PCA82C250相連,這樣就很好地實現了總線上各CAN總線結點間的電氣隔離。

c.JPG


    CANH和CANL引腳與地之間并聯了兩個電容C1、C2,可以濾除總線上的高頻干擾,并具有一定的防電磁輻射的能力。另外,在兩根CAN總線輸入端與地之間分別接了TVS管D1和D2,當兩輸入端與地之間出現瞬變干擾時,可起到保護作用。


2 CAN總線數據處理的基本流程

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

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)。

在xgate.h中對共享數據段進行初始化:

    f.JPG

    ②在xgate.cxgate中編寫接收中斷函數,代碼如下:

    g.JPG

    XGATE中的中斷函數可以對數據進行預處理,如提取整車控制器所感興趣的CAN總線信息等,然后利用SIF向S12X CPU發出中斷請求。在xgate.cxgate中還要對中斷向量表進行設置:

    {(XGATE Function)CAN1RECEIVE,0)//對應通道號55

    第一個參數為CAN1接收中斷函數的入口,第二個參數不使用,可以配置為任意值。

    在main.c中初始化CPU12X和CAN1通道:

    h.JPG

對主函數進行初始化,可對接收到的感興趣信息用與PORTB端口的相連發光二極管進行顯示。

    ③編寫主處理器的中斷函數,使主處理器能夠響應來自XGATE的中斷請求,代碼如下:

    i.JPG

    CPU12X的CAN1接收中斷號可在mc9s12xep100.h進行查詢,其定義為:

    #define VectorNumber_Vcanlrx 42

    需要補充說明的是,由于S12X CPU與XGATE之間常用的通信方式是共享資源。由于這兩個內核可以獨立異步地訪問內存及片上外設,就產生了數據完整性的問題,因此在訪問共享數據時還要進行特定的操作。

b.JPG

    在Code Warrior環境下對含有XGATE的MC9S12XEP100進行調試的界面如圖3所示。由于工程使用了雙核,故調試器有兩套窗口,左側是S12X CPU,有側是XGATE。

結語

    飛思卡爾S12X系列16位單片機是較流行的車載型單片機,應用廣泛,它的眾多優勢中最有特色的就是XGATE。與以往的單核單片機相比,利用S12X系列可以顯著提高整車控制器在CAN總線通信時的性能,使整車控制器的主CPU擺脫耗時的中斷處理,能夠集中執行與混合動力汽車整車控制策略相關的算法程序。而XGATE的編程實際就是寫一組中斷服務程序和相關寄存器的設置,可以根據具體情況對本文提供的主要配置函數加以修改。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
曰本成人黄色| 亚洲欧美一区二区三区久久| 国产麻豆成人精品| 欧美精品电影| 欧美国产免费| 欧美国产日本在线| 欧美电影免费观看高清| 久热re这里精品视频在线6| 久久精品日韩欧美| 欧美亚洲午夜视频在线观看| 国产精品99久久不卡二区| 亚洲精品一区二区网址 | 欧美亚洲一区二区在线| 午夜精品一区二区三区四区| 亚洲综合电影| 欧美一区1区三区3区公司| 午夜精品久久久久久久99黑人| 亚洲欧美一区二区激情| 亚洲男人影院| 欧美一进一出视频| 久久精品亚洲一区二区| 葵司免费一区二区三区四区五区| 久久一区亚洲| 欧美精品高清视频| 国产精品二区三区四区| 国产精品香蕉在线观看| 国产亚洲网站| 亚洲电影自拍| 日韩视频不卡中文| 亚洲一区bb| 欧美在线一二三| 亚洲区一区二区三区| 99精品热视频只有精品10| 亚洲一区二区免费| 欧美一区二区三区男人的天堂 | 夜夜嗨av一区二区三区中文字幕| 一本久道久久综合狠狠爱| 亚洲一卡久久| 久久99在线观看| 久久综合中文字幕| 欧美日本高清一区| 国产精品高潮在线| 国产综合香蕉五月婷在线| 亚洲国产精品久久久久秋霞影院 | 亚洲欧美一区二区激情| 亚洲第一久久影院| 亚洲免费电影在线| 香蕉乱码成人久久天堂爱免费| 久久久成人网| 欧美黄色日本| 国产精品久久久久久久久借妻 | 黄色成人在线| 亚洲精品一二区| 亚洲专区免费| 亚洲黄色影院| 国产精品99久久久久久宅男 | 亚洲无亚洲人成网站77777| 午夜视频久久久| 亚洲经典一区| 亚洲欧美影院| 欧美肥婆在线| 国产视频亚洲| 99精品热6080yy久久| 久久av一区| 亚洲制服av| 欧美aaaaaaaa牛牛影院| 国产精品美女久久久久久免费| 伊人春色精品| 亚洲男女毛片无遮挡| 亚洲美女在线国产| 欧美主播一区二区三区| 欧美成人一区二区在线| 国产精品视频在线观看| 亚洲人被黑人高潮完整版| 午夜精品久久久久99热蜜桃导演| 日韩视频第一页| 久久久午夜电影| 国产精品乱码一区二区三区| 亚洲国产日韩欧美在线99 | 99国内精品久久| 久久久久久一区二区| 欧美色欧美亚洲另类七区| 影音先锋日韩资源| 午夜电影亚洲| 亚洲综合色自拍一区| 欧美精品一区二区蜜臀亚洲| 国产一区在线看| 亚洲中无吗在线| 夜夜夜久久久| 欧美大片在线影院| 黄色av日韩| 午夜欧美视频| 亚洲一区观看| 欧美日韩不卡视频| 亚洲国产精品999| 亚洲成色777777在线观看影院| 香蕉久久夜色精品国产| 欧美日韩中文| 亚洲人午夜精品免费| 亚洲风情亚aⅴ在线发布| 欧美亚洲在线观看| 欧美亚洲成人网| 日韩一区二区精品视频| 亚洲精品一区二区三区福利| 玖玖玖国产精品| 黄色一区二区三区| 欧美一区激情| 久久精品国产亚洲精品| 国产酒店精品激情| 亚洲一区尤物| 欧美一区二区三区男人的天堂| 国产精品久久7| 在线亚洲高清视频| 亚洲午夜久久久久久久久电影院 | 午夜精品福利电影| 国产精品成人免费| 在线视频精品| 亚洲在线视频免费观看| 欧美三日本三级少妇三2023| 日韩网站在线看片你懂的| 99国产精品久久久久久久| 欧美精品久久一区| 日韩视频不卡中文| 一区二区三区欧美视频| 欧美日本高清一区| 99精品国产福利在线观看免费| 在线性视频日韩欧美| 欧美色另类天堂2015| 在线视频日韩| 欧美一站二站| 国产揄拍国内精品对白| 亚洲国产成人av| 欧美国产专区| 亚洲最快最全在线视频| 亚洲一区网站| 国产欧美日韩亚洲精品| 欧美一区日韩一区| 美女亚洲精品| 亚洲三级影院| 亚洲欧美色婷婷| 国产视频在线观看一区二区| 久久精品一区二区三区四区 | 欧美国产高潮xxxx1819| 亚洲精品美女在线观看播放| 亚洲一区二区精品在线| 国产精品美女| 欧美一区二区三区在线观看| 美玉足脚交一区二区三区图片| 亚洲欧洲中文日韩久久av乱码| 亚洲视频一区在线| 国产麻豆精品theporn| 久久精品麻豆| 欧美日韩国产一区二区三区| 亚洲一区二区影院| 老司机凹凸av亚洲导航| 亚洲人成啪啪网站| 亚洲一区中文| 国产综合视频| 一区二区三区精密机械公司| 国产精品日韩在线一区| 亚洲大胆av| 欧美午夜精品久久久久久孕妇| 性久久久久久久| 欧美黄色成人网| 亚洲欧美日韩国产精品| 免费视频一区| 亚洲——在线| 免费人成网站在线观看欧美高清| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 国产精品美女久久久浪潮软件| 久久精品视频导航| 欧美日韩在线综合| 欧美专区18| 欧美日韩在线播放三区四区| 久久成人在线| 欧美三区美女| 亚洲韩国一区二区三区| 国产精品国产a级| 亚洲高清免费在线| 国产精品毛片大码女人| 91久久精品一区| 国产精品一区二区三区成人| 亚洲精品乱码久久久久久| 国产欧美精品一区二区色综合| 亚洲另类视频| 韩国女主播一区| 亚洲女女女同性video| 亚洲第一级黄色片| 久久aⅴ国产紧身牛仔裤| 亚洲九九九在线观看| 久久精品久久综合| 一区二区冒白浆视频| 免费成人高清在线视频| 午夜视频一区| 国产精品乱码| 在线亚洲成人| 亚洲欧洲中文日韩久久av乱码| 久久久视频精品| 亚洲欧美另类国产| 国产精品mv在线观看|