1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VGA时序

VGA协议 尚丽娜 VGA(Video Graphics Array)是IBM于1987年提出的一个使用模拟信号的电脑显示标准。VGA一改以前显示卡采用的数字视频信号输出, 而用模拟视频信号输出, VGA 卡内的D/A 转换器将数字信号转换为控制R、G、B 三原色的模拟信号, 使像素色彩变化非常平滑, 更适合人的视觉感受 VGA接口,也叫D.Sub接口,上面共有15针空,分成三排,每排五个,其中1、2、3脚为R、G、B,13、14脚为行、场同步,其他为地线 根据分辨率不同VGA可分为VGA(640*480)、SVGA(800x600)、XGA(1024x768)等。VGA显示采用逐行扫描方式。 扫描是从屏幕的左上方开始,从左到右,从上到下。每扫完一行,电子束回到左边下一行的开始位置。期间对电子束进行行消隐。并在每行结束时,用行同步信号对行进行同步,扫描完所有行后。再用场同步信号对场进行同步,并使电子束回到屏幕的左上方,同时对场进行消隐,并预备下一次扫描。 确定VGA显示接口时序主要应考虑行同步信号(HSYNC)、场同步信号(VSYNC)、蓝基色(B)、红基色(R)、绿基色(G)这5个信号,如果能从FPGA中按其时的需要求准确发送这些信号到VGA接口。就可以实现对VGA的控制。 产生行同步脉冲信号HSYNC的周期e=a+b+c+d。其中a为同步信号时间,b为行消隐后肩时间,c为数据有效时间,d为行消隐前肩。从图(b)可以看出,场同步时序与行同步时序类似。也是显示一屏数据的时序.这里以行为单位。场同步脉冲信号VSYNC的周期L=h+i+j+k.其中h为同步信号时间,i为场消隐后肩时间,j为数据有效时间,k为场消隐前肩时间。 不同的分辨率下行同步和场同步信号的周 期是不同的,时序上的时间也不一样 以640×480且刷新频率为60Hz为例,显示器每秒扫描60场。VGA在实际工作时并不是每行扫描640个点,每场扫480行。实际是每行800个像素。每场525行。 每行800个像素中包括行消隐前肩d(16个点)、行同步信号a(96个点)、行消隐后肩b(48个点)和有效点数c(640个)。 每场525行中包括场消隐前肩k(10行)、场同步信号h(2行)、场消隐后肩i(33行)和有效行数j(480行)。 所以,点像素的时钟频率为800×525×60=25.2MHz。 VGA时序控制信号的产生包括行点计数器h_cnter、场行计数器、v_cnter、行同步状态机和场同步状态机。h_cnter是800进制计数器,v_cnter是525进制计数器。 行同步状态机有a(行同步)状态、b(行消隐后肩)状态、c(数据有效)状态和d(行消隐前肩)状态,4种状态可根据h-cnter的值进行状态翻转。 场同步状态包括h(场同步)状态、i(场消隐后肩)状态、j(数据有效)状态和k(场消隐前肩)状态,4种状态也可根据v_cnter的值进行状态转换。 当状态机上电复位后。场同步状态机进入h状态,每当行计数器h_cnter=799时场行计数器v_cnter加1,当、v_cnter=l时,状态机从h状态转移到i状态,当v_cnter=34时,状态机转移到i状态,当v_nter=514时,状态机转移到k状态,当v_nter=524时,状态机转移到h状态。此时场同步信号VSYNCS输出为低。其他状态输出为高。 只有当行同步状态机在c状态且场同步状态机在i状态时,才能向RGB输入数据。 module vga_time_generator( input pixel_clk, input [11:0]h_disp,//640 input [11:0]h_fporch,//16 input [11:0]h_sync, //96 input [11:0]h_bporch,//48 input [11:0]v_disp, //480 input [11:0]v_fporch,//10 input [11:0]v_sync, //2 input [11:0]v_bporch,//33 output vga_hs, output vga_vs, output vga_blank, output reg[11:0]CounterY, output reg[11:0]CounterX wire [11:0] h_total; assign h_total = h_disp+h_fporch+h_sync+h_bporch; reg [11:0]h_counter; reg VGA_HS_o; reg VGA_BLANK_HS_o; always @(posedge pixel_clk)begin if (h_counter

文档评论(0)

rovend + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档