999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SI2X MCU外設協處理器的配置及編程

2008-01-01 00:00:00康曉敦
電子產品世界 2008年1期

摘要:本文扼要介紹了飛思卡爾新一代SI2X 16位MCU的外設協處理器XGATE。著重討論了XGATE的中斷處理機制,以及XGATE與主內核CPUl2X的交互。最后給出了XGATE的典型配置及編程方法。

關鍵詞:協處理器;XGATE;中斷機制;微控制器

與經典的微處理器S12系列相比,飛思卡爾新一代的16位微處理器系列S12X(E)的性能有深化而全面的提升。最重要的是集成了外設協處理器XGATE。它是一個獨立于主CPU(CPUl2X)的RISC內核,可作為一個高效的DMA控制器,自治地在外設與RAM之間進行高速的數據傳送,和靈活的數據處理;可作為一個單獨的算法單元完成某些運算,如通信協議的處理;作為虛擬的外設,用I/o口模擬串行通信口;或對簡單的外設進行軟件包裝以生成功能強大的個性化外設。集成XGATE的目的就是在日益復雜的嵌入式系統中減輕內核CPUl2X的負擔,以增強系統的數據吞吐能力。

XGATE基本特性

精簡指令集內核

XGATE是一個16位的精簡指令集內核,圖1為XGATE編程模式。內核擁有8個16位通用寄存器R0~R7,1個程序計數器PC,一個4位的條件碼寄存器CCR。其中R0恒為0,可用于對變量的快速清零或置位。R1和R7有額外用途:XGATE響應中斷時,硬件將中斷向量表中對應通道的1個16位字裝載到R1(通常用作數據指針),將暫存指針裝載到R7。內核沒有完全功能的棧指針,這里的暫存指針只在調用函數時用于局部變量的空間分配。

XGATE指令集

XGATE共有72條獨立的指令。指令時鐘最高可達100MHz。XGATE的時鐘速度總是CPUl2X總線速度的2倍。XGATE的大部分指令是對通用寄存器的操作,為單周期指令。訪問存儲器的指令為雙周期指令。跳轉指令視條件而定可能為1或2個周期。XGATE有一些特殊的位提取及插入的單周期指令,很適合串行通信協議的處理。

XGATE訪問空間

S12X的全局存儲空間共有8MB,XGATE可以訪問其中片內的64KB。這64KB包括2KB的片上外設寄存器,30KB的片上閃存和最大32KB的片內RAM,如圖2的XGATE全局地址映射所示。注意XGATE不能訪問EEPROM空間或片外資源。XGATE的訪問空間完全包含在CPUl2X的訪問空間中。地址仲裁的規則使CPUl2X的優先級總高于XGATE。

嵌入式處理器的代碼通常在閃存或ROM中運行,但對于XGATE建議代碼放在RAM中運行。原因有二:1)CPUl2X的代碼,在閃存中,若XGATE的代碼也在閃存中,則增加了總線沖突的概率;2)CPUl2X訪問片內RAM時只占用總線帶寬的一半,在每個CPU12X的RAM訪問周期中,總能讓出一個XGATE的RAM訪問周期。

事件驅動XGATE線程

XGATE的代碼執行是由事件驅動的,這里的事件就是中斷,由中斷來觸發XGATE的運行。沒有中斷,XGATE不執行任何指令,從而也沒有功耗。XGATE的代碼就是一組中斷服務程序,沒有主程序或空閑時的循環程序。XGATE的中斷服務程序也稱作線程。

互斥信號量

CPU12X與XGATE之間常用的通信方式是共享資源。由于這兩個內核可以獨立異步地訪問內存及片上外設,就產生了數據完整性的問題。為了保證共享數據的完整性,XGATE集成了8個硬件互斥信號量(Semaphore),用戶可以通過硬件信號量來同步兩個內核對共享數據的訪問。

信號量有3種狀態:釋放、CPUl2X鎖定和XGATE鎖定。每個內核在訪問共享資源前,應當首先鎖定相應的信號量;在訪問結束后應當釋放相應的信號量。信號量在三種狀態之間的轉換如下:

·信號量鎖定

XGATE以專用的指令SSEM加上一個3位立即數來鎖定某個信號量。若鎖定成功則XGATE的進位標志C置位,否則C被清零。CPUl2X通過專門的信號量寄存器來鎖定信號量。CPUl2X鎖定并檢查某個信號量的方法可參見下面的C宏定義。

·信號量釋放

XGATE以專用的指令CSEM加上一個3位立即數來釋放某個信號量。CPUl2X通過專門的信號量寄存器來釋放信號量。同樣見下面的C宏定義。

值得強調的是,信號量與對應資源之間沒有任何硬件上的聯系,信號量對資源的保護完全體現在用戶的代碼中。

XGATE的中斷

所有MCU中斷缺省由CPU12X響應。其中絕大多數中斷也可提交XGATE處理。每個中斷都有相應的配置寄存器INT_CFGDATAx來配置相應的處理內核及中斷優先級。圖3是典型的S12X的中斷配置及中斷響應。其中ILVL[2:0]域定義了中斷優先級,優先級對兩個內核都有效;RQST域選擇中斷處理內核。一種典型的應用是置RQST=1,首先將中斷提交給XGATE處理。xGATE的中斷服務程序處理之后通知CPUl2X,并將處理的結果提交CPUl2X。這樣CPUl2X就只需關注于上層的應用控制算法,而與底層硬件密切相關的驅動由XGATE處理,極大地提高了系統的性能。

中斷向量表

圖4是XGATE的中斷矢量表結構。XGATE的每個中斷矢量由2個16位字組成。編程時可用一個指針結構數組來描述整個中斷矢量表。數組的每個元素由ISR入口地址和ISR數據指針組成。若某中斷配置由XGATE處理,則當該中斷發生時硬件將ISR入口地址裝載入XGATE的程序計數器PC,將ISR數據指針裝載入XGATE的R1。這樣XGATE的中斷服務程序可以帶一個數據指針作為參數。這樣,一個顯著的好處是,可以只用同一段ISR代碼來處理同類的若干個中斷。XGATE可以通過這個數據指針來區分及處理不同的對象。

XGATE與CPUl2X的相互中斷

XGATE與CPUl2X之間可相互中斷以便同步運行。XGATE有一個特殊的指令SIF,用于向CPUl2X提交中斷。通常SIF為XGATE線程的最后一條指令,用以觸發CPUl2X中斷。缺省情況下XGATE的中斷矢量就對應于XGATE所處理的前一中斷。故由SIF所觸發的CPUl2X的中斷服務程序通常不必查詢中斷源。

XGATE有8個軟件中斷源。CPUl2X通過置位或清除XGATE軟件觸發寄存器(XGSWT)中相應的位來觸發或清除這8個中斷。值得指出的是:由于XGSWT屬于片上外設寄存器,所以XGATE也可以通過XGSWT給自己發出中斷。

中斷嵌套

最早推出的XGATE不支持中斷嵌套,即只在當前XGATE的線程完成后才能處理別的中斷。新的XGATE支持1級中斷嵌套,而且,新的XGATE有2套內核寄存器,1套在前臺運行,另1套在后臺保持被占先前的現場。所以中斷過程中沒有內核寄存器入棧或出棧。這樣2套內核切換的速度很快,僅為2個XGATE的指令周期。

另外,對應于4到7級中斷和1到3級中斷分別有XGATE初始暫存指針寄存器XGISP74和XGISP31。與優先級的中斷相應時,硬件會將對應的暫存指針寄存器內容裝載到XGATE的R7中。

XGATE的啟動及初始化

XGATE的啟動及初始化并不復雜,典型過程如下:

·XGATE代碼下載到RAM中。系統復位后,需要將XGATE的代碼從閃存下載到RAM中以提高系統運行性能。

·將XGATE的中斷矢量表起始地址寫到XGATE的矢量基地址寄存器XGVBR中。

·初始化XGATE的暫存指針。將優先級4到7的中斷程序的局部變量起始地址寫入寄存器XGISP74將優先級1到3的中斷程序的局部變量起始地址寫入寄存器XGISP31。

·配置中斷源。欲將某中斷提交給XGATE處理,則將中斷配置寄存器的RQST置位;同時可以設置中斷配置寄存器ILVL[2:0]域為其配置適當的優先級。

·啟動XGATE。置XGATE控制寄存器XGMCTL中的XGE位為1以啟動XGATE。通常也將XGIE位置1以使能XGATE對CPUl2X的中斷。

結語

外設協處理器XGATE顯著增強了S12XMCU系統的整體性能。S12X MCU片上幾乎所有的外設中斷均可交給XGATE處理。XGATE的編程實際就是為XGATE寫一組中斷服務程序。XGATE的配置和啟動也比較方便,主要是恰當地設置幾個核心的XGATE寄存器。

主站蜘蛛池模板: 国产成人免费手机在线观看视频 | 欧美中日韩在线| 亚洲欧洲免费视频| 在线观看91精品国产剧情免费| 婷婷亚洲综合五月天在线| 另类重口100页在线播放| 国产欧美日韩va| 一级福利视频| 中文天堂在线视频| 97视频在线精品国自产拍| 国产麻豆精品久久一二三| 久久人人妻人人爽人人卡片av| 亚洲美女久久| 欧美a级完整在线观看| 97一区二区在线播放| 国产成人综合网在线观看| 国产成人精品无码一区二| 国产美女在线免费观看| 亚洲综合在线网| 国产精品成| 久久亚洲天堂| 99在线观看精品视频| 女高中生自慰污污网站| 亚洲国产精品日韩av专区| 无码在线激情片| 永久免费无码成人网站| 国产视频欧美| 免费一级成人毛片| 在线色综合| 国产美女叼嘿视频免费看| 99热这里只有精品2| 国产人成在线视频| 亚洲精品在线观看91| 久久久久久久久18禁秘| 黄色在线网| 国产亚洲欧美日本一二三本道| 在线观看91精品国产剧情免费| 午夜福利无码一区二区| 亚洲欧美日韩精品专区| 亚洲国产成人自拍| 91区国产福利在线观看午夜| 99伊人精品| 免费毛片全部不收费的| 九九热这里只有国产精品| 在线观看热码亚洲av每日更新| 国产精品无码影视久久久久久久| 四虎成人精品| 免费久久一级欧美特大黄| 亚洲最新地址| 欧美综合区自拍亚洲综合天堂| 爱做久久久久久| 视频在线观看一区二区| 亚洲精品福利视频| 九色视频线上播放| 亚洲美女视频一区| 国产成本人片免费a∨短片| 欧美97色| 精品久久久久久久久久久| 噜噜噜久久| 青青草一区二区免费精品| 9966国产精品视频| 91精品免费高清在线| 成人亚洲国产| 这里只有精品在线播放| 一级爆乳无码av| 欧美精品在线看| 99在线视频免费| 国产成人综合亚洲欧美在| 国产欧美精品一区二区| 蜜桃视频一区| 一本大道香蕉高清久久| 无码一区18禁| 老司国产精品视频91| 国产无码性爱一区二区三区| 国产一区二区在线视频观看| 国产精品久久久久久影院| 精品国产香蕉在线播出| 欧美一级高清视频在线播放| 久996视频精品免费观看| 亚洲不卡av中文在线| 99视频只有精品| 中文无码日韩精品|