|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
×
小弟刚刚学习verilog硬件编程,现有一个关于NTSC制式下sdram controller的问题想请教下各位大侠:
sdram用于存储720×480的一帧图像,图像数据传输是实时的(象素点的传输频率为27.027MHz),每行图像传输速度为15.84KHz,即一行之中能够传输(27.027M/15.84K=858个象素)每行有(825-720)105个象素点的时间空闲。SDRAM用的是三星的16M SDRAM,每个bank有4096行,这样计算一下刷新速率为(4096/64ms)64KHz。
问题便产生了,如果用27.027MHz的时钟驱动SDRAM,那么每隔422个象素点就要进行一次自动刷新。但是每行中的数据都是连续传输的,中间加入9个时钟周期以上的刷新时间就会造成数据的丢失。现在我只想到了几个办法:
1。更换行数小于1024的SDRAM,这样就会使自动刷新频率降到16KHz以下,就可以在每一行的空余时间(105个象素点)进行刷新,但是我查找过三星的产品目录,好像最少行数就是4096行的。
2。SDRAM与图像数据流采用不同的时钟域,这样制造空闲的时间进行刷新。但是这样又会使操作变得很复杂,系统开销也会增大很多。
3。放弃应用SDRAM。
麻烦做过相似项目的高手指点一下,还有什么好的方法么?? |
|