以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- DAP6000图像处理 (http://sun4.cn/bbs/list.asp?boardid=30) ---- 基于DSP TMS320C6416的实时图像处理系统 (http://sun4.cn/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 四步搜索算法示意图 |