《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > 基于ADSP—BF561的圖像平移系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
基于ADSP—BF561的圖像平移系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
王曉衛(wèi),,吳曉中,,王宏宇
摘要: 基于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í)性問(wèn)題,。試驗(yàn)結(jié)果證明了該設(shè)計(jì)的有效性。
Abstract:
Key words :

    該設(shè)計(jì)以ADI公司的Blackfin系列中的BF561作為處理器,分別采用ADV7181B和ADV7171作為視頻編解碼芯片,,設(shè)計(jì)了圖像平移系統(tǒng),。通過(guò)采用基于描述子的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接口,可以方便地與視頻解碼器和視頻編碼其相連,,無(wú)需外圍邏輯支持,。ADSP-BF561把存儲(chǔ)器視為一個(gè)統(tǒng)一的4 GB的地址空間,使用32位地址,。所有資源,,包括內(nèi)部存儲(chǔ)器、外部存儲(chǔ)器和I/O控制寄存器,,都占用公共地址空間的相應(yīng)部分,,并且各自對(duì)立。該地址空間的各部分存儲(chǔ)器按分級(jí)結(jié)構(gòu)排列,,提供高性?xún)r(jià)比,。其中極快速、低延遲的存儲(chǔ)器接近處理器放置,、而更大的,、低成本、低性能的存儲(chǔ)器則原理處理器放置,。片外存儲(chǔ)系統(tǒng)通過(guò)外部總線接口單元EBIU(External Bus Interface Unit)進(jìn)行訪問(wèn),。存儲(chǔ)器的DMA控制器提供高帶寬的數(shù)據(jù)傳輸能力,能在內(nèi)部L1/L2存儲(chǔ)器和外部存儲(chǔ)器空間之間傳輸代碼和數(shù)據(jù)塊,。該設(shè)計(jì)以ADI公司的ADSP—BF561為核心,,Visual DSP++5.0為軟件開(kāi)發(fā)環(huán)境,對(duì)圖像平移系統(tǒng)進(jìn)行開(kāi)發(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所示。

c.JPG

    該系統(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ǔ)器和通過(guò)總線尋址的外部設(shè)備提供了連接通道,。通過(guò)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)試接口,,通過(guò)仿真器與PC機(jī)相連,實(shí)現(xiàn)JTAG硬件調(diào)試功能,。
    CCD攝像頭每40 ms采集一幀模擬視頻信號(hào),,ADV7181B解碼后轉(zhuǎn)換為ITU-656格式的視頻信號(hào),通過(guò)PPI0利用DMA方式自動(dòng)將其放入外部SD-RAM中,。為在電視上實(shí)時(shí)看到平移后的圖像,,DSP內(nèi)核必須要在40 ms內(nèi)讀取SDRAM中的視頻數(shù)據(jù),按照平移算法的要求實(shí)現(xiàn)對(duì)圖像的上,、下,、左、右平移后,,寫(xiě)回SDRAM,,并由DSP內(nèi)核讀取該SDRAM中的數(shù)據(jù),啟動(dòng)PPI1通過(guò)DMA送給ADV7171編碼成模擬的PAL制(圖像的輸出格式為ITU-656格式),,最后由電視屏幕顯示輸出,。
2.2 關(guān)鍵技術(shù)問(wèn)題的解決途徑
    在平移算法中由于每40 ms采集1幀數(shù)據(jù),為了保證能夠使人眼實(shí)時(shí)的看到平移后的視頻流,,必須要保證能夠?qū)崟r(shí)的完成數(shù)據(jù)搬移工作,。為此本設(shè)計(jì)中采用如下關(guān)鍵技術(shù)來(lái)解決。
    (1)由于圖像輸入后,要經(jīng)過(guò)平移算法對(duì)圖像進(jìn)行上,、下,、左、右平移后,,圖像才能輸出到電視上,。因此該系統(tǒng)將圖像的輸入存儲(chǔ)區(qū)域和圖像的輸出存儲(chǔ)區(qū)域分別設(shè)為2塊獨(dú)立的區(qū)域,使得在數(shù)據(jù)輸入的同時(shí)還可進(jìn)行數(shù)據(jù)的搬移及輸出顯示工作,。每個(gè)輸入/輸出區(qū)域又可以分為4個(gè)區(qū)域,,用來(lái)存儲(chǔ)順次進(jìn)入的輸入/輸出圖像。其中sFrame0~sFrame3用來(lái)存儲(chǔ)輸入的視頻圖像,,sFrame4~sFrame7用來(lái)存儲(chǔ)搬移后的視頻圖像,。當(dāng)啟動(dòng)ADV7181B采集完1幀圖像存入后sFrame0,BF561啟動(dòng)數(shù)據(jù)搬移工作,,將視頻圖像搬移到sFrame4中,,并通過(guò)PPI1送給視頻編碼器ADV7171,最后由電視屏幕顯示輸出,,同時(shí)PPI0將數(shù)據(jù)繼續(xù)采集到sFramel,。圖像存儲(chǔ)在SDRAM中,sFrame0~sFrame7各存儲(chǔ)區(qū)域的首地址分別為0x0000C400,,0x1000000,,0x1500000,0x01A00000,,0x01F00000,,0x02400000,0x02900000,,0x03000000,。
    (2)為了提高系統(tǒng)的實(shí)時(shí)處理能力,將數(shù)據(jù)在不同存儲(chǔ)空間的轉(zhuǎn)移任務(wù)交給DMA來(lái)完成,,從而使CPU只專(zhuān)注于數(shù)據(jù)的計(jì)算,。為保證連續(xù)采集不斷幀,DMA采用描述子方式,,并將最后一個(gè)描述子指向首塊的頭地址,。CCD采集到的視頻圖像首先送到PPI0,經(jīng)過(guò)2維DMA方式依次送到由描述子描述的圖像輸入存儲(chǔ)區(qū)域,。
    (3)由于圖像的平移,,輸出后的圖像會(huì)有一些邊框,為提高系統(tǒng)的實(shí)時(shí)性,,將邊框數(shù)據(jù)預(yù)先存放在SDRAM中,,然后再采用MDMA方式將邊框數(shù)據(jù)傳送到相應(yīng)的視頻輸出區(qū)域中,。存放邊框數(shù)據(jù)的SDRAM定義為sFrame8,其首地址為0x03600000,。其中sFrame8的大小為1440*288,,即為ITU-656格式中一場(chǎng)數(shù)據(jù)的大小。本算法中上,、下,、左、右平移后的邊界填充為黑色,,按UYVY格式即應(yīng)該填充為0x80,,0x10,0x80,,0x10,。邊框數(shù)據(jù)的MDMA方式傳輸在有效數(shù)據(jù)傳輸之前進(jìn)行,每次MDMA傳輸也是只傳遞1場(chǎng)數(shù)據(jù),,1幀數(shù)據(jù)同樣需要2次MDMA傳輸完成,。邊框數(shù)據(jù)的填充見(jiàn)圖2。圖2(b)為圖像右移后左邊填充為黑色邊框數(shù)據(jù)的示意圖,。

d.JPG

    (4)從輸入?yún)^(qū)域到輸出區(qū)域只搬移有效的數(shù)據(jù)(Active Field),ITU-656格式的文件頭在輸出區(qū)域初始化時(shí)已設(shè)置完成,。且有效的數(shù)據(jù)傳輸方式采用MDMA方式,,每次傳輸1幀圖像數(shù)據(jù)中的1場(chǎng)圖像,搬完奇場(chǎng)數(shù)據(jù)后再搬偶場(chǎng)數(shù)據(jù),。
    (5)平移后的圖像存儲(chǔ)在圖像輸出存儲(chǔ)區(qū)域(sFrame4~sFrame7)中,,平移后的圖像由PPI1通過(guò)按描述子的指示輸出到電視上顯示出來(lái)。整個(gè)系統(tǒng)的工作框圖如圖3所示,。

e.JPG


    軟件設(shè)計(jì)流程圖如圖4所示,。

f.JPG



3 平移方案的實(shí)現(xiàn)
    該系統(tǒng)通過(guò)JIAG仿真,使用Visual DSP++5.0作為開(kāi)發(fā)環(huán)境,,進(jìn)行了圖像平移實(shí)驗(yàn)及性能分析,。使用該算法后平移的效果如圖5所示。

    在該算法中,,完成1場(chǎng)數(shù)據(jù)的MDMA數(shù)據(jù)大約需要4 ms,,而完成整個(gè)1幀圖像的傳輸平均需要21 ms,因此在40 ms的周期內(nèi)可以實(shí)對(duì)圖像的實(shí)時(shí)平移,。

4 結(jié)語(yǔ)
    在結(jié)合圖像平移算法以及BF561結(jié)構(gòu)和特點(diǎn)的基礎(chǔ)上,,作者創(chuàng)新性的實(shí)現(xiàn)了一種基于ADSP—BF561雙核處理器的圖像平移系統(tǒng)的設(shè)計(jì)。由于充分利用了BF561的描述子存儲(chǔ)方式,,以及其DMA和MDMA數(shù)據(jù)傳輸方式,,結(jié)構(gòu)設(shè)計(jì)簡(jiǎn)單,,實(shí)時(shí)性好。仿真結(jié)果證明了算法的有效性,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。