ARM單芯片系統(tǒng)功能特征及其嵌入式應(yīng)用簡(jiǎn)介
一、功能框圖及功能塊描述
EP7209是世界上第一片既支持流行的MP3標(biāo)準(zhǔn),也支持諸如Microsoft Audio等快速涌現(xiàn)的互聯(lián)網(wǎng)音頻壓縮標(biāo)準(zhǔn)的數(shù)字音頻解碼器片上系統(tǒng)。
圖1是EP7209的功能框圖。由圖1可知EP7209含有如下功能塊。
基于ARM核的音頻解碼器單芯片系統(tǒng)1
?。?)ARM720T處理器含有如下功能子塊:
① ARM7TDMI CPU核。該CPU核支持Thumb指令集、核調(diào)試、增強(qiáng)的乘法器、JTAG以及嵌入式ICE。它的時(shí)鐘速率可編程為18MHz、36MHz、49MHz、74MHz。
?、?內(nèi)存管理單元(MMU)與ARM710核兼容,并增加了對(duì)Windows CE的支持。該內(nèi)存管理單元提供了地址轉(zhuǎn)換和一個(gè)有64個(gè)項(xiàng)的轉(zhuǎn)換旁路緩沖器。
?、?提供了8KB的單一的指令和數(shù)據(jù)高速緩沖存儲(chǔ)器以及一個(gè)四路相聯(lián)高速緩沖存儲(chǔ)器控制器。
?、?寫緩沖器。
(2)38400字節(jié)的片上SRAM,可以在LCD控制器和通用應(yīng)用之間共享。
?。?)內(nèi)存可以和高達(dá)6個(gè)獨(dú)立的擴(kuò)展段接口,每個(gè)擴(kuò)展段有256MB,且等待狀態(tài)可編程。
?。?)27位的通用I/O,可以多路復(fù)用,以在需要時(shí)提供額外的功能。
?。?)數(shù)字音頻接口(DAI)可以直接與CD音質(zhì)的DAC和編解碼器相連。
?。?)中斷控制器。
?。?)先進(jìn)的系統(tǒng)狀態(tài)控制及電源管理。
?。?)2個(gè)16550A兼容的全雙工UART,含16字節(jié)的發(fā)送及接收FIFO。
?。?)SIR協(xié)議紅外線數(shù)據(jù)編解碼器,速率最高達(dá)115.2kbps。
?。?0)LCD控制器,16級(jí)灰度,可編程為1、2或4位每像素。
?。?1)片上的啟動(dòng)ROM,已固化了用于串行加載的啟動(dòng)代碼。
(12)2個(gè)16位的通用定時(shí)計(jì)數(shù)器。
?。?3)1個(gè)32位的實(shí)時(shí)時(shí)鐘(RTC)和比較器。
?。?4)2個(gè)同步串行接口,用于諸如ADC等Microwire或SPI外圍器件。一個(gè)接口支持主模式和從模式,另一個(gè)僅支持主模式。
?。?5)完全的JTAG邊界掃描和嵌入式ICE支持。
?。?6)2個(gè)可編程的脈沖寬度調(diào)制接口。
?。?7)1個(gè)用于和1或2個(gè)Cirrus Logic CL-PS6700 PC卡控制器器件相連的接口,可支持2個(gè)PC卡插槽。
?。?8)振蕩器和鎖相環(huán),用于由外部的3.6864 MHz的晶振產(chǎn)生內(nèi)核所需要的18.432MHz、36.864 MHz、 49.152MHz或73.728MHz的時(shí)鐘。此外還有一個(gè)外部時(shí)鐘輸入端(在13MHz模式下使用)。
?。?9)一個(gè)低功耗的32.768kHz的振蕩器,用于產(chǎn)生實(shí)時(shí)時(shí)鐘所需要的1Hz時(shí)鐘。
所有的外部存儲(chǔ)器和外圍器件都應(yīng)連接到32位的數(shù)據(jù)總線D[0:31]上,并應(yīng)使用28位的地址總線A[0:27]和其它控制信號(hào)。
二、基本工作原理
EP7209的核心邏輯功能是建立在一個(gè)ARM720T嵌入式處理器之上的。對(duì)EP7209的設(shè)計(jì),以低功耗為目的進(jìn)行了優(yōu)化,并使用完全靜態(tài)的 0.25μm的CMOS制造工藝。低功耗的思想同樣體現(xiàn)在狀態(tài)設(shè)計(jì)、時(shí)鐘使用的方式上。下面將有選擇地介紹EP7209的工作原理。
1.CPU內(nèi)核
ARM720T由一個(gè)ARM7TDMI 32位RISC處理器、一個(gè)單一的高速緩沖和一個(gè)存儲(chǔ)器管理單元(MMU)所構(gòu)成。8KB的高速緩沖有一個(gè)四個(gè)項(xiàng)的相聯(lián)寄存器,并被組織成512線四字(4×512×4字節(jié))。高速緩沖直接與ATM7TDMI相連,因而高速緩沖來(lái)自CPU的虛擬地址。當(dāng)所需的虛擬地址不在高速緩沖中時(shí),由MMU將虛擬地址轉(zhuǎn)換為物理地址。一個(gè)64個(gè)項(xiàng)的轉(zhuǎn)換旁路緩沖器(TLB)被用來(lái)加速地址轉(zhuǎn)換過(guò)程,并減少頁(yè)表讀取所需的總線傳送。僅通過(guò)轉(zhuǎn)換高速緩沖中未存儲(chǔ)的地址,MMU就能夠節(jié)約功率。
2.狀態(tài)控制
EP7209支持如下的電源管理狀態(tài):操作、空閑和后備(節(jié)能),如圖2所示。正常的程序執(zhí)行狀態(tài)為操作狀態(tài)。這是一個(gè)完全性能狀態(tài),時(shí)鐘和外圍器件都被使能。除了CPU時(shí)鐘被暫停外,空閑狀態(tài)與操作狀態(tài)是一樣的。一個(gè)中斷或喚醒將使空閑狀態(tài)返回到操作狀態(tài)。后備狀態(tài)下功耗最小,選擇此模式會(huì)關(guān)閉主振蕩器,只對(duì)實(shí)時(shí)時(shí)鐘和相關(guān)邏輯提供電源。當(dāng)EP7209處于后備狀態(tài)時(shí),為保證系統(tǒng)能夠正常喚醒,所有電源和地引腳仍然與電源和地相連是非常重要的。后備狀態(tài)唯一能夠變遷到的狀態(tài)是操作狀態(tài)。
基于ARM核的音頻解碼器單芯片系統(tǒng)2
3.復(fù) 位
EP7209有三個(gè)異步復(fù)位信號(hào):nPOR、nPWRFL和nURESET。如它們中的任一個(gè)有效,系統(tǒng)復(fù)位將由內(nèi)部產(chǎn)生。除了RTC數(shù)據(jù)和匹配寄存器外,所有的EP7209內(nèi)部寄存器都將被復(fù)位。為了使系統(tǒng)時(shí)間在用戶復(fù)位或電源失敗的狀況下得以保持,RTC數(shù)據(jù)和匹配寄存器僅由nPOR引起的復(fù)位所清除。
任何復(fù)位都將復(fù)位CPU,并在EP7209返回操作狀態(tài)時(shí)使CPU從復(fù)位矢量處開(kāi)始執(zhí)行程序。
4. 時(shí) 鐘
EP7209有兩個(gè)時(shí)鐘模式:外部時(shí)鐘輸入和片上PLL。時(shí)鐘源的選取是由端口E的第2腳(PE[2])的一個(gè)陷阱選項(xiàng)來(lái)實(shí)現(xiàn)的。如果PE[2]在nPOR的上升沿處為高(例如上電時(shí)),外部時(shí)鐘模式被選取;如果PE[2]為低,那么,片上PLL模式被選取。上電以后,PE[2]可用作通用輸入輸出端口。
EP7209器件有幾個(gè)獨(dú)立的邏輯部分,每一個(gè)都有自己的時(shí)鐘頻率要求。當(dāng)EP7209處于外部時(shí)鐘模式時(shí),外圍器件的真實(shí)頻率將不同于PLL模式時(shí)的頻率。
5. 中斷處理
在程序的執(zhí)行期間,當(dāng)一個(gè)不可預(yù)測(cè)事件 (如中斷或存儲(chǔ)器錯(cuò)誤) 發(fā)生時(shí),通常要產(chǎn)生一個(gè)例外。當(dāng)這些例外在同一時(shí)間發(fā)生時(shí),將由固定優(yōu)先權(quán)服務(wù)體系決定其被處理的次序。表1顯示了所有例外的優(yōu)先權(quán)次序。
基于ARM核的音頻解碼器單芯片系統(tǒng)3
EP7209中斷控制器有兩個(gè)中斷類型:中斷請(qǐng)求(IRQ)和快速中斷請(qǐng)求(FIQ)。中斷控制器有能力控制來(lái)自22個(gè)不同的FIQ和IRQ中斷源的中斷。這22個(gè)之中,有17個(gè)被映射為IRQ輸入,而另5個(gè)源被映射為FIQ輸入。FIQ較IRQ有較高的優(yōu)先級(jí)。如果來(lái)自于同一個(gè)組(IRQ或FIQ)的兩個(gè)中斷被接收到的話,其服務(wù)次序必須由軟件來(lái)解決。所有中斷均為電平敏感,也就是說(shuō),它們必須與下列的次序一致。
?。?)中斷器件(內(nèi)部或者外部)產(chǎn)生適當(dāng)?shù)闹袛唷?BR> ?。?)如果中斷屏蔽寄存器中適當(dāng)?shù)奈灰驯辉O(shè)置,那么一個(gè)FIQ或IRQ將由中斷控制器產(chǎn)生。
(3)如中斷被使能的話,處理器將跳轉(zhuǎn)到適當(dāng)?shù)牡刂贰?BR> ?。?)中斷調(diào)度軟件讀中斷狀態(tài)寄存器,以確定中斷源并調(diào)用相應(yīng)的中斷服務(wù)例程。
?。?)中斷服務(wù)例程中的軟件將清除中斷源,這是通過(guò)對(duì)申請(qǐng)中斷的器件采取一些由該器件特定的行動(dòng)來(lái)實(shí)施的(如,讀UART RX寄存器)。
然后,中斷服務(wù)例程可以重新使能中斷。任何其它未處理的中斷都將以相同的方法被服務(wù)?;蛘?它可以返回到中斷調(diào)度軟件。此軟件能檢查任何其它的未處理中斷并能相應(yīng)地調(diào)度它們。"End of Interrupt"類型的中斷將被鎖存。所有其它的中斷源(如外部中斷源)必須保持有效,直到相應(yīng)的服務(wù)例程開(kāi)始執(zhí)行為止。
評(píng)論