目前使用的是异步中断模式,DRDY作为MCU的中断触发源,每次下降沿触发中断采集数据,在128K采样率下,每个DRDY之间的间隔只有7us,每次数据采集之间还需要拉高拉低片选,请问一般是如何处理这种高频中断,或者有什么更好的采集数据的方式?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
1:SPI总线上仅ADS131A04,使用的就是25M SCLK,用EDMA+SPI光采集18字节的数据就需要大概6us了,128K下DRDY的间隔只有7US,不太好做其他的操作了。
您还需要做什么其他操作?
您使用CRC了没?如果没有,您可以使用Dynamic Frame,这样四通道输出5个字,即15个字节:
2:如何进入连续转换模式?需要对某个寄存器进行配置吗?
发送Wakeup 启动AD转换就是连续转换模式,它没有其他的转换模式,不需要对某个寄存器配置。
如果SPI总线上仅ADS131A04,您可以使用连续转换模式,仅检测DRDY然后读取数据就可以了,不需要每次拉低CS信号。
很抱歉,我这里说错了,是需要拉低和拉高CS以开始和结束一帧数据,因为ADS131A04每一帧的字节数是有要求的,所以需要CS信号表示一帧的开始和结束。
在 ADS131A04 产品首页,如下链接,如下截图处有 Example C Code,您可以看下示例代码是怎样实现的: