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.

ADS131A04: 在128K下数据连续采集

Part Number: ADS131A04

目前使用的是异步中断模式,DRDY作为MCU的中断触发源,每次下降沿触发中断采集数据,在128K采样率下,每个DRDY之间的间隔只有7us,每次数据采集之间还需要拉高拉低片选,请问一般是如何处理这种高频中断,或者有什么更好的采集数据的方式?

  • 使用的是DSP6748+ADS131A04,用EDMA+SPI光采集18字节的数据就需要大概6us了,时间太紧张

  • 您好,

    您是SPI总线上挂接了多个设备是吗?总的来说就是您需要使用更高频率的SCLK以加快读取速度。ADS131A04支持的最高SCLK频率:

    如果SPI总线上仅ADS131A04,您可以使用连续转换模式,仅检测DRDY然后读取数据就可以了,不需要每次拉低CS信号。

  • 1:SPI总线上仅ADS131A04,使用的就是25M SCLK,用EDMA+SPI光采集18字节的数据就需要大概6us了,128K下DRDY的间隔只有7US,不太好做其他的操作了。

    2:如何进入连续转换模式?需要对某个寄存器进行配置吗?

  • 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,您可以看下示例代码是怎样实现的:

    https://www.ti.com.cn/product/cn/ADS131A04?_ticdt=MTcwMjM1ODY4OXwwMTg4MDMyMWFhZmQwMDAwOGUzNWQ4NDkyMTg4MDUwNmYwMDE4MDY3MDA3ZTh8R0ExLjEuMTc4Nzk3MTIxNS4xNjgzNjgwOTQ3#software-development

  • 您好,感谢您的回复

    1:目前的代码就是参考您给出的链接

    2:目前就是Wakeup启动以后发送18个字节来获取数据

    3:我们现在想要存多个数据后,统一进行算法,比如存1M数据,然后再做算法的期间,ADC还要进行数据采集,因为每一帧数据都要进行CS信号的拉高拉低,所以要频繁的进入中断来处理CS信号,和启动EDMA收发数据,所以想问问有没有更好的方式来采集AD数据

    4:如果在配置为128K采样率的情况下,每个通道都是128K采样率吗?

  • 4:如果在配置为128K采样率的情况下,每个通道都是128K采样率吗?

    是的,4通道同步采样。