OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4686|回复: 9

fpga+stm32的信号采集方案设计的问题

[复制链接]

24

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
377
金钱
377
注册时间
2013-6-19
在线时间
53 小时
发表于 2015-5-18 08:57:51 | 显示全部楼层 |阅读模式
5金钱
有个问题想请教一下,想做一个fpga+stm32 的信号采集。信号采集速率在30Msps以上。但是信号不是一直都有的,而是靠外部触发电路来触发采集的。采集后先缓存在sdram里。然后stm32读走。fpga里打算跑nios。但是现在有一个问题是,fpga将数据采集到sdram里。stm32通过fsmc总线读sdram里的数据。但这样写的时候就不能读,读的时候就不能写了。这样的话。采集到的波型就不是连续的。因为要以最快的速度来采集信号,所以不能采集一个点,处理一个点那样做。只能把一段时间内的信号以最快的速度采集到sdram里。难道要加双sdram做缓冲?

最佳答案

查看完整内容[请看2#楼]

SRAM是不能同时读写的。加双SRAM做缓冲吧。信号读取速度100M,那你ARM通过FPGA读取SRAM速度至少也要达到50M吧。两片SRAM正好通过FPGA乒乓模式进行读写。SRAM要达到50M,估计片子不便宜,如果异步速度达不到,还要用同步SRAM,SRAM价格就更贵了。 另外FPGA引脚也要不少。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12064
金钱
12064
注册时间
2013-3-8
在线时间
1283 小时
发表于 2015-5-18 08:57:52 | 显示全部楼层
SRAM是不能同时读写的。加双SRAM做缓冲吧。信号读取速度100M,那你ARM通过FPGA读取SRAM速度至少也要达到50M吧。两片SRAM正好通过FPGA乒乓模式进行读写。SRAM要达到50M,估计片子不便宜,如果异步速度达不到,还要用同步SRAM,SRAM价格就更贵了。
另外FPGA引脚也要不少。
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12064
金钱
12064
注册时间
2013-3-8
在线时间
1283 小时
发表于 2015-5-18 08:57:52 | 显示全部楼层


这样的电路结构可以吧!我目前用的是这种结构。不过要求FPGA引脚比较多。
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12064
金钱
12064
注册时间
2013-3-8
在线时间
1283 小时
发表于 2015-5-18 08:57:52 | 显示全部楼层
回复【5楼】Vampireyifeng:
---------------------------------
ARM的读SRAM的速度一定要大于AD采集速度的1/2。否则很难做到连续读(在同等位数的情况下)。
比如FPGA读AD是8位总线,FPGA写SRAM也是8位总线,ARM读SRAM也是8位总线,那么ARM的读SRAM的速度一定要大于AD采集速度的1/2。
如果FPGA读AD是8位总线,FPGA写SRAM也是16位总线,ARM读SRAM也是16位总线,那么ARM的读SRAM的速度一定要大于AD采集速度的1/4。
其他情况自己算吧。应该不难,如果没写过FPGA代码的话,可能就麻烦点。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-5-19 01:18:22 | 显示全部楼层
帮顶....
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12064
金钱
12064
注册时间
2013-3-8
在线时间
1283 小时
发表于 2015-5-19 15:42:43 | 显示全部楼层
这个要根据采集点数及采集间隔计算读写速度及SDRAM容量大小。
我之前做过一块这样的项目。用的是IMX6+fpga+双sdram,imx6读写速度为66M。fpga读写速度为133M。
回复

使用道具 举报

24

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
377
金钱
377
注册时间
2013-6-19
在线时间
53 小时
 楼主| 发表于 2015-5-19 19:31:49 | 显示全部楼层
回复【4楼】augustedward:
---------------------------------
我现在的打算做的方案就是这样的。打算用双SDRAM做缓冲。因为我AD采样的速率大概在32Msps以上。STM32的读写速度大概是十几M。所以打算用双SDRAM做缓冲。但是具体怎么做不是很清楚。不知道可不可以交流一下。
回复

使用道具 举报

24

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
377
金钱
377
注册时间
2013-6-19
在线时间
53 小时
 楼主| 发表于 2015-5-19 20:51:16 | 显示全部楼层
回复【6楼】augustedward:
---------------------------------
谢谢指导,我大概有思路了。正在写代码中。你用的是双SRAM?成本高了点吧。
回复

使用道具 举报

9

主题

1385

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
12064
金钱
12064
注册时间
2013-3-8
在线时间
1283 小时
发表于 2015-5-19 20:56:27 | 显示全部楼层
回复【8楼】Vampireyifeng:
---------------------------------
是啊,而且还用的同步SRAM,一片800多。一片FPGA   1000多!成本是不低
回复

使用道具 举报

15

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2015-11-16
在线时间
92 小时
发表于 2016-1-15 23:39:43 | 显示全部楼层
学习了,,,,
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 18:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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