VGA接口电路设计

您所在的位置:网站首页 vga接口usb VGA接口电路设计

VGA接口电路设计

2023-12-27 11:39| 来源: 网络整理| 查看: 265

1.VGA介绍

VGA(Video Graphics Array)即视频图形阵列,是IBM在1987年随PS/2(PS/2 原是“Personal System 2”的意思,“个人系统2”,

是IBM公司在1987年推出的一种个人电脑。PS/2电脑上使用的键盘鼠标接口就是现在的PS/2接口。因为标准不开放,PS/2电脑在市场中失败了。

只有PS/2接口一直沿用到今天)一起推出的使用模拟信号的一种视频传输标准,在当时具有分辨率高、显示速率快、颜色丰富等优点,

在彩色显示器领域得到了广泛的应用。这个标准对于现今的个人电脑市场已经十分过时。即使如此,VGA仍然是最多制造商所共同支持的一个标准,

个人电脑在加载自己的独特驱动程序之前,都必须支持VGA的标准。例如,微软Windows系列产品的开机画面仍然使用VGA显示模式,

这也说明其在显示标准中的重要性和兼容性。(来自百度百科)

VGA接口就是显卡上面输出模拟信号的接口。VGA接口是一种D型接口,上面共有15针孔,分成3排,每排5个,

VGA接口是目前中低端配置电脑的主流接口。

实物图如下图所示:

VGA显示中,FPGA需要产生5个信号分别是:行同步信号HS、场同步信号VS、R、G、B三基色信号。

接口中最主要的几根线:

信号定义HS行同步信号(3.3V)VS场 / 帧 同步信号(3.3V)R红基色    (0~0.714V 模拟信号)G绿基色 (0~0.714V 模拟信号)B蓝基色 (0~0.714V 模拟信号)

2.VGA显示原理 2.1 色彩显示原理 RGB三基色可以组成不同的颜色,如下图所示: 但是按照这个理解三基色(如上图所示)只能组成7种颜色,实际上还有黑色(0,0,0) 三基色颜色编码: 颜色黑蓝红紫绿清黄白R00110011G00001111B01010101 实际上,对于显示器来说,RGB三个信号其实是模拟信号,其电平的高低可以表示颜色的深浅。 利用这个原理,我们就可以产生丰富的色彩。为了控制电压的高低,我们就必须用到DA芯片。 例如下图中,FPGA产生RGB三种信号,这时RGB都是多位的数字信号。DA芯片根据信号数字的值, 产生不同电压的模拟信号RGB。 2.2 扫描原理 2.2.1光栅扫描过程如下: 显示器采用光栅扫描方式,即轰击荧光屏的电子束在CRT(Cathode Ray Tube  阴极射线显像管)屏幕上从左到右(受水平同步信号HSYNC控制)、从上到下(受垂直同步信号VSYNC控制)做有规律的运动。电子束采用光栅扫描方式,从屏幕做上角一点开始,向右逐点进行扫描,形成一条水平线;到达最右端后,又回到下一条水平线的左端,重复上面的过程;当电子束完成右下角一点的扫描后完成一帧。此后电子束又回到左上方起点, 开始下一帧的扫描。这种方法也就是常说的逐行扫描显示。 2.2.2 扫描频率 完成一行扫描时间称为水平扫描时间,其倒数称之为行频率,完成一帧的扫描时间称为垂直扫描时间,其倒数称之为场频率,即刷新一屏的频率, 常见的有60hz、75hz等。 2.2.3 扫描时序                              行时序                                                                                                 场时序 HSYNC Signal是用来控制“列填充”, 而一个HSYNC Signal可以分为4个段,也就是a (同步段),b(后廊段),c(激活段),d(前廊段)。  VSYNC Signal是用来控制“行扫描”。而一个VSYNC Signal同样可以分为4个段,也是o (同步段),p(后廊段),q(激活段),r(前廊段)。  2.2.4 VGA支持的规格 以640*480@60为例,一帧所需要的时间:1s/60=0.017s。 1行所需要的时间:0.017s/525=32.39us  单位‘’元素‘’    所需要时间:32.39us/800=40.5ns  因此在这个显示模式下CRT所需要的时钟频率为:1s/40.5ns=24.69MHZ   四舍五入取 25MHZ可以满足要求。 3. 电路设计 本验证平台为黑金开发板。 电路实现框图如下: 1. my_pll:uut0 为时钟模块  利用altera提供的IP核实现,产生的时钟频率为25MHZ。 2. vga_sync_module:uut1为同步模块,行同步lcd_hs、场同步lcd_vs在此模块产生。ready_sig为电子束打在CRT上面的指示信号,row_addr_sig、column_addr_sig为现在扫描第几行、第几列的指示信号。 3. vga_control_module:uut2 为控制显示什么图形的模块,黑金开发板用16位来控制RGB的混合。R-lcd_data[11:15]、G-lcd_data[5:10]、B-lcd_data[0:4] module vga_port( clk , rst_n , lcd_vs , lcd_hs , lcd_data ); input clk ; input rst_n ; output lcd_vs ; output lcd_hs ; output[15:0] lcd_data ; wire clk_25mhz ; my_pll uut0( .inclk0(clk) , .c0(clk_25mhz) ); wire [9:0] row_addr_sig ; wire [9:0] column_addr_sig ; wire ready_sig; vga_sync_module uut1( .clk (clk_25mhz) , .rst_n (rst_n) , .lcd_vs (lcd_vs) , .lcd_hs (lcd_hs) , .row_addr_sig (row_addr_sig) , .column_addr_sig(column_addr_sig) , .ready_sig(ready_sig) ); vga_control_module uut2( .clk (clk_25mhz) , .rst_n (rst_n) , .lcd_data (lcd_data) , .row_addr_sig (row_addr_sig) , .column_addr_sig(column_addr_sig) , .ready_sig (ready_sig) ); endmodule module vga_sync_module( clk , rst_n , lcd_vs , lcd_hs , row_addr_sig , column_addr_sig , ready_sig ); input clk ; input rst_n ; output lcd_vs ; output lcd_hs ; output ready_sig ; output [9:0] row_addr_sig ; output [9:0] column_addr_sig ; reg ready_sig ; reg [9:0] HS ; reg [9:0] VS ; always @ (posedge clk or negedge rst_n)begin if(rst_n==1'b0) HS


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3