目录
- 1、前言
- 2、相关方案推荐
-
- 我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目
- 我已有的4K/8K视频处理解决方案
- [我这里已有的 GT 高速接口解决方案](#我这里已有的 GT 高速接口解决方案)
- 本方案在Xilinx系列FPGA上的应用
- 3、详细设计方案
-
- 设计框图
- FPGA内部彩条
- [Transceiver Native PHY高速收发器](#Transceiver Native PHY高速收发器)
- NB7NQ621M驱动器
- HDMI2.0输出
- 工程源码架构
- 4、工程源码1详解-->Arria-10,单路HDMI2.0输出版本
- 5、工程源码2详解-->Stratix-V,双路HDMI2.0输出版本
- 6、上板调试验证并演示
- 7、工程源码获取
Altera系列FPGA实现HDMI2.0,基于Transceiver Native PHY高速收发器,支持4K60帧分辨率,提供2套工程源码和技术支持
QSFP-HDMI2.0
1、前言
创作背景
FPGA实现4K视频收发现状:
目前Xilinx系列FPGA提供了多种4K视频收发方案;
对于纯FPGA而言,需要用到GT高速接口资源实现编解码,但要求K7及其以上系列FPGA,以HDMI2.0为例,Xilinx官方提供了基于Video PHY Controller为核心的一整套HDMI2.0收发方案,此外,还可以直接使用GT高速接口IP核配置为GT-HDMI编解码模式,或者配置为DP编解码模式;对于Zynq系列FPGA而言,既可以使用PL端的GT高速接资源做4K视频收发,也可以使用PS端的DP外设做4K视频收发,这种方案功能完善,包含了HDMI2.0接收和发送的完整开发案例,但设计难度较大,需要软件区配置一大堆IP,且官方给的DEMO流程及其繁琐,移植修改难度都不小;第二种方案是直接使用GTY之类的高速接口走HDMI协议,这种方案功能不太完善,目前只有HDMI发送有成熟案例,但有点是并不需要软件配置,只需要用户逻辑即可完成后设计,多余不擅长软件和异构FPGA的开发者来说较为友好;本博主擅长Xilinx系列FPGA实现HDMI2.0视频收发方案设计。
目前Altera系列FPGA实现提供了多种4K视频收发方案;
目前Altera系列FPGA实现4K视频收发方案较为单一,主要还是依靠Transceiver Native PHY高速收发器,且只在Altera高端系列FPGA可用。
本设计基于Altera高端系列FPGA的Transceiver Native PHY高速收发器方案,最高支持3840x2160@60Hz;
工程概述
本设计基于Altera高端系列FPGA的Transceiver Native PHY高速收发器方案,最高支持3840x2160@60Hz;
视频输入源为纯verilog代码实现的彩条视频,该彩条视频支持1920x1080、2560x1440、3840x2160三种分辨率,可分别做1080P、2K、4K的HDMI2.0测试,通过顶层的parameter参数配置选择;彩条视频经过通道分配、加扰等处理后送入Altera官方提供的Transceiver Native PHY高速收发器IP核,配置为单工发送模式,主要完成HDMI2.0视频发送的物理层功能,即PCS+PMA,并以高速低压差分信号输出;然后HDMI2.0差分信号进去NB7NQ621M驱动芯片实现均衡处理和驱动增强;然后HDMI2.0差分信号直连HDMI2.0座子,或者通过板子的QSFP转HDMIHDMI2.0转换器输出;最后连上支持HDMI2.0的显示器显示即可;针对目前市面上主流的项目需求,本博客共设计了2套工程源码,详情如下:

现对上述2套工程源码做如下解释,方便读者理解:
工程源码1
开发板FPGA型号为Altera-->Arria 10--10AXF40AA;
视频输入源为纯verilog代码实现的彩条视频,该彩条视频支持1920x1080、2560x1440、3840x2160三种分辨率,可分别做1080P、2K、4K的HDMI2.0测试,通过顶层的parameter参数配置选择,默认选择3840x2160@60Hz的分辨率;彩条视频经过通道分配、加扰等处理后送入Altera官方提供的Transceiver Native PHY高速收发器IP核,配置为单工发送模式,主要完成HDMI2.0视频发送的物理层功能,即PCS+PMA,并以高速低压差分信号输出;然后HDMI2.0差分信号进去NB7NQ621M驱动芯片实现均衡处理和驱动增强;NB7NQ621M输出差分信号与板载的QSFP接口相连,所以板子无需HDMI2.0接口;然后使用本博主特有的QSFP转HDMIHDMI2.0转换器输出,输出分辨率默认为3840x2160@60Hz;最后连上支持HDMI2.0的显示器显示即可;本设计共使用1个QSFP光口,也就是只设计了1个HDMI2.0出书接口;当然,你也可以在板子上直接把NB7NQ621M芯片与HDMI2.0座子连接,这样就不需要QSFP光口转接了;
本设计使用Transceiver Native PHY高速收发器,适用于Altera高端系列FPGA实现HDMI2.0视频发送应用;
工程源码2
开发板FPGA型号为Altera-->Stratix V-- 5SGSMD5K2F40I3L;
视频输入源为纯verilog代码实现的彩条视频,该彩条视频支持1920x1080、2560x1440、3840x2160三种分辨率,可分别做1080P、2K、4K的HDMI2.0测试,通过顶层的parameter参数配置选择,默认选择3840x2160@60Hz的分辨率;彩条视频经过通道分配、加扰等处理后送入Altera官方提供的Transceiver Native PHY高速收发器IP核,配置为单工发送模式,主要完成HDMI2.0视频发送的物理层功能,即PCS+PMA,并以高速低压差分信号输出;然后HDMI2.0差分信号进去NB7NQ621M驱动芯片实现均衡处理和驱动增强;NB7NQ621M输出差分信号与板载的QSFP接口相连,所以板子无需HDMI2.0接口;然后使用本博主特有的QSFP转HDMIHDMI2.0转换器输出,输出分辨率默认为3840x2160@60Hz;最后连上支持HDMI2.0的显示器显示即可;本设计共使用1个QSFP光口,也就是只设计了1个HDMI2.0出书接口;当然,你也可以在板子上直接把NB7NQ621M芯片与HDMI2.0座子连接,这样就不需要QSFP光口转接了;
本设计使用Transceiver Native PHY高速收发器,适用于Altera高端系列FPGA实现HDMI2.0视频发送应用;
本博客详细描述了Altera系列FPGA基于Transceiver Native PHY高速收发器实现HDMI2.0视频收发的设计方案,工程代码可综合编译上板调试,可直接项目移植,适用于在校学生、研究生项目开发,也适用于在职工程师做学习提升,可应用于医疗、军工等行业的高速接口或图像处理领域;
提供完整的、跑通的工程源码和技术支持;
工程源码和技术支持的获取方式放在了文章末尾,请耐心看到最后;
免责声明
本工程及其源码即有自己写的一部分,也有网络公开渠道获取的一部分(包括CSDN、Xilinx官网、Altera官网以及其他开源免费获取渠道等等),若大佬们觉得有所冒犯,请私信批评教育;部分模块源码转载自上述网络,版权归原作者所有,如有侵权请联系我们删除;基于此,本工程及其源码仅限于读者或粉丝个人学习和研究,禁止用于商业用途,若由于读者或粉丝自身原因用于商业用途所导致的法律问题,与本博客及博主无关,请谨慎使用。。。
2、相关方案推荐
我已有的所有工程源码总目录----方便你快速找到自己喜欢的项目
其实一直有朋友反馈,说我的博客文章太多了,乱花渐欲迷人,自己看得一头雾水,不方便快速定位找到自己想要的项目,所以本博文置顶,列出我目前已有的所有项目,并给出总目录,每个项目的文章链接,当然,本博文实时更新。。。以下是博客地址:
点击直接前往
我已有的4K/8K视频处理解决方案
我的主页有FPGA 4K/8K视频处专栏,该专栏有4K/8K视频处理,包括简单的4K/8K视频收发、4K/8K视频缩放、4K/8K视频拼接等等;以下是专栏地址:
点击直接前往
我这里已有的 GT 高速接口解决方案
我的主页有FPGA GT 高速接口专栏,该专栏有 GTP 、 GTX 、 GTH 、 GTY 等GT 资源的视频传输例程和PCIE传输例程,其中 GTP基于A7系列FPGA开发板搭建,GTX基于K7或者ZYNQ系列FPGA开发板搭建,GTH基于KU或者V7系列FPGA开发板搭建,GTY基于KU+系列FPGA开发板搭建;以下是专栏地址:
点击直接前往
本方案在Xilinx系列FPGA上的应用
本方案在Xilinx系列FPGA上的也有应用,之前专门写过一篇博客,博客地址链接如下:
点击直接前往
3、详细设计方案
设计框图
本设计使用的是Altera官方推荐的方案,方案大致如下:

FPGA内部彩条
视频输入源为纯verilog代码实现的彩条视频,该彩条视频支持1920x1080、2560x1440、3840x2160三种分辨率,可分别做1080P、2K、4K的HDMI2.0测试,通过顶层的parameter参数配置选择,默认选择3840x2160@60Hz的分辨率;FPGA内部彩条顶层接口如下:

FPGA内部彩条代码架构如下:

Transceiver Native PHY高速收发器
彩条视频经过通道分配、加扰等处理后送入Altera官方的Transceiver Native PHY高速收发器IP核,配置为单工发送模式,主要完成HDMI2.0视频发送的物理层功能,即PCS+PMA,并以高速低压差分信号输出;Transceiver Native PHY配置如下:


NB7NQ621M驱动器
然后HDMI2.0差分信号进去NB7NQ621M Retimer芯片实现均衡处理和驱动增强;当然,硬件设计师也可以选择其他型号的驱动器;NB7NQ621M原理图如下:

NB7NQ621M Retimer需要配置才能使用,工程里用纯verilog代码实现的i2c模块实现配置,配置代码如下:

HDMI2.0输出
NB7NQ621M驱动后的HDMI2.0差分信号直连HDMI2.0座子,或者通过板子的QSFP转HDMIHDMI2.0转换器输出;最后连上支持HDMI2.0的显示器显示即可;也就是说,本设计有两种HDMI2.0输出方式,如果你的FPGA开发板没有HDMI2.0输出接口,则可以将GTY的差分数据对约束到板载的QSFP引脚,然后使用本博主提供的QSFP转HDMI2.0硬件模块实现HDMI2.0输出;如果你准备在你的FPGA开发板上设计HDMI2.0座子,则需要根据NB7NQ621M原理图,将NB7NQ621M输出端连接到HDMI2.0座子;
工程源码架构
本博客提供2套工程源码,以工程源码1为例,该工程只有1路HDMI2.0输出,工程源码架构如下:

4、工程源码1详解-->Arria-10,单路HDMI2.0输出版本
开发板FPGA型号:Altera-->Arria 10--10AXF40AA;
FPGA开发环境:Quartus 18.1;
输入:FPGA内部彩条视频,分辨率3840x2160@60Hz;
输出:HDMI2.0,分辨率3840x2160@60Hz;
HDMI2.0物理层方案:Altera--Transceiver Native PHY高速收发器;
HDMI2.0 Retimer方案:NB7NQ621M驱动器;
HDMI2.0输出数量:设计1路HDMI2.0输出;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:是让读者掌握Altera系列FPGA纯逻辑实现HDMI2.0的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:

5、工程源码2详解-->Stratix-V,双路HDMI2.0输出版本
开发板FPGA型号:Altera-->Stratix V-- 5SGSMD5K2F40I3L;
FPGA开发环境:Quartus 18.1;
输入:FPGA内部彩条视频,分辨率3840x2160@60Hz;
输出:HDMI2.0,分辨率3840x2160@60Hz;
HDMI2.0物理层方案:Altera--Transceiver Native PHY高速收发器;
HDMI2.0 Retimer方案:NB7NQ621M驱动器;
HDMI2.0输出数量:设计2路HDMI2.0输出;
工程源码架构请参考前面第3章节中的《工程源码架构》小节;
工程作用:是让读者掌握Altera系列FPGA纯逻辑实现HDMI2.0的设计能力,以便能够移植和设计自己的项目;
工程的资源消耗和功耗如下:

6、上板调试验证并演示
准备工作
FPGA开发板,推荐使用本博的开发板;
QSFP转HDMI2.0模块;
4K HDMI显示器或者电视;
HDMI线;
以工程源码1为例,开发板连接如下:

HDMI2.0视频发送演示
HDMI2.0视频发送演示如下:
QSFP-HDMI2.0
7、工程源码获取
代码太大,无法邮箱发送,以某度网盘链接方式发送,
资料获取方式:私,或者文章末尾的V名片。
网盘资料如下:

此外,有很多朋友给本博主提了很多意见和建议,希望能丰富服务内容和选项,因为不同朋友的需求不一样,所以本博主还提供以下服务:
