当前位置:   article > 正文

HDMI简介与FPGA简单实践_复制 repo 文件夹(这个文件夹可以到给的例程工程中找到)到工程目录,这个文件夹里

复制 repo 文件夹(这个文件夹可以到给的例程工程中找到)到工程目录,这个文件夹里

        学习记录,学习记录.....内容基于实际开发过程和正点原子视频以及ALINX_FPGA教程.

一.HDMI简介

        HDMI(High-Definition Multimedia Interface)是一种数字接口标准,用于高清视频和多通道音频的传输。它首次推出于2002年,通过单一电缆传输数字信号,提供高质量的影像和音效。随着不断的发展,HDMI标准不断升级,增加了更高的分辨率、更高的色彩深度和更多的功能。

- HDMI 1.0: 4.95 Gbps,发布于2002年。
- HDMI 1.4: 10.2 Gbps,发布于2009年。
- HDMI 2.0: 18 Gbps,发布于2013年。
- HDMI 2.1: 48 Gbps,发布于2017年。 

 在 HDMI 接口出现之前,被广泛应用的是 VGA 接口。 HDMI相对于VGA有以下几个显著的优势:

1. 数字传输:HDMI是一种全数字接口,可以直接传输数字信号,而VGA是一种模拟接口,需要将数字信号转换为模拟信号进行传输。数字传输可以提供更高的图像质量和更稳定的信号传输。

2. 高清视频支持:HDMI支持高清视频传输,包括1080p和更高的分辨率,可以呈现更清晰、更细腻的图像。VGA通常支持较低的分辨率,无法满足现代高清视频的需求。

3. 音频传输:HDMI可以同时传输视频和多通道音频信号,提供全方位的音视频体验。而VGA只能传输视频信号,需要额外的音频线缆进行音频传输。

4. 单一接口:HDMI集成了视频和音频传输功能,使用一根电缆即可同时传输图像和声音。而VGA需要使用一个视频线缆和一个音频线缆分别传输图像和声音。

5. 更小的接口尺寸:HDMI接口相对于VGA接口更小巧,适用于紧凑型设备,并且插拔更方便。

6. 高级功能支持:HDMI的最新版本提供了许多高级功能,如支持3D视频、4K和8K分辨率、高动态范围(HDR)、变量刷新率等,为用户带来更加丰富和多样化的视觉体验。

等等...

HDMI 向下兼容 DVI(Digital Visual Interface),但是 DVI(数字视频接口) 只能用来传输视频,而不能同时传输音频,且DVI的尺寸相比较大。

 

        HDMI 采用和 DVI 相同的传输原理—— TMDS Transition Minimized Differentialsignal ),最小 化传输差分信号。 TMDS 传输系统分为分为两个部分:发送端和接收端。 TMDS 发送端收到 HDMI 接口传来的 表示 RGB 信号的 24 位并行数据( TMDS 对每个像素的 RGB 三原色分别按 8bit 编码,即 R 信号 有 8 位, G 信号有 8 位, B 信号有 8 位),然后对这些数据进行编码和并 / 串转换,再将表示 3 个 RGB 信号的数据分别分配到独立的传输通道发送出去。接收端接收来自发送端的串行信号,对 其进行解码和串/ 并转换,然后发送到显示器的控制端。与此同时也接收时钟信号,以实现同步。

二.TMDS 的原理

        每一个 TMDS 链路都包括 3 个传输 RGB 信号的数据通道和 1 个传输时钟信号的通道。每一个数据通道都通过编码算法,将 8 位的视、音频数据转换成最小化传输、直流平衡的 10 位数据。这使得数据的传输和恢复更加可靠。最小化传输差分信号是通过异或及异或非等逻辑算法将原始 8 位信号数据转换成 10 位,前 8 为数据由原始信号经运算后获得,第 9 位指示运算的方式,第 10 位用来对应直流平衡。
        一般来说,HDMI 传输的编码格式中要包含视频数据、控制数据和数据包(数据包中包含音频数据和附加信息数据,例如纠错码等)。TMDS 每个通道在传输时要包含一个 2bit 的控制数据、 8bit 的视频数据或者 4bit 的数据包即可。在 HDMI 信息传输过程中,可以分为三个阶段:视频 数据传输周期、控制数据传输周期和数据岛传输周期,分别对应上述的三种数据类型。

 
下面介绍 TMDS 中采用的技术:
1.传输最小化
        8 位数据经过编码和直流平衡得到 10 位最小化数据,这仿佛增加了冗余位,对传输链路的带宽要求更高,但事实上,通过这种算法得到的 10 位数据在更长的同轴电缆中传输的可靠性增强了。下图是一个例子,说明对一个 8 位的并行 RED 数据编码、并/串转换。
        第一步:将 8 位并行 RED 数据发送到 TMDS 发送端。
        第二步:并/串转换 .
        第三步:进行最小化传输处理,加上第 9 位,即编码过程。第 9 位数据称为编码位。
2. 直流平衡
        直流平衡(DC-balanced )就是指在编码过程中保证信道中直流偏移为零。方法是在原来的 9 位数据的后面加上第 10 位数据,这样,传输的数据趋于直流平衡,使信号对传输线的电磁干 扰减少,提高信号传输的可靠性。
3. 差分信号
        TMDS 差分传动技术是一种利用 2 个引脚间电压差来传送信号的技术。传输数据的数值(“ 0 ” 或者“1 ”)由两脚间电压正负极性和大小决定。即,采用 2 根线来传输信号,一根线上传输原 来的信号,另一根线上传输与原来信号相反的信号。这样接收端就可以通过让一根线上的信号 减去另一根线上的信号的方式来屏蔽电磁干扰,从而得到正确的信号。
        如下图所示:

       编码模块:

这里不对其进行编写(可通过正点原子视频自行学习)。。。。

本实验使用第三方rgb2dvi IP核以实现上述编码

三.实践

        本实验将实现 HDMI 输出显示,verilog 实现编程驱动 HDMI 输出,在 HDMI 显示器里显示测试图像彩条。HDMI 输出显示模块分成 3 个模块实现,分别是时钟模块 vidio_pll, 彩条生 成模块 color_bar 和 VGA 转 DVI 模块 rgb2dvi。实现的逻辑框图如下:

VGA 的数据很多人都比较清楚,为 RGB 数据,而 HDMI TMDS 差分信号, RGB 数据在 FPGA 比较容易操作,那么我们需要做的就是把 RGB 数据转成 HDMI TMDS 差分信号,因此 采用了 RGB to DVI IP DVI HDMI 都是 TMDS 信号)
源文件见文章顶部
1.新建HDMI编码器IP核
1) 新建一个名为“ hdmi_output_test ”的工程 VGA 的数据很多人都比较清楚,为 RGB 数据,而 HDMI TMDS 差分信号, RGB 数据在 FPGA 比较容易操作,那么我们需要做的就是把 RGB 数据转成 HDMI TMDS 差分信号,因此 采用了 RGB to DVI IP DVI HDMI 都是 TMDS 信号)。
2) 复制 repo 文件夹(这个文件夹可以到给的例程工程中找到)到工程目录,这个文件夹里 包含了 HDMI 编码器的 IP ,是别的厂家提供。
3) 点击“ IP Catalog ”,默认这些 IP 和都是 Xilinx 提供,现在我们要添加第三方 IP ,或者我们自己做的 IP

 

4) 右键“Add Repository...”

 5) 路径选择刚才复制的 repo 文件夹

 6) 添加 IP 成功提示添加了多少个 IP

 7) 找到“RGB to DVI Video Encoder(Source)”,双击

 8) 弹出下面窗口,“Component Name”元件名保持不变,其他参数也不用改,点击“OK

9) 弹出一个“ Generate Output Products ”窗口,其中“ Number of jobs ”指线程数量,越高越快
2.添加时钟PLL模块
        为了驱动 HDMI 编码器,需要提供像素时钟和 5 倍像素时钟, 5 倍像素时钟用于 10:1 串行化。
1) 在“ IP Catlog ”窗口搜索关键字“ clock ”,双击“ Clocking Wizard
2) 这次给元件起个名字,在“ Component Name ”中填写“ video_clock ”,“ clk_in1 ”填写 50,这里 50Mhz 和开发板 PL 端晶振频率一致
3) 输出时钟“ clk_out1 ”用于视频像素时钟,这里填写 74.25 ,这是 1280x720@60 分辨率的像素时钟,每一种分辨率的像素时钟都不同,需要非常了解视频标准才能知道每一种视频分辨率的像素时钟,“clk_out2”用于编码器串行化,像素时钟的 5 倍,这里填写 371.25,然后点击“OK”生成 IP。
3.添加彩条发生模块
1) 彩条发生模块是一段 Verilog 代码,用于产生视频时序和水平方向的 8 个彩条,可以到给的例程中复制现有代码。在 color_bar 文件中定义了不同分辨率的参数,供用户使用。

2)添加 video_define 文件,在其中定义了 1280x720 的宏 

4.添加顶层模块
1) top 模块例化了彩条发生模块, HDMI 编码模块,和像素时钟生成模块,代码参考例程给的工程

添加XDC约束

根据自己的开发板添加

下载调试

保存工程并编译生成 bit 文件,连接 HDMI 接口到 HDMI 显示器,需要注意,这里使用1280x720@60Hz,请确保自己的显示器支持这个分辨率。
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号