基于FPGA的HDMI视频接口设计

HDMI介绍

        HDMI(High-DefinitionMultimedia Interface)又被称为高清晰度多媒体接口,是首个支持在单线缆上传输,不经过压缩的全数字高清晰度、多声道音频和智能格式与控制命令数据的数字接口。HDMI接口由Silicon Image美国晶像公司倡导,联合索尼、日立、松下、飞利浦、汤姆逊、东芝等八家著名的消费类电子制造商联合成立的工作组共同开发的。

HDMI传输原理

         HDMI采用TMDS (TimeMinimized Differential Signal)最小化传输差分信号传输技术 , TMDS是一种微分信号机制,采用的是差分传动方式 ,是一种利用2个引脚间电压差来传送信号的技术。每一个标准的HDMI连接,都包含了3个用于传输数据的TMDS传输通道,还有1个独立的TMDS时钟通道,以保证传输时所需的统一时序。在一个时钟周期内,每个TMDS通道都能传送10bit的数据流。而这10bit数据,可以由若干种不同的编码格式构成。

TMDS的原理

每一个 TMDS 链路都包括 3 个传输 RGB 信号的数据通道和 1 个传输时钟信号的通道。每一个数据通道都通过编码算法,将 8 位的视、音频数据转换成最小化传输、直流平衡的 10 位数据。这使得数据的传输和恢复更加可靠。小化传输差分信号是通过异或及异或非等逻辑算法将原始 8 位信号数据转换成 10 位,前 8 为数据由原始信号经运算后获得,第 9 位指示运算的方式,第 10 位用来对应直流平衡。

一般来说,HDMI 传输的编码格式中要包含视频数据、控制数据和数据包(数据包中包含音频数据和附加信息数据,例如纠错码等)。TMDS 每个通道在传输时要包含一个 2bit 的控制数据、8bit 的视频数据或者 4bit 的数据包即可。在 HDMI 信息传输过程中,可以分为三个阶段:视频数据传输周期、控制数据传输周期和数据岛传输周期,分别对应上述的三种数据类型如下图所示。

HDMI的特点 

1、更好的抗干扰性能,能实现最长20米的无增益传输。

2、针对大尺寸数字平板电视分辨率进行优化,兼容性好。

3、支持EDID(注1)和DDC2B(注2)标准,设备之间可以智能选择最佳匹配的连接方式。

4、拥有强大的版权保护机制(HDCP),有效防止盗版现象。

5、支持24bit色深处理,(RGB、YCbCr4-4-4、YCbCr4-2-2)。

6、接口体积小,各种设备都能轻松安装。

7、一根线缆实现数字音频、视频信号同步传输,有效降低使用成本和繁杂程度。

8、完全兼容DVI接口标准,用户不用担心新旧系统不匹配。

9、支持热插拔技术。

HDMI的接口类型 

 常见的HDMI类型有A、B、C三种类型。其中A型是标准的19针HDMI接口,普及率最高;B型接口尺寸稍大,但是有29个引脚,可以提供双TMDS传输通道。而C型接口和A型接口性能一致,但是体积较小,更加适合紧凑型便携设备使用。接口A、接口B、接口C,如下图所示。

 HDMI的数据发送系统程序设计

 该系统设计主要由上图几部分组成,分别是时钟模块、HDMI控制模块、图像数据模块,DVI数据输出编码模块。

 时钟模块设计

  该模块的作用就是产生图像的像素时钟pixel_clk和串化时钟serial_clk,这里调用Xilinx官方的IP实现功能。

 HDMI_control模块设计

 根据HDMI支持的VGA图像分辨率,输出对应的视频帧行信号。

一行数据包括:Hor Sync(行同步)、Hor Back Porch(行消隐)、Hor Active Video(行规频有效)和 Hor Front Porch(行前肩),VGA的行信号时序图如下图所示。

一场数据包括:Ver Sync(场同步)、Ver Back Porch(场消隐)、Ver Active Video(场规频有效)和 Ver Front Porch(场前肩),VGA的场信号时序图如下图所示。 

 VGA 时序主要分为行时序场时序,行时序是以像素为单位,场时序是以行为单位。VGA 行时序对行同步时间、消隐时间、行规频有效时间行前肩时间有特定要求,列时序也是如此,如果其中一部分时序出现问题就会造成显示出现问题列举部分常用 VGA 分辨率时序参数如下表所示

  • 1. HDMI支持的分辨率参数

显示模式

时钟

行时序参数(单位:pixel)

场时序参数(单位:行)

a

b

c

d

e

f

g

h

i

k

640*480@60HZ

25.175

96

48

640

16

800

2

33

480

10

525

800*600@60HZ

40

128

88

800

40

1056

4

23

600

1

623

1024*768*60HZ

65

136

160

1024

24

1344

6

29

768

3

806

1280*720*60HZ

74.25

40

220

1280

110

1650

5

20

720

5

750

1280*1024*60HZ

108

112

248

1280

48

1688

3

38

1024

1

1066

1920*1080*60HZ

148.5

44

148

1920

88

2200

5

36

1080

4

1125

1920*1080*30HZ

74.25

44

148

1920

88

2200

5

36

1080

4

1125

  • 1. HDMI_control程序接口

名称

方向

位宽

说明

clk

I

1

工作时钟

rst

I

1

复位信号(active high)

vs

O

1

输出的场信号 (active high or low 可以设置)

hs

O

1

输出的行信号 (active high or low 可以设置)

de

O

1

输出的有效数据信号(active high)

该模块程序根据根据VGA的帧行信号的参数来设计,这里选用1920*1080*60HZ作为例子进行讲解,该模块的程序代码如下所示。

如上图所示,VS信号(场信号)正常,这里设置VS信号是低电平有效,按照设置的1920*1080@60HZ的帧信号参数输出 

如上图所示,HS信号(场信号)正常,这里设置HS信号是低电平有效,按照设置的1920*1080@60HZ的帧信号参数输出;

如上图所示,de信号(场信号)正常,这里设置de信号是高电平有效,按照设置的1920*1080@60HZ的帧信号参数输出。

基于FPGA的HDMI的方块移动演示-CSDN直播

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/786947.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LLM面面观之MoE

1. 背景 根据本qiang~最新的趋势观察,基于MoE架构的开源大模型越来越多,比如马斯克的Grok-1(314B), Qwen1.5-MoE-A2.7B等,因此想探究一下MoE里面的部分细节。 此文是本qiang~针对大语言模型的MoE的整理,包括原理、流程及部分源码…

Mybatis——查询数据

查询操作 根据用户id查询单条记录,在映射器接口(UserMapper)中定义如下方法: package org.example.mapper;import org.example.demo.User;import java.util.List;public interface UserMapper {//根据id查询UserUser selectUserById(Integer userId); …

stable diffusion 的 GPU 不足怎么解决

稳定扩散(stable diffusion)是一种用于图像处理和计算机视觉任务的图像滤波算法。 当使用Stable Diffusion过程中遇到GPU显示内存不足的问题时。解决这个问题的方法有以下几种: 目前,对我来说,就最后一点能够暂时解决当…

GaussDB云数据库极简版安装与使用-新手指南

一、前言 作为一款领先的企业级数据库管理系统,GaussDB 提供了强大的性能、高度可靠性和丰富的功能,是企业构建可靠、高性能的数据库解决方案的理想选择。 本文主要针对高校和个人测试环境,介绍极简版安装和使用过程,更加适合高…

SwiftUI Swift 选择图片 添加图片

1. 添加记帐时添加图片功能 2. Show me the code // // TestPhotoPicker.swift // pandabill // // Created by 朱洪苇 on 2024/3/30. //import SwiftUI import PhotosUI import Foundationstruct TestPhotoPicker: View {State private var selectedItem: PhotosPickerIt…

Php_Code_challenge12

题目: 答案: 解析: 字符串拼接。

文献阅读:通过 NeuronChat 从单细胞转录组推断神经元-神经元通信

文献介绍 「文献题目」 Inferring neuron-neuron communications from single-cell transcriptomics through NeuronChat 「研究团队」 聂青(加利福尼亚大学欧文分校) 「发表时间」 2023-02-28 「发表期刊」 Nature Communications 「影响因子」 16.6…

15 - grace序列处理 - 十三点滑动平均法

grace序列处理 -十三点滑动平均法 滑动平均是一种常用的平滑数据的方法,可以用于去除噪声或者提取趋势。十三点滑动平均是指使用窗口大小为13的滑动平均,应用于GRACE序列处理中可以去除周年项的影响。 十三点滑动平均的计算公式为: y [ n ] = ( x [ n − 6 ]

互联网轻量级框架整合之JavaEE基础I

不得不解释得几个概念 JavaEE SUN公司提出来的企业版Java开发中间件,主要用于企业级互联网系统的框架搭建,同时因为Java语言优质的平台无关性、可移植性、健壮性、支持多线程和安全性等优势,其迅速成为构建企业互联网平台的主流技术&#x…

基于UML的系统分析与设计

统一建模语言(Unified Modeling Language,UML)是一种为面向对象系统的产品进行说明、可视化和编制文档的一种标准语言,是非专利的第三代建模和规约语言。UML是面向对象设计的建模工具,独立于任何具体程序设计语言。 毕业设计是实现本科教学培…

Php_Code_challenge16

题目: 答案: 解析: 所以科学计数法绕过即可。

macOS Sonoma 14.4 23E214 VMware系统包下载地址,简单便捷,导入即可用!

这回分享的是VMware虚拟机macOS 14.4版本的系统包,这种系统包是已经在VMware虚拟机中安装好了的macOS系统。省去了繁琐的安装步骤与稍微漫长的等待时间。此次更新的包为诗林工作室制作的最新一个VMware系统包版本。分享给那些想快速体验macOS 14版本的朋友。 使用方…

C++ AVL树(旋转)

我们之前学习了搜索二叉树,我们知道普通的搜索二叉树会有特殊情况出现使得二叉树的两枝极其不平衡形成我们通俗说的歪脖子树: 这样的树一定会使得我们的增删查的效率变低;为了避免这种极端的情况出现,在1962年有两位伟大的俄罗斯数…

EasyExcel 复杂表头的导出(动态表头和静态表头)

问题:如图,1部分的表头是动态的根据日期变化,2部分是数据库对应的字段,静态不变的; 解决方案:如果不看1的部分,2部分内容可以根据实体类注解的方式导出,那么我们是不是可以先将动态表…

Centos7 安装 Oracle19c

下载oracle预安装包 wget http://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm 下载19c安装包 https://www.oracle.com/cn/database/technologies/oracle-database-software-downloads.html#19c 选择…

计算机网络-HTTP相关知识-HTTPS基础

HTTP与HTTPS的区别: HTTPS在TCP和HTTP网络层之间加入了SSL/TLS安全协议层。这个安全协议层可以对数据进行加密,确保数据在传输过程中的安全。HTTPS在TCP三次握手之后,还需进行SSL/TLS的握手过程。这个握手过程主要是为了在客户端和服务器之间…

超声波清洗机是干什么用的?2024年有用的超声波清洗机推荐

随着科技的不断进步,超声波清洗机已经成为了家庭和专业场所不可或缺的高效清洁工具。它利用超声波波动产生的微小气泡来清洁物品表面及细缝中的污渍,实现深层次的清洁效果。特别是对于眼镜这样的精密物品,定期进行深度清洁不仅能够确保视觉的…

【算法刷题day10】Leetcode:232.用栈实现队列、225. 用队列实现栈

文章目录 Leetcode 232.用栈实现队列解题思路代码总结 Leetcode 225. 用队列实现栈解题思路代码总结 stack、queue和deque对比 草稿图网站 java的Deque Leetcode 232.用栈实现队列 题目:232.用栈实现队列 解析:代码随想录解析 解题思路 一个栈负责进&a…

前端二维码生成工具小程序:构建营销神器的技术解析

摘要: 随着数字化营销的不断深入,二维码作为一种快速、便捷的信息传递方式,已经广泛应用于各个领域。本文旨在探讨如何通过前端技术构建一个功能丰富、操作简便的二维码生成工具小程序,为企业和个人提供高效的营销支持。 一、引言…

什么是过载

宇航员相关知识会涉及到过载,导弹相关知识也会涉及到过载,如导弹的过载加速度,什么是过载呢?博主从B站上看到一UP主讲的很好, 该up主视频链接: 过载是什么_哔哩哔哩_bilibili 内容截图如下: