bestrafi
驱动牛犊
驱动牛犊
  • 注册日期2003-05-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1467回复:6

设计高速数据采集卡时遇到的困难

楼主#
更多 发布于:2003-08-05 13:43
现有一高速数据采集卡,采样频率最高可为100Msps。卡上原来的存储单元是静态RAM,

考虑到成本太贵,所以想把静态的RAM换成SDRAM,但是遇到了一些问题。

(i).A/D转换器送过来的数据是连续的,但是对sdram进行写入时要有刷新,充电等操作,

这时数据线所要求的输入数据应该是不连续的。

........怎么解决这个问题呢?
Suny1966
驱动牛犊
驱动牛犊
  • 注册日期2002-12-08
  • 最后登录2011-03-25
  • 粉丝0
  • 关注0
  • 积分80分
  • 威望8点
  • 贡献值0点
  • 好评度8点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-08-05 15:15
  1、利用解数据的间隙进行刷新肯定是可以的,只要用一个数倍于A/D数率的时钟控制写和刷新。
  2、写操作本身就是刷新,如果整个存储体不太大,(同一单元)两次写操作间隔时间小于数据保持时间,就不用专门刷新。
bestrafi
驱动牛犊
驱动牛犊
  • 注册日期2003-05-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-08-05 18:52
Suny1996,感谢你的热心回复
但是我还有几个疑问

1.我写入数据时是采用全页模式写入的,也就是在每个时钟周期的上升沿读入数据到不同的地址空间。
如果时钟周期大于A/D转换频率,那么,是不是会把同一数据写入到不同的地址空间呢?

2.我用的sdram的刷新频率是64ms/4096行,时钟频率为50MHz,是不是不必单独进行刷新呢?
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-08-05 21:52
你可能需要使用外部fpga做个sdram的接口,最好内部还要有fifo,这样可以暂存数据,sdram还需要物理地址转换为行列地址,刷新逻辑其实比较简单,主要是你的sdram接口的设计。
bestrafi
驱动牛犊
驱动牛犊
  • 注册日期2003-05-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-08-06 12:27
是的,我按照Altera公司sdr_sdram控制器白皮书用fpga做了一个专门的sdram接口。可是里面没有讲到fifo的设计呀,请问怎么设计fifo呢?加一个数据缓冲区?
zxw_top
驱动大牛
驱动大牛
  • 注册日期2003-07-18
  • 最后登录2020-04-26
  • 粉丝0
  • 关注0
  • 积分1116分
  • 威望2537点
  • 贡献值0点
  • 好评度202点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2003-08-06 14:44
fifo可以使用标准的 altera的宏库,就是lpm_fifo,可以在altera库中找到,它使用嵌入式阵列块,不占用系统资源,而且速度高,可以配置大小(一般1k字节)、宽度(8位、16位和32位及以上),提供完全的fifo操作功能。
bestrafi
驱动牛犊
驱动牛犊
  • 注册日期2003-05-03
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-08-06 19:37
谢谢zxw_top兄的热心回复
还有suny1966大哥。
我在考虑考虑,
以后有不懂的还要请教大家
游客

返回顶部