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.

[参考译文] ADS131A02:DRDY 数据线运行不正常

Guru**** 2393725 points
Other Parts Discussed in Thread: TMS320C5535, ADS131A02, ADS131A04EVM

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/769654/ads131a02-drdy-data-line-not-behaving-as-expected

器件型号:ADS131A02
主题中讨论的其他部件:TMS320C5535ADS131A04EVM

我目前正在尝试从 ADS131A02DC 接收数据、但 DRDY 线路有问题。 我的硬件设置为 M0为高电平(异步中断模式)、M1为高电平(32位)、M2为低电平(禁用汉明)。 我成功地写入和读取了 ADC 寄存器、并读取了 STAT_M2寄存器、以验证我的硬件设置是否正确(正确)。  

DRDY 线路假设为低电平有效、因此我预计电压在3.3V 时为高电平、但即使 ADC 处于待机模式、我也会在示波器上看到以下情况:

我担心 DRDY 线路需要使用上拉电阻器驱动、因此我在3.3V 连接了上拉电阻器、但问题仍然存在。 我已移除上拉电阻器、不确定还有什么可能出错。  

通信正常,所以我假设 DIN/DOUT/ SCLK/*CS 都正常。

*复位被拉高(3.3V)

* DONE 为开路状态,但在 ADC 内部上拉为高电平(3.3V)。

* DRDY 处于打开状态,用于探测。 我希望得到一个高信号、但得到上面显示的信号。  

我们非常感谢您提供任何指导和帮助。  

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


    感谢您发帖。 根据您的记录、我不清楚您看到的问题。 您是否担心/DRDY 通常为低电平? /DRDY 转换为低电平的行为表示新转换准备就绪、而不是/DRDY 的电平表示转换。 您可以在数据表的图4或5中看到这一点、其中/DRDY 会针对每次转换完成进行脉冲处理。 我本来希望/DRDY 在运行时提供与示波器图中所示类似的脉冲序列。 线路被主动驱动、因此您不需要上拉。

    但是、在待机模式期间、器件不应执行任何转换、我希望/DRDY 处于空闲状态。 我不确定您是否已暂时将器件设置为待机状态、然后将其恢复为唤醒状态、但这正是图中的样子。

    希望我的注释清除了/DRDY 的行为。 如果我误解了您关于/DRDY 的帖子、请将其发布回我们讨论。


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

    Joseph、  

    感谢您再次与我联系并澄清有关数据线的一些详细信息。 我有两个后续问题:  

    1) 1)您在上面看到的示波器图中看到的 DRDY 信号在 IC 启动后立即开始出现。 我从未解锁器件或将其退出待机模式。 那么、DRDY 是否应该像您提到的那样处于高电平空闲?  

    2) 2) 示波器图中的 DRDY 信号是否以某种方式反转? 数据表显示* DRDY 处于低电平有效状态,因此我本以为信号会开始高电平、变为低电平,然后再次变为高电平。 相反、信号似乎开始低电平、变为高电平、然后再次变为低电平。  

    编辑:

    *即使在激活模式下,DRDY 的运行方式也不符合预期。 以下是我采取的步骤:

    1) 1)开启 IC。 * DRDY 输出上述第一个示波器波形图中显示的信号(请参阅原始问题帖子)。  

    2) 2)发送解锁命令。 解锁命令已确认。  

    3) 3)按如下方式配置寄存器:  

    // HRM 设置为低功耗模式,因为 f_MOD 将设置为< 1.05MHz
    #define INIT_A_SYS_CFG 0x20
    
    //设置 ICLK = CLKIN/2 = 16.384MHz/2 = 8.192MHz
    #define INIT_CLK1 0x02
    
    //设置 Fmod = ICLK/8 = 8.192MHz/8 = 1.024MHz
    //设置 Fdata = FMOD/4096 = 0.250KHz
    #define INIT_CLK2 0x80 

    所有 这些写入都成功接收到确认。  

    4) 4)将0x0F 写入 ADC_ENA (地址= 0Fh)。 写入被应答。  

    5) 5)发送 WAKEUP 命令。 WAKEUP 命令已确认。 * DRDY 显示:  

    注意:这是一个周期性信号、大约每4秒出现一次。  

    6) 6)发送 STANDBY 命令。 待机 命令已确认。 * DRDY 显示:  

    注意:这是一个周期性信号、大约每4秒出现一次。  

    6) 6)发送锁定命令。  锁定命令已确认。

    我认为第5步中的图不正确。 我更新了寄存器、使 ADC 输出为0.250KHz。 但是,图中的* DRDY 线似乎没有在频率下运行。

    我还认为步骤6中的图不正确。 在待机模式下,我本以为*DRDY 处于高电平。  

    请提供任何帮助和指导。  

    最棒的  

    Eddie

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


    我们有一个 ADS131E04EVM、我必须测试该器件以查看其在启动时的作用。 当我将其插入以启动时、它确实会以/DRDY 高电平启动。 运行时、/DRDY 大部分时间将处于高电平、因为在配置和读取器件后、它会保持/CS 高电平。

    当我查看 EVM /DRDY 时、器件会变为活动状态。 已经有一个周期/DRDY 指示。 对于其中每个/DRDY 转换为低电平、EVM 通过发送空命令进行响应、器件以 FF04进行响应(对于您的器件、您将获得 FF02)。 如果尚未进行设置、则表示器件处于活动状态。 对于 EVM、我仍然需要执行解锁、唤醒、然后执行 WREG for 0F 0F 以启用 ADC。

    对于您的设置、似乎示波器图是反相的。 但是、如果在发送第一个命令后将/CS 保持为低电平、则可能会得到同样的结果。 /DRDY 将显示为脉冲和 IDLE LOW。

    我将查看您的设置、并询问几位在该特定器件方面具有更多经验的工程师、然后我会再给您回复。


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

    Joseph、  

    感谢您与我的合作。   

    我认为您关于*CS 处于低电平的理论,从而使*DRDY 处于低电平是可能的,因此我决定在 O 示波器上查看该理论。 这是我打开 IC 后的图:  

    黄色:* DRDY

    蓝色:* CS

    紫色:SCLK

    我正在使用 TI 的 TMS320C5535与 ADC 进行通信。 请注意,*CS 为低电平。 这是因为处理器中的 SPI 外设尚未配置:  

    但是,ADC 正在发送周期*DRDY 信号。 它在启动时应该为高电平。

    在配置处理器中的 SPI 外设后、我在写入和读取 ADC 寄存器时会得到以下结果:  

    如您所见,*CS 配置正确(低电平有效)。 空闲时钟极性较低、MOSI/MISO 在时钟上升沿发送(这与数据表规定 ADC SPI 设置的方式一致)。

    奇怪的是,*DRDY 似乎仍然被反转,即使*CS 为高电平。 令人奇怪的是,*DRDY 的帧比*CS 长得多。 我假设它应该非常接近* CS 线路。

      读取/写入寄存器时是否假定触发* DRDY? 数据表显示、它仅在转换数据就绪时变为低电平、而不是在 SPI 数据就绪时变为低电平。 这方面的数据表不清楚。  

    编辑:  

    我在处理器上设置了一个中断,以便在将 ADC 置于活动模式后在* DRDY 线路的下降沿触发。

    然后、我从 DOUT 读取传入数据(32位状态、32位通道1数据、32位通道2数据)。 状态数据(STAT_1寄存器)的值为0x02、表示存在数据就绪故障。

    考虑到* DRDY 被反转,我假设这是预期的结果。 我不确定我还能向系统更改什么,因此,根据数据表,反转的*DRDY 行似乎是我无法获取转换数据的原因,并且行行为不正常。  

    最棒的  

    Eddie  

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

    Eddie、

    很抱歉我没有早点回来。 我花了一点时间才得到了一些东西。

    我获得了 ADS131A04EVM 来查看器件响应(它应与 ADS131A02相同)。 我使用逻辑分析仪来查看启动波形、它们基本上与我预期的方式相同。 下图:

    当器件上电时、启动/DRDY、但主器件以/CS 低电平启动。 在本例中、它看起来像我预期的脉冲序列。

    加电后有几个/DRDY 脉冲、然后主器件最终做出响应、但我认为此时它提供的所有命令都是空命令。 然后主器件跳过几个/DRDY 脉冲的响应、器件返回到剩余的脉冲序列。 对我来说、这是我不确定的部分、但这并不是完全意料之外的事情。 如果没有任何/CS 转换、除了完成转换之外、没有任何东西可以使/DRDY 返回高电平。

    之后、器件会针对每个/DRDY 发出 null 命令、然后您会看到/DRDY 大部分处于高电平。

    对于您的器件、似乎是类似的响应。 我发现唯一不同的是您的数据周期稍有不同。 在您首先从 ADC 寄存器写入和读取的示波器截图之一中、您似乎缺少一些/DRDY 脉冲(即、如果您没有更改数据速率)。

    请注意、我不确定我的逻辑分析仪是否能够提供时间分辨率来解码发送到器件的所有内容。 我尝试拉出 SPI、但看起来我为每个事务发送的位太少。 请告诉我、这对您有何帮助。

    吴约瑟

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

    Joseph、  

    逻辑分析仪数据非常有用。 我对 DSP 进行了编程,每次它在*DRDY 中看到下降沿时都使用 NULL 命令进行响应,并设法获得与上面显示的信号类似的信号。 我假设* DRDY 线路按预期工作、现在我已将其中一条线路移至尝试从 ADS131A02收集数据。  

    我的 ADC 设置是对差分信号进行采样、该信号包含0-5V 范围内的2.5V 共模偏移。 按照我在上面发布的相同步骤、为了使 ADC 进入工作模式、我从 ADC 获得以下数字:  

      

    我的信号最初处于空闲状态、这反映在上面的图中(在采样~65之前)。 那么我的模拟信号确实会改变大约1V。 上面的图似乎是损坏的数据、它可能与我的 SPI 设置有关。 以下是我的问题:  

    1)  

    我当前已将 ADC 设置为动态帧大小(禁用 CRC)。 但是、该版本的 ADC 具有2个通道、而不是4个通道。 我应该与帧大小为5 (状态、通道1 - 4)或帧大小为3 (状态、通道1-2)的 ADS131A02通信吗?  

    我已经尝试与这两个设置进行通信、但获得了相同的损坏图。  

    2) 2)数据表未提及 ADC 的输出格式。 它是24位有符号数还是无符号数?  

    我仍在调试过程中、如果我有任何其他问题、我将告诉您。  

    最棒的  

    Eddie

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


    对于 ADS131A02、您将使用3的帧大小。 在动态帧模式下、每个数据帧的器件字数取决于 ADC 是否启用以及 CRC 数据字是否启用。 在此器件中、仅启用了两个 ADC、并且在您的示例中禁用了 CRC。 这将提供状态字和来自两个通道的数据。

    2. ADC 的输出数据格式是负数的二进制补码表示法。 这在数据表的数据字部分中进行了讨论、见第38页。 由于负数以这种方式表示、这可能会解释您在图形中显示的数据中看到的一些大数字。 如果您可以收集包含数据的文件并将其发布在此处、我可以帮助您进行转换。


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

    Joseph、  

    我成功地使用低数据速率对这个(相对性)漂亮的信号进行采样:

    它符合我的预期。 感谢您与我保持合作、并花时间为我澄清问题、我真的很感激!

    最棒的  

    Eddie

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


    好极了。 很高兴您能使用一些合理的数据输出。

    如果您有任何其他问题、请随时回帖。


    吴约瑟