TI论坛
直播中

吴湛

10年用户 857经验值
擅长:电源/新能源
私信 关注
[问答]

ADS131M03的寄存器读写是要在转换触发的中断中进行配置,还是可以在standby状态下进行?


  • 我使用32位M4单片机,通过SPI总线与AD进行通信
    基本情况:
    ADC外接晶振8.192MHz,晶振信号在板子上电后一直连着ADC的时钟引脚,片选信号通过单片机CS程序控制,SPI通信SCLK频率位12.5MHZ。
    单片机外部中断接ADC的DRDY。
    现象:
    1、板子上电后,ADC的DRDY会以4KHz输出脉冲,并触发单片机中断,符合芯片寄存器默认设置。
    2、在关闭单片机中断的情况下,此时ADC的DRDY输出脉冲,只是单片机不响应此中断的情况下:
               2.1 通过SPI总线发送 standby 和 reset 以及wakeup命令,单片机可以正确响应,但是SPI收到的回复全部是0x00,回复信息不对。
               2.2 通过PREG读取单个寄存器数据时,返回值也全部是0x00,数据不对。
    问题:
    1、在ADC的CLKIN上一直有8.192MHz晶振信号的情况下,通过SPI接口,发送standby命令,将ADC设置为standby模式,请问在standby模式下,DRDY不在发生变化,此时能对芯片进行寄存器的读写吗?
    2、在DRDY的中断触发中,通过SPI发送24位,5帧的命令,在第一帧发送PREG读取单个寄存器的命令,其余均为NULL命令,在下一次DRDY的中断触发中,SPI读取到的依然是0x00,没有收到正常的回复。
    3、ADS131M03的寄存器读写是要在转换触发的中断中进行配置,还是可以在standby状态下进行?

回帖(2)

夏日余晖

昨天 15:14

您好,


standby模式下芯片的所有通道是禁止状态,也就是说无法进行ADC转换,但保留了寄存器配置功能,即写的功能。  

![](https://file1.elecfans.com/web2/M00/FF/85/wKgZomapWE6AGGAGAABuwP9xl-4935.jpg)

举报

李俊

昨天 17:38
根据您提供的信息,ADS131M03是一款高精度模数转换器(ADC),它支持通过SPI总线与微控制器(如您使用的32位M4单片机)进行通信。您提到的寄存器读写操作可以在不同的状态下进行,包括在转换触发的中断中进行配置,也可以在standby状态下进行。

1. **在转换触发的中断中进行配置**:这是一种常见的做法,特别是在需要连续采集数据的应用中。当ADC完成一次转换并准备好新数据时,它会触发一个中断(DRDY),此时微控制器可以响应这个中断,读取数据寄存器中的数据,并根据需要更新配置寄存器以准备下一次转换。

2. **在standby状态下进行**:在standby状态下,ADC的功耗降低,但仍然可以进行寄存器的读写操作。这适用于那些不需要连续采集数据,而是在特定条件下唤醒ADC进行数据采集的应用。在standby状态下,您可以通过发送standby命令使ADC进入低功耗模式,然后通过reset和wakeup命令唤醒ADC,进行必要的寄存器配置。

根据您的描述,您的系统在上电后ADC的DRDY以4KHz输出脉冲,这表明ADC正在以4KHz的速率触发中断。在关闭单片机中断的情况下,您可以通过SPI总线发送standby、reset和wakeup命令来控制ADC。这些操作可以在任何时候进行,包括在standby状态下。

您的操作步骤2.1中提到的通过SPI总线发送standby和reset以及wakeup命令是正确的,这些命令用于控制ADC的状态。在standby状态下,ADC的功耗降低,但您仍然可以通过SPI总线与ADC通信,进行寄存器的读写操作。

总结来说,您可以在转换触发的中断中进行寄存器的读写配置,也可以在standby状态下进行。具体选择哪种方式取决于您的应用需求和功耗考虑。如果您的应用需要连续采集数据,那么在中断中进行配置可能更合适;如果您的应用在特定条件下唤醒ADC进行数据采集,那么在standby状态下进行配置可能更有效。
举报

更多回帖

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