基于FPGA的视频图像分割技术设计与应用
通过实验得到另一个结论:在DSP内部是用DMA来搬运视频数据到显示bu仃er的相应位置。对于数据量相对较大的“数据块”来说,DMA所耗费的系统性能是非常接近的。由此,笔者设计出第2种换面合成方式,如图4所示。这样做可以简化逻辑设计,节约FPGA资源,提高项目开发速度。
2 系统设计
2.1 硬件设计部分
图5是FPGA相关部分硬件框图,可以看到,16路视频数据由4片TW2815芯片输入到FPGA,经过分割合成处理后送入DSP。由于视频数据速度高、数据量大,所以采用两片DDR SDRAM进行缓存。主时钟为133 MHz,配置电路采用从串和JTAG模式,前者用于系统运行时由MCU进行配置,后者用于系统调试。FPGA芯片选用Xilinx公司Spaaen3ADSP系列
XC3SD3400A芯片。系统由ATX电源供电,内部各电平由电源芯片产生。内存为两片HY5DU561622ETP型DDR SDRAM。
2.2 软件功能架构
图6为软件设计功能框图,它由多个功能模块组成。各模块功能如下:
1,INPUT DEMUX:接收视频数据,根据视频解码芯片的工作模式将信号分解成ITU-RBT.656数据送入下级模块。
2,VII)IN:检测SAV、EAV信号,提取有效视频数据(DI、CIF、QCIF),然后放入FIFO中暂存。
3,WRITE DMA:按照设计中对内存的划分,将不同通道的有效数据写入设定的内存空间。
4,READ DMA:按照一定的格式读取内存空间中的数据。
5,MEM ARB:仲裁对内存的读写操作,协调读写模块工作。
6,DDR SDRAM Controller:用Xilinx内存接口生成器(MIG)生成,实现FPGA与DDR接口
7,VID OUT:在输出视频数据中添加通道号等辅助信息,便于DSP识别。
8,12C_SLAVE:模拟12c从模块工作方式,外部MCU通过该接口对内部寄存器进行配置,以实现不同功能。
整个系统基于同步逻辑设计,使用Verilog HDL语言进行代码编写,仿真使用ModelSim,图7是其中典型一次写突发过程模块的仿真波形。
评论