




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
DMA在實(shí)時(shí)圖像處理中的應(yīng)用
摘要:以TMS320C6701為例,說明在實(shí)時(shí)圖像處理系統(tǒng)中使用DMA的必要性,同時(shí)給出DMA在實(shí)時(shí)圖像處理中幾種典型的應(yīng)用例子。
關(guān)鍵詞:DMA實(shí)時(shí)圖像處理DSP
引言
實(shí)時(shí)圖像處理系統(tǒng)要求系統(tǒng)必須在有限的時(shí)間內(nèi)完成大量數(shù)據(jù)的運(yùn)算。DSP以其獨(dú)特的哈佛總線結(jié)構(gòu)和并行的存儲(chǔ)塊結(jié)構(gòu),將乘法操作與加法操作統(tǒng)一考慮,可以在一個(gè)指令周期完成般處理器的多次運(yùn)算;并且指令系統(tǒng)采用多級(jí)流水線操作方式,保證了系統(tǒng)對(duì)實(shí)時(shí)性的要求,因此得以在實(shí)時(shí)圖像處理系統(tǒng)廣泛應(yīng)用。圖像處理系統(tǒng)的最大特點(diǎn)就是運(yùn)算數(shù)據(jù)量大。大多數(shù)情況下,數(shù)據(jù)量遠(yuǎn)遠(yuǎn)大于片內(nèi)存儲(chǔ)器容量,計(jì)算過程中必須進(jìn)行數(shù)據(jù)的交換。合理使用DMA可以提高數(shù)據(jù)傳輸效率,取得事半功倍的效果。本文以TMS320C6701為例,介紹DMA在圖像處理中的幾種典型應(yīng)用。
1圖像處理系統(tǒng)特點(diǎn)與使用DMA的必要性
前面已經(jīng)提到,圖像處理系統(tǒng)的最大特點(diǎn)是就是運(yùn)算數(shù)據(jù)量大,數(shù)據(jù)量往往大于片內(nèi)存儲(chǔ)器容量。不僅如此,圖像處理系統(tǒng)之中,運(yùn)算過程產(chǎn)生的中間數(shù)據(jù)往往與源數(shù)據(jù)大小相當(dāng),這也限制了片內(nèi)高速存儲(chǔ)區(qū)的使用。然而為了提高處理的速度,計(jì)算源數(shù)據(jù)、中間數(shù)據(jù)必須盡可能多地在片內(nèi)高速存儲(chǔ)區(qū)進(jìn)行,因此,必須使用DMA在片內(nèi)高速存儲(chǔ)區(qū)與片外低速存儲(chǔ)區(qū)之間進(jìn)行數(shù)據(jù)交換,以提高數(shù)據(jù)處理速度。
另外,數(shù)據(jù)的排列往往不符合程序的要求;必須對(duì)數(shù)據(jù)進(jìn)行重排達(dá)到程序要求;使用DMA對(duì)數(shù)據(jù)重排,可以滿足程序要求。與數(shù)據(jù)重排如出一轍,圖像處理中許多操作的基礎(chǔ)都是對(duì)多重?cái)?shù)組的操作,也就是矩陣運(yùn)算。諸如求逆、取子圖等圖像處理中經(jīng)常用到的運(yùn)算,也可以通過DMA完成。這些運(yùn)算當(dāng)然可用C語言編程實(shí)現(xiàn),但是,如果程序?qū)崿F(xiàn)是一個(gè)多重循環(huán),不利于軟件流水,而且隨著數(shù)據(jù)量的增加,消耗的時(shí)鐘周期也會(huì)成比例增加;即使使用并行匯編在時(shí)鐘消耗上可以有所減少,這都是不符合系統(tǒng)實(shí)時(shí)性要求的。如果通過DMA數(shù)據(jù)重排,可以輕而易舉地實(shí)現(xiàn),而且這個(gè)過程CPU只占有一個(gè)時(shí)鐘周期,通過巧妙程序安排,安全可以使數(shù)據(jù)的傳輸過程在CPU的后臺(tái)進(jìn)行,根本感覺不到DMA的存在。
2C6x系列DMA簡(jiǎn)介
TMS320C6701S是TMS320C6000系列的高速浮點(diǎn)數(shù)字信號(hào)處理信號(hào),是TI公司20世紀(jì)90年代后期的最新一代DSP產(chǎn)品。C6701有4個(gè)通道自加載的DMA通道,用于數(shù)據(jù)的DMA傳輸;另外,1個(gè)輔助DMA通道,負(fù)責(zé)與主機(jī)通信。DMA通道可以在沒有CPU參與下完成映射空間的數(shù)據(jù)傳輸。數(shù)據(jù)的傳輸可以是片內(nèi)存存儲(chǔ)器、片內(nèi)外圍部件或外部器件之間的傳輸。
DMA控制寄存器
對(duì)于C6x系列的DMA,在使用任何一個(gè)DMA通道進(jìn)行數(shù)據(jù)傳輸前,都必須設(shè)置以下幾組寄存器。各寄存器及其功能
*主控寄存器——用于控制DMA狀態(tài)及傳輸類型;
*副控寄存器——用于使能CPU中斷,監(jiān)視DMA通道狀態(tài);
*傳輸計(jì)數(shù)寄存器——用于記錄傳輸?shù)膯挝粩?shù)目;
*源地址寄存器——傳輸?shù)钠鹗嫉刂?/p>
*目標(biāo)地址寄存器——傳輸?shù)哪康牡刂罚?/p>
此外,DMA通道可以使用以下全局DMA寄存器,以完成比較復(fù)雜的傳輸過程
*全局地址寄存器組;
*全局索引寄存器組。
全局地址寄存器組共有4個(gè)32位寄存器,其作為分裂地址或地址重載值。全局索引寄存器2個(gè)32位寄存器。每個(gè)寄存器含2個(gè)控制域,其中高16位為幀索引域,其值為幀間的地址偏移量,也就是傳輸完1幀后,地址的調(diào)整量;低16位為數(shù)據(jù)單元索引域,其值為幀內(nèi)地址偏移量,也就是每傳輸完1個(gè)數(shù)據(jù)單元的地址調(diào)整量。全局計(jì)數(shù)重載計(jì)數(shù)器與全局索引寄存器結(jié)構(gòu)一樣,用于重載DMA通道的傳輸計(jì)數(shù)寄存器。全局DMA寄存器可以為任意DMA通道使用,而且同一寄存器可以同時(shí)被一個(gè)以上的DMA通道使用。
DMA工作過程簡(jiǎn)介
DMA是十分復(fù)雜的系統(tǒng),限于篇幅,這里只簡(jiǎn)要介紹DMA的工作過程。
在C6000系列DMA中,把所傳輸?shù)囊欢〝?shù)量的數(shù)據(jù)單元稱為幀,幀的大小由傳輸計(jì)數(shù)寄存器的低16位數(shù)據(jù)即單元計(jì)數(shù)域指定,該寄存器的值通過傳輸計(jì)數(shù)寄存器的高16位即幀計(jì)數(shù)域指定。當(dāng)完成1次DMA讀操作,ELEMENTCOUNT值自動(dòng)域1;當(dāng)最后1個(gè)數(shù)據(jù)單元讀操作完成時(shí),F(xiàn)RAMECOUNT自動(dòng)減1,此時(shí)ELEMENTCOUNT的值將被全局計(jì)數(shù)重載寄存器的ELEMENTCOUNT更新;當(dāng)最后1幀的讀操作完成后,傳輸計(jì)數(shù)寄存器將被全局計(jì)數(shù)重載寄存器的值更新。
DMA控制器負(fù)責(zé)對(duì)每個(gè)通道的讀寫傳輸進(jìn)行地址計(jì)算。在計(jì)算機(jī)傳輸?shù)刂窌r(shí),有基本調(diào)整和使用全局索引寄存器進(jìn)行調(diào)整2種方式:基本調(diào)整是指通過控制域SRCDIR和DSTDIR來設(shè)置傳輸?shù)刂罚磾?shù)據(jù)字長大小遞增、遞減或保持不變;而使用全局索引寄存器調(diào)整與基本調(diào)整不同,這種模式下,根據(jù)傳輸?shù)臄?shù)據(jù)元素是否當(dāng)前幀的最后一個(gè)來進(jìn)行地址調(diào)整。
在全局索引寄存器調(diào)整模式下,地址調(diào)整值由全局索引寄存器控制。全局索引寄存器含2個(gè)控制域,其中高16位為幀索引域,其值為幀間的地址偏移量,也就是傳輸完1幀后的地址調(diào)整量;低16位為數(shù)據(jù)單元索引域,其值的幀內(nèi)地址偏移量,也就是每傳輸完1個(gè)數(shù)據(jù)單元的地址調(diào)整量。
3幾種典型的DMA操作及其應(yīng)用
塊移動(dòng)
塊移動(dòng)能夠?qū)?塊連續(xù)數(shù)據(jù)塊從一個(gè)地址傳輸?shù)搅硪粋€(gè)地址,通常用于將數(shù)據(jù)或程序從外部存儲(chǔ)器移到內(nèi)部存儲(chǔ)器。這種塊移動(dòng)是最簡(jiǎn)單、最常見的DMA工作方式。例如,將1塊1K連續(xù)的32位數(shù)據(jù)塊從外存移動(dòng)至內(nèi)存,如圖1所示。
相關(guān)寄存器的值設(shè)置
Primarycontrolregister=0x00000050
Transfercontrolregister=0x00000400
Sourcecontrolregister=0x02000000
Destinationcontrolregister=0x80000000
其中主控寄存器各控制域設(shè)置與意義
DSTRELOAD=00無目標(biāo)地址重載
SRCRELOAD=00無源地址重載
EMOD=0
FS=0無幀同步
TCINT=1允許中斷
PRI=1DMA優(yōu)先
WSYNC=00000無讀同步
RSYNC=000無寫同步
RSYNC=00無寫同步
FRAMECOUNT=0X000
ELEMENTCOUNT=0X0400
INDEX=0全局計(jì)數(shù)重載寄存器A
CNTRELOAD=0全局計(jì)數(shù)重載寄存器A
SPLIT=00無分裂地址
ESIZE=00數(shù)據(jù)單元4BYTES
DSTDIR=11索引寄存器方式
SRCDIR=01地址遞增
STATUS=00此位只讀
START=00DMA停止
在主控寄存器的START讀中寫入01b就可以開始DMA的傳輸。
數(shù)據(jù)重排
往往數(shù)據(jù)的格式并不符合運(yùn)算的要求。在這種情況下,可以通過DMA進(jìn)行數(shù)據(jù)重新排列,以滿足運(yùn)算的要求。數(shù)據(jù)重排主要是利用DMA的幀傳輸方式。數(shù)據(jù)重排所必需的、最關(guān)鍵的一步是設(shè)置全局寄存器,所以,以下討論的重點(diǎn)就是全局寄存器的設(shè)置。
求矩陣轉(zhuǎn)置
圖2顯示了將一個(gè)位于外存16bit的連續(xù)數(shù)據(jù)區(qū),開始地址,數(shù)據(jù)重排并移至片內(nèi)存儲(chǔ)區(qū),首地址為前后的排列情況。
在數(shù)據(jù)重排中,主要是正確設(shè)置全局索引寄存器。在這里,可以將1幀看作1個(gè)數(shù)組,那么數(shù)據(jù)單元就是數(shù)組的元素。因此,如果假設(shè)共有F×E的矩陣,即有F幀數(shù)據(jù),每幀E個(gè)數(shù)據(jù)單元,每個(gè)元素為S,重排為E×F的矩陣。在這種情況下,源地址遞增,目標(biāo)地址根據(jù)全局索引寄存器的值進(jìn)行調(diào)整。在幀內(nèi)相鄰的數(shù)據(jù)單元傳輸時(shí),目標(biāo)地址偏移應(yīng)為F×S,所以傳輸完1幀后的地址總偏稱為×F,因此,下一幀的第1個(gè)數(shù)據(jù)單元地址為在當(dāng)前的地址減去×F-1)×S。也就是說,
*FRAMEINDEX應(yīng)設(shè)為-×F-1)×S
*ELEMENTINDEX應(yīng)設(shè)為F×S
在上例中寄存器的設(shè)置為
*FRAMEINDEX=-((2-1)×4-1)×2=0xFFEE
*ELEMENTINDEX=4×2=8
因此,寄存器設(shè)置
Primarycontrolregister=0x030001D0
Transfercontrolregister=0x00040002
Sourcecontrolregister=0x02000000
Destinationcontrolregister=0x80000000
GlobalindexregisterA=0xFFFA0008
GlobalcountreloadA=0x00000002
取圖像子圖
圖像處理中,往往要從圖像中摳取一定大小的子圖,然后對(duì)子圖進(jìn)行處理。對(duì)于大型圖像,尺寸往往超過了DSP系統(tǒng)的片內(nèi)存儲(chǔ)器的大小,這種摳取的操作成了必不可少的步驟。這可以通過使用全局索引寄存器來完成。例如,從一個(gè)8×4的圖像中摳取一個(gè)2×4的子圖,如圖3所示,其中每個(gè)數(shù)據(jù)單元為1Byte。
可以這樣描述:有F1幀數(shù)據(jù),每幀數(shù)據(jù)有E1個(gè)數(shù)據(jù)單元,每個(gè)數(shù)據(jù)單元為S;從中摳取部分為F2幀數(shù)據(jù),每幀數(shù)據(jù)E2個(gè)數(shù)據(jù)單元,數(shù)據(jù)單元為S。這種情況下,因?yàn)橥瓿蓴?shù)據(jù)傳輸后,目標(biāo)存儲(chǔ)區(qū)為連續(xù)數(shù)據(jù),因此目標(biāo)地址遞增;源地址根據(jù)全局索引寄存器的值進(jìn)行調(diào)整。幀內(nèi)相鄰的數(shù)據(jù)單元傳輸時(shí),源地址偏移應(yīng)為S;當(dāng)讀完幀的最后一個(gè)數(shù)據(jù)單元,源地址指針跳過個(gè)數(shù)據(jù)單元,即幀間的地址調(diào)整量為+1)×S。這樣全局寄存器的設(shè)置
**FRAMEINDEX=(+1×1=4
*ELEMENTINDEX=1
*FRAMECOUNT=2
*ELEMENTINDEX=4
因此,寄存器設(shè)置
Primarycontrolregister=0x03000270
Transfercontrolregister=0x00020004
Sourcecontrolregister=0x02000000
Destinationcontrolregister=0x80000
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 招商營運(yùn)合同范本
- 糧食收購租賃合同范本
- 2025至2030年中國接觸器繼電器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 鵪鶉養(yǎng)殖合同范本
- 人員進(jìn)出境流程
- 新手出納年終工作總結(jié)
- 2025至2030年中國七彩變色燈泡數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年中國阻尼膠墊市場(chǎng)調(diào)查研究報(bào)告
- 2025年中國講臺(tái)桌市場(chǎng)調(diào)查研究報(bào)告
- 2025年度琴行音樂教育機(jī)構(gòu)品牌輸出與運(yùn)營權(quán)轉(zhuǎn)讓協(xié)議
- 2024年單招計(jì)算機(jī)試題題庫及答案
- 肝癌科普講座課件
- 中國航天“大總師-孫家棟”
- 機(jī)電運(yùn)輸安全基本知識(shí)
- 基于51單片機(jī)的無功補(bǔ)償裝置
- 幼兒園公開課:大班語言《相反國》課件(優(yōu)化版)
- 水利設(shè)施維護(hù)投標(biāo)方案(技術(shù)標(biāo))
- 2024屆湖南省長沙市湖南師大附中等校高三上學(xué)期月考(二)語文試題(解析版)
- 上??萍及嫘W(xué)二年級(jí)下冊(cè)綜合實(shí)踐活動(dòng)全冊(cè)教案
- 氣缸磨損的測(cè)量說課教案
- 《高鐵乘務(wù)安全管理及應(yīng)急處置》課程教案-崔藝琳編寫
評(píng)論
0/150
提交評(píng)論