• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    S12X系列雙核單片機的整車控制器CAN結(jié)點設(shè)計*

    2012-06-25 02:46:04李潤鑫邱瑞昌劉彪高健
    關(guān)鍵詞:雙核中斷整車

    李潤鑫,邱瑞昌,劉彪,2,高健

    (1.北京交通大學(xué) 電氣工程學(xué)院,北京 100044;2.清華大學(xué) 汽車安全與節(jié)能國家重點實驗室;3.中國機械工業(yè)建設(shè)集團有限公司)

    李潤鑫(碩士生),主要研究方向為汽車電子;邱瑞昌(副教授)主要研究方向為智能檢測技術(shù)和電力電子與電能變換技術(shù)。

    引 言

    高精度、高速度、高可靠性的混合動力汽車整車控制器是實現(xiàn)整車控制的基礎(chǔ)。為了避免車載環(huán)境中的電磁干擾,滿足閉環(huán)控制系統(tǒng)的快速響應(yīng),整車控制器與其他控制器的通信采取CAN總線方式。CAN總線位速率最大可達(dá)1Mb/s,可以滿足整車控制器與外界的高速通信。Freeseal公司MC9S12XE(簡稱S12X)系列單片機專門用于汽車網(wǎng)絡(luò)和通用車身應(yīng)用,具有32位單片機的性能,且具有16位MCU的所有優(yōu)點和功效。內(nèi)部的增強型XGATE模塊,允許高速數(shù)據(jù)自主地在單片機外設(shè)和內(nèi)部RAM、I/O端口之間進行數(shù)據(jù)傳輸與處理,XGATE內(nèi)置有一個16位的精簡指令集內(nèi)核,可以對要傳輸?shù)臄?shù)據(jù)進行預(yù)處理并執(zhí)行復(fù)雜的通信協(xié)議,易于用C語言進行編程。合理地使用XGATE可以提高整車控制器與外界CAN總線的通信速度,而不增加主CPU(S12XCPU)的中斷負(fù)荷,從而提高了單片機的數(shù)據(jù)處理能力。

    1 CAN總線硬件接口設(shè)計

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

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

    圖1 CAN總線結(jié)點接口原理圖

    2 CAN總線數(shù)據(jù)處理的基本流程

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

    圖2 CAN總線數(shù)據(jù)處理流程

    3 XGATE的典型配置方法

    XGATE的應(yīng)用與編程方法在參考文獻(xiàn)[3]和[4]中均有介紹,但基于XGATE的CAN總線的C語言編程大都沒有具體說明。這里給出一個含有XGATE的MC9S12XEP100單片機通過ZLG USBCAN接口卡與上位機進行CAN總線通信的例子,XGATE模塊編寫的基本步驟如下:

    ①在Code Warrior軟件中新建一個雙核的工程文件,在main.c和xgate.h中對共享數(shù)據(jù)段進行初始化,并將CAN1接收中斷提交給XGATE處理,然后啟動XGATE。

    ②初始化S12XCPU和CAN1通道,在xgate.cxgate中編寫接收中斷函數(shù),并對中斷向量表進行設(shè)置。

    ③編寫與XGATE中CAN1接收中斷相對應(yīng)的主處理器中斷函數(shù),使主處理器能夠響應(yīng)來自XGATE的中斷請求。

    其主要配置方法如下:

    ① 新建一個雙核工程文件,在main.c中對共享數(shù)據(jù)段進行初始化:

    #pragma DATA_SEG SHARED_DATA

    volatile int LENGTH,MyDa[8];

    volatile unsigned long SAE_ID0;

    #pragma DATA_SEG DEFAULT

    在prm文件中,SHARED_DATA定義于一塊獨立的內(nèi)存塊中,并放置于未分頁的RAM頁中,這樣雙核運行時均能存取SHARED_DATA塊中的變量,實現(xiàn)了數(shù)據(jù)共享。

    “#define CAN0RECEIVE_VEC 0xAA”語句中對XGATE中的CAN1接收中斷向量地址進行定義,其為CAN1在XGATE中的接收中斷號乘以2,CAN1的接收中斷向量號可在xgate.cxgate進行查找。代碼如下:

    將CAN1的接收中斷交由XGATE進行處理,即將XGATE模塊的中斷請求配置寄存器置1(RQST=1),優(yōu)先級設(shè)置為1(PRIO=1)。

    在xgate.h中對共享數(shù)據(jù)段進行初始化:

    #pragma DATA_SEG SHARED_DATA

    extern volatile int LENGTH,MyDa[8];

    extern volatile unsigned long SAE_ID0;

    #pragma pop

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

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

    {(XGATE_Function)CAN1RECEIVE,0}//對應(yīng)通道號55

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

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

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

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

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

    在Code Warrior環(huán)境下對含有XGATE的MC9S12XEP100進行調(diào)試的界面如圖3所示。由于工程使用了雙核,故調(diào)試器有兩套窗口,左側(cè)是S12XCPU,右側(cè)是XGATE。

    圖3 MC9S12XEP100芯片的雙核調(diào)試環(huán)境

    結(jié) 語

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

    [1]飛思卡爾半導(dǎo)體.AN3224:Tutorial:Introducing the XGATE Module to Consumer and Industrial Application Developers.Pdf[OL].[2012-03].http://www.Freescale.com.

    [2]徐為國.混合動力汽車的發(fā)展?fàn)顩r及前景初探[J].汽車科技,2001(6):107-109.

    [3]周怡君,毛玉良.基于S12X雙核微控制器的染色自動化控制器[J].電子技術(shù)應(yīng)用,2010(36):42-44.

    [4]王雷,曾潔,陳少華.等.S12XD系列中XGATE協(xié)處理器的原理及應(yīng)用[J].單片機與嵌入式系統(tǒng)應(yīng)用,2008(2):42-44.

    [5]邵貝貝,龔輝.嵌入式系統(tǒng)中的雙核技術(shù)[M].北京:北京航空航天大學(xué)出版社,2008.

    猜你喜歡
    雙核中斷整車
    基于六自由度解耦分析的整車懸置設(shè)計
    全球金融“F20”在此召開!橫瀝進入“雙核”時代
    跟蹤導(dǎo)練(二)(5)
    千里移防,衛(wèi)勤保障不中斷
    解放軍健康(2017年5期)2017-08-01 06:27:44
    新型夾心雙核配和物[Zn2(ABTC)(phen)2(H2O)6·2H2O]的合成及其熒光性能
    整車低頻加速噪聲研究及改進
    HFF6127G03EV純電動客車整車開發(fā)
    三螺旋N-N橋連的雙核Co(Ⅲ)配合物的合成、結(jié)構(gòu)和性質(zhì)
    一個雙核β-二酮鏑(Ⅲ)配合物的超聲化學(xué)合成、晶體結(jié)構(gòu)和磁性
    整車靜態(tài)電平衡測試研究
    汽車電器(2014年8期)2014-02-28 12:14:28
    大埔县| 永昌县| 桂林市| 惠州市| 盐边县| 湖州市| 井研县| 隆尧县| 淳安县| 沐川县| 禹城市| 乌苏市| 霸州市| 彭泽县| 天柱县| 阿巴嘎旗| 邹平县| 罗甸县| 通道| 海林市| 海丰县| 兴海县| 邯郸市| 芜湖市| 津市市| 邻水| 屯昌县| 峨眉山市| 高阳县| 镇原县| 施甸县| 邯郸市| 奉化市| 浦江县| 庆云县| 汶上县| 龙江县| 英吉沙县| 曲水县| 周口市| 甘南县|