新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于ARM核的音頻解碼器單芯片系統(tǒng)

基于ARM核的音頻解碼器單芯片系統(tǒng)

作者: 時(shí)間:2010-11-29 來(lái)源:網(wǎng)絡(luò) 收藏

二、基本工作原理

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

720T由一個(gè)arm7TDMI 32位RISC處理器、一個(gè)單一的高速緩沖和一個(gè)存儲(chǔ)器管理單元(MMU)所構(gòu)成。8KB的高速緩沖有一個(gè)四個(gè)項(xiàng)的相聯(lián)寄存器, 并被組織成512線(xiàn)四字(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è)表讀取所需的總線(xiàn)傳送。僅通過(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)。

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í)間在用戶(hù)復(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)的一個(gè)陷阱選項(xiàng)來(lái)實(shí)現(xiàn)的。如果PE在nPOR的上升沿處為高(例如上電時(shí)),外部時(shí)鐘模式被選取;如果PE為低,那么,片上PLL模式被選取。上電以后,PE可用作通用輸入輸出端口。

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è)例外。

歡迎進(jìn)入嵌入式學(xué)習(xí)網(wǎng)論壇(www.embedstudy.com)壇,與200萬(wàn)技術(shù)人員互動(dòng)交流 >>進(jìn)入

當(dāng)這些例外在同一時(shí)間發(fā)生時(shí),將由固定優(yōu)先權(quán)服務(wù)體系決定其被處理的次序。表1顯示了所有例外的優(yōu)先權(quán)次序。

本文引用地址:http://m.butianyuan.cn/article/166328.htm



EP7209中斷有兩個(gè)中斷類(lèi)型:中斷請(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è)中斷被接收到的話(huà),其服務(wù)次序必須由軟件來(lái)解決。所有中斷均為電平敏感,也就是說(shuō),它們必須與下列的次序一致。

(1)中斷器件(內(nèi)部或者外部)產(chǎn)生適當(dāng)?shù)闹袛唷?br />
(2)如果中斷屏蔽寄存器中適當(dāng)?shù)奈灰驯辉O(shè)置,那么一個(gè)FIQ或IRQ將由中斷產(chǎn)生。

(3)如中斷被使能的話(huà),處理器將跳轉(zhuǎn)到適當(dāng)?shù)牡刂贰?br />
(4)中斷調(diào)度軟件讀中斷狀態(tài)寄存器,以確定中斷源并調(diào)用相應(yīng)的中斷服務(wù)例程。

(5)中斷服務(wù)例程中的軟件將清除中斷源,這是通過(guò)對(duì)申請(qǐng)中斷的器件采取一些由該器件特定的行動(dòng)來(lái)實(shí)施的(如,讀UART RX寄存器)。

然后,中斷服務(wù)例程可以重新使能中斷。任何其它未處理的中斷都將以相同的方法被服務(wù)?;蛘?它可以返回到中斷調(diào)度軟件。此軟件能檢查任何其它的未處理中斷并能相應(yīng)地調(diào)度它們。End of Interrupt類(lèi)型的中斷將被鎖存。所有其它的中斷源(如外部中斷源)必須保持有效,直到相應(yīng)的服務(wù)例程開(kāi)始執(zhí)行為止。

6. EP7209的啟動(dòng)方式

片上啟動(dòng)ROM的128字節(jié)中包含有一個(gè)指令序列。此指令序列能夠初始化器件,然后配置UART1以接收2048字節(jié)的串行數(shù)據(jù)。這些數(shù)據(jù)接收后將置于片上的SRAM中。一旦下載傳送完成,執(zhí)行將跳轉(zhuǎn)到片上SRAM的起始處。這將允許諸如在產(chǎn)品的制造過(guò)程中將代碼下載并編程到系統(tǒng)Flash中這樣的操作。

是否從片上啟動(dòng)ROM啟動(dòng)系統(tǒng)是由nMEDCHG引腳在電源復(fù)位期間的狀態(tài)決定的。如果nPOR有效時(shí),nMEDCHG為高,那么,EP7209將從連接到CS[0]的外部存儲(chǔ)器器件啟動(dòng)(正常啟動(dòng)模式);如果nMEDCHG為低,那么,啟動(dòng)將從片上ROM處開(kāi)始。注意:在兩種情形下,上電復(fù)位結(jié)束后,EP7209將處于后備態(tài),而且為了真正地開(kāi)始執(zhí)行啟動(dòng)序列,需要在WAKEUP引腳上有一個(gè)由低到高的跳變。

片上ROM啟動(dòng)的結(jié)果是對(duì)所有片選的解碼都翻轉(zhuǎn)了??刂茊?dòng)選項(xiàng)的信號(hào)由nPOR鎖存,這意味著地址和總線(xiàn)寬度的重新映射將繼續(xù)應(yīng)用,直到nPOR的再一次有效為止。從 ROM啟動(dòng)后,啟動(dòng)ROM的內(nèi)容可從地址0x0000000處讀回來(lái);而在正常操作狀態(tài)下,啟動(dòng)ROM的內(nèi)容可從地址范圍0x70000000中讀回。

7. 存儲(chǔ)器和I/O擴(kuò)展接口

EP7209能夠解碼6個(gè)分立的線(xiàn)性存儲(chǔ)器或擴(kuò)展段。其中的兩個(gè)可為PC Card卡預(yù)留,每一個(gè)接口連接到一個(gè)獨(dú)立的單個(gè)CL-PS6700器件。每一個(gè)段的大小為256MB。兩個(gè)附加段(除了這6個(gè)段以外的)被用于片上 SRAM和片上ROM。片上ROM空間被完全解碼,SRAM空間也被完全解碼到編程在CON寄存器中的視頻幀緩沖器的最大容量中(128KB)。超出此地址范圍的SRAM空間不被完全解碼(即超出128KB范圍的任何存取將繞回到128KB范圍內(nèi))。6個(gè)段中的任一個(gè)可配置成與傳統(tǒng)SRAM接口一致的接口相連接,而且能單獨(dú)地被編程為8、16或32位寬,支持頁(yè)模式存取,并且在執(zhí)行非連續(xù)存取時(shí)可插入1~8個(gè)等待狀態(tài),執(zhí)行觸發(fā)模式存取時(shí)可插入0~3個(gè)等待狀態(tài)。零等待狀態(tài)連續(xù)存取特性被設(shè)計(jì)成支持觸發(fā)模式的ROM。對(duì)使用nMWE引腳的可寫(xiě)存儲(chǔ)器件,不允許零等待狀態(tài)連續(xù)存取,至少應(yīng)插入一個(gè)等待狀態(tài)(等待狀態(tài)數(shù)應(yīng)編程到適當(dāng)?shù)腗EMCFG寄存器的連續(xù)域中)??偩€(xiàn)周期也可以通過(guò)使用EXPRDY輸入信號(hào)來(lái)進(jìn)行擴(kuò)展。

8. 大端配置與小端配置

EP7209對(duì)內(nèi)部寄存器使用小端(little endian)配置。然而,連結(jié)器件到用大端(big endian)配置的外部存儲(chǔ)器系統(tǒng)上是可能的。arm720T 控制寄存器中的大端/小端位設(shè)置了EP7209在處理存儲(chǔ)器中的字時(shí)是按大端格式還是小端格式進(jìn)行。存儲(chǔ)器被認(rèn)為是從0開(kāi)始向前編號(hào)的字節(jié)的線(xiàn)性組合。字節(jié)0~3容納第1個(gè)被存儲(chǔ)的字,字節(jié)4~7容納第2個(gè)字,等等。在小端規(guī)劃中,字中編號(hào)最低的字節(jié)認(rèn)為是字的最低位字節(jié),而編號(hào)最高的字節(jié)被認(rèn)為是字的最高位字節(jié)。存儲(chǔ)系統(tǒng)的Byte0在這個(gè)規(guī)劃中應(yīng)當(dāng)連到數(shù)據(jù)線(xiàn)7到0(D[7:0])。在大端規(guī)劃中,字的最高位字節(jié)被存儲(chǔ)于編號(hào)最低的字節(jié)中,而最低字節(jié)存儲(chǔ)于編號(hào)最高的字節(jié)中。因此,存儲(chǔ)器系統(tǒng)的Byte0應(yīng)當(dāng)連到數(shù)據(jù)線(xiàn)31到24(D[31:24])。裝載和存儲(chǔ)指令是被大小端配置影響的唯一指令。

9. 支持片上幀緩沖器的控制器

控制器提供了所有需要的控制信號(hào)以便直接與一個(gè)單面板復(fù)合LCD接口。面板的大小是可編程的,可以是以16像素為增量,從32到1024像素的任何寬度(線(xiàn)長(zhǎng)度)。總的視頻幀緩沖大小可編程為高達(dá)128KB。這等同于理論上最大的面板大小1024×256像素(每像素4個(gè)位 )。視頻幀緩沖器可定位于任何一個(gè)片選所控制的存儲(chǔ)器中。在任何一個(gè)片選所控制的存儲(chǔ)器中,它的起始地址固定于地址0X00000000。LCD視頻幀緩沖器的起始地址定義在寄存器FBADDR[3:0]中,這些位將成為外部地址總線(xiàn)的最重要nibble(半字節(jié))。缺省起始地址為 0XC0000000(FBADDR=0XC)。一個(gè)使用片上SRAM(OCSR)建立的系統(tǒng)將把片上SRAM用于LCD視頻幀緩沖以及用于各種數(shù)據(jù)的存儲(chǔ)。LCD視頻幀緩沖器起始地址在這個(gè)系統(tǒng)中應(yīng)當(dāng)設(shè)置為0X6。

三、內(nèi)存映射

地址空間的低2GB分配給了存儲(chǔ)器。在EP7209中,恰好在2GB下的8KB的空間是為內(nèi)部寄存器所準(zhǔn)備的且不可存取,EP7209的MMU應(yīng)被編程為在訪(fǎng)問(wèn)這一區(qū)域時(shí)產(chǎn)生一個(gè)中斷例外。

通過(guò)從十六進(jìn)制地址8000.0000到8000.3FFF的一組內(nèi)部存儲(chǔ)器位置來(lái)尋址內(nèi)部外圍部件。這些內(nèi)存位置在EP7209中被認(rèn)為是內(nèi)部寄存器。從0x8000.0000到0x8000.1FFF含有與CL-PS7111兼容的寄存器,包含了這些寄存器是為了向下兼容并稱(chēng)它們?yōu)榕f的內(nèi)部寄存器。



關(guān)鍵詞: ARM LCD 控制器 音頻 MP3

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉