集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 1425|回复: 4

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

[复制链接]
FPGA中的菜鸟 发表于 2012-3-25 21:33:00 | 显示全部楼层 |阅读模式
我用FPGA控制VGA显示器的矩形区域以16HZ的精确频率闪烁。我的部分程序代码如下:
module lastvga(clk,clock,disp_dato,hsync,vsync);
input                clock;                                //系统输入时钟48MHz
input       clk;
output [7:0]disp_dato;                                //VGA数据输出
output                hsync;                                //VGA行同步信号
output                vsync;                                //VGA场同步信号

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

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


wire[9:0] 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
end
endmodule

中间部分程序省略,请查看红色字体块,if语句中的clk为16hz。下载好程序之后,VGA显示的时候,中间的矩形区域能闪烁但是不能得到16HZ的精确频率。感觉好像是VGA自身扫描对这个频率有干扰,,,跪求高手帮忙解决这个问题,,,,或者提供另外的思路/代码,,小弟感激不尽!!!!!!!!
 楼主| FPGA中的菜鸟 发表于 2012-3-26 09:54:13 | 显示全部楼层
跪求各位大侠帮助!被蹂躏了好几天了。。。。。感激不尽
ChenDongKui 发表于 2012-3-28 13:01:53 | 显示全部楼层
想知道你的帧频率为多少??还有仿真一下e_rdy的频率再看看;
 楼主| FPGA中的菜鸟 发表于 2012-3-29 09:31:18 | 显示全部楼层
帧频为60HZ
225631 发表于 2012-4-16 22:20:04 | 显示全部楼层
data<=(clk)?8'he0:8'h00;//red
这个clk,有问题吗?我感觉时钟满天飞了,建议你使用使能信号控制,另外你的VGA的点像素是25M的,那你就继续分频得到一个16HZ的,再操作!不知道能不能解决?
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-25 15:48 , Processed in 0.379614 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表