FPGA实现 12G-SDI 视频编解码,支持4K60帧,提供2套工程源码+开发板+技术支持

这篇具有很好参考价值的文章主要介绍了FPGA实现 12G-SDI 视频编解码,支持4K60帧,提供2套工程源码+开发板+技术支持。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


FPGA实现 12G-SDI 视频编解码,支持4K60帧,提供2套工程源码+开发板+技术支持

1、前言

Xilinx系列FPGA实现12G-SDI视频编解码目前有两种方案:
一是使用Xilinx 7系列FPGA的GT高速接口解串+SMPTE UHD-SDI编解码,这种方案的优点是对FPGA型号要求较低,价格便宜,普通的GTX就能满足要求,缺点是灵活度不高,没有ARM加持,做嵌入式应用不太方便;另一是使用Xilinx UltraScale+系列FPGA的GT高速接口解串+UHD-SDI GT编解码,这种方案的优点是灵活度较高,一般都采用Zynq UltraScale+系列FPGA,易于嵌入式应用,缺点是对FPGA型号要求较高,价格偏贵,至少需要GTH才能满足要求;基于这两种主流方案,本设计共推出2套vivado2020.2版本的工程源码,具体如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
下面对上述2套工程源码做如下解释:

工程源码1:
工程源码1采用zynq UltraScale+MPSoCsXCZU4EV的高端型号FPGA;12G-SDI 视频接收过程为:输入源为本博主自研的12G-SDI彩条发生器,能够产生一个4K60帧的12G-SDI彩条视频,并通过BNC同轴线输出;然后接入本博主提供的FPGA开发板,然后进入板载的TI公司的LMH1219芯片做均衡处理,同时将单端信号转为差分信号;然后视频进入Xilinx官方提供的UHD-SDI GT IP核做解串处理,该IP调用GTH高速接口资源将SDI视频解串为AXI4-Stream视频流和控制流,然后进入Xilinx官方提供的SMPTE UHD-SDI RX SUBSYSTEM IP核做SDI视频解码处理,将视频转为RGB;到这里,12G-SDI 视频解码工作就完成了,解码后的视频为并行的TTL电平的数据,此时可以供用户做后续处理,比如缓存、颜色转换、缩放、图像识别等,本设计不做处理,直接编码后依然以12G-SDI形式输出;

12G-SDI 视频发送过程为:接收并解码的12G-SDI 视频经过AXI4-Stream Data FIFO做数据缓冲,然后进入Xilinx官方提供的SMPTE UHD-SDI TX SUBSYSTEM IP核做SDI视频编码处理,将RGB视频编码为SDI视频;然后视频进入Xilinx官方提供的UHD-SDI GT IP核做解串处理,该IP调用GTH高速接口资源将SDI视频从AXI4-Stream视频流串化为高速差分信号输出,差分信号再进入板载的TI公司的LMH1218芯片做均衡处理,同时将差分信号转为单端信号,并通过板载的BNC接口输出;要想显示12G-SDI视频,还得需要一个12G-SDI转HDMI的转换器,再接入显示器即可显示;

工程源码2:
工程源码2采用Kintex7-32T的低端型号FPGA;12G-SDI 视频接收过程为:输入源为本博主自研的12G-SDI彩条发生器,能够产生一个4K60帧的12G-SDI彩条视频,并通过BNC同轴线输出;然后接入本博主提供的FPGA开发板,然后进入板载的TI公司的LMH1219芯片做均衡处理,同时将单端信号转为差分信号;然后视频进入Xilinx官方提供的GTX高速接口资源做解串处理,这里并没有调用IP,而是参考官方直接用GTX原语,GTX高速接口资源将高速差分SDI视频解串为并行数据;然后进入Xilinx官方提供的SMPTE UHD-SDI IP核做SDI视频解码处理,将视频解码为TTL电平数据;到这里,12G-SDI 视频解码工作就完成了,解码后的视频为并行的TTL电平的数据,此时可以供用户做后续处理,比如缓存、颜色转换、缩放、图像识别等,本设计不做处理,调用一个ILA对数据做观测,将图像数据留给用户,用户根据自身需要做处理,灵活性很高;

12G-SDI 视频发送过程为:FPGA内部产生一个12G-SDI视频彩条,然后进入Xilinx官方提供的SMPTE UHD-SDI IP核做SDI视频编码处理,将彩条视频编码为SDI视频;然后视频进入Xilinx官方提供的GTX高速接口资源做解串处理,这里并没有调用IP,而是参考官方直接用GTX原语,GTX高速接口资源将并行的SDI视频串化为高速差分信号,差分信号再进入板载的TI公司的LMH1218芯片做均衡处理,同时将差分信号转为单端信号,并通过板载的BNC接口输出;要想显示12G-SDI视频,还得需要一个12G-SDI转HDMI的转换器,再接入显示器即可显示;

本博客详细描述了Xilinx系列FPGA实现12G-SDI 视频编解码的设计方案,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做学习提升,可应用于医疗、军工等行业的高速接口或图像处理领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;

免责声明

本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网以及其他开源免费获取渠道等等),若大佬们觉得有所冒犯,请私信批评教育;部分模块源码转载自上述网络,版权归原作者所有,如有侵权请联系我们删除;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。

2、相关方案推荐

我这里已有的 GT 高速接口解决方案

我的主页有FPGA GT 高速接口专栏,该专栏有 GTP 、 GTX 、 GTH 、 GTY 等GT 资源的视频传输例程和PCIE传输例程,其中 GTP基于A7系列FPGA开发板搭建,GTX基于K7或者ZYNQ系列FPGA开发板搭建,GTH基于KU或者V7系列FPGA开发板搭建,GTY基于KU+系列FPGA开发板搭建;以下是专栏地址:
点击直接前往

我目前已有的SDI编解码方案

我的博客主页开设有SDI视频专栏,里面全是FPGA编解码SDI的工程源码及博客介绍;既有基于GS2971/GS2972的SDI编解码,也有基于GTP/GTX资源的SDI编解码;专栏地址链接:点击直接前往

3、详细设计方案

设计框图

工程源码1的详细设计方案框图如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
工程源码2的详细设计方案框图如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH

12G-SDI彩条发生器

本博主热爱SDI视频开发,自研了一款12G-SDI彩条发生器,如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
该设备价格低廉但很好用,可产生3G、6G、12G等多种分辨率的SDI视频彩条,通过一个按键切换,具体切换逻辑如下:
上电默认输出1080P@60Hz的彩条;
按第一下按键:输出1080P@50Hz的彩条;
按第二下按键:输出4K@60Hz的彩条;
按第三下按键:输出4K@50Hz的彩条;
按第四下按键:输出4K@30Hz的彩条;
按第五下按键:输出4K@25Hz的彩条;
该彩条发生器非常适合做SDI视频输入源,需要它的朋友,向本博主可有偿提供;

12G-SDI硬件均衡方案

12G-SDI接收端使用TI公司的LMH1219芯片做均衡处理,同时将单端信号转为差分信号;
12G-SDI发送端使用TI公司的LMH1218芯片做均衡处理,同时将差分信号转为单端信号;
LMH1219和LMH1218可做硬件回环处理,这样可以将SDI视频做到极低的延时,本设计默认做了硬件回环处理,若需要FPGA接收SDI视频经处理再输出,需要i2c总线配置LMH1218,本设计工程即是这种方式;
另外,需要做LMH1219和LMH1218硬件回环的朋友,可联系本博主有偿提供硬件设计或成品;

GT高速接口资源使用

工程源码1使用Xilinx官方提供的UHD-SDI GT IP核,可解串和串化3G、6G、12G SDI视频,本设计配置为2G SDI,如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
该IP直接调用GTH高速接口资源实现SDI视频的解串与串化,使用和配置非常方便,但需要指定SDI硬件连接的GT块位置和GT时钟引脚,此外,该IP不需要软件配置,可使用官方例程进行配套连接;

工程源码2使用Xilinx官方提供的GTX,可解串和串化3G、6G、12G SDI视频,这里并没有调用IP,而是参考官方直接用GTX原语,代码如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH

12G-SDI编解码–IP核使用

工程源码1使用Xilinx官方提供的SMPTE UHD-SDI RX SUBSYSTEM,可解码3G、6G、12G SDI视频,本设计配置为12G SDI,如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
该IP需要软件配置,本设计提供了vitis软件驱动,详情请参考vitis工程;

工程源码2使用Xilinx官方提供的SMPTE UHD-SDI,可解码3G、6G、12G SDI视频,本设计配置为12G SDI,如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
该IP不需要软件配置,但需要配合GTX捆绑使用;

数据缓存

工程源码1才有此功能,工程源码2没有;由于追求低延时,本设计没有采用DDR缓存,而是采用官方推荐方案,采用AXI4-Stream Data FIFO做数据缓冲,这里很简单,不再赘述;

SMPTE UHD-SDI TX SUBSYSTEM IP核使用

工程源码1才有此功能,工程源码2没有;SMPTE UHD-SDI TX SUBSYSTEM由Xilinx官方提供,可编码3G、6G、12G SDI视频,本设计配置为2G SDI,如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
该IP需要软件配置,本设计提供了vitis软件驱动,详情请参考vitis工程;

12G-SDI转HDMI盒子

由于我的手里没有可直接接收12G-SDI视频的显示设备,所以只能用12G-SDI转HDMI盒子通过HDMI显示器显示,盒子较贵,我用的秋叶原的,价格1000+;

工程源码架构

工程源码架构包括vivado Block Design逻辑设计和vitis SDK软件设计;
工程源码1的Block Design逻辑设计架构截图如下,工程源码2没有使用Block Design设计:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
工程源码1综合后的源码架构如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
工程源码2综合后的源码架构如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
工程源码1的Vitis SDK软件代码如下,工程源码2没有Vitis SDK软件代码:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH

4、Vivado工程1详解–>Zynq UltraScale ZU4EV版本

开发板FPGA型号:Xilinx–Zynq UltraScale+MPSoCs–xczu4ev-sfvc784-2-i;
开发环境:Vivado2020.2;
输入:12G-SDI彩条发生器,分辨率为4K@60帧;
输出:12G-SDI;
FPGA实现 12G-SDI 视频编解码;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握FPGA实现 12G-SDI 视频编解码的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH

5、Vivado工程2详解–>Kintex7-325T版本

开发板FPGA型号:Xilinx–Kintex7-325T–xc7k325tffg676-3;
开发环境:Vivado2020.2;
输入:12G-SDI彩条发生器,分辨率为4K@60帧;
输出:12G-SDI;
FPGA实现 12G-SDI 视频编解码;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:此工程目的是让读者掌握FPGA实现 12G-SDI 视频编解码的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH

6、工程移植说明

vivado版本不一致处理

1:如果你的vivado版本与本工程vivado版本一致,则直接打开工程;
2:如果你的vivado版本低于本工程vivado版本,则需要打开工程后,点击文件–>另存为;但此方法并不保险,最保险的方法是将你的vivado版本升级到本工程vivado的版本或者更高版本;
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
3:如果你的vivado版本高于本工程vivado版本,解决如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
打开工程后会发现IP都被锁住了,如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
此时需要升级IP,操作如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH

FPGA型号不一致处理

如果你的FPGA型号与我的不一致,则需要更改FPGA型号,操作如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH
更改FPGA型号后还需要升级IP,升级IP的方法前面已经讲述了;

其他注意事项

1:由于每个板子的DDR不一定完全一样,所以MIG IP需要根据你自己的原理图进行配置,甚至可以直接删掉我这里原工程的MIG并重新添加IP,重新配置;
2:根据你自己的原理图修改引脚约束,在xdc文件中修改即可;
3:纯FPGA移植到Zynq需要在工程中添加zynq软核;

7、上板调试验证

准备工作

FPGA开发板,推荐使用本博的开发板;
12G-SDI视频源,推荐本博的信号发生器;
12G-SDI转HDMI盒子;
HDMI线;
4K显示器;
以工程源码1为例,板子连接如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH

视频输出演示

以工程源码1为例,视频输出演示如下:

FPGA编解码12G-SDI

8、福利:工程代码的获取

福利:工程代码的获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:
sdi12g,FPGA编解码SDI视频专题,FPGA GT 高速接口,菜鸟FPGA图像处理专题,fpga开发,视频编解码,12G-SDI,SDI,GTH文章来源地址https://www.toymoban.com/news/detail-858425.html

到了这里,关于FPGA实现 12G-SDI 视频编解码,支持4K60帧,提供2套工程源码+开发板+技术支持的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA解码SDI视频任意尺寸缩放拼接输出 提供工程源码和技术支持

    FPGA实现SDI视频编解码目前有两种方案: 一是使用专用编解码芯片,比如典型的接收器GS2971,发送器GS2972,优点是简单,比如GS2971接收器直接将SDI解码为并行的YCRCB,GS2972发送器直接将并行的YCRCB编码为SDI视频,缺点是成本较高,可以百度一下GS2971和GS2972的价格; 另一种方案是

    2024年02月09日
    浏览(53)
  • FPGA解码 4K MIPI 视频 纯vhdl实现 CSI2 RX 采集OV13850,提供工程源码和技术支持

    FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端的操作直接吓退一大批FPGA开发者,就没人玩儿了。 本设计基于Xilinx的Kintex7开发板,采集OV13850摄像

    2024年02月13日
    浏览(81)
  • FPGA解码 4K MIPI 视频自定义IP版 纯vhdl实现 CSI2 RX 采集OV13850 提供工程源码和技术支持

    FPGA图像采集领域目前协议最复杂、技术难度最高的应该就是MIPI协议了,MIPI解码难度之高,令无数英雄竞折腰,以至于Xilinx官方不得不推出专用的IP核供开发者使用,不然太高端的操作直接吓退一大批FPGA开发者,就没人玩儿了。 本设计基于Xilinx的Kintex7开发板,采集OV13850摄像

    2024年02月11日
    浏览(46)
  • 好物分享:FPGA实现SDI视频编解码的方案设计汇总

    好物分享:FPGA实现SDI视频编解码的方案设计汇总 目前FPGA实现SDI视频编解码有两种方案:一钟是使用专用SDI编解码芯片,另一种是使用FPGA;两者主要区别如下: 目前SDI编解码专用芯片方案市场主导厂家是Semtech和TI,其中Semtech占有率高于TI,我用过的只有Semtech公司的GS2971和

    2024年04月14日
    浏览(45)
  • FPGA高端项目:FPGA基于GS2971的SDI视频接收+GTX 8b/10b编解码SFP光口传输,提供2套工程源码和技术支持

    FPGA高端项目:FPGA基于GS2971的SDI视频接收+GTX 8b/10b编解码SFP光口传输,提供2套工程源码和技术支持 目前FPGA实现SDI视频编解码有两种方案:一是使用专用编解码芯片,比如典型的接收器GS2971,发送器GS2972,优点是简单,比如GS2971接收器直接将SDI解码为并行的YCrCb422,GS2972发送器

    2024年03月12日
    浏览(63)
  • FPGA高端项目:FPGA基于GS2971+GS2972架构的SDI视频收发+GTX 8b/10b编解码SFP光口传输,提供2套工程源码和技术支持

    FPGA高端项目:FPGA基于GS2971+GS2972架构的SDI视频收发+GTX 8b/10b编解码SFP光口传输,提供2套工程源码和技术支持 目前FPGA实现SDI视频编解码有两种方案:一是使用专用编解码芯片,比如典型的接收器GS2971,发送器GS2972,优点是简单,比如GS2971接收器直接将SDI解码为并行的YCrCb422,

    2024年03月23日
    浏览(49)
  • Zynq实现SDI视频解码PCIE传输 提供工程源码和QT上位机源码加技术支持

    PCIE(PCI Express)采用了目前业内流行的点对点串行连接,比起 PCI 以及更早期的计算机总线的共享并行架构,每个设备都有自己的专用连接,不需要向整个总线请求带宽,而且可以把数据传输率提高到一个很高的频率,达到 PCI 所不能提供的高带宽,是目前各行业高速接口的优

    2024年02月07日
    浏览(76)
  • FPGA使用GTH实现SDI视频回环收发 提供工程源码和技术支持

    FPGA实现SDI视频编解码目前有两种方案: 一是使用专用编解码芯片,比如典型的接收器GS2971,发送器GS2972,优点是简单,比如GS2971接收器直接将SDI解码为并行的YCRCB,GS2972发送器直接将并行的YCRCB编码为SDI视频,缺点是成本较高,可以百度一下GS2971和GS2972的价格; 另一种方案是

    2024年02月11日
    浏览(53)
  • FPGA实现HDMI输入转SDI视频输出,提供4套工程源码和技术支持

    FPGA实现HDMI输入转SDI视频输出,提供4套工程源码和技术支持 FPGA实现SDI视频编解码目前有两种方案: 一是使用专用编解码芯片,比如典型的接收器GS2971,发送器GS2972,优点是简单,比如GS2971接收器直接将SDI解码为并行的YCRCB,GS2972发送器直接将并行的YCRCB编码为SDI视频,缺点是

    2024年02月08日
    浏览(51)
  • FPGA基于GS2971/GS2972实现SDI视频收发 提供工程源码和技术支持

    FPGA实现SDI视频编解码目前有两种方案: 一是使用专用编解码芯片,比如典型的接收器GS2971,发送器GS2972,优点是简单,比如GS2971直接将SDI解码为并行的YCRCB,缺点是成本较高,可以百度一下GS2971的价格; 另一种方案是使用FPGA实现编解码,利用FPGA的GTP/GTX资源实现解串,优点

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包