多媒體應用平臺OMAP5910雙核通訊技術(shù)
開(kāi)放式多媒體應用平臺OMAP5910為一種獨特的雙核結構,它將高性能低功耗的TMS320C55xDSP核與控制性能很強的ARM925微處理器結合起來(lái),適合便攜式手持設備綜合處理能力的需求。ARM長(cháng)于控制,DSP長(cháng)于算法,但要想使二者協(xié)調配合起來(lái)產(chǎn)生最大的整體效能,雙核之間的通訊技術(shù)研究就必不可少。
2 OMAP5910的雙核結構簡(jiǎn)介
如圖一所示,OMAP5910的雙核結構主要包括增強型ARM925核、TMS320C55xDSP核、交換控制器、系統DMA控制器、時(shí)鐘復位管理模塊、內部SRAM和外部設備應用接口等模塊。
增強型ARM925核是一種先進(jìn)的32位精簡(jiǎn)指令集計算機處理器,工作在150Mhz的主頻上,它可以執行32位或16位指令,處理32位、16位、8位數據。作為OMAP5910的主機ARM925可以訪(fǎng)問(wèn)多達4G的空間。
TMS320C55xDSP核工作主頻為150Mhz,內部有32K字的DASRAM、48K字的SARAM、16K字的ROM和12K字的高速指令緩存存儲器。還有用于地址變換的存儲器管理單元、兩級中斷管理器等模塊。功能非常強大,而功耗卻相當低,在目前TMS320 DSP家族中最為省電。
交換控制器主要用于提供ARM、DSP、系統DMA等對OMAP5910系統存儲資源(包括192K字節的內部SRAM、64M字節的外部SDRAM和128M字節的外部FLASH)進(jìn)行的異步操作。系統DMA控制器經(jīng)過(guò)低功耗設計,支持外部存儲器、ARM925、外圍之間的8位、16位、32位數據傳輸,有突發(fā)傳送和數據打包等功能。
時(shí)鐘復位管理模塊可以靈活地設置和管理ARM部分、DSP部分、交換控制器的時(shí)鐘,使各單元能夠工作在不同的省電模式下,從而最大限度地降低整個(gè)系統的功耗。
內部192K字節32位數據寬度的SRAM為液晶顯示等應用提供了較大的數據和代碼存儲空間。外圍設備應用接口為OMAP5910在片外連接液晶、攝像頭、空中接口、USB等提供了方便。
3 OMAP5910的雙核通訊機制
OMAP5910通過(guò)三種方式來(lái)支持內部雙核間的通訊。第一種方式是通過(guò)雙核共享郵箱寄存器Mailbox來(lái)實(shí)現,雙核間可以互相中斷并通過(guò)郵箱寄存器傳遞少量數據。第二種方式是ARM通過(guò)主機接口獲得對DSP存儲空間和I/O空間的訪(fǎng)問(wèn)權,然后由ARM來(lái)完成數據在雙核間的搬移。第三種方式就是通過(guò)ARM對DSP存儲器管理單元的設置將DSP的外部存儲空間映射到OMAP5910系統存儲資源中,由DSP來(lái)完成雙核間數據的搬移。
三種通訊方式各有千秋。第一種方式傳輸的數據量較小,但是傳遞信息可靠及時(shí),非常適合在雙核通訊中完成握手聯(lián)絡(luò )。后兩中方式都適合在雙核之間傳輸大量數據,但數據傳輸的控制者不同,第二種方式由ARM控制完成,第三種方式由DSP控制完成。在一些相對復雜的應用中ARM常常忙于對許多外圍設備的控制,沒(méi)有更多的時(shí)間來(lái)完成雙核間的數據傳輸,這時(shí)利用第三種方式來(lái)完成數據搬移必然是最理想的選擇?;谶@種考慮,下面對第三種方式進(jìn)行一個(gè)介紹。
3.1 原理框圖
雙核間通過(guò)DSP的存儲器管理單元MMU和外部存儲器接口EMIF實(shí)現通訊的實(shí)質(zhì)是利用DSP MMU將DSP的外部存儲器映射在OMAP5910的內部SARAM、外部SDRAM和FLASH上,使ARM,DSP及DSP DMA都能訪(fǎng)問(wèn)這三個(gè)存儲區域從而實(shí)現數據共享??驁D如下:

[next]
3.2 DSP MMU
DSP MMU可以將DSP外部存儲空間(字節地址0x050000--0XFF7FFF或0x050000--0XFFFFFF)的任意塊映射到OMAP5910的三個(gè)存儲區上,塊大小(1KB、4KB、64KB、1MB)可軟件設置。
DSP MMU的核心結構就是32個(gè)CAM和32個(gè)RAM以及相關(guān)的幾個(gè)控制、狀態(tài)寄存器,其中CAM用來(lái)存放DSP的外部存儲器虛擬地址及有關(guān)控制位信息;RAM用于存放OMAP5910的實(shí)際物理地址和訪(fǎng)問(wèn)允許控制位。DSP MMU使能后,當DSP訪(fǎng)問(wèn)外部存儲器時(shí),相應虛擬地址就會(huì )被送到DSP MMU處,如果虛擬地址的有效高位(當頁(yè)大小為1KB、4KB、64KB、1MB時(shí),對應的地址有效高位數分別為14、12、8、4)命中CAM,并且相應RAM中的訪(fǎng)問(wèn)允許控制位有效,那么相應RAM中的物理地址高位就和虛擬地址偏移一塊兒被送到OMAP TC處,從而實(shí)現虛擬地址到物理地址的映射,然后就可以進(jìn)行相關(guān)讀寫(xiě)操作。如果虛擬地址的有效高位沒(méi)有命中CAM或者相應RAM中的訪(fǎng)問(wèn)允許控制位無(wú)效,系統就會(huì )產(chǎn)生頁(yè)錯誤或訪(fǎng)問(wèn)權限錯誤,并向ARM發(fā)起中斷,在中斷程序中ARM可通過(guò)查看DSP MMU有關(guān)狀態(tài)寄存器來(lái)進(jìn)一步了解錯誤原因。
DSP MMU的設置過(guò)程如下:
a. 釋放 DSP MMU 的復位
b. 寫(xiě) CAM_REG_H 和 CAM_REG_L 寄存器
c. 寫(xiě) RAM_REG_H 和 RAM_REG_L 寄存器
d. 寫(xiě) Lock Counter 寄存器
e. 將 LD_TLB_REG 寄存器寫(xiě)1,裝載DSP MMU參數
f.使能 DSP MMU
3.3 存儲模式轉換
由于在OMAP5910中對于存儲系統的操作,ARM處理器采用小端模式,而DSP則采用大端模式,因此當DSP訪(fǎng)問(wèn)OMAP5910的系統存儲空間時(shí),就需要進(jìn)行大小端模式之間的轉換。在A(yíng)RM程序中對寄存器ENDIANISM進(jìn)行適當設置就可以靈活地控制DSP訪(fǎng)問(wèn)OMAP5910存儲空間時(shí)的數據格式。
3.4 DSP DMA
對于通過(guò)DSP的MMU和EMIF實(shí)現雙核通訊來(lái)講,當雙核間通訊的數據量比較大而DSP又比較忙的時(shí)候,利用DSP DMA來(lái)實(shí)現數據的傳輸可以減輕DSP CPU的負擔,提高整個(gè)DSP子系統運行的效率,而不會(huì )打斷DSP CPU的工作。
4 實(shí)現雙核通訊的一種方案
在關(guān)于OMAP5910的工程實(shí)際中較為典型的應用,通常是由ARM控制外圍器件獲取一組數據后,先交給DSP進(jìn)行處理,處理后的數據再返回給ARM進(jìn)行存儲、顯示、輸出等。為了實(shí)現雙核之間的數據通訊的可靠性,使用郵箱寄存器來(lái)傳遞雙核間的握手協(xié)議,當一方需要聯(lián)系另一方時(shí)只需向相應的郵箱命令寄存器寫(xiě)入數據即可中斷對方,不同的數據代表不同的信號,使得握手及時(shí)可靠。當數據量比較大而DSP或ARM任務(wù)又比較多時(shí),相應地使用DMA來(lái)進(jìn)行數據傳輸可以減輕處理器負擔,提高程序運行的效率。實(shí)現此方案的程序示意圖如下:

5 結束語(yǔ)
由于OMAP5910芯片具有高性能、低功耗、優(yōu)化的雙核結構、豐富的外圍設備接口等顯著(zhù)優(yōu)點(diǎn),所以在便攜式儀器領(lǐng)域中它的應用前景也將十分廣闊。而OMAP5910中雙核間通訊技術(shù)的研究對于進(jìn)一步開(kāi)發(fā)OMAP5910,實(shí)現復雜的操作任務(wù),協(xié)調雙核工作具有非常重要的作用,為其在便攜式儀器中發(fā)揮雙核優(yōu)勢奠定了堅實(shí)的基礎。
評論