【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

前言

SDI接口,全称是“数字分量串行接口(Serial Digital Interface)”。按速率可分为标准清新度SD-SDI、高清标准HD-SDI和3G-SDI,其对应速率分别是270Mb/s、1.485Gb/s和2.97Gb/s。目前在航空航天、军事、医疗、交通等领域,SDI的应用广泛度仅次于CameraLink接口。

 

 

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

 

SDI接口优势:

(1) 消耗GTX更少,消耗IO更少

如果使用GTX总线,仅需1对GTX,而HDMI则需要3对GTX。CameraLink接口由于走LVDS信号,Base模式下需要11对LVDS信号,Full模式下需要22对LVDS信号,消耗IO数量比GTX SDI多了很多。

(2) 传输更稳定

相较于HDMI接口,SDI接口的自锁扣设计更加稳定可靠,不易脱落,不会因人为因素造成信号中断。

(3) 传输距离更长

串行接口是指逐位数据的顺序传输。它的特点是通讯线简单。只要一对传输线可以实现双向通信,特别适合于长距离通信。从理论上讲,SDI的传输距离可以达到100m。

(4) 成本更低

SDI接口平均每米价格约为4元,相较于HDMI接口的平均每米价格约为10元,SDI接口成本更低。

 

创龙科技(Tronlong)的Kintex-7、Zynq-7045/7100等FPGA板卡通过FMC视频模块已实现两种SDI视频输入/视频输出方案:GTX +外接芯片。本文将为您分享基于Kintex-7 FPGA评估板、TL2971A/2972F视频模块的3G-SDI视频输入/输出开发案例,使用外接芯片方式。TL2971A/2972F视频模块模块亦可支持GTX方式。

 

1 硬件平台

本文基于创龙科技TLK7-EVM评估板、TL2971A/2972F视频模块进行演示。

 

1.1 TLK7-EVM评估板

TLK7-EVM是一款基于Xilinx Kintex-7系列FPGA设计的高端评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。

评估板接口资源丰富,引出FMC、SFP+、PCIe、SATA、HDMI等接口,方便用户快速进行产品方案评估与技术预研。

可申请TLK7-EVM评估板进行快速评估,点:http://www.tronlong.com/Product/show/93.html,免费哦!

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

 TLK7-EVM评估板

 

开发案例主要包括:

l CameraLink、SDI、HDMI、PAL视频输入/输出案例

l 高速AD(AD9613)采集+高速DA(AD9706)输出案例

l AD9361软件无线电案例

l UDP(10G)光口通信案例

l UDP(1G)光口通信案例

l Aurora光口通信案例

l PCIe通信案例

 

1.2 TL2971A/2972F视频模块

TL2971A/2972F是一款基于FMC LPC标准设计的3G-SDI视频输入/输出模块,与创龙科技Zynq-7000/Kintex-7/Artix-7等评估板配套使用。以下为此模块特点:

(1)通过GTX高速串行总线引出1路SDI视频输入接口,最高支持2.97Gb/s(1080P60)。

(2)通过GTX高速串行总线引出1路SDI视频输出接口,最高支持2.97Gb/s(1080P60)。

(3)通过GS2971A芯片引出1路SDI视频输入接口,最高支持2.97Gb/s(1080P60)。

(4)通过GS2972芯片引出1路SDI视频输出接口,最高支持2.97Gb/s(1080P60)。

(5)采用标准BNC连接器,支持视频设备热插拔。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

TL2971A/2972F视频模块

 

 

 

2 案例功能

 

本案例为通过GS2971A、GS2972芯片引出SDI视频输入、输出案例。通过GTX高速串行总线引出的SDI视频输入、输出案例即将发布,敬请期待。

案例功能:评估板通过FMC视频模块TL2971A/2972F的SDI IN接口进行1080P60视频采集,并通过TL2971A/2972F模块的SDI OUT接口将采集到的视频进行输出。

案例源码、产品资料(用户手册、核心板硬件资料、产品规格书)可点:http://site.tronlong.com/pfdownload获取。

 

 

3 案例演示

将创龙科技的TL2971A/2972F模块连接至评估板FMC1接口,评估板J1跳线帽选择3.3V档位,以配置FMC IO的BANK电压为3.3V。

准备一台拥有HDMI OUT接口的PC机(例如笔记本),通过HDMI数据线将PC机HDMI OUT接口连接至HDMI转SDI模块(厂家:玩视,型号:3G HDMI TO SDI Audio)INPUT接口,PC机HDMI OUT接口用作图像输出。通过SDI数据线将TL2971A/2972F模块的SDI IN接口连接至HDMI转SDI模块的OUTPUT接口。

通过SDI数据线将TL2971A/2972F模块的SDI OUT接口连接至SDI转HDMI模块(厂家:玩视,型号:3G SDI TO HDMI Audio)的INPUT接口,再通过HDMI数据线将一台HDMI显示屏连接至SDI转HDMI模块的OUTPUT接口,HDMI显示屏用作图像显示。

 

 

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

 

运行程序,即可看到串口调试终端打印如下信息,然后在PC机的显卡设置(或图形属性)中,按照下图设置HDMI分辨率为1920x1080、刷新率为60pHz。

 

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

 

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

此时,HDMI显示屏将显示PC机HDMI OUT接口输出的图像。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

4 关键代码(MicroBlaze)

 

MicroBlaze裸机源码为"sw\baremetal_demo\project\sdi_capture_display\src\",关键代码说明如下。

(1) 初始化VDMA,将采集到的视频数据缓存至DDR,并将视频数据搬运至AXI4-Stream to Video Out IP核,再进行SDI视频输出。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

 

5 Vivado工程说明

 

点击BLOCK DESIGN开发界面下的"Address Editor"选项,可查看IP核分配的地址,MicroBlaze可通过对应地址对IP核进行控制。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

Vivado工程顶层文件为"hw\project\sdi_capture_display.srcs\sources_1\imports\hdl\sdi_capture_display.v",关键代码说明如下。

 

(1) 定义模块接口。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

(2) 使用STARTUPE2原语输出复位信号。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

 

(3) 调用Block Design。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

6 IP核配置

 

6.1 VDMA IP核

 

本案例使用VDMA IP核进行视频数据缓存。

VDMA(AXI Video Direct Memory Access) IP核开发文档为产品资料“6-开发参考资料\Xilinx官方参考文档\”目录下的pg020_axi_vdma.pdf,具体配置说明如下。

(1) Frame Buffer配置为3个。

(2) Write Burst Size、Read Burst Size均配置为16。

(3) 读通道的Stream Date Width配置为24。

(4) 读/写通道的Line Buffer Depth均配置为1024。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

(5) 点击Advanced,保持默认配置,即可避免VDMA同时读写同一个Buffer,造成视频数据传输乱码。

 

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

6.2 Video In to AXI4-Stream IP核

 

本案例使用Video In to AXI4-Stream IP核将并行视频信号转换为AXI4-Stream视频流。

 

Video In to AXI4-Stream IP核开发文档为产品资料“6-开发参考资料\Xilinx官方参考文档\”目录下的《pg043_v_vid_in_axi4s.pdf》,具体配置说明如下。

 

(1) 视频格式配置为YUV 4:2:2。

(2) 数据位宽配置为10bit。

(3) Clock Mode配置为Independent(独立时钟)。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

 

6.3 AXI4-Stream to Video Out IP核

 

本案例使用AXI4-Stream to Video Out IP核将AXI4-Stream视频流转化为并行视频信号。

AXI4-Stream to Video Out IP核开发文档为产品资料“6-开发参考资料\Xilinx官方参考文档\”目录下的《pg044_v_axis_vid_out.pdf》,具体配置说明如下。

(1) 视频格式配置为YUV 4:2:2。

(2) 数据位宽配置为10bit。

(3) Clock Mode配置为Independent(独立时钟)。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

6.4 VTC IP核

 

本案例使用VTC IP核产生用于视频输出的时序。

VTC(Video Timing Controller) IP核开发文档为产品资料“6-开发参考资料\Xilinx官方参考文档\”目录下的《pg016_v_tc.pdf》,具体配置说明如下。

(1) 点击Detection/Generation,确保不勾选"Include AXI4-Lite Interface"及"Enable Detection"。

 

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

(2) 点击Default/Constant,Video Mode设为1080p,其余配置保持默认。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

6.5 Clocking Wizard IP核

 

本案例使用Clocking Wizard IP核产生用于视频输出的像素时钟(148.5MHz,对应1080P60)。

Clocking Wizard IP核开发文档为产品资料“6-开发参考资料\Xilinx官方参考文档\”目录下的《pg065-clk-wiz.pdf》,具体配置如下。

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

 

7 技术讨论组

Kintex-7 FPGA:311416997、101245165

Zynq-7000:645235672、193393878

 

8 更多推荐

【Kintex-7、Zynq-7045/7100评估板】基于FPGA的两种SDI视频方案(GTX+外接芯片)

 

上一篇:在Digilent Nexys Video Artix-7板卡上实现HDMI I/O视频处理系统


下一篇:【树莓派】树莓派3B+系统安装及踩坑记录