zhouxinjie1 发表于 2009-2-11 11:01:57

VGA Verilog源代码 使你彻底搞明白VGA EP2C8 代码已上传【恢复】

VGA时序实现 首先,根据刷新频率确定主时钟频率,然后由主时钟频率和图像分辨率计算出行总周期数,再把表1中给出的a、b、c、d各时序段的时间按照主计数脉冲源频率折算成时钟周期数。在CPLD中利用计数器和RS触发器,以计算出的各时序段时钟周期数为基准,产生不同宽度和周期的脉冲信号,再利用它们的逻辑组合构成图2中的a、b、c、d各时序段以及D/A转换器的空白信号BLANK和同步信号SYNC。 

本贴被 zhouxinjie1 编辑过,最后修改时间:2009-02-11,11:51:40.

zhouxinjie1 发表于 2009-2-11 12:30:57

我这只是学习,如果是高手可以不看我刚试过1027*768  75HZ

shark313 发表于 2009-2-11 12:10:52

只是行场同步能达到那个频率没什么意思,我上面只是随便举个例子,并且我说的是不用DAC的情况下的.在网上已经有成品在卖了,不用DAC可以实现1027*768 @70HZ.有的网友买了,已经验证了,播放电影比较流畅.

zhouxinjie1 发表于 2009-2-11 11:51:07

//////////////////////////////////VGA测试代码// 周新杰 qq:123826409// 山东中孚信息//EP2C8实验板module selfVGA(dclk,r,g,b,hs,vs);input dclk;//50MHZ 1024X768 60HZoutput r,g,b,hs,vs;reg hs,vs;reg count_v,count_h;reg color;assign {r,g,b}=color;//////////行同步信号周期/////////////always@(posedge dclk)begin  if(count_h==1040)//20.8US    count_h<=0;  else     count_h<=count_h+1;end//////////列同步信号周期////////////always@(posedge dclk)begin   if(count_v==806)    count_v<=0;  else if(count_h==1040)   count_v<=count_v+1;end/////////////HS\VS信号形成//////////////always@(posedge dclk)begin   if(count_h==0) hs<=0;  if(count_h==105) hs<=1;//行消隐周期  if(count_v==0) vs<=0;  if(count_v==6) vs<=1;//列消隐周期(行)  //count_h(230-1020)显示区域/有时延减少2个228   if((count_h>228)&(count_h<425))    color<=3'b100;   else if((count_h>=425)&(count_h<623))    color<=3'b010;   else if((count_h>=623)&(count_h<820))    color<=3'b001;   else if((count_h>=820)&(count_h<1018))    color<=3'b110;endendmodule

zhouxinjie1 发表于 2009-2-11 11:18:08

EP2C8实现 1027*768 @70HZ 的VGA驱动 这个没问题,稍微一改就行啊。

durgy 发表于 2009-2-11 11:15:28

找不到源代码

durgy 发表于 2009-2-11 11:11:50

嵌入式高分辨率VGA国像显示方法研究ourdev_618247.pdf(文件大小:258K) (原文件名:solution1716.pdf) 我帮你传一下吧

durgy 发表于 2009-2-11 11:08:01

表1在何处呢?

zhouxinjie1 发表于 2009-2-11 11:07:52

怎么传了好几次都不行啊 有要的QQ:123826409 

shark313 发表于 2009-2-11 11:06:44

表一在哪?都没说到EP2C8怎么感觉像那论文上直接复制下来的,不会是水贴吧。来点实际的,比如用EP2C8实现 1027*768 @70HZ 的VGA驱动
页: [1]
查看完整版本: VGA Verilog源代码 使你彻底搞明白VGA EP2C8 代码已上传【恢复】