基于ADSP―BF561的圖像平移系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
摘要:基于ADSP-BF561的結(jié)構(gòu)特點(diǎn),提出了圖像平移系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方案。該設(shè)計(jì)分為硬件和軟件兩部分。硬件設(shè)計(jì)上,以ADSP—BF561為核心,控制視頻信號(hào)的采集、預(yù)處理和平移。其中,視頻鳊解碼分別采用ADV7171,ADV7181B芯片實(shí)現(xiàn)。軟件設(shè)計(jì)上,分別使用基于描述子的數(shù)據(jù)傳輸方式、DMA和MDMA數(shù)據(jù)搬移方式,著重解決了圖像平移時(shí)的實(shí)時(shí)性問題。試驗(yàn)結(jié)果證明了該設(shè)計(jì)的有效性。
關(guān)鍵詞:ADSP-BF561;圖像平移;視頻編碼;視頻解碼;電子穩(wěn)像
該設(shè)計(jì)以ADI公司的Blackfin系列中的BF561作為處理器,分別采用ADV7181B和ADV7171作為視頻編解碼芯片,設(shè)計(jì)了圖像平移系統(tǒng)。通過采用基于描述子的DMA及MDMA圖像傳輸方式等方法,解決了圖像平移時(shí)的實(shí)時(shí)性難題。該圖像平移系統(tǒng)設(shè)計(jì)結(jié)構(gòu)緊湊,成本低廉,可靠性高,可以廣泛應(yīng)用于電子穩(wěn)像技術(shù)中。
1 系統(tǒng)設(shè)計(jì)
ADSP—BF561處理器是ADI公司推出的Blaekfin系列中的高性能產(chǎn)品,它采用獨(dú)立的雙核結(jié)構(gòu),主頻600 MHz,具有2套乘法器和算術(shù)邏輯單元,豐富的DMA通道,內(nèi)嵌328 KB超高速L1 SRAM和高速的L2 SRAM。同時(shí),ADSP-BF561具有2個(gè)PPI接口,可以方便地與視頻解碼器和視頻編碼其相連,無需外圍邏輯支持。ADSP-BF561把存儲(chǔ)器視為一個(gè)統(tǒng)一的4 GB的地址空間,使用32位地址。所有資源,包括內(nèi)部存儲(chǔ)器、外部存儲(chǔ)器和I/O控制寄存器,都占用公共地址空間的相應(yīng)部分,并且各自對(duì)立。該地址空間的各部分存儲(chǔ)器按分級(jí)結(jié)構(gòu)排列,提供高性價(jià)比。其中極快速、低延遲的存儲(chǔ)器接近處理器放置、而更大的、低成本、低性能的存儲(chǔ)器則原理處理器放置。片外存儲(chǔ)系統(tǒng)通過外部總線接口單元EBIU(External Bus Interface Unit)進(jìn)行訪問。存儲(chǔ)器的DMA控制器提供高帶寬的數(shù)據(jù)傳輸能力,能在內(nèi)部L1/L2存儲(chǔ)器和外部存儲(chǔ)器空間之間傳輸代碼和數(shù)據(jù)塊。該設(shè)計(jì)以ADI公司的ADSP—BF561為核心,Visual DSP++5.0為軟件開發(fā)環(huán)境,對(duì)圖像平移系統(tǒng)進(jìn)行開發(fā)。
2 硬件設(shè)計(jì)方案及實(shí)現(xiàn)
2.1 硬件設(shè)計(jì)方案
圖像平移就是將圖像中的所有像素點(diǎn)都按照指定的平移量沿水平或者垂直方向移動(dòng)。假設(shè)圖像f(x,y)以平移量(α,β)分別在x軸方向和y軸方向上進(jìn)行平移,則平移之后的圖像就變成了f(x-α,y-β)。平移算法是幾何變換中最簡(jiǎn)單的變換之一,但是這種簡(jiǎn)單的變換卻在電子穩(wěn)像中發(fā)揮著很大的作用。
平移算法的難點(diǎn)主要體現(xiàn)在算法的實(shí)時(shí)性上。假設(shè)一個(gè)視頻采集系統(tǒng)圖像的采集速率為25幀/s,要想實(shí)時(shí)地看到平移后的圖像,那么平移算法必須要在40 ms內(nèi)完成,而對(duì)于大小為720×576×2 B=829.4 KB的圖像要完成數(shù)據(jù)的搬移工作,如果設(shè)計(jì)不好,很可能會(huì)產(chǎn)生遲滯現(xiàn)象。為此本文將平移算法的平臺(tái)設(shè)計(jì)在ADI公司的高性能芯片BF561上,并使用DMA及MDMA等方式實(shí)現(xiàn)算法的平移,該系統(tǒng)框圖如圖1所示。
該系統(tǒng)設(shè)計(jì)方案中主要包含以下主要硬件:
(1)CPU:600 MHz的Blaekfin 561雙核處理器。
(2)FLASH:1片SAMSUNG K4S5616320 8 MB。
(3)視頻接口:BF561.提供了2個(gè)16位的ParallelPeripheral Interface(PPI0和PPI1),它們可分別與視頻解碼芯片ADV7181B、視頻編碼芯片ADV7171連接。
(4)外部總線接口(EBIU):為ADSP—BF561與外部存儲(chǔ)器和通過總線尋址的外部設(shè)備提供了連接通道。通過EBIU連接2片SDRAM。
(5)SDRAM:2片SAMSIING K4S561632064 MB;該系統(tǒng)對(duì)PAL制式的視頻數(shù)據(jù)進(jìn)行采集,經(jīng)ADV718lB解碼后轉(zhuǎn)換為ITU-656格式的視頻信號(hào)YCrCb采用4:2:2的輸入格式,視頻數(shù)據(jù)所需的存儲(chǔ)空間較大,故需要擴(kuò)展外部存儲(chǔ)器SDRAM。
(6)JTAG調(diào)試接口,通過仿真器與PC機(jī)相連,實(shí)現(xiàn)JTAG硬件調(diào)試功能。
CCD攝像頭每40 ms采集一幀模擬視頻信號(hào),ADV7181B解碼后轉(zhuǎn)換為ITU-656格式的視頻信號(hào),通過PPI0利用DMA方式自動(dòng)將其放入外部SD-RAM中。為在電視上實(shí)時(shí)看到平移后的圖像,DSP內(nèi)核必須要在40 ms內(nèi)讀取SDRAM中的視頻數(shù)據(jù),按照平移算法的要求實(shí)現(xiàn)對(duì)圖像的上、下、左、右平移后,寫回SDRAM,并由DSP內(nèi)核讀取該SDRAM中的數(shù)據(jù),啟動(dòng)PPI1通過DMA送給ADV7171編碼成模擬的PAL制(圖像的輸出格式為ITU-656格式),最后由電視屏幕顯示輸出。
評(píng)論