【FPGA】通俗理解从VGA显示到HDMI显示

news2025/1/19 13:06:50

注:大部分参考内容来自“征途Pro《FPGA Verilog开发实战指南——基于Altera EP4CE10》2021.7.10(上)” 

贴个下载地址:

野火FPGA-Altera-EP4CE10征途开发板_核心板 — 野火产品资料下载中心 文档

hdmi显示器驱动设计与验证 — [野火]FPGA Verilog开发实战指南——基于Altera EP4CE10 征途Pro开发板 文档

VGA正文开始

要通俗的理解VGA显示驱动,就要知道实物长什么样子,如下图所示,VGA接口总共有15个,但是需要我们关心的只有以下五个,分别是:

1:红基色,模拟信号,三原色中的R

2:绿基色,模拟信号,三原色中的G

3:蓝基色,模拟信号,三原色中的B

13:行同步,负责显示过程中“行”的扫描

14:场同步,负责显示过程中“场(列)”的扫描

VGA的显色原理图如下

假设我们需要显色的图像是640x480的,这一幅画面上,横着的点有640个,竖着的点有480个。我们通过行同步信号和场同步信号来确定每个点的位置,然后给每个点一个数据(8位:RGB232、16位:RGB565、24位:RGB888等),即可显示出一副画面。

所以说,要想使VGA显示一副画面,就需要我们利用FPGA向行同步和场同步输出显示点的位置,然后利用FPGA向红基色接口、绿基色接口和蓝基色接口赋值即可。

所以编写VGA的驱动模块就变得十分的简单了,只需要利用我们的FPGA,向VGA外设输出行同步信号、场同步信号和数据即可。

在绑定管脚时,行同步和场同步各一根线绑定,RGB数据,各按照自己的位宽绑定即可(例如我这里是绑定16根线)

HDMI正文开始

上面讲了关于VGA的驱动,我们可以看出VGA 显示具有成本低、结构简单、应用灵活等优点,但缺点是 VGA 使用的模拟信号(R、G、B)极易受到外界干扰源的影响,产生信号畸变,而且 VGA 接口体积较大, 不利于便携设备的使用。

这个时候,HDMI接口便应运而生了。(讲解HDMI A Type)

HDMI接口的实物如下图所示,共有19个接口,但在显示图像时,我们只需要用到10个接口,分别是:

7、9:数据0+、数据0-(差分信号,抗干扰)

4、6:数据1+、数据1-

1、3:数据2+、数据2-

10、12:时钟+、时钟-

15、16:SCL、SDA -> 发送端与接收端通过I2C协议,得知彼此的发送与接收能力。

所以说,如果要用FPGA驱动HDMI显示,则FPGA应该向对HDMI的十个接口进行赋值,分别是数据0+、数据0-、数据1+、数据1-、数据2+、数据2-、时钟+、时钟-,这十个接口全部为1Bit数据,同时这十个接口也是FPGA需要往HMDI上面绑定的十个管脚,模块框图如下:

VGA转HDMI 

VGA输出的RGB数据,我们可以通过特定的模块转为数据0+、数据0-、数据1+、数据1-、数据2+、数据2-。时钟我们也可以通过一个模块把输入的时钟转为差分时钟。

假设RGB一共24位(R分量占8位,G分量占8位,B分量占8位),此时我们就可以分别把R、G、B转为串行差分信号进行输出

R-------->数据0+、数据0-;

G-------->数据1+、数据1-;

B-------->数据2+、数据3-;

在转换的过程中我们需要注意并行转串行、单端转差分、以及编码(8位转9位),HDMI协议所要求。

所以顶层模块变成如下框图所示:

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

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

相关文章

10.1 直流电源的组成及各部分的作用

在电子电路及设备中,一般都需要稳定的直流电源供电。本章所介绍的直流电源为单相小功率电源,它将频率为 50 Hz 50\,\textrm {Hz} 50Hz、有效值为 220 V 220\,\textrm V 220V 的单相交流电压转换为幅值稳定、输出电流为几十安以下的直流电压。 单相交流…

机器学习训练,没有机器怎么办

google的cobal,免费提供15G显存。 https://colab.research.google.com/drive/

十五、MySQL(DCL)如何实现用户权限控制?

1、为什么要实现用户权限控制? 在日常工作中,会存在多个用户,为了避免某些用户对重要数据库进行“误操作”,从而导致严重后果,所以对用户进行权限控制是必须的。 2、常见的权限类型: ALL,ALL PRIVILEGES …

数字孪生产品:数字化时代的变革引擎

数字孪生技术,作为一项前沿的科技创新,正在不断改变我们的世界。它为各行各业的发展提供了无限的可能性,成为了当今数字化时代的一大亮点。数字孪生产品,作为数字孪生技术的具体应用,将在未来发挥越来越重要的作用。 数…

Linux命令之文件管理

Linux命令之文件管理 创建文件删除文件移动文件拷贝文件查看文件文件统计信息的查看文件内容的查看文件的权限文件权限的介绍和表示文件权限的改变 文件的类型 查找文件 创建文件 创建文件的话,一般使用touch命令 touch file1(文件名字)删除文件 删除文件的话&…

QT QToolBox控件使用详解

本文详细的介绍了QToolBox控件的各种操作,例如:新建界面、添加页签、索引设置当前项、获取当前项的索引、获取当前项窗口、获取索引值是int的窗口、移除索引值项、获取项的数量、获取指定索引值、设置索引项是否激活、获取索引值项是否激活、设置项的图标…

可靠的可视化监控平台应用在那些场景?

可视化监控平台是一种用户友好的工具,可以帮助用户实时监控IT设备的运行状态和网络流量,以及监测安全性和性能指标。它们通常采用图形化界面,使得用户能够直观地了解设备和网络的状态。 以下是一些可视化监控平台常见的应用场景:…

R7 7840H和i7 1360p选哪个 R77840H和i71360p对比

i71360P采用10nm工艺 最高睿频 5GHz 十核心 十六线程 三级缓存 18MB热设计功耗(TDP) 28W 支持最大内存 64GB 内存类型 DDR4 3200MHzDDR5 5200MHz集成显卡 Intel Iris Xe Graphics 选i7 1360p还是r7 7840h这些点很重要看过你就懂了 http://www.adiannao.cn/dy r7 7840h采用4nm…

Chrome扩展开发实战:网页图片抓取,打造专属自己的效率插件

🏆作者简介,黑夜开发者,CSDN领军人物,全栈领域优质创作者✌,CSDN博客专家,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师…

软件测试框架的面试题讲解

主要对测试框架的面试题讲解。 1.测试一个杯子怎么写测试用例? 界面:杯子外观 安全性:杯子有没有毒或细菌 可靠性:杯子从不同高度落下的损坏程度;杯子放水放置12个小时或者24小时,是否漏水 可移植性&#…

Redis基础特性及应用练习-php

redis持久化(persistence) redis支持两种方式的持久化,可以单独使用或者结合起来使用。 第一种:RDB方式(redis默认的持久化方式) rdb方式的持久化是通过快照完成的,当符合一定条件时redis会自…

Ansible playbook简介与初步实战,实现批量机器应用下载与安装

一.Ansible playbook简介 playbook是ansible用于配置,部署,和管理被节点的剧本通过playbook的详细描述,执行其中的一些列tasks,可以让远端的主机达到预期的状态。playbook就像ansible控制器给被控节点列出的一系列to-do-list&…

webpack(四)plugin

定义 和loader的区别 loader:文件加载器,能够加载资源,并对这些文件进行一些处理,诸如编译、压缩等,最终一起打包到指定的文件中。plugin:赋予了webpack各种灵活的功能,例如打包优化、资源管理、环境变量注入等&…

【c++ debug】cmake编译报错 No such file or directory

1. 报错:error while loading shared libraries: libprotoc.so.24: cannot open shared object file: No such file or directory 问题原因:找不到动态库 解决方法:添加动态库路径 export LD_LIBRARY_PATH$LD_LIBRARY_PATH:/your/protobuf/l…

企业架构LNMP学习笔记18

nginx的日志: 日志类型: access.log 访问日志、查看统计用户的访问信息,流量。 error.log 错误日志,错误信息,重写信息。 access.log日志文件内容示例: 192.168.17.1 - - [06/Sep/2023:20:37:39 0800] …

莫迪会见英伟达ceo黄仁勋:印度在人工智能领域的巨大潜力

据外媒报道,印度总理纳伦德拉莫迪(Narendra Modi)于9月5日晚上会见了英伟达创始人兼首席执行官(CEO)黄仁勋,讨论了印度在人工智能(AI)领域的巨大潜力。这是莫迪和黄仁勋的第二次会面…

LC2335. 装满杯子需要的最短总时长(JAVA)

装满杯子需要的最短总时长 题目描述递归法代码演示数学法代码演示 题目描述 难度 - 简单 Leetcode - 2335. 装满杯子需要的最短总时长 现有一台饮水机,可以制备冷水、温水和热水。每秒钟,可以装满 2 杯 不同 类型的水或者 1 杯任意类型的水。 给你一个下…

通过wordpress 自定义主题的额外CSS删除指定区块

最近用wordpress建站,想要删除指定区块,发现相关的教程蛮少的,作为小白的我搜了相关教程,好像没找到,只能自己慢慢摸索了,看了很多,终于尝试实现了,特记录下,免得自己忘了…

国美零售上半年几乎“全军覆没”,黄光裕回归后的至暗时刻

在黄光裕“回归”的900天之后,国美零售(00493)迎来了有史以来最为艰难的至暗时刻,营收同比暴跌超96%,股价为0.053港元,市值仅剩25.79亿港股。 2023年8月31日,国美零售发布了2023年上半年财报。报…

深入研究 Spring Cloud 和 Dubbo

什么是 SpringCloud Spring Cloud 框架为开发人员提供了快速构建健壮云应用程序的工具。我们还可以构建基于微服务的应用程序,例如配置管理、服务发现、断路器、智能路由、集群状态、微代理、控制总线、一次性令牌等。使用 Spring Cloud,开发人员可以快…