您当前的位置: 首页 > 

9527华安

暂无认证

  • 7浏览

    0关注

    35博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

FPGA纯逻辑资源实现SDI视频解码,提供工程源码详解

9527华安 发布时间:2022-09-14 14:22:28 ,浏览量:7

目录
  • 1、前言
  • 2、总体方案
  • 3、GTX的使用
  • 4、SDI IP的使用
  • 5、工程架构
  • 7、板级调试
  • 8、福利:工程代码的获取

1、前言

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

开发板:Kintex7板子; 开发环境:vivado2019.1; 输入:sdi摄像头; 输出:hdmi;

2、总体方案

在这里插入图片描述

SDI摄像头输入视频为1080P@30Hz,经过Gv8601a单端转差分后进入FPGA的GTX,GTX负责解串,将原始SDI视频解为20位的并行数据,再送入Xilinx的SDI IP核进行解码,解出行场和控制信号以及像素数据,此时的数据是YCrCb格式,还需要转为RGB格式,然后用FDMA架构进行三帧缓存输出,FDMA三帧架构是一种经典的图像缓存架构,不懂的可以看我前面关于FDMA图像缓存的文章。

3、GTX的使用

我用的开发板是K7,所以使用GTX,不用调用IP,直接使用GTX的源语,我们知道,一个GTX的 Quad由四个GTXE2_CHANNEL源语和一个GTXE2_COMMON源语组成,所以在调用GTX时可直接使用源语,如下: 在这里插入图片描述 在这里插入图片描述 根据Xilinx的参考设计文档,解码SDI时,GTX需要两个差分时钟,148.5M和148.35M,如下: 在这里插入图片描述 其他的建议参考我的代码,这里写不完;

4、SDI IP的使用

直接调用Xilinx的官方IP,如下图: 在这里插入图片描述 SDI IP解码出SDI的控制信号和视频信号,然后根据这些信号还原出视频的vs、hs、de和ycrcb。 然后是ycrcb转rgb,很简单,这里不多阐述; 最后是送ddr三帧缓存,由于前面的文章讲了很多,这里也不再阐述;

5、工程架构

BD工程如下:主要是FDMA的三帧缓存,关于FDMA三帧缓存,请参考我之前写的文章点击查看:FDMA三帧缓存方案 在这里插入图片描述 工程代码架构如下: 在这里插入图片描述

7、板级调试

硬件连接如下: 在这里插入图片描述 输出结果如下: 在这里插入图片描述

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

代码太大,无法邮箱发送,以某度网盘链接方式发送, 资料获取方式1:文章末尾的V名片。 资料获取方式2:文章末尾的XX号,回复 001000 网盘资料如下: 在这里插入图片描述

关注
打赏
1659431378
查看更多评论
立即登录/注册

微信扫码登录

0.1601s