TI论坛
直播中

王飞云

8年用户 1579经验值
私信 关注
[问答]

在ADS131A04异步中断模式下应该如何读取其AD转换的结果?


  • 我使用TMS320VC5509A的Mcbsp模块配置为spi来控制ADS131A04。其中数据接收和发送均为每帧1字,每字32位。
    目前发送命令字后ADS131A04的回应均正确。
    ADS131A04主要寄存器配置如下:
    ADS13_REG(WREG|A_SYS_CFG, 0X78); //enable internal reference volatage (4.0v)
    ADS13_REG(WREG|D_SYS_CFG, 0X3E); //Fixed six device words per frame for the ADS131A04
    ADS13_REG(WREG|CLK1, 0X08); //sclk input fICLK=200Khz
    ADS13_REG(WREG|CLK2, 0X29); //fMOD=200Khz/2 fDATA=fMOD/200=500hz
    ADS13_REG(WREG|ADC_ENA, 0X0F); //ADC CHANNEL ENABLE ALL
    我尝试过在收到DRDY信号后不停地发送0xFFFFFFFF或0x00000000,但接收到的结果全是0。
    请问应该如何读取AD的转换结果呀?

回帖(3)

白桦

2024-11-22 17:03:00
目前您是否已经验证过寄存器写入后可以正确读出?
是否检查了各供电电压正常?
基准电压输出是否正常?
晶振是否起振?
是否按照datasheet 中 Figure 106. ADS131A0x Configuration Sequence 流程图配置设备?
您是否可以附上原理图以供检查?
举报

王丽

2024-11-22 17:03:57

您是在2种应用中用到ADS131A0A4是吗?一种主控端是 stm32f103,然后是这一种主控端为TMS320VC5509A? 主控端是

stm32f103时工作良好?

为什么说是“数字地和模拟地均由stm32f103提供。”主控端不是TMS320VC5509A吗?

检查下M0、M1、M1是设置在期望的电平状态吗?


电路图中将地平面划分了几种地,这几种地之间是否使用0欧姆短接以进行共地?


举报

五斤麻辣油

2024-11-23 16:24:26
在ADS131A04异步中断模式下读取AD转换结果的步骤如下:

1. 配置ADS131A04寄存器:
   您已经配置了ADS131A04的主要寄存器,包括系统配置、时钟配置和ADC通道启用。这些配置确保了ADS131A04以正确的模式和速率工作。

2. 发送读取命令:
   在异步中断模式下,您需要发送一个读取命令来启动AD转换。通常,这个命令是发送到ADS131A04的RDATA寄存器。您可以使用以下代码发送读取命令:

   ```c
   uint32_t read_command = ADS13_REG(RREG|RDATA);
   Mcbsp_SendData(read_command);
   ```

3. 等待ADS131A04完成AD转换:
   在异步中断模式下,ADS131A04会在AD转换完成后自动发送一个中断信号。您需要在TMS320VC5509A的Mcbsp模块中配置中断服务例程(ISR)来处理这个中断信号。

4. 在中断服务例程中读取AD转换结果:
   当收到ADS131A04的中断信号时,您可以在中断服务例程中读取AD转换结果。由于您配置的数据接收和发送均为每帧1字,每字32位,您可以使用以下代码读取AD转换结果:

   ```c
   void Mcbsp_InterruptServiceRoutine(void)
   {
       uint32_t ad_result;
       ad_result = Mcbsp_ReceiveData();
       // 处理AD转换结果
   }
   ```

5. 处理AD转换结果:
   在中断服务例程中,您可以根据需要对AD转换结果进行处理,例如存储结果、计算平均值或触发其他操作。

通过以上步骤,您可以在ADS131A04异步中断模式下读取AD转换结果。请注意,您需要确保TMS320VC5509A的Mcbsp模块和ADS131A04之间的SPI通信正常工作,并且正确配置了中断服务例程。
举报

更多回帖

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