MyFPGA Forum

 找回密码
 注册
搜索
查看: 7732|回复: 7
打印 上一主题 下一主题

关于VGA显示

[复制链接]
1#
发表于 2010-8-16 10:04:13 | 显示全部楼层
首先这个应该只需要一个 write port 就足够,
稍稍修改如下…

.WR1_DATA({sCCD_R[11:7], sCCD_G[11:6],  sCCD_B[11:7]}),//16位
.WR1(sCCD_DVAL),
.WR1_ADDR(0),
.WR1_MAX_ADDR(480*340),
.WR1_LENGTH(9'h100),
.WR1_LOAD(!DLY_RST_0),
.WR1_CLK(CCD_PIXCLK),
              
//        FIFO Read Side 1
.RD1_DATA(Read_DATA3),//送往vga显示输出.RD1(Read),
.RD1_ADDR(0),
.RD1_MAX_ADDR(480*340),
.RD1_LENGTH(9'h100),
.RD1_LOAD(!DLY_RST_0),
.RD1_CLK(~VGA_CTRL_CLK),
//        FIFO Read Side 2
.RD2_DATA(GPIO0_D[15:0]), //送往GPIO0数据给NIOS处理.
.RD2_ADDR(22'h0),
.RD2_MAX_ADDR(22'h480*340),
.RD2_LENGTH(9'h100),
.RD2_LOAD(!DLY_RST_0),
.RD2_CLK(GPIO0_D[31]),//NIOS控制的时钟
2#
发表于 2010-8-16 10:06:34 | 显示全部楼层
2.当我按下暂停键时候write2里面的数据不变了,这个时候数据发送出去,出现雪花难道是发送数据的地址没有+1吗?发送的全是地址开始处的16位数据?
当你按下暂停键时, sCCD_DVAL 就会变成 low, 是根本不会写入的喔~
3#
发表于 2010-8-16 10:09:05 | 显示全部楼层
3.如果每发送一次地址+1,那么我用nios产生时钟,时钟到达则从write2里面发送一次16位数据给nios。这样的话write2里面的数据就会全部送往NIOS,那么为什么还要出现雪花呢?
4.我这样认为的:按下暂停键,write2里面的内容就不变了(vga显示的图像也暂停了),这个时候NIOS控制时钟,时钟下降沿到达则发送一次.RD2_DATA(GPIO0_D[15:0])数据,然后将数据填入到数组里面,接着第二次循环等等,直到数组填满,这样NIOS就全部拿到了采集的vga数据打包为bmp
5.我的这种想法对吗?特别是地址+1这个地方,是自动+1,还是得我来控制+1呢?


这里 SDRAM 的地址是 SDRAM Controller 内部会根据你设定的 Length 自动往上加的动作喔!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2024-5-18 13:11 , Processed in 0.033765 second(s), 14 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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