以文本方式查看主題 - 曙海教育集團論壇 (http://www.hufushizhe.com/bbs/index.asp) -- DAP6000圖像處理 (http://www.hufushizhe.com/bbs/list.asp?boardid=30) ---- 基于DSP TMS320C6416的實時圖像處理系統 (http://www.hufushizhe.com/bbs/dispbbs.asp?boardid=30&id=1643) |
-- 作者:wangxinxin -- 發布時間:2010-11-23 8:49:58 -- 基于DSP TMS320C6416的實時圖像處理系統 本文設計了基于TMS320C6000系列DSP的MPEG-4編碼器。將攝像頭獲取的圖像以MPEG-4標準進行實時壓縮并通過VGA實時顯示,同時把壓縮好的數據通過PCI總線傳輸給ARM控制器,經由ARM根據實際的需要進行視頻數據的網絡傳輸。 C6000系列DSP是TI公司生產的高檔DSP。這一系列DSP都是基VelociTITM構架的VLIW DSP,它在每個周期可以執行八條32bit 的指令, 具有高達200MHZ的CPU,從而使得其運算能力達到1600MIPS。而6416在600MHz主頻下,只利用50%的運算能力就可以同時進行單通道MPEG-4視頻編碼、單通道MPEG-4視頻解碼和單通道MPEG-2視頻編碼的處理。同時其對外接口靈活、開發工具齊全,被大多數嵌入式圖像實時壓縮系統所采用。因此本系統采用TI公司TMS320C6416芯片為核心處理器。
其中ARM7的作用是時鐘的產生及控制視頻采集芯片,將采得的數據從8位或16位轉化為32位,并且使數據按照Y、U、V分開的方式排列。這樣相當于對采集到的數據進行了一次預處理,以便于視頻編碼使用。另外ARM7將32位寬的數據輸出給32位的FIFO。用32位的FIFO以及將視頻數據轉換為32位,可以使DSP讀取視頻數據時32位的數據總線沒有空閑,從而提高DSP讀取視頻數據的效率;這里使用FIFO是為了減少DSP讀取數據的時間、降低高速設備和低速設備的不匹配。每次FIFO半滿時,ARM7會給DSP發送中斷信號, 并且在中斷處理程序中使用DMA方式讀取視頻數據;如果不使用ARM7,DSP會頻繁中斷,從而花費大量時間在入棧、出棧以及寄存器的設置上。
但是DMA 只適合于數據塊的整體搬移,對于不同數據結構間的數據傳輸,前DSP 的DMA 控制器就無能為力了。所以可以借助ARM7控制DSPDMA 來完成視頻編碼中復雜的數據傳輸。
完成編碼后的視頻數據通過ARM7來進行和外界的傳輸,可以通過Internet、 CDMA或者GSM網絡等,只需要ARM7設計相應的傳輸接口即可。至于ARM7與編碼卡通信可以通過并口、串口、USB口、PCI接口等方式實現。其中PCI 接口方式易于ARM7與編碼器高速傳輸數據,因此可以采用PCI接口。編碼后的數據通過DSP的HPI、PCI橋芯片、PCI總線到達ARM7。ARM7通過DSP的HPI直接對DSP的存儲空間進行訪問。
圖5 四步搜索算法示意圖 |