基于Verilog的VGA驱动设计(二)VGA硬件结构<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
一个VGA显示器接口显示一个图片需要五个信号:
1)R、G和B信号,也就是红、绿、蓝三原色。
2)HS和VS(水平同步信号和垂直同步信号)。
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
R、G、B三原色是模拟信号,HS和VS是数字信号。
下面介绍如何驱动VGA连接器:
VGA接口的脚13和14(HS和VS)是数字信号,所以可以直接通过FPGA的两个IO口来控制(或者还可以接上低阻值的电阻,比如:10欧或者20欧)。
脚1、2和3(R、 G 和 B)是常值为0.7V的75欧的模拟信号。由3.3V的FPGA管脚输出,用三个270欧的电阻刚好满足要求。连接头输入的电压驱动电阻为75欧,所以3.3V变成为:3.3*75/(270+75)=0.72V , 非常接近0.7V。
5, 6, 7, 8 和 10脚接地。
VGA的扫描方式是非交叉式扫描。
同步的极性: 水平和垂直方向都是低电平有效。
8色
VGA接口定义
管脚 | 定义 |
1 | 红基色 red |
2 | 绿基色 green |
3 | 蓝基色 blue |
4 | 地址码 ID Bit |
5 | 自测试 ( 各家定义不同 ) |
6 | 红地 |
7 | 绿地 |
8 | 蓝地 |
9 | 保留 ( 各家定义不同 ) |
10 | 数字地 |
11 | 地址码 |
12 | 地址码 |
13 | 行同步 |
14 | 场同步 |
15 | 地址码 ( 各家定义不同 ) |
管脚对应的VGA接口如下:
RGB显示
FPGA直接用IO口去连接VGA的五个信号接口了,并且三原色信号接口输入的只可能是数字信号(0或1),因此驱动液晶屏上显示的颜色最多也就8种,一般来说,可以在FPGA和VGA接口间加一个DA模块的设计,根据DA位数的大小决定实现的配色效果。理论上来说每个信号是可以有256(就是把0-0.7V电压256等分)个电平值,那么RGB三个信号接口一共最多就会有256的3次方就是1400多万种色彩,在需要做真彩色的设计中一般都是需要AD模块的。但是如果仅仅用VGA来显示诸如工业上的一些简单的菜单,就不需要那么丰富的色彩,也许8色,也许64色或者256色就足够了。
利用上图的电阻网络实现DA的效果,使VGA能得到4x4x4=64种颜色的。这样在工业控制中已经足够了。
本文工程文件下载:https://static.assets-stash.eet-china.com/album/old-resources/2009/4/13/8c45b29d-4255-4eed-8888-d6acab227b84.rar
(在Spartan-3E Starter Kit上实现8色显示)
参考资料:
1)实验七、基于verilog的VGA简单接口驱动 -- EDN助学—CPLD学习小组 -- EDN电子设计技术
http://group.ednchina.com/1375/21344.aspx
2)一种64色VGA的设计思路 -- 特权's Blog
http://blog.ednchina.com/ilove314/174544/message.aspx
3)VGA接口扫盲篇 -- 特权's Blog
http://blog.ednchina.com/ilove314/143579/message.aspx
4)VGA接口之硬件结构 -- likee的福地
http://blog.ednchina.com/likee/111649/message.aspx
用户1395225 2014-8-29 14:18
用户1570950 2012-5-15 13:21
用户385471 2011-7-29 16:18
用户288382 2010-7-30 15:06