微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 关于VGA接口同步信号问题

关于VGA接口同步信号问题

时间:10-02 整理:3721RD 点击:

最近在学FPGA,要用到VGA接口连接屏幕,对其中水平同步和垂直同步这两个信号感到疑惑。在其他地方看了相关资料后了解得到,水平同步信号是让电子枪回到开始位置的一个信号,低电平有效。但在阅读verilog代码的时候发现一点问题。相关的代码如下:

  1. always @ ( posedge Clk_Pixel or negedge Rst_N )
  2.          begin
  3.                 if(!Rst_N)
  4.                         begin
  5.                                 H_Sysc <= 0;
  6.                                 V_Sysc <= 0;
  7.                         end
  8.                 else
  9.                         begin
  10.                                 H_Sysc <= ( H_Pixel_Count>= 96 )?1:0;                                                               
  11.                                 V_Sysc <= ( V_Line_Count>= 2 )?1:0;                                
  12.                         end
  13.          end

复制代码


其中H_Sysc,V_Sysc是水平同步和垂直同步,H_Pixel_Count和V_Line_Count信号是横纵坐标。也就是说横坐标小于96的时候H_Sysc=0,大于等于96的时候H_Sysc=1。不是很理解为什么要这样。按照我原来的理解,应该是横坐标到最大值时H_Sysc=0让电子枪回到最左边,其他时候H_Sysc=1。另外,在H_Sysc=0的这90多个周期内,电子枪在做什么呢?是从最左边开始依次向右打上白色吗?
我还感到困惑的是,在不同的代码中,都取了96和2这两个值,这是有什么讲究吗?
希望各位大神能讲解一下,谢谢!

这个取值是VESA标准中规定的,水平同步信号和垂直同步信号都分为同步段,后廊段,显示段,前廊段四部分根据显示器分辨率和刷新率的不同,SYNC段的长度是不一样的,可以下份VESA的标准来看看,96和2 对应的应该是640x480@60Hz

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top