当前位置: 首页 > article >正文

FPGA——VGA协议

VGA协议

  • VGA简介
    • 接口及引脚定义
    • 显示原理
    • 显示电路原理
      • VGA协议电压标准
      • 数字信号转化标准模拟信号方案
      • 数字信号时序标准
    • 模块设计

VGA简介

VGA,英文全称“Video Graphics Array”,译为视频图形阵列,是一种使用模拟信号进行视频传输的标准协议,由 IBM 公司于 1987 年推出,因其分辨率高、显示速度快、颜色丰富等优点,广泛应用于彩色显示器领域。由于 VGA 接口体积较大,与追求小巧便携的笔记本电脑背道而驰,在笔记本电脑领域,VGA 接口已被逐渐淘汰,但对于体积较大的台式机,这种情况并未发生,虽然 VGA 标准在当前个人电脑市场中已经过时,但因其在显示标准中的重要性和良好的兼容性,VGA 仍然是最多制造商所共同支持的一个标准,个人电脑在加载自己独特驱动程序之前,都必须支持 VGA 的标准。

接口及引脚定义

在这里插入图片描述

引脚定义引脚定义
1红基色(RED)9保留(各厂家使用)
2绿基色(GREEN)10数字地(GND)
3蓝基色(BLUE)11地址码0(ID BIT0)
4地址码 2(ID BIT2)12地址码 1(ID BIT1)
5保留(各厂家使用)13行同步(HSYNC)
6红色地(RGND)14场同步(VSYNC)
7绿色地(GGND)15地址码3(ID BIT3)
8蓝色地(BGND)

显示原理

VGA 显示器显示图像,是采用扫描的方式,将构成图像的像素点,在行同步信号和场同步信号的同步下,按照从上到下、由左到右的顺序扫描到显示屏上。
在VGA标准刚兴起的时候,彩色显示器通常基于CRT技术实现,其中色彩由RGB三基色组成。显示过程采用逐行扫描的方式,即阴极射线枪发出的电子束打击涂有荧光粉的荧光屏,产生RGB三基色,这些颜色合成一个彩色像素。扫描从屏幕的左上方开始,从左到右、从上到下进行。每扫完一行后,电子束回到下一行的左边起始位置继续扫描。
在扫描过程中,为了防止电子束在回到左上方的过程中破坏已有图像,需要进行行消隐和场消隐。行消隐是在每行结束时通过行同步信号进行同步,而场消隐则是在扫描完所有行后,通过场同步信号进行同步,并使扫描回到屏幕的左上方。
随着显示技术的发展,虽然出现了液晶显示器等新技术,但为了兼容传统的显示接口,液晶显示器通过内部电路实现了对VGA接口的完全兼容。这意味着,只要显示器带有标准的VGA接口,就可以直接使用标准的VGA时序来驱动显示器,而无需关心其内部的成像原理。
在这里插入图片描述

显示电路原理

VGA协议电压标准

由于是模拟信号,三色模拟信号分别对应颜色及电压值为:

RGB颜色
0.714V0V0V红色
0V0.714V0V绿色
0V0V0.714V蓝色
0V0V0.357V深蓝色
0V0V0V黑色

数字信号转化标准模拟信号方案

有两个方案:

  • 一种是采用AD高速数模转化芯片——ADV7123芯片
  • 另一种是采用低成本权电阻网络

采用AD芯片的会有官方文档讲解外围电路,本文在此处讲解权电阻网络。
请添加图片描述
为了让权重分配符合二进制数值权值,讲电阻设计为2的倍数。根据电流比例计算,由于 D 0 D_0 D0输出电压为VCC, D 1 D_1 D1输出电压也为VCC,因此根据电阻大小比值 I 1 = 2 I 0 I_1=2I_0 I1=2I0,则数值全值表如下:

{D1,D0} I I I
2’b000
2’b01 I I I
2’b10 2 I 2I 2I
2’b11 3 I 3I 3I

由表可知,该设计完美符合对模拟数值的二进制编码设计。于是,完整RGB565接口(除此之外,还有24位颜色RGB888,8位颜色显示RGB332,区别是颜色显示数量的不同)一共需要16根信号线,565也分别对应Red信号线5根,Green信号线6根,Blue信号线5根,其信号图如下。
请添加图片描述
由于VGA内部接口含有75欧姆的电阻,用于检测红绿蓝三种颜色对应的电压。如下图。
请添加图片描述
由此可以计算,对应所需的权电阻网络基础数值。先计算权值网络的等效电阻 R x R_x Rx
1 R x = 1 R + 1 2 R + 1 4 R + 1 8 R + 1 16 R \frac{1}{R_x}=\frac{1}{R}+\frac{1}{2R}+\frac{1}{4R}+\frac{1}{8R}+\frac{1}{16R} Rx1=R1+2R1+4R1+8R1+16R1
再计算最大电压 V r = 0.714 V V_r=0.714V Vr=0.714V
V r = 75 V c c R x + 75 V_r=\frac{75V_{cc}}{R_x+75} Vr=Rx+7575Vcc
计算得:
R = 500 Ω R=500\varOmega R=500Ω
计算得R后,根据R数值可以计算出其他对应的电阻。由于,电阻阻值可能选择相近的数值,因此,Vr、Vg、Vb可能最大值并不相同,因此,也会影响显示器的RGB显示范围。如使用AD芯片可以使得RGB动态显示范围更为精准。
到此,模拟部分电路讲解完毕。

数字信号时序标准

为了适应匹配不同厂家的 VGA 显示器,VGA 视频传输接口有自己的一套 VGA 时序标准,只有遵循 VGA 的时序标准,才能正确的进行图像信息的显示。由显示原理,我们可以知道,显示时序应该会分为行扫描和列扫描。在术语里,列扫描叫做场扫描。
在这里插入图片描述
行扫描周期包含:同步、后沿、左边框、有效图像、右边框、前沿。基本单位是一个时钟周期。
在这里插入图片描述
场扫描周期同样包含:同步、后沿、上边框、有效图像、底边框、前沿。基本单位是一个行的时钟周期。
在这里插入图片描述
实际参数表如下:
在这里插入图片描述
由相关数据,行扫描周期x场扫描周期x刷新率=时钟频率,因此,640x280
@60hz的时钟计算为:800x525x60=25.2MHz。在此处,由于25.2Mhz或者25.175不便于生成,因此通常使用25Mhz的时钟频率,则对应的显示帧率59.5hz。

模块设计

在这里插入图片描述
clk_gen:时钟生成模块,为了讲FPGA内部时钟进行分频或者倍频处理得到模块所需的时钟信号。(可以由PLL锁相环生成)
vga_pic模块:用于生成图像数据,得到对应点的坐标来产生对应位置的图像数据。
vga_ctrl模块:VGA驱动模块,用于生成VGA驱动信号及rgb颜色数据。
在这里插入图片描述


http://www.kler.cn/a/291943.html

相关文章:

  • 魔方和群论
  • 【弱监督视频异常检测】2024-ESWA-基于扩散的弱监督视频异常检测常态预训练
  • 微信小程序 https://thirdwx.qlogo.cn 不在以下 downloadFile 合法域名列表中
  • VSCode设置
  • 如何编译 Cesium 源码
  • 当微软windows的记事本被AI加持
  • 【Redis】深入解析 Redis 事务:特性、操作及其与 MySQL 事务的区别
  • Fiddler安卓设备抓包基础
  • ffmpeg音视频开发从入门到精通——ffmpeg下载编译与安装
  • iOS App快捷指令(App Intents)在系统搜索服务中注册shortcuts
  • Monkey日志ANR、CRASH、空指针异常及其他异常数据分析
  • 文件夹图标工具类 - C#小函数类推荐
  • JS中的【Symbol】全面讲解
  • 启动spring boot项目时,第三方jar包扫描不到的问题。
  • 编程效率革命:智能工具与自动化脚本的完美结合
  • 144. 腾讯云Redis数据库
  • MOM成功实施分享(三)数字化项目落地蓝图经验分享
  • 2024 高教社杯 数学建模国赛 (B题)深度剖析|生产过程中的决策问题|数学建模完整代码+建模过程全解全析
  • echarts多个环形图
  • Linux 进程与线程相关函数及进程间通信方法
  • 基于微信小程序的挂号管理系统-web管理端
  • 酒店预约小程序搭建,让酒店更加智能化
  • SQLite 创建表:一场数据库里的“造物运动”
  • controlnet reference only
  • 微信小程序:如何在实现页面之间的返回
  • 一篇文章带你走进测试工程师的世界