STM32/STM8技术论坛
直播中

金鼎

7年用户 173经验值
私信 关注
[问答]

请问使用STM32F4主控和外置AD芯片怎么采集1MHz的信号数据

回帖(11)

程春华

2019-1-16 07:02:29
用CPU来做估计比较费时,也正在研究这块,期望用PWM + SPI + DMA来自动实现对ADC的采样和读取,这篇文章经验证是可以实现的:
http://bbs.16rd.com/thread-56289-1-1.html
举报

李海洪

2019-1-16 07:20:55
STM32H7可以达到4M速度采样,直接用H7做就好了。
举报

刘政玮

2019-1-16 07:38:00
CPU+外置ADC的成本较高, 楼上建议采用H7也是一个不错的选择,直接内部DMA采集
举报

刘倩

2019-1-16 07:55:32
对AD精度有要求不建议用内部ADC,内部ADC精度受总线影响,特别是FMC,以太网同时工作时
举报

张润

2019-1-16 08:06:24
楼主,你SPI3挂APB1总线上(90M)二分频也是45M的时钟吧
举报

李维嘉

2019-1-16 08:16:02
本帖最后由 toofree 于 2018-4-17 14:38 编辑

用两路SPI采,一路提供时钟做主控制,另一路作为从接收。把SDATAA、SDATAB分别采两路。








话说429的SPI好嚣张,45 Mbits/s


AD7357的SPI更高,最大80M。理论上来说,429可以用45M的SPI来与AD7357通信。
举报

杨文英

2019-1-16 08:23:10
这个设计挑战性很大啊。180MHz 的处理器做 1MSPS 采样率,每个采样你只有 180 个机器周期的响应时间,基本上如果要维持采样率 CPU 就不能介入;就算换成 H7 每个采样 216 个指令周期也还是够呛。由于 AD 芯片对 CS 的要求,想不要 CPU 介入都有点难。我的建议是尝试一下看看能不能一次性配置好然后只靠定时器产生触发事件,或者就是用 FPGA 来采样。
举报

李维嘉

2019-1-16 08:32:56
引用: wang222221 发表于 2019-1-16 11:25
这个设计挑战性很大啊。180MHz 的处理器做 1MSPS 采样率,每个采样你只有 180 个机器周期的响应时间,基本上如果要维持采样率 CPU 就不能介入;就算换成 H7 每个采样 216 个指令周期也还是够呛。由于 AD 芯片对 CS 的要求,想不要 CPU 介入都有点难。我的建议是尝试一下看看能不能一次性配置好然后只靠定时器产生触发事件, ...

能用FPGA采的话,就非常简单了。
我FPGA直接采过4路SPI接口的18位AD,1M的AD。FPGA状态机采样及SPI传输,转换的数据存到4个寄存器,传输完成给个标志位。STM32并行读取FPGA输出寄存器。
举报

杨文英

2019-1-16 08:46:46
引用: zhouxk 发表于 2019-1-16 11:35
能用FPGA采的话,就非常简单了。
我FPGA直接采过4路SPI接口的18位AD,1M的AD。FPGA状态机采样及SPI传输,转换的数据存到4个寄存器,传输完成给个标志位。STM32并行读取FPGA输出寄存器。

我觉得这么做都恐怕会有点慢,还不如在 FPGA 里面做个 bus matrix,FPGA 一方面不断地维持 1MSPS 读采样,存到挂着的采样存储器里面,并且判断触发中断条件;另一方面允许处理器随时过来读数据。采样存储器用 FPGA 外挂 LPDDR3 或 GDDR5。
举报

甘璐妲

2019-1-16 08:52:35
引用: wang222221 发表于 2019-1-16 11:49
我觉得这么做都恐怕会有点慢,还不如在 FPGA 里面做个 bus matrix,FPGA 一方面不断地维持 1MSPS 读采样,存到挂着的采样存储器里面,并且判断触发中断条件;另一方面允许处理器随时过来读数据。采样存储器用 FPGA 外挂 LPDDR3 或 GDDR5。 ...

如果不是为了记录数据,我觉的可以在FPGA上做一些前级的处理
举报

杨文英

2019-1-16 09:11:17
引用: youpukeji668 发表于 2019-1-16 11:55
如果不是为了记录数据,我觉的可以在FPGA上做一些前级的处理

的确。我前面给的设计是参考了不少廉价示波器的设计思路,如果加入前级处理也无妨。或者如果不用 FPGA,可以考虑用专职流处理 DSP,譬如 ADSP-BF531 或 TMS320C6748 这种来做前级处理。专职流处理 DSP 里面的 DMA 远远要比 STM32 的高效灵活的多,可以大大减少 CPU 的干预。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分