Altera系列FPGA实现HDMI2.0,基于Transceiver Native PHY高速收发器,支持4K60帧分辨率,提供2套工程源码和技术支持

目录

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名片。

网盘资料如下:

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

相关推荐
FPGA_小田老师2 小时前
FPGA例程(1):LED流水灯实验--vivado工程创建、编译及下载bit
fpga开发·led灯·fpga入门·流水灯实验·vivado新建工程·vivado生成bit·bit下载
9527华安4 小时前
Artix7系列FPGA实现SDI视频解码转CameraLink,基于GTP高速收发器+OSERDES2原语架构,提供2套工程源码和技术支持
fpga开发·架构·音视频
!chen5 小时前
自适应滤波算法FPGA实现思路
算法·fpga开发
华舞灵瞳5 小时前
学习FPGA(七)正弦信号合成
学习·fpga开发
葡萄杨5 小时前
【软件使用】Icarus Verilog仿真
fpga开发
s09071365 小时前
常用FPGA实现的图像处理算法
图像处理·算法·fpga开发
s090713612 小时前
FPGA实现Gamma校正的系统性指南
图像处理·fpga开发·gama校正
读书点滴12 小时前
FPGA中如何获取任何一条路径的延时
fpga开发
minglie112 小时前
嵌入式协程AlarmProtothread
mcu·fpga开发