阅读:1467回复:6
设计高速数据采集卡时遇到的困难
现有一高速数据采集卡,采样频率最高可为100Msps。卡上原来的存储单元是静态RAM,
考虑到成本太贵,所以想把静态的RAM换成SDRAM,但是遇到了一些问题。 (i).A/D转换器送过来的数据是连续的,但是对sdram进行写入时要有刷新,充电等操作, 这时数据线所要求的输入数据应该是不连续的。 ........怎么解决这个问题呢? |
|
沙发#
发布于:2003-08-05 15:15
1、利用解数据的间隙进行刷新肯定是可以的,只要用一个数倍于A/D数率的时钟控制写和刷新。
2、写操作本身就是刷新,如果整个存储体不太大,(同一单元)两次写操作间隔时间小于数据保持时间,就不用专门刷新。 |
|
板凳#
发布于:2003-08-05 18:52
Suny1996,感谢你的热心回复
但是我还有几个疑问 1.我写入数据时是采用全页模式写入的,也就是在每个时钟周期的上升沿读入数据到不同的地址空间。 如果时钟周期大于A/D转换频率,那么,是不是会把同一数据写入到不同的地址空间呢? 2.我用的sdram的刷新频率是64ms/4096行,时钟频率为50MHz,是不是不必单独进行刷新呢? |
|
地板#
发布于:2003-08-05 21:52
你可能需要使用外部fpga做个sdram的接口,最好内部还要有fifo,这样可以暂存数据,sdram还需要物理地址转换为行列地址,刷新逻辑其实比较简单,主要是你的sdram接口的设计。
|
|
地下室#
发布于:2003-08-06 12:27
是的,我按照Altera公司sdr_sdram控制器白皮书用fpga做了一个专门的sdram接口。可是里面没有讲到fifo的设计呀,请问怎么设计fifo呢?加一个数据缓冲区?
|
|
5楼#
发布于:2003-08-06 14:44
fifo可以使用标准的 altera的宏库,就是lpm_fifo,可以在altera库中找到,它使用嵌入式阵列块,不占用系统资源,而且速度高,可以配置大小(一般1k字节)、宽度(8位、16位和32位及以上),提供完全的fifo操作功能。
|
|
6楼#
发布于:2003-08-06 19:37
谢谢zxw_top兄的热心回复
还有suny1966大哥。 我在考虑考虑, 以后有不懂的还要请教大家 |
|