TI论坛
直播中

fdvcxhtg

9年用户 1106经验值
擅长:嵌入式技术
私信 关注
[问答]

ADS131A02 DRDY信号一直没有输出是怎么回事?如何解决?


  • 采用异步中断模式(M0=VDD,M1=VDD,M2=GND),外部晶振8MHz,依次写入如下寄存器:
    RESET:    //h00 11 00 00
    UNLOCK: //h06 55 00 00
    A_SYS_CFG: //h4B 68 00 00
    WREG|CLK1: //h4D 08 00 00
    WREG|CLK2: //h4E 21 00 00
    WREG|ADC_ENA: //h4F 03 00 00
    WAKEUP:      //h00 33 00 00
    LOCK:  //h05 55 00 00
    每次写入的指令后,均用null指令可以查看指令写入正确,如发送h27000000(读地址7寄存器数据):

    但是,多次测试,DRDY持续为高电平,无法捕获到DRDY下降沿,请问是哪里出了问题?

                                                    

回帖(4)

夏日余晖

2024-11-15 10:26:49

您好,

您是按照

datasheet 中 Figure 106. ADS131A0x Configuration Sequence 初始化的设备吗?

每次写入命令后是否都有正确的响应?


不明白您附的时序图,采用异步中断模式的话是下面接线,发送读取命令的话,应该是Master

输出,返回寄存器值的话,应该是Slave 输出。


举报

风来吴山

2024-11-15 10:27:02

应该是0fh,其他无效:

您将

ADC_ENA写入 0fh 后看是否有DRDY 信号?


举报

jjll652

2024-11-15 10:27:16

晶振是否起振?测量频率对吗?

NULL 命令的响应不对,发送NULL命令,接收到的应该是0x22dd0000,ddh是寄存器STAT_1 的值:

因为是32bits 后面的补0s。



测试过程发现,多次向ADC_ENA寄存器写入0F,但读出ADC_ENA寄存器的值一直为03h。



返回03h应该是对的,因为

ADS131A02只有2通道ADC。

D_SYS_CFG 寄存器您采用的默认值是吗?那默认帧长是动态帧长,那么使能

ADC 后,SPI 帧长将改变,后面的命令帧长是否按使能通道数增加了?



举报

石玉兰

2024-11-15 11:18:59
根据您的描述,您在使用ADS131A02时遇到了DRDY信号没有输出的问题。以下是一些可能的原因和解决方案:

1. 检查硬件连接:
   - 确保DRDY引脚与微控制器的中断引脚正确连接。
   - 检查电源和地线连接是否正确,确保没有短路或断路。

2. 检查寄存器配置:
   - 您提供的寄存器配置看起来是正确的,但是请确保您已经正确地设置了所有必要的寄存器。特别是,检查A_SYS_CFG寄存器(0x4B)中的配置,确保ALERT_EN位(第7位)被设置为1,以便启用DRDY输出。

3. 检查时钟配置:
   - 您提到使用了外部8MHz晶振。请确保晶振已正确连接到ADS131A02的XTAL1和XTAL2引脚,并且晶振工作正常。

4. 检查中断模式:
   - 您提到使用了异步中断模式(M0=VDD, M1=VDD, M2=GND)。请确保这种模式与您的微控制器兼容,并且您已经正确地配置了微控制器的中断引脚。

5. 检查软件代码:
   - 确保您的软件代码正确地配置了微控制器的中断系统,以便在DRDY信号下降沿时触发中断。
   - 确保您的代码在中断服务例程中正确地处理DRDY信号,并清除中断标志。

6. 检查ADS131A02芯片:
   - 如果以上步骤都无法解决问题,可能是ADS131A02芯片本身存在问题。您可以尝试更换一个芯片,看看问题是否得到解决。

总之,您需要检查硬件连接、寄存器配置、时钟配置、中断模式和软件代码,以确保DRDY信号能够正确输出。如果问题仍然存在,可能需要更换ADS131A02芯片。
举报

更多回帖

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