基于FPGA的VGA协议实践

一、VGA介绍

(一) VGA协议

什么是VGA?VGA不是用来显示的那块屏幕,而是用来传输信号的接口。VGA全称是Video Graphics Array,即视频图形阵列,是模拟信号的一种视频传输标准。不⽀持热插拔,不⽀持⾳频传输。对于⼀些嵌⼊式VGA显示系统,可以在不使⽤VGA显卡和计算机的 情况下,实现VGA图像的显示和控制。VGA显示器具有成本低、结构简单、应⽤灵活的优点。

(二) VGA端口介绍

VGA端口是视频输出端口,端口一共包含15个管脚, VGA接口是一种D型接口,上面共有15针孔,分成三排,每排五个。 其中,除了2根NC(Not Connect)信号、3根显示数据总线和5个GND信号,比较重要的是3根RGB彩色分量信号和2根扫描同步信号HSYNC和VSYNC针。VGA接口中彩色分量采用RS343电平标准。RS343电平标准的峰值电压为1V。VGA接口是显卡上应用最为广泛的接口类型,多数的显卡都带有此种接口。有些不带VGA接口而带有DVI(Digital Visual Interface数字视频接口)接口的显卡,也可以通过一个简单的转接头将DVI接口转成VGA接口,通常没有VGA接口的显卡会附赠这样的转接头。

在通常使用的连接方法里面,15个管脚里面的5个是最重要的,他们包括3个基本红、绿、蓝三条基本色彩和水平与垂直两条控制线。大多数计算机与外部显示设备之间都是通过模拟VGA接口连接,计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为R、G、B三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。对于模拟显示设备,如模拟CRT显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像。而对于LCD、DLP等数字显示设备,显示设备中需配置相应的A/D(模拟/数字)转换器,将模拟信号转变为数字信号。在经过D/A和A/D两次转换后,不可避免地造成了一些图像细节的损失。VGA接口应用于CRT显示器无可厚非,但用于连接液晶之类的显示设备,则转换过程的图像损失会使显示效果略微下降。而且可以从接口处来判断显卡是独显还是集成显卡,VGA接口竖置的说明是集成显卡,VGA接口横置说明是独立显卡(一般的台式主机都可以用此方法来查看)。

(三) 色彩原理

三基⾊是指通过其他颜⾊的混合⽆法得到的“基本 ⾊”由于⼈的⾁眼有感知红、绿、蓝三种不同颜⾊的锥体细胞,因此⾊彩空间通常可以由三种基本⾊来表达

设计RGB信号时,既可以R信号、G信号和B信号独⽴的赋值,最后连到端⼝上,也可以直接⽤RGB当做⼀个整体信号,RGB信号在使⽤时的位宽有三种常见格式,以你的VGA解码芯⽚的配置有关。

RGB_8,R:G:B = 3:3:2,即RGB332
RGB_16,R:G:B = 5:6:5,即RGB565
RGB_24,R:G:B = 8:8:8,即RGB888
依次对应8、16、24位位宽,位宽越高,图像越清晰
(四)VGA显示原理

VGA通过引脚的模拟电压(0V-0.714V)显示红绿蓝三种颜色,不同的电压值对应不同的颜色。
VGA驱动显示器用的是扫描的方式,一般是逐行扫描。
逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT对电子束进行消隐,每行结束时,用行同步信号进行同步;
当扫描完所有的行,形成一帧后,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。
FPGA芯片驱动VGA显示,需要先产生模拟信号,这就要借助数模转换器D/A,利用D/A产生模拟信号,输出至VGA的RED、GREEN、BLUE基色数据线。另一种方法是利用电阻网络分流模拟D/A实现的。

二、实现

IP核里面找到ALTPLL
在这里插入图片描述
基础时钟选择50M
在这里插入图片描述
取消勾选输出使能
在这里插入图片描述
c0默认输出50M即可,c1分频到25M,如需其他时钟频率可以自己进行设置
在这里插入图片描述
在这里插入图片描述
勾选如下选项后finish
在这里插入图片描述

1.彩条显示

根据当前行地址判断需要显示的颜色即可。

2.字符显示

在子模提取工具里面输入需要显示的字符并设置字符大小为1616,点阵大小为1616
然后点击文件-另存为,把图片保存为BMP图片
再点击文件-打开,把保存的BMP图片打开得到整体的字符
在这里插入图片描述

再点击选项按如下参数设置
在这里插入图片描述
最后点击生成字符并保存字符为文本文件
得到字符如下
在这里插入图片描述

3.图片显示

原图:
在这里插入图片描述
使用工具BMP2MifV1.0把图片转为HEX文件(在转换图片之前需要先修改图片的格式)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值