OMAP5910實(shí)時(shí)圖像系統中的DMA數據傳輸

發(fā)布時(shí)間:2010-9-3 14:02    發(fā)布者:techshare
實(shí)時(shí)圖像處理系統的顯著(zhù)特點(diǎn)是數據量大,有效地處理和傳輸圖像數據是實(shí)現實(shí)時(shí)圖像處理系統的關(guān)鍵,TI公司推出了高性能多媒體雙核處理器OMAP5910,是將高性能、低功耗的TMS320C55x DSP與控制性能很強的ARM925微處理器集成到同一芯片器件中如何有效地發(fā)揮雙核的優(yōu)勢,合理利用OMAP5910的各種內存配置DMA控制器實(shí)時(shí)、高效傳輸大規模的圖像數據是本文研究的重點(diǎn)。  

1 OMAP5910的內存管理  

由于OMAP5910支持多種內存,因此在設計DMA傳輸方案時(shí),必須對OMAP5910的內存管理有一個(gè)詳細的了解。  

OMAP5910的MPU存儲器片內集成了192KB的SRAM,DSP存儲器片內集成了64KB的雙向DARAM,96KB的單向SARAM,32KB的程序存儲器PDROM,MPU和DSP子系統的存儲器映射情況如圖1所示。通過(guò)EMIFF和EMIFS接口,OMAP5910可以訪(fǎng)問(wèn)片外存儲器,但訪(fǎng)問(wèn)片外存儲器的速度與訪(fǎng)問(wèn)片內存儲器的速度差別很大。  

OMAP5910的片內存儲器主要由存儲器管理單元TC管理。TC管理MPU、DSP、DMA以及局部總線(xiàn)對OMAP5910系統存儲資源(SRAM、SDRAM、Flash、ROM等)的訪(fǎng)問(wèn),它的主要功能是確保處理器能夠高效訪(fǎng)外部存儲區,避免產(chǎn)生瓶頸現象而降低片上處理速度,TC通過(guò)3種不同的接口-EMIFS、EMIFF或IMIF,支持處理器或DMA單元對存儲器的訪(fǎng)問(wèn).其中EMIFS接口提供對Flash、SRAM或ROM的訪(fǎng)問(wèn),EMIFF接口提供對SDRAM的訪(fǎng)問(wèn),IMIF接口提供對OMAP5910片內192KB SRAM的訪(fǎng)問(wèn),3種接口是完全獨立的,從任何一個(gè)處理器或DMA單元都可以同時(shí)訪(fǎng)問(wèn)。  

ARM核訪(fǎng)問(wèn)DSP核的數據或內存空間,需要ARM和DSP之間進(jìn)行通信,主要有3種方式支持內部雙核間的通信,第1種方式通過(guò)雙核共享郵箱寄存器MailBox來(lái)實(shí)現,ARM和DSP均可以通過(guò)MailBox觸發(fā)對方中斷,并同時(shí)傳遞兩個(gè)16位的參數,以通知對方自己的狀態(tài)或傳遞某種請求,第2種方式是MPUI方式,ARM通過(guò)主機接口獲得對DSP存儲空間和I/O空間的訪(fǎng)問(wèn)權,由ARM完成數據在雙核間的搬移,第3種方式是設置DSP的MMU,將DSP的外部存儲空間映射到OMAP5910系統存儲資源中,共享DSP的地址空間,由DSP完成雙核間的數據搬移。  




2 OMAP5910的DMA控制器  

OMAP5910的DMA控制器對實(shí)時(shí)圖像處理系統非常重要,它可以在沒(méi)有CPU參與的情況下完成映射存儲空間中數據搬移,靈活的使用DMA控制器可以大大提高數據傳輸效率。  

OMAP5910的DMA控制器進(jìn)行通用功能傳輸時(shí)的特點(diǎn)如下:  

1)單通道分割操作,具有通用和專(zhuān)用信道,不同的硬件資源端口。所有的數據交換都通過(guò)請求(Request)、準備就緒(ready)、中止(abort)信號進(jìn)行握手。DMA信道是時(shí)分復用的,其傳輸的基本流程如圖2所示。  



2)多幀傳輸。傳輸的每個(gè)數塊可以有多個(gè)數據幀。傳輸的數據大小為8位、16位和32位?砂醋止澊虬、拆包、并對傳輸的字節計數?稍L(fǎng)問(wèn)所有的存儲器地址空間(物理地址映射和I/O空間)。  

3)DMA的讀、寫(xiě)和幀操作都有中斷觸發(fā),每個(gè)DMA物理通道都可以產(chǎn)生一個(gè)中斷,使處理器對本次傳輸的狀態(tài)作出反應,所有的DMA中斷都是電平中斷。

4)后臺傳輸、高吞吐率,DMA可獨立于CPU工作和以PCU時(shí)鐘速度進(jìn)行數據吞吐。  

實(shí)時(shí)圖像處理系統的圖像數據很大,同時(shí)圖像處理過(guò)程中也也會(huì )產(chǎn)生大量的中間數據,而OMAP5910的片內資源有限,不能容納幀的圖像數據和中間數據,所以大量的圖像數據必須存儲在片外存儲器中,為了保證系統的實(shí)時(shí)性,由DMA負責完成數據在不同存儲空間的搬移,不必占用CPU的時(shí)鐘周期,避免CPU大部分時(shí)間堵塞在對外存的訪(fǎng)問(wèn)上,同時(shí)DMA對數據重排功能可以?xún)?yōu)化圖像數據在內存中的存儲,這不僅可以提高內部存儲空間的利用效率,而且可以提高數據的傳輸速率。

3 OMAP5910內、外存儲器數據交換分析  

一個(gè)完整的實(shí)時(shí)圖像處理不僅能對圖像進(jìn)行實(shí)時(shí)采集,還能對圖像進(jìn)行實(shí)時(shí)處理,該實(shí)時(shí)圖像處理系統主要由圖像傳感器、A/D轉換器,復雜可編程邏輯器件FPGA、OMAP5910雙核處理器,圖像顯示設備等構成。該系統的主要功能是FPGA實(shí)時(shí)接收紅外焦平面陣列傳感器輸出的14位視頻信號,降頻后由OMAP5910的DSP處理器執行圖像處理算法,同時(shí),OMAP5910的ARM處理器執行復雜控制指令,再由FPGA緩存,經(jīng)D/A變換合成10位視頻信號輸出,另外,OMAP5910的ARM處理器通過(guò)接口接收計算機的控制指令。  

按照人眼的視覺(jué)要求,成像系統每秒鐘至少要采集和處理25幀圖像數據,才能避免圖像實(shí)時(shí)顯示時(shí)的視覺(jué)閃爍感,。對于320×240的點(diǎn)陣圖像,A/D為14位,每幀采集數據為320×240×14位=1 MB,按實(shí)時(shí)性的要求,進(jìn)行處理和顯示數據的速度為320×240×14
位×25幀/s=3.125MB/s,即需要在64μs內完成讀1行(320像素)和寫(xiě)1行(346象素)的操作,只有這樣圖像才不失連續性。  

為了保證圖像處理和顯示的實(shí)時(shí)性,應充分利用OMAP5910的各數據傳輸通道,OMAP5910的片內、外存儲器的數據傳輸,如圖3所示,圖中給出了OMAP5910處理實(shí)時(shí)圖像時(shí)的所有數據傳輸通道,他們的傳輸速率與存儲器的類(lèi)型有關(guān)。為了充分認識OMAP5910的數據傳輸通道的性能,筆者做了一系列的實(shí)驗,設置系統時(shí)鐘為150MHz,工作模式設為全同步模式,使能Ca che的前提下,詳細測試了各傳輸通道傳輸1幀數據所用的時(shí)間,如表1所列。以此為依據來(lái)優(yōu)化數據的傳輸。  






4 DMA方式數據傳輸優(yōu)化方案

在詳細分析各數據傳導的數據傳輸速率性能的基礎,本文提出了一種DMA方式的數據傳輸優(yōu)化方案,把整幀劃分成多個(gè)塊,OMAP5910待處理的圖像數據完全放在OMAP5910的片內數據存儲器中進(jìn)行處理,既減少了與外存的大量交互,又充分利用了片內的高速存儲資源,在內外存之間的數據傳輸使用DMA在后臺進(jìn)行操作,大大提高OMAP5910的工作效率。  

4.1 數據流程

A/D采樣的數據首先存放在外部緩沖中,當采集到一定的數據量后,由復雜可編程邏輯器件觸發(fā)ARM DMA讀取數據,依次輸入兩幀圖像保存在SDRAM中,從外掛Flash中取得進(jìn)行圖像處理所需的參數A、B值保存在SDRAM中,與輸出幀存以8行為塊單位,觸發(fā)DSP DMA將塊數據從OMAP5910的外部緩存區SDRAM搬運到DSP核的雙向內部緩存區DARAM,以供DSP核進(jìn)行計算。有關(guān)DMA方式傳輸的特點(diǎn),DSP核進(jìn)行計算的同時(shí),DSP DMA搬運上一塊的圖像數據(8行)到SDRAM,ARM核接收到輸出行數據后,觸發(fā)ARM DMA把數據搬移到FPGA控制外部存儲區,數據流程如圖4所示。  



由于OMAP5910內部和外部都采用雙緩沖機制,因此ARM核和DSP核處理的DMA傳輸上一幀數據的同時(shí),不影響DMA進(jìn)行當前幀數據的傳輸。這樣整個(gè)系統中A/D數據的采集,DMA數據的傳輸及CPU數據的計算達到了高度的并行性。  

4.2 操作時(shí)序

從數據傳輸的操作時(shí)序上,可以看出該優(yōu)化方案另一個(gè)優(yōu)勢,將原來(lái)的幾個(gè)輸入過(guò)程(每個(gè)輸入過(guò)程指的是輸入1行像素)合并為1個(gè)輸入過(guò)程(1次輸入幾行像素),并且將原來(lái)集中完成的輸出過(guò)程分散到輸入過(guò)程中間完成,進(jìn)一步提高的性能。  

具體配置操作為:OMAP5910中ARM DMA讀過(guò)程1次輸入12行數據,用20次將1幀圖像輸入到SDRAM中。ARM DMA的寫(xiě)過(guò)程在讀過(guò)程中間啟動(dòng)。即1幀中的第1次DMA讀過(guò)程結束的中斷中啟動(dòng)行號和幀號的添加以及 DMA的寫(xiě)過(guò)程,這一次只寫(xiě)2行,在1幀中的第2次到第20次DMA讀過(guò)程結束的中斷中啟動(dòng)寫(xiě)過(guò)程,每次寫(xiě)15行,其操作時(shí)序圖5所示。




具體的時(shí)間計算是:讀12行數據為17.07μs×12=204.84μs,寫(xiě)15行數據為27.68μs×15=415.2μs,1次讀寫(xiě)及中斷的處理所需時(shí)間為204.84μS+415.2μs≈700μs,1次讀寫(xiě)及中斷的處理允許時(shí)間為68μS×12=816μs。經(jīng)計算700μ<816μs,能夠保證實(shí)時(shí)圖像處理系統的實(shí)時(shí)性。  

5 優(yōu)化方案中的代碼設計與實(shí)現

5.1 ARM端的主程序

ARM核主要實(shí)現OMAP5910系統的配置,與FPGA接口的數據輸入/輸出,與SDRAM的數據保存、幀模式的控制與轉換等優(yōu)化方案的功能。  

5.2 DSP端的主程序  

DSP核主要實(shí)現DSP DMA在I SRAM和DARAM之間
數據的輸入/輸出,紅外圖像的兩點(diǎn)校正算法和疵點(diǎn)剔除等算法,以及紅外圖像的亮度和對比度參數的計算等功能。  

5.3 調試與配置DMA通道的經(jīng)驗總結

1)測試DMA通道的數據傳輸是否正確,可編寫(xiě)SDRAM到SDRAM的內部DMA數據搬移測試程序來(lái)初步測試DMA通道的初始設置和數據傳輸是否正確。  

2)測試DMA與FPGA接口數據的傳輸速率,示波器讀取讀信號或寫(xiě)信號的效率時(shí),應注意查看讀信號和寫(xiě)信號的個(gè)數是否是傳輸數據的個(gè)數。  

3)測試DMA的外部中斷,外部中斷的引腳是復用引腳,應提前設置此引腳。

4)測試DMA操作的讀操作和寫(xiě)操作的相互配合,查看輸出的傳輸是否正確。

5)使用指定內存不同的數據測試視頻圖像的輸出是否正確。

6)DMA中斷的觸發(fā)事件是上升沿有效。

7)為保證DMA傳輸數據的完整性,要對DMA的優(yōu)先級進(jìn)行設置。

結語(yǔ)

實(shí)時(shí)圖像處理系統實(shí)現了此數據傳輸的優(yōu)化方案,實(shí)時(shí)顯示圖像的速度為25幀/s,圖像的視覺(jué)效果比較理想,通過(guò)靈活地控制DMA,不僅能夠提高圖像數據的傳輸效率,而且能夠充分發(fā)揮OMAP5910的高速性能。
本文地址:http://selenalain.com/thread-25514-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)在線(xiàn)工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页