多媒體應(yīng)用平臺(tái)OMAP5910雙核通訊技
1 引言
開放式多媒體應(yīng)用平臺(tái)OMAP5910為一種獨(dú)特的雙核結(jié)構(gòu),它將高性能低功耗的TMS320C55xDSP核與控制性能很強(qiáng)的ARM925微處理器結(jié)合起來,適合便攜式手持設(shè)備綜合處理能力的需求。ARM長(zhǎng)于控制,DSP長(zhǎng)于算法,但要想使二者協(xié)調(diào)配合起來產(chǎn)生最大的整體效能,雙核之間的通訊技術(shù)研究就必不可少。
2 OMAP5910的雙核結(jié)構(gòu)簡(jiǎn)介
如圖一所示,OMAP5910的雙核結(jié)構(gòu)主要包括增強(qiáng)型ARM925核、TMS320C55xDSP核、交換控制器、系統(tǒng)DMA控制器、時(shí)鐘復(fù)位管理模塊、內(nèi)部SRAM和外部設(shè)備應(yīng)用接口等模塊。
增強(qiáng)型ARM925核是一種先進(jìn)的32位精簡(jiǎn)指令集計(jì)算機(jī)處理器,工作在150Mhz的主頻上,它可以執(zhí)行32位或16位指令,處理32位、16位、8位數(shù)據(jù)。作為OMAP5910的主機(jī)ARM925可以訪問多達(dá)4G的空間。
TMS320C55xDSP核工作主頻為150Mhz,內(nèi)部有32K字的DASRAM、48K字的SARAM、16K字的ROM和12K字的高速指令緩存存儲(chǔ)器。還有用于地址變換的存儲(chǔ)器管理單元、兩級(jí)中斷管理器等模塊。功能非常強(qiáng)大,而功耗卻相當(dāng)?shù)?,在目前TMS320 DSP家族中最為省電。
交換控制器主要用于提供ARM、DSP、系統(tǒng)DMA等對(duì)OMAP5910系統(tǒng)存儲(chǔ)資源(包括192K字節(jié)的內(nèi)部SRAM、64M字節(jié)的外部SDRAM和128M字節(jié)的外部FLASH)進(jìn)行的異步操作。系統(tǒng)DMA控制器經(jīng)過低功耗設(shè)計(jì),支持外部存儲(chǔ)器、ARM925、外圍之間的8位、16位、32位數(shù)據(jù)傳輸,有突發(fā)傳送和數(shù)據(jù)打包等功能。
時(shí)鐘復(fù)位管理模塊可以靈活地設(shè)置和管理ARM部分、DSP部分、交換控制器的時(shí)鐘,使各單元能夠工作在不同的省電模式下,從而最大限度地降低整個(gè)系統(tǒng)的功耗。
內(nèi)部192K字節(jié)32位數(shù)據(jù)寬度的SRAM為液晶顯示等應(yīng)用提供了較大的數(shù)據(jù)和代碼存儲(chǔ)空間。外圍設(shè)備應(yīng)用接口為OMAP5910在片外連接液晶、攝像頭、空中接口、USB等提供了方便。
3 OMAP5910的雙核通訊機(jī)制
OMAP5910通過三種方式來支持內(nèi)部雙核間的通訊。第一種方式是通過雙核共享郵箱寄存器Mailbox來實(shí)現(xiàn),雙核間可以互相中斷并通過郵箱寄存器傳遞少量數(shù)據(jù)。第二種方式是ARM通過主機(jī)接口獲得對(duì)DSP存儲(chǔ)空間和I/O空間的訪問權(quán),然后由ARM來完成數(shù)據(jù)在雙核間的搬移。第三種方式就是通過ARM對(duì)DSP存儲(chǔ)器管理單元的設(shè)置將DSP的外部存儲(chǔ)空間映射到OMAP5910系統(tǒng)存儲(chǔ)資源中,由DSP來完成雙核間數(shù)據(jù)的搬移。
三種通訊方式各有千秋。第一種方式傳輸?shù)臄?shù)據(jù)量較小,但是傳遞信息可靠及時(shí),非常適合在雙核通訊中完成握手聯(lián)絡(luò)。后兩中方式都適合在雙核之間傳輸大量數(shù)據(jù),但數(shù)據(jù)傳輸?shù)目刂普卟煌诙N方式由ARM控制完成,第三種方式由DSP控制完成。在一些相對(duì)復(fù)雜的應(yīng)用中ARM常常忙于對(duì)許多外圍設(shè)備的控制,沒有更多的時(shí)間來完成雙核間的數(shù)據(jù)傳輸,這時(shí)利用第三種方式來完成數(shù)據(jù)搬移必然是最理想的選擇。基于這種考慮,下面對(duì)第三種方式進(jìn)行一個(gè)介紹。
3.1 原理框圖
雙核間通過DSP的存儲(chǔ)器管理單元MMU和外部存儲(chǔ)器接口EMIF實(shí)現(xiàn)通訊的實(shí)質(zhì)是利用DSP MMU將DSP的外部存儲(chǔ)器映射在OMAP5910的內(nèi)部SARAM、外部SDRAM和FLASH上,使ARM,DSP及DSP DMA都能訪問這三個(gè)存儲(chǔ)區(qū)域從而實(shí)現(xiàn)數(shù)據(jù)共享。框圖如下:
[!--empirenews.page--]3.2 DSP MMU
DSP MMU可以將DSP外部存儲(chǔ)空間(字節(jié)地址0x050000--0XFF7FFF或0x050000--0XFFFFFF)的任意塊映射到OMAP5910的三個(gè)存儲(chǔ)區(qū)上,塊大小(1KB、4KB、64KB、1MB)可軟件設(shè)置。
DSP MMU的核心結(jié)構(gòu)就是32個(gè)CAM和32個(gè)RAM以及相關(guān)的幾個(gè)控制、狀態(tài)寄存器,其中CAM用來存放DSP的外部存儲(chǔ)器虛擬地址及有關(guān)控制位信息;RAM用于存放OMAP5910的實(shí)際物理地址和訪問允許控制位。DSP MMU使能后,當(dāng)DSP訪問外部存儲(chǔ)器時(shí),相應(yīng)虛擬地址就會(huì)被送到DSP MMU處,如果虛擬地址的有效高位(當(dāng)頁大小為1KB、4KB、64KB、1MB時(shí),對(duì)應(yīng)的地址有效高位數(shù)分別為14、12、8、4)命中CAM,并且相應(yīng)RAM中的訪問允許控制位有效,那么相應(yīng)RAM中的物理地址高位就和虛擬地址偏移一塊兒被送到OMAP TC處,從而實(shí)現(xiàn)虛擬地址到物理地址的映射,然后就可以進(jìn)行相關(guān)讀寫操作。如果虛擬地址的有效高位沒有命中CAM或者相應(yīng)RAM中的訪問允許控制位無效,系統(tǒng)就會(huì)產(chǎn)生頁錯(cuò)誤或訪問權(quán)限錯(cuò)誤,并向ARM發(fā)起中斷,在中斷程序中ARM可通過查看DSP MMU有關(guān)狀態(tài)寄存器來進(jìn)一步了解錯(cuò)誤原因。
DSP MMU的設(shè)置過程如下:
a. 釋放 DSP MMU 的復(fù)位
b. 寫 CAM_REG_H 和 CAM_REG_L 寄存器
c. 寫 RAM_REG_H 和 RAM_REG_L 寄存器
d. 寫 Lock Counter 寄存器
e. 將 LD_TLB_REG 寄存器寫1,裝載DSP MMU參數(shù)
f.使能 DSP MMU
3.3 存儲(chǔ)模式轉(zhuǎn)換
由于在OMAP5910中對(duì)于存儲(chǔ)系統(tǒng)的操作,ARM處理器采用小端模式,而DSP則采用大端模式,因此當(dāng)DSP訪問OMAP5910的系統(tǒng)存儲(chǔ)空間時(shí),就需要進(jìn)行大小端模式之間的轉(zhuǎn)換。在ARM程序中對(duì)寄存器ENDIANISM進(jìn)行適當(dāng)設(shè)置就可以靈活地控制DSP訪問OMAP5910存儲(chǔ)空間時(shí)的數(shù)據(jù)格式。
3.4 DSP DMA
對(duì)于通過DSP的MMU和EMIF實(shí)現(xiàn)雙核通訊來講,當(dāng)雙核間通訊的數(shù)據(jù)量比較大而DSP又比較忙的時(shí)候,利用DSP DMA來實(shí)現(xiàn)數(shù)據(jù)的傳輸可以減輕DSP CPU的負(fù)擔(dān),提高整個(gè)DSP子系統(tǒng)運(yùn)行的效率,而不會(huì)打斷DSP CPU的工作。
4 實(shí)現(xiàn)雙核通訊的一種方案
在關(guān)于OMAP5910的工程實(shí)際中較為典型的應(yīng)用,通常是由ARM控制外圍器件獲取一組數(shù)據(jù)后,先交給DSP進(jìn)行處理,處理后的數(shù)據(jù)再返回給ARM進(jìn)行存儲(chǔ)、顯示、輸出等。為了實(shí)現(xiàn)雙核之間的數(shù)據(jù)通訊的可靠性,使用郵箱寄存器來傳遞雙核間的握手協(xié)議,當(dāng)一方需要聯(lián)系另一方時(shí)只需向相應(yīng)的郵箱命令寄存器寫入數(shù)據(jù)即可中斷對(duì)方,不同的數(shù)據(jù)代表不同的信號(hào),使得握手及時(shí)可靠。當(dāng)數(shù)據(jù)量比較大而DSP或ARM任務(wù)又比較多時(shí),相應(yīng)地使用DMA來進(jìn)行數(shù)據(jù)傳輸可以減輕處理器負(fù)擔(dān),提高程序運(yùn)行的效率。實(shí)現(xiàn)此方案的程序示意圖如下:
5 結(jié)束語
由于OMAP5910芯片具有高性能、低功耗、優(yōu)化的雙核結(jié)構(gòu)、豐富的外圍設(shè)備接口等顯著優(yōu)點(diǎn),所以在便攜式儀器領(lǐng)域中它的應(yīng)用前景也將十分廣闊。而OMAP5910中雙核間通訊技術(shù)的研究對(duì)于進(jìn)一步開發(fā)OMAP5910,實(shí)現(xiàn)復(fù)雜的操作任務(wù),協(xié)調(diào)雙核工作具有非常重要的作用,為其在便攜式儀器中發(fā)揮雙核優(yōu)勢(shì)奠定了堅(jiān)實(shí)的基礎(chǔ)。