好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

VGA时序.ppt

21页
  • 卖家[上传人]:野鹰
  • 文档编号:1135704
  • 上传时间:2017-05-29
  • 文档格式:PPT
  • 文档大小:484.50KB
  • / 21 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 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.2MHzVGA时序控制信号的产生包括行点计数器h_cnter、场行计数器、v_cnter、行同步状态机和场同步状态机h_cnter是800进制计数器,v_cnter是525进制计数器。

      行同步状态机有a(行同步)状态、b(行消隐后肩)状态、c(数据有效)状态和d(行消隐前肩)状态,4种状态可根据h-cnter的值进行状态翻转场同步状态包括h(场同步)状态、i(场消隐后肩)状态、j(数据有效)状态和k(场消隐前肩)状态,4种状态也可根据v_cnter的值进行状态转换当状态机上电复位后.行状态机进入a状态,此时HSYNC输出为低行计数器h-cnter开始对25MHz的点时钟计数,当计数到95时,转移到b状态,而当计数到143时,从b状态转移到c状态,当计数到783时,从c状态转移到d状态在b、c、d三状态时,HYNC输出为高当状态机上电复位后场同步状态机进入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,//640input [11:0]h_fporch,//16input [11:0]h_sync, //96input [11:0]h_bporch,//48input [11:0]v_disp, //480input [11:0]v_fporch,//10input [11:0]v_sync, //2input [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)beginif (h_counter < (h_total-1) ) h_counter <= h_counter+1;else h_counter <= 0;end,,always @(posedge pixel_clk)begincase(h_counter) 0:{VGA_BLANK_HS_o,VGA_HS_o}=2'b01; h_fporch:{VGA_BLANK_HS_o,VGA_HS_o}=2'b00; h_fporch+h_sync:{VGA_BLANK_HS_o,VGA_HS_o}=2'b01; h_fporch+h_sync+h_bporch:{VGA_BLANK_HS_o,VGA_HS_o}=2'b11;endcaseend,,wire [11:0]v_total;assign v_total = v_disp+v_fporch+v_sync+v_bporch;//v counter genreg [11:0]v_counter;reg VGA_VS_o;reg VGA_BLANK_VS_o;always @(posedge vga_hs)beginif (v_counter < (v_total-1)) v_counter <= v_counter+1;//805else v_counter <= 0;end,,always @(posedge vga_hs)begincase(v_counter) 0:{VGA_BLANK_VS_o,VGA_VS_o}=2'b01; v_fporch:{VGA_BLANK_VS_o,VGA_VS_o}=2'b00; v_fporch+v_sync:{VGA_BLANK_VS_o,VGA_VS_o}=2'b01; v_fporch+v_sync+v_bporch:{VGA_BLANK_VS_o,VGA_VS_o}=2'b11;endcaseend,,assign vga_hs=VGA_HS_o;assign vga_vs=VGA_VS_o;assign vga_blank=VGA_BLANK_VS_o & VGA_BLANK_HS_o;always @(posedge pixel_clk)beginif(!VGA_BLANK_HS_o)CounterX <= 0;else CounterX <= CounterX+1;endalways @(posedge vga_hs)beginif(!VGA_BLANK_VS_o)CounterY <= 0;else CounterY <= CounterY+1;endendmodule,。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.