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.

[参考译文] ADS1262:/DRDY 引脚在读取数据后永久变为高电平状态

Guru**** 2391365 points
Other Parts Discussed in Thread: ADS1262

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/975468/ads1262-drdy-pin-comes-high-state-permanently-after-reading-a-data

器件型号:ADS1262

您好!  

我正在使用 ADS1262直接读取数据。 /DRDY 引脚在 引脚变为数据表中指定的低电平时进行轮询以读取数据。 系统可以正确读取两个数据、但在第二次读取之后、/DRDY 引脚会永久升高。 原因可能是什么?

*由于寄存器被正确写入并且引脚/DRDY 开始低至编程的频率,ADS1262的初始化是良好的。

n´t 在此过程中,我还检查了这些寄存器,它们也没有改变。

*在所有过程中,AVDD 和 DVDD 电源都是正确的。

我给您附加了一些图片。

前两幅图像是关于正确读取第一个数据的。

 

第二个图像是关于读取第二个数据、此时/DRDY 永久进入高电平状态。

提前感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、用户:

    我有几个问题要问您:

    • 您能否共享原理图和寄存器设置?
    • 您如何进行采样:通过连续转换或脉冲转换模式?
    • 是否使用 START 命令或 START 引脚开始转换?
    • 您能否为您发送的示波器截图加上标签? 我不确定哪些波形对应于哪些引脚、我不想进行错误的猜测

    请告诉我。 谢谢!

    布莱恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    您能否共享原理图和寄存器设置?

    这是 ADS1262连接。  它连接到称重传感器。 连接方式与 ADS1262EVM-PDK 评估板中使用的连接方式类似、实际上此刻我正在使用 ADS1262评估板。

    这是初始化函数、您可以在其中看到寄存器设置。

    您如何进行采样:通过连续转换或脉冲转换模式?

    我正在通过连续转换模式进行采样。

    这是读取数据函数。  它使用 HAL_SPI_Receive。  HAL_SPI_Receive 函数依次使用 HAL_SPI_TransmitReceive。  该问题在读取 HAL_SPI_TransmitReceive 内的第二个数据后发生 。

    1.  读取数据函数

    HAL_SPI_Receive 函数

    HAL_SPI_TransmitReceive 函数: 在函数的这一部分中发送和接收位、在发送最后一位时、引脚/DRDY 进入高电平状态(用箭头突出显示)。

    是否使用 START 命令或 START 引脚开始转换?

    我已经尝试了这两种方法。

    您能否为您发送的示波器截图加上标签? 我不确定哪些波形对应于哪些引脚、我不想进行错误的猜测

    是的、很抱歉、我忘记了。

    黄色:/DRDY 信号。

    粉色:SCLK 信号

    蓝色:DOUT/DRDY 信号

    绿色:DIN 信号

    提前感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、

    感谢您提供更多信息。

    当 DRDY 像这样挂起时、是否有恢复的方法? 您是否可以发出新的 START 命令、设备将再次开始工作? 是否需要切换 CS 或发出重置命令? 是否需要对电源进行循环?

    此外、您是否在器件转换时(在器件开始冻结之前)获取有效数据?

    您是否曾尝试绕过外部晶体并使用 ADS1262的内部振荡器? 一些客户报告了这些晶体电路的稳定性问题、对其进行调优可能是一项挑战。 如果这不会改变 ADC 的行为、那么至少可以排除这种情况。

    布莱恩

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Bryan、

    我已经解决了这个问题、如果这个问题对任何人都有用、我会分享这个过程。

    我注意到、在我发送给您的示波器图像中、当读取第二个数据时、DIN 信号发生了微小变化(绿色信号)。

    我对这种变化进行了缩放、发现它具有这种形状(放大到100mV/div。)

    看到这一点、我检查了数据表、并在"9.4.7.1读取数据直接(仅 ADC1)"中找到...

    ''直接读取数据要求从 DRDY 处于低电平到回读期间不会发生串行活动、或数据无效。 串行接口为全双工;因此、在数据回读期间会对命令进行解码。 如果不需要任何命令、则在回读期间将 DIN 引脚保持在低电平。 如果在回读期间发送输入命令、ADC 会执行该命令、并可能导致数据中断。"'

     

    因此、我得出结论、DIN 线路中的该信号可能是读取停止的原因、/DRDY 引脚会永久升高。

    n´t 解决这个问题、我检查了 HAL_SPI_Receive、并且正如我所做的那样、控制正在发送的虚拟数据、 我决定将其更改为 HAL_SPI_TransmitReceive 函数、并发送我自己的虚拟数据(全零或全1)、并且它工作正常。 这是正确的读取函数:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、用户:

    很高兴您找到了问题并解决了问题。 实际上、由于器件假定您正在使用新命令计时、因此在重新读回期间、有关 DIN 的任何活动都会导致问题。

    感谢您发布您的解决方案、我希望将来它将对其他客户有用。

    布莱恩