1.为什么说DSP+FPGA架构更适合视频采集处理? 高性能的算法处理,使用硬件描述语言去编写算法的话,复杂程度高,工作量大,不易调试,产品的开发周期将非常长。这时,如果为系统添加专为算法而生的DSP的话,将会事半功倍。 众所周知,DSP有专门为数字信号处理所设计的指令集和流水线,可以方便高效的执行浮点数和复数运算等,这样我们的理论算法就可以很方便的移植到实际的工程中,可以有效的缩短产品的开发周期。 DSP+FPGA的架构,可以把FPGA的高速采集和DSP的高性能算法处理完美结合。这种高度平衡的特性集合使其非常适合各种高性能嵌入式应用场合,如: ■ 视频追踪 ■ 图像处理 ■ 软件无线电 ■ 雷达探测 ■ 光电探测 ■ 水下探测 ■ 定位导航 2. DSP+FPGA经典组合——C6678+Kintex-7在高速图像处理领域,TMS320C6678与Kintex-7进行搭配的DSP+FPGA架构堪称经典中经典,C6678拥有8核C66x,每核主频高达1.25GHz,同时拥有高达320 GMAC和160 GFLOP的运算能力,可轻松驾驭图像的复杂算法。配合Kintex-7的高速采集,完美契合各种视频采集场景。
图 1 TMS320C6678处理器功能框图
图 2 Kintex-7特性 本文基于C6678+Kintex-7平台,为大家介绍CameraLink、SDI、PAL、HDMI的视频采集处理综合案例。 3. 硬件平台
图 3 TL6678F-EasyEVM评估板 TL6678F-EasyEVM评估板通过FMC高速接口,可接入CameraLink、SDI、PAL、HDMI等视频采集模块,并基于各个模块提供了DSP+FPGA视频采集处理综合案例,同时提供免费技术支持服务。 4. 视频采集处理方案4.1 CameraLink视频采集处理FPGA端通过FMC视频模块TLCameraLinkF的CameraLink接口进行分辨率为2560 x 2048的视频采集,再经过SRIO总线将视频数据传输至DSP端进行Sobel(边缘检测)算法处理,然后将经处理后的图像通过网页进行显示。 FPGA端作为SRIO Ini tiator,DSP端作为SRIO Target。FPGA端通过SRIO SWRITE和乒乓方式,将数据传输至DSP端的0x90000000和0x90500000的DDR地址空间。 案例使用北京微视的黑白CameraLink相机RS-A5241-CM107-S00,分辨率为2560 x 2048,帧率为107,灰度输出,每个像素8bit,则数据量为2560 x 2048 x 107 x 8 = 4487905280 ≈ 4.5Gbps。案例使用SRIO的两个Lanes,每个Lane传输速率为5Gbps,总数据有效带宽为5Gbps x 2 x 80% = 8Gbps。
图 4 案例功能框图
图 5 FPGA端程序功能框图
图 6 CameraLink模块
图 7 硬件连接
图 8 测试效果图 4.2 SDI视频采集处理Kintex-7 FPGA通过使用Video In to AXI4-Stream IP核,将SDI视频模块TL2971A/2972F的SDI IN接口输入的1080P60的视频采集进来,并通过VDMA缓存到DDR,最后通过AXI4-Stream to Video Out IP核将视频从模块的SDI OUT接口输出显示。其中VDMA通过Microblaze配置。 图像数据亦可通过SRIO高速总线传输到TMS320C6678 DSP进行算法处理,并返回处理结果。
图 9
图 10 硬件连接 4.3 PAL视频采集处理(4路D1) 在Kintex-7 FPGA上搭建MicroBlaze软核,并由MicroBlaze配置PAL视频模块TL2867F和各IP核,将模块输出的一路4通道D1时分复用的复合视频,拆分成4路独立的BT656嵌入式同步视频,再将4路视频进行BT656解码分离出同步信号和像素数据。使用VDMA IP缓存到内存设备上,通过VPSS IP将4路图像进行去交错,然后由Mixer IP将四路图像拼接起来,通过rgb2dvi逻辑模块,将RGB视频信号转换为DVI视频信号,最后通过模块的HDMI1接口输出显示到显示器。支持PAL制式(分辨率为720x576)视频输入,输出显示分辨率为1280x1024。 图像数据亦可通过SRIO高速总线传输到TMS320C6678 DSP进行算法处理,并返回处理结果。
图 11
图 12
图 13 硬件连接
图 14 4.4 HDMI视频采集处理Kintex-7 FPGA使用Video In to AXI4-Stream IP核,通过HDMI视频采集模块TL7611/9022F的HDMI IN接口将1080P60视频采集进来,并通过VDMA缓存到DDR,最后通过AXI4-Stream to Video Out IP核将视频从模块的HDMI OUT接口输出显示。其中VDMA IP核,HDMI OUT芯片(SIL9022)和HDMI IN芯片(ADV7611)通过MicroBlaze运行裸机程序进行配置。 图像数据亦可通过SRIO高速总线传输到TMS320C6678 DSP进行算法处理,并返回处理结果。
图 15
图 16 硬件连接
5 案例源码、资料
案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可评论区留言或私信获取。 6. 技术交流群TMS320C6678 DSP交流群:79635273、332643352 Kintex-7 FPGA交流群:311416997、101245165
|