新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 一種基于高速DSP的圖像處理應用平臺

        一種基于高速DSP的圖像處理應用平臺

        作者: 時間:2009-07-30 來源:網絡 收藏

        圖2 主程序流程

          DM642 的EDMA 控制器負責片內L2存儲器與其它設備之間的數據傳輸。能提供超過2Gb/s 的外部帶寬,有64 個通道, 每1個通道都有1個事件與之關聯,由這些事件觸發相應通道的傳輸。上面流程中A/D、D/A的芯片初始化的參數傳輸和視頻數據的采集都是通過EDMA來實現的。

        3.2 A/D和D/A芯片的初始化

          A/D和D/A芯片的初始化過程通過EDMA中的I2C通道來實現。要傳輸的數據參數在EDMA 的參數RAM表中進行配置,其中主要包括源數據起始地址、目的地址、地址的修改方式、要傳輸的數據格式和大小。對二個芯片的初始化數據參數分別配置在二個不同的RAM表中。第一次I2C通道的EDMA數據傳輸完畢后由EDMA控制器向CPU發出中斷,中斷處理程序載入第二次I2C傳輸的RAM參數表,啟動第二次傳輸過程。從而完成二個芯片的初始化過程。

        3.3 視頻采集與輸出

          對應于YUV 4:2:2的格式視頻數據采集,EDMA中用于VP1的數據傳輸有三個通道。系統中將視頻端口VP1配置為連續幀采集的方式,也就是啟動第一幀的采集后,后面幀的采集連續進行不需要另外的幀同步信號。

          在隔行掃描模式下,每幀分為兩場,兩場在時域上是分開的,通過EDMA 鏈表可自動實現場合成,不需占用額外的CPU 時間。EDMA 的參數RAM 存放了有關的傳輸參數, 這些參數用于產生EDMA 讀寫操作所需要的地址。在使用EDMA 通道傳輸奇數場與偶數場時,分別使用不同的EDMA 參數RAM。兩組參數RAM 的目的地址分別指向存儲圖像的第一行與第二行象素的首地址, 并且兩組參數RAM 通過鏈接地址(Linking Address)循環相連,并將源地址傳輸方式設置為1維的,目標地址方式設置為2維的。在EDMA 通道的傳輸中,奇數場傳輸任務的結束會自動地根據當前參數RAM的鏈接地址裝載傳輸偶數場的參數RAM,進行偶數場的傳輸。通過設定幀索引(Frame Index)值可以讓奇數場與偶數場數據在幀緩沖區中被隔行存儲,這樣在無需占用額外CPU 時間的前提下就實現了場合成。另外,由于兩組參數RAM 通過鏈接地址循環相連,則奇數場與偶數場的數據傳輸連續不斷地交替進行下去,這就形成了連續幀的數據采集。每一幀數據通過EDMA傳輸至SDRAM完畢之后,VP1會向CPU發出一個中斷,相應的中斷程序對會對采集到的圖像數據進行處里。

          大批量的圖像數據傳輸和復雜算法的處理一直是數字器的速度瓶頸,從上面的數據傳輸過程上可以看出, 利用DM642 的EDMA 功能可以在不中斷算法處理工作的同時完成圖像數據的搬移,在有效地解決了大批量圖像數據傳輸速度瓶頸的同時,又能讓 的處理器核專門從事算法處理工作,極大地提高了系統的并行性能。
        視頻輸出功能在本系統中主要用于早期開發階段的調試。實際中可以根據需要將中間處理圖像結果數據通過EDMA中的VP2通道直接寫入視頻FIFO。

        3.4 通信接口功能的實現

          系統中,通過軟件的方法,不增加硬件的復雜度,利用已有的McBSP和EDMA實現UART功能。

          同步串口依賴三條分離的信號線(數據、幀同步和時鐘)來實現數據的傳輸,而異步通信只是在一根信號線上進行。要用同步串口實現異步傳輸,需要通過在數據的首尾加入起始位和停止位,讓接收方知道數據傳輸何時開始和停止。用McBSP實現UART功能,除了對McBSP進行正確設置外,還需要正確設置EDMA,對McBSP收發數據進行軟件處理。EDMA實現內存到McBSP之間的高效數據搬移,數據處理軟件對待發送的數據進行編碼,對接收到的數據進行解碼。對McBSP和EDMA的設置及編解碼程序的設計詳見文獻[5]。

        4、結論

          研究了一種DM642的的設計與實現,其實現的基本功能包括視頻輸入和輸出,與外界的UART接口通信等。介紹了系統硬件組成,以及軟件功能模塊的實現。由于軟件采用了模塊化設計,針對具體的功能需求,通過配置不同的客戶程序,可以實現特定的,因而系統具有好的應用前景。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 哈密市| 黔江区| 南乐县| 托克逊县| 五家渠市| 常州市| 慈利县| 饶河县| 钦州市| 鄂温| 达拉特旗| 平江县| 巫山县| 祥云县| 德钦县| 新龙县| 南宁市| 玉林市| 建始县| 三门县| 北宁市| 天水市| 麟游县| 弋阳县| 霍州市| 大方县| 合肥市| 江川县| 宿松县| 宜良县| 芜湖县| 甘洛县| 桃园县| 浙江省| 新龙县| 彰化县| 本溪市| 新干县| 桐乡市| 合肥市| 诸暨市|