FPGA中的菜鸟 发表于 2012-3-25 21:44:05

小弟诚心请教各位大侠,如何用FPGA控制VGA以精确的频率闪烁

我用FPGA控制VGA显示器的矩形区域以16HZ的精确频率闪烁。我的部分程序代码如下:
module lastvga(clk,clock,disp_dato,hsync,vsync);
input                clock;                              //系统输入时钟48MHz
input       clk;
output disp_dato;                              //VGA数据输出
output                hsync;                              //VGA行同步信号
output                vsync;                              //VGA场同步信号

reg       hcount;                                        //VGA行扫描计数器
reg    vcount;                                        //VGA场扫描计数器
reg    data;
reg x_cnt;      //行坐标
reg y_cnt;      //列坐标
      
//调用PLL模块                        
pll pll(.inclk0(clock),.c0(vga_clk));//输出VGA时钟25MHz      

assign disp_dato = (dat_act) ?data : 8'h00;   


wire xpos,ypos;      //有效显示区坐标

assign xpos = hcount-11'd144;
assign ypos = vcount-10'd35;   
//显示一个小矩形
wire e_rdy;      //矩形的显示有效矩形区域

assign e_rdy = ( (xpos>=285) && (xpos<=315) )
               &&      ( (ypos>=200) && (ypos<=230) );

always @(posedge vga_clk)
begin
      if(e_rdy==1)
                data<=(clk)?8'he0:8'h00;//red
      else               
                              data<=8'h03;//blue
endendmodule

中间部分程序省略,请查看红色字体块,if语句中的clk为16hz。下载好程序之后,VGA显示的时候,中间的矩形区域能闪烁但是不能得到16HZ的精确频率。感觉好像是VGA自身扫描对这个频率有干扰,,,跪求高手帮忙解决这个问题,,,,或者提供另外的思路/代码,,小弟感激不尽!!!!!!!!

zyp000 发表于 2012-3-25 22:34:17

初学,来看看。。。。。。。。

FPGA中的菜鸟 发表于 2012-3-26 09:52:01

求各位大侠帮助啊!被蹂躏了好几天了。。。。。感激不尽
页: [1]
查看完整版本: 小弟诚心请教各位大侠,如何用FPGA控制VGA以精确的频率闪烁