simonhao 发表于 2023-4-12 11:10:47

STM32F407 DMA->FSMC->AD7616 模式难点

AD7616转换完成,会下拉BUSY位,说明转换完成。要连续FSMC连续读16次 宽度为16的数据。

1、现在是用PWN驱动AD7616转换,BUSY位配置下拉中断。以前是在BUSY 中断读采样数据,现在采样点数过多,过于频繁进入中断。 现在想用DMA方法,转换完成可以触发DMA自动传16次 16位的数据到指定的缓存。   

2、参考了类似的AD7606 DMA模式,它是突发一次只可以读取8次 16位的数据。而AD7616是16次 16位的数据,这要什么好方法。

regbbs 发表于 2023-4-12 15:13:09

DMA 的M2M模式,使用DMA2。触发busy中断后,启动DMA进行传输即可。

simonhao 发表于 2023-4-12 16:38:36

regbbs 发表于 2023-4-12 15:13
DMA 的M2M模式,使用DMA2。触发busy中断后,启动DMA进行传输即可。

这还要进入中断处理,启动DMA传输??

regbbs 发表于 2023-4-12 17:09:07

simonhao 发表于 2023-4-12 16:38
这还要进入中断处理,启动DMA传输??

用PWM触发DMA传输

simonhao 发表于 2023-4-12 19:39:43

regbbs 发表于 2023-4-12 17:09
用PWM触发DMA传输

这要怎么触发。BUSY中断触发PWN??

云琴箫龙 发表于 2023-5-16 09:50:10

相比于7606,7616不支持在采样中读取上次结果,再者突发读取一次8个16位数据已经到STM32的上限了,所以也无法一次把16个结果获取过来。
我希望AD累计采集半个周波之后再触发一次中断,期间不需要任何CPU的参与。AD7606可以实现,AD7616目前也没找到太好的方式。
页: [1]
查看完整版本: STM32F407 DMA->FSMC->AD7616 模式难点