基于FPGA和双DSP的高速视频图像处理系统设计
- 格式:pdf
- 大小:1.11 MB
- 文档页数:4
第39卷,增刊 红外与激光工程 2010年05月 V ol.39 Supplement Infrared and Laser Engineering May. 2010收稿日期:2010-04-08作者简介:苑爱博(1985-),男,黑龙江齐齐哈尔人,硕士,主要从事图像信息处理方面的研究。
基于FPGA 和双DSP 的高速视频图像处理系统设计苑爱博,鲁新平,李吉成,张志龙,杨卫平(国防科学技术大学 电子科学与工程学院 ATR 重点实验室,湖南 长沙 410073)摘要:介绍了基于XC5VSX95T 和两片TMS320C6455的高速实时视频图像处理系统的设计原理。
其中FPGA 模块主要完成图像实时采集和传输的逻辑控制及图像预处理任务,双DSP 模块承担特征提取、目标识别、跟踪等任务。
工程应用表明,该系统实时性和稳定性均达到了设计要求,能够实现快速傅里叶变换、边缘检测、识别、跟踪等图像处理算法。
关键词:图像处理; DSP ; FPGA中图分类号:TP391 文献标识码:A 文章编号:1007-2276(2010)增(信息处理)-0647-04Design of high speed video image processor based onFPGA and dual DSPsYUAN Ai-bo, LU Xin-ping, LI Ji-cheng, ZHANG Zhi-long, YANG Wei-ping(Key Laboratory for ATR, College of Electronic Science and Engineering, National University of Defense Technology, ChangSha 410073, China)Abstract : This paper designed a high speed real- time system of video image processing based on two chips of TMS320C6455 and Xilinx FPGA of XC5VSX95T. The system uses DSPs to process the image data and accomplishes logic control of data catching and transmission with FPGA, which combines merit such us rapidity, agility and currency. Application of engineering shows that hardware architecture is effective and feasible; the performance meets the requirement of real- time processing. The system can realize the algorithm of image processing such as Fast Fourier Transform (FFT), edge detection, recognizing, tracking and so on.Key words: Image processing; DSP; FPGA0 引 言图像处理技术已经被广泛应用于视频图像处理的各个领域,可独立运行的高速实时数字图像处理平台已成为图像处理领域的一个发展趋势。
然而由于图像处理和自动目标识别的算法复杂,运算量巨大,图像处理系统通常包括分割、检测、标记、识别、跟踪等复杂的过程[2],处理实时性要求高,同时系统的体积也有严格的限制,因此在设计系统时必须综合考虑这些特点,合理选用芯片并保留一定的余度。
本文从硬件设计的角度出发研究高速实时图像处理系统, 以双DSP +FPGA 的结构组成满足实时性要求的图像处理系统,充分发挥FPGA 加通用DSP 结构的灵活性及实时处理能力[6]。
1 核心芯片的功能和特点主CPU 采用TI 公司的TMS320C6455定点DSP 芯片。
该芯片采用90 nm 工艺,先进的VelociTI TM VLIW 架构,拥有8个独立的功能单元,其中有2个648 红外与激光工程:光电信息处理第39卷16位乘法器和6个算术逻辑单元,其最大峰值速度9600 MIPS,最高主频高达1.2 GHz。
它有16Mbit片内集成大容量SRAM,拥有64位高性能外部存储器接口,可与多种同步或异步存储器直接相连,可接入大容量的SDRAM存储器,EMIFA 的四个CE空间能接入高达1 G字节;TMS320C6455拥有2个多通道缓冲串口(McBSP,最高速率达75 Mbit/s),64个EDMA 通道以及HPI、GPIO等可灵活使用的资源[5]。
因此可以很好地满足图像处理算法的复杂性、实时性和灵活性要求。
系统使用的是Xilinx公司的Virtex5系列XC5VSX95T,Virtex5系列是目前最新、功能最强大的FPGA,Virtex-5系列采用第二代 ASMBL™(高级硅片组合模块)列式架构,除了最先进的高性能逻辑架构,Virtex-5 FPGA还包含多种硬IP系统级模块,包括强大的36 Kb Block RAM/FIFO、第二代25 x 18DSP Slice、带有内置数控阻抗的SelectIO™技术、ChipSync™ 源同步接口模块、系统监视器功能、带有集成DCM(数字时钟管理器)和锁相环 (PLL) 时钟发生器的增强型时钟管理模块以及高级配置选项[9]。
Virtex-5 SXT为具有高级串行连接功能的高性能信号处理应用的子系列。
XC5VSX95T具有14720个Virtex-5 Slice(每个 Virtex-5 Slice 包含四个LUT和四个触发器),640个可用I/O管脚,可满足系统逻辑连接要求。
2 系统结构和工作原理基于双DSP+FPGA框架的实时图像处理系统结构如图1所示,该系统由预处理与控制模块、高速处理器模块、视频输出模块、通信模块、电源模块等部分组成。
各功能模块特点及技术途径如下:图1 实时视频图像处理系统结构框图Fig.1 Diagram of video image processor system 2.1 FPGA预处理及控制模块FPGA芯片是整个目标信息处理机预处理和控制的核心,所有的数据都经过FPGA控制,并且FPGA 还直接承担着图像处理底层的大量的卷积和乘加运算。
所以该芯片的设计直接决定着整个系统的运算速度。
在FPGA 内部构建基于FIFO方式的EMIF接口模式, 片使能信号CE和异步输出使能信号AOE用于产生FIFO的读、写使能信号。
同时,Xilinx Virtex 系列FPGA内部集成Block RAM, 可以配置成两个端口完全独立的真正的双口RAM。
双端口Block RAM的一侧被用来实现与上位机的通信,另一侧用于实现与FPGA内部逻辑电路与通信[3]。
在整个图像处理的过程中,前端的红外图像预处理主要任务是对图像进行滤波提高图像信噪比或进行边界提取和阈值分割。
本设计采用基于Nevatia-Babu算子的方法进行边缘检测[10],该方法使用6个5×5的滤波模块(如图2所示)在0°,30°,60°,90°,120°,150等方向对图像边缘进行检测。
图2 方形窗定义及硬件实现流程图Fig.2 Quadrate window and Hardware flow chart为了使5行5列共25个像素能够在一个时刻同时输出,便于之后的核心算法模块进行流水线处理,在5×5方形窗的硬件设计中,文采用了四个FIFO存储器。
其中FIFO地址宽度为W(W为图像宽度),这增刊 苑爱博等:基于FPGA 和双DSP 的高速视频图像处理系统设计 649样每个FIFO 正好可以存储一行共W 个图像数据,使得5×5方形窗生成模块的输出W11-W55正好构成5×5模板所对应的5行5列共25个图像数据值。
经过寄存器R 和FIFO 的作用后,在每一个时钟周期时,5×5窗函数生成模块同时输出W11-W55共25个待处理图像的像素数据,构成了5×5方形窗,输出数据与模板进行卷积运算,计算梯度并找出最大值,并与预置的阈值进行比较,判断是否为边界像素。
图3 Nevatia-Babu 算子梯度计算模板Fig.3 Templates for detection of image gradients with Nevatia-Babu2.2 双DSP 高速处理器模块高速处理器模块主要是进行图像的高层算法,其任务是对经过预处理的数字图像进行目标检测、识别和跟踪等算法。
DSP1主要承担目标特征提取及目标识别任务,DSP2完成图像跟踪功能。
系统采用两片TI 公司的TMS320C6455为核心处理器, 最大峰值速率为19200MIPS, DSP1的64bit EMIFA 连接FPGA 与两片FLASH 存储器, 用于加载DSP 的启动信息、FPGA 的初始化配置和预加载基准图。
DSP 通过EMIF 接口总线连接到FPGA,EMIFA 口的数据线、地址线、片选信号等与FPGA 的I/O 连接, 将FPGA 内部存储器映射到DSP 地址空间, 实现高速数据交换[3]。
两片C6455之间通过全双工串行多通道缓冲串口McBSP 进行控制信号的传送, 通过两片C6455的EMIFA 口连接至FPGA 的EMIF 总线接口, 可达到800 MB/s 的数据传输速率。
2.3 视频输出模块该模块的功能是将DSP 处理后的图像数据进行数模转换,并与字符信号合成后形成VGA 格式的视频信号。
这里选用的数模转换芯片为ADV7123JST140。
这是ADI 公司生产的一款三通道(每通道10位)视频数模转换器,其最大数据吐率330MSPS ,输出信号兼容RS-343A/RS-170。
由FPGA 接收待显示的图像数据,放入存储容量为128K*18的双端口显示帧缓存(IDT70V631S )中,FPGA 中的显示图像逻辑电路以基准频率产生复合同步、复合消隐信号。
由FPGA 产生的数字视频信号分别进入到ADV7123的三个数据通道,经数模转换后输出模拟视频信号并与原来的同步信号、消隐信号叠加后便可以在显示器上显示处理后的结果。
2.4 串行通信模块模块要求实现2个422串口:传输速率为115.2 Kbps 、230.4 Kbps 。