[求助] STM32F429与AD7606之间的互动问题

zhangliyuan   2021-3-23 19:22 楼主

我们使用STM32F429VET6来读取AD7606的转换数据,之前用的是软件模拟的SPI,结果发现速度达不到200K,而且程序一直在进中断,因此占用了很多资源。然接到了硬件SPI上,但是AD7606数据的读取有一些转换完成标志位,如BUSY等,在监测这些标志位的时候依然会用到中断,那么还是同样的一直在进中断,而且不知道这些标志位的存在能不能使用DMA的方式进行数据读取,不知道我们是不是使用方式错误,广大网友有谁用过AD7606,有什么好的办法能够解决这个问题,或者有没有大神告诉我们一下STM32F429能不能读取AD7606的数据而不占太多资源?

回复评论 (5)

试试SPI用SLAVE模式,计算BUSY信号的时延,其他信号通过定时器生成

点赞 (1) 2021-3-24 06:16

BUSY位的检测用io口的IDR就行了,和spi没有关系,检测到符合的电平再启动spi传输,和dma也没关系.

尽量用硬件做就不占资源

点赞 (1) 2021-3-25 08:01
引用: huo_hu 发表于 2021-3-25 08:01 BUSY位的检测用io口的IDR就行了,和spi没有关系,检测到符合的电平再启动spi传输,和dma也没关系. 尽量用硬 ...

那这样来说200K对于STM32F429也不会有很大压力,是吧?在采集数据的过程中还可以处理其他任务?

点赞  2021-3-25 10:05
引用: zhangliyuan 发表于 2021-3-25 10:05 那这样来说200K对于STM32F429也不会有很大压力,是吧?在采集数据的过程中还可以处理其他任务?

F4耶,肯定没问题

点赞  2021-3-25 18:21

SPI速度高,尽量用硬件SPI,不要仿真。

چوآن شـين
点赞  2023-10-6 09:30
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复