TI论坛
直播中

杨海清

7年用户 1727经验值
私信 关注
[问答]

ADS8681 SDO和RVS信号没反馈如何读取转换结果?需要配置哪个寄存器吗?

ADS8681驱动程序我这边SCLK和CS信号正常,但SDO和RVS信号没反馈,如何读取转换结果?需要配置哪个寄存器么?
我这边监控RVS引脚,没反应,一直是低电平。蓝色CS,黄色SCLK,其余两个是SDO和RVS信号


回帖(2)

李辰圻

10 小时前
    您好,
检查下 ADS8681的数字接口电平是否与主控端的控制电平兼容?
现在是否可以正确读写寄存器?寄存器写入后是否可以正确读出来?
您是使用的内部基准电压还是外部基准电压,可以附上ADS8681的电路图吗?
举报

陈敏

6 小时前
ADS8681是一款12位逐次逼近型模数转换器(ADC),用于将模拟信号转换为数字信号。在您的问题中,您提到SDO和RVS信号没有反馈,这可能是因为没有正确配置寄存器或连接问题。以下是一些建议和步骤,以帮助您解决这个问题:

1. 检查硬件连接:首先,请确保您的硬件连接正确。SDO(串行数据输出)和RVS(转换就绪)引脚应该正确连接到您的微控制器或其他数字接口。如果连接不正确,可能会导致信号没有反馈。

2. 配置寄存器:ADS8681有一些寄存器需要配置,以便正确读取转换结果。以下是一些关键寄存器及其功能:

   - 控制寄存器(CR):用于配置ADC的工作模式、通道选择和采样速率等。
   - 状态寄存器(SR):用于读取ADC的状态,包括转换就绪(RVS)和数据就绪(DAV)标志。
   - 数据寄存器(DR):用于读取转换结果。

3. 初始化ADS8681:在读取转换结果之前,您需要初始化ADS8681。这包括设置控制寄存器(CR)以选择正确的工作模式、通道和采样速率。以下是一个示例代码片段,用于初始化ADS8681:

```c
// 设置控制寄存器(CR)
uint8_t cr = 0x00; // 根据您的需求配置CR寄存器
spi_write(cr);

// 等待转换就绪(RVS)标志
while(!(spi_read_status() & 0x01)); // 0x01是状态寄存器(SR)中的RVS位
```

4. 读取转换结果:在初始化ADS8681并配置控制寄存器后,您可以开始读取转换结果。以下是一个示例代码片段,用于读取转换结果:

```c
// 读取数据寄存器(DR)
uint16_t data = spi_read_data();
```

5. 检查RVS引脚:如果RVS引脚仍然没有反应,您可以尝试检查您的硬件设计和连接。确保RVS引脚没有受到干扰或损坏。此外,您还可以检查您的微控制器的引脚配置,确保它正确地读取RVS引脚的状态。

总之,要解决SDO和RVS信号没有反馈的问题,您需要检查硬件连接、配置寄存器并正确初始化ADS8681。希望这些建议能帮助您解决问题。
举报

更多回帖

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