新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > S12XD系列中XGATE協(xié)處理器的原理及應(yīng)用

S12XD系列中XGATE協(xié)處理器的原理及應(yīng)用

作者: 時(shí)間:2009-05-06 來源:網(wǎng)絡(luò) 收藏
和CPU完全一樣,是一個(gè)支持C編譯器的可編程的核。當(dāng)中斷源到來時(shí),它開始運(yùn)行;在完成中斷的任務(wù)以后,它會(huì)停下來其所有時(shí)鐘等候下次事件,以此減少電源消耗。
是一個(gè)協(xié)。它可以直接使用,幾乎可以直接進(jìn)入所有存儲(chǔ)空間。的創(chuàng)新特點(diǎn)就在于它以獨(dú)特的方式連接到MCU所自帶的RAM上。通過交換總線,MCU的內(nèi)部總線允許交叉進(jìn)入RAM區(qū)。當(dāng)主CPU全速執(zhí)行時(shí),訪問RAM只需一半時(shí)間,XGATE得以在另外半個(gè)時(shí)鐘總線周期進(jìn)入RAM。所以若主CPU不進(jìn)入RAM的周期內(nèi),則XGATE訪問RAM的速度就會(huì)是CPU最高速度的2倍。
3 XGATE及其工作
3.1 多通道PWM
脈沖寬度調(diào)制(PWM)在很多I/O引腳上被MCU的物理硬件很嚴(yán)格地限制了,或者說如果需要更多的PWM信號(hào)就必須使用軟件來驅(qū)動(dòng)這些脈沖。當(dāng)需要一個(gè)在輸出上實(shí)現(xiàn)低功耗的過濾,或者引發(fā)中斷時(shí),通常想要一個(gè)PWM短周期信號(hào),它就會(huì)在主CPU上有很高的占用率。XGATE可以將CPU的占用狀態(tài)完全移除,并且可以通過一個(gè)單一的硬件定時(shí)器運(yùn)行產(chǎn)生多通道的PWM,這樣可以使MCU源的更有效率。在很多的實(shí)際中,相關(guān)的PWM信號(hào)產(chǎn)生就是利用了定時(shí)器來產(chǎn)生所需要的PWM波形。
3.2 串行通信協(xié)議處理
XGATE的另外一個(gè)重要功能就是串行通信。這里會(huì)接收到含有比較標(biāo)示符的信息,然后數(shù)據(jù)會(huì)被送到存儲(chǔ)器中的一個(gè)適當(dāng)?shù)膮^(qū)域,這些都是由匹配的標(biāo)識(shí)符和負(fù)載數(shù)據(jù)決定的。
3.3 CAN網(wǎng)關(guān)
CAN網(wǎng)關(guān)在工業(yè)系統(tǒng)中經(jīng)常遇到的典型形式就是具有2個(gè)CAN網(wǎng)絡(luò)拓?fù)洹GATE就可以幫助CPU來實(shí)現(xiàn)這個(gè)雙CAN網(wǎng)絡(luò)的功能。
XGATE可以通過查表提供100%軟件過濾。在每100μs接收一幀信息(每幀信息包括8字節(jié)和29位標(biāo)識(shí)符)的情況下,對(duì)8位或者16位MCU來說,這個(gè)雙CAN網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的控制是非常重要的。XGATE可以降低CPU的加載率,CPU處理258字節(jié)時(shí)就近似于零加載。對(duì)于一個(gè)6字節(jié)數(shù)據(jù)的CAN信息,XGATE處理每幀大約需要3μs,最壞的情況下CPU加載率只有6%。
3.4 積分
很多電機(jī)控制應(yīng)用需要從位置和速度傳感器得到連續(xù)輸入的信號(hào)。對(duì)于體積小、速度快的電機(jī),積分編碼可以提供位置反饋,并且可以產(chǎn)生每秒幾萬個(gè)脈沖。如要保持CPU沒有加載,則由XGATE完成該任務(wù),它可以處理兩個(gè)傳感器中的一個(gè)中斷事件,并提供方向和位置信息。第3個(gè)傳感器可以為轉(zhuǎn)動(dòng)參考點(diǎn)提供一個(gè)索引信號(hào)。每次讀2個(gè)傳感器輸入任務(wù)時(shí)會(huì)有一個(gè)中斷,并且根據(jù)后來輸入狀態(tài)執(zhí)行單一向前或者向后計(jì)算,用XGATE時(shí)只花很少的時(shí)間就可以完成這個(gè)任務(wù)(執(zhí)行程序所用時(shí)間少于0.5μs)。這是一個(gè)理想的表現(xiàn)XGATE特性的例子。
3.5 同步串行通信
對(duì)于一些串行通信,XGATE可以提供簡(jiǎn)單的驅(qū)動(dòng)功能。SPI(同步串行通信)在主機(jī)模式下操作是很容易完成的,時(shí)鐘和數(shù)據(jù)都可以由XGATE驅(qū)動(dòng),并且只對(duì)一個(gè)定時(shí)器提供波特率信息。
XGATE也還可以沒置SPI從機(jī)操作,典型的操作包括在MOSI口收集數(shù)據(jù)和在MISO口輸出數(shù)據(jù),每次傳輸都會(huì)在SCLK上接收到時(shí)鐘信號(hào)。從機(jī)SPI執(zhí)行必須注意,由于錯(cuò)過半周期時(shí)鐘沿而產(chǎn)生錯(cuò)誤的讀操作會(huì)導(dǎo)致向SPI主機(jī)返回的數(shù)據(jù)錯(cuò)誤。
3.6 異步串行通信
與SPI一樣,XGATE可以通過直接對(duì)口進(jìn)行位操作或者通用異步收發(fā)報(bào)機(jī)來控制軟件SCI。這個(gè)與最初的同步通信功能相似,當(dāng)然,臨界位的時(shí)鐘邊沿是不一樣的。
在異步串行通信中XGATE編碼是被嚴(yán)格限制的(波特率最大值通常是19 200 b/s)。在最大反應(yīng)時(shí)間情況下必須保持位波特率的20%和總體的2%,也就是每10.4μs對(duì)每位采樣或設(shè)置一次。雖然位處理時(shí)間是允許變化的,但是在19 200 b/s的波特率下就不會(huì)在發(fā)送和接收正確的8位數(shù)據(jù)上產(chǎn)生沖突。
XGATE編碼發(fā)送SCI數(shù)據(jù)需要由一個(gè)比較定時(shí)器產(chǎn)生的2個(gè)定時(shí)值:一個(gè)是位周期;另一個(gè)是斷點(diǎn)檢測(cè)時(shí)間,通常為多個(gè)位周期時(shí)間。傳輸1位的程序非常短,只需要設(shè)置輸出狀態(tài)和改變位的指針。接收數(shù)據(jù)要求用位周期時(shí)間對(duì)中間通道進(jìn)行采樣,這樣就會(huì)和以前的中斷分開,就像進(jìn)入了另一個(gè)XGATE中斷,使中斷率加倍。此外,這個(gè)程序很短,在最壞的情況下中斷之間(發(fā)送/接收,波特率為19 200 b/s)的間隔是26μs;在XGATE的時(shí)鐘程序的影響下(波特率為19 200 b/s),SCI數(shù)據(jù)的接收和發(fā)送之前,允許程序用大約36μs執(zhí)行(允許延時(shí)26+10.4μs)。
這是一個(gè)當(dāng)XGATE程序加入后,如何滿足最大延時(shí)并允許其他程序執(zhí)行的很好的例子。
3.7 LIN協(xié)議處理
本地互連網(wǎng)(LIN)協(xié)議在汽車控制方面有廣泛應(yīng)用,其主要作用是作為CAN的展開,但是現(xiàn)在也開始在其他非汽車應(yīng)用領(lǐng)域中流行起來。
LIN和SCI外部設(shè)備一樣,都是按字節(jié)控制數(shù)據(jù)的。在LIN中,XGATE可以處理傳輸數(shù)據(jù)、緩沖器接收數(shù)據(jù)中斷和數(shù)據(jù)排隊(duì)的協(xié)議。
XGATE執(zhí)行213字節(jié)長(zhǎng)的協(xié)議程序,執(zhí)行時(shí)每字節(jié)只要0.9μs。在雙字節(jié)加載數(shù)據(jù)時(shí),80 Hz的頻率下處理雙字節(jié)LIN信息只用了XGATE執(zhí)行能力的0.66%。
3.8 排隊(duì)管理
對(duì)外部設(shè)備的排隊(duì)管理可以使主CPU進(jìn)行有意義的加載。一些MCU體系結(jié)構(gòu)根據(jù)排隊(duì)選擇外部設(shè)備來減少在CPU上的加載。XGATE可以根據(jù)使用者的要求提供此項(xiàng)功能。
結(jié) 語
16位微是較高端的車載型,應(yīng)用很廣泛。它的眾多優(yōu)勢(shì)中最大、最有特色的就是XGATE的加入。XGATE作為一個(gè)獨(dú)立于CPU的協(xié)對(duì)于整個(gè)芯片的作用很大。在處理中斷方面XGATE可以實(shí)現(xiàn)很強(qiáng)大的功能,可以大量降低主CPU的加載率,讓數(shù)據(jù)傳輸更順暢。在訪問RAM方面XGATE也有其自己的優(yōu)勢(shì),在實(shí)際應(yīng)用中必然會(huì)受到大家的重視。但是就現(xiàn)在而言,雙核技術(shù)還是屬于一項(xiàng)新技術(shù),在很多方面的應(yīng)用還是需要大家共同探索的。

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉