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.

[参考译文] ADS131M04EVM:DOUT 不工作、DRDY 线路持续输出从不会降至0V

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1117671/ads131m04evm-dout-not-working-and-drdy-line-consistently-outputting-never-going-down-to-0v

器件型号:ADS131M04EVM

我尝试将评估板一起用于 PIC 和 ADS、以便显示 ADC 通道读数的通信和读数。 至于两者之间的配置...

我将 PIC 评估板连接到 EVM、用于信号、SCLK、DIN、DOUT、CS、 DRDY、SYNC/RST。  我在 J6上有导线连接在板之间。

2.我没有连接 PHI 板。

3.使用应用于 EVM 上测试点 AVDD 和 DVDD 的3.3V 外部电源。  

4.移除 JP9上的跳线以进行 LDO/MSP 选择。

5.我没有移除 R45。  

在示波器 I 上、验证了写入(CS、SCLK @ 1MHz、DIN)线路时的信号正确输出到 ADS。 当我查看 DOUT 时、输出不是干净的。 仅在出现 SCLK 和 DIN 时才会看到噪声。 切勿达到3.3V 并具有适当的脉冲宽度。 没有需要 返回数据的脉冲;看起来就像噪声尖峰(非常薄、永远不会达到3.3V)。

DRDY 永远不会达到0V、它在大多数时间内以大约4kHz 的频率徘徊在半伏左右、并呈现模糊。 无论通道是启用还是禁用、都能看到这种情况。 我认为 DRDY 处于高电平。 在 PIC 上、我确保它被锁存为高电平。 导致此行为的原因可能是什么?

我也阅读了 EVM 数据表和 ADS。 我的目标是能够从每个 ADS 通道读取并返回读数。  

我的 PIC 设置为 SPI1模式。 1MHz 串行时钟。  

如果 DOUT 输出不正确、如何验证 ADC 是否获得写入的数据?

其他信息、当我收到 EVM 时、我使用了带 GUI 的 PHI。 我能够捕获和读取/写入寄存器。 在示波器上、DIN/DOUT 的信号是非常嘈杂的脉冲。  

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

    Tricia 您好!

    感谢您在论坛上发帖! 我同意您对 SPI 总线和电源的设置。

    不过、部分正确、nDRDY 应在满足上电复位(POR)后立即开始切换(即 AVDD 和 DVDD 电源轨启动)。 它不会保持高电平、但它通常会保持低电平、然后在新数据就绪时切换为高电平。 在开始使用 SPI 命令之前、我们需要确保器件正确启动。

    我有两个关于这一点的理论。 首先、什么是同步/复位? 在 PIC 侧、它将被配置为输出并保持高电平;如果它保持低电平、器件将持续保持复位状态、并在很多 CLKIN 周期后尝试唤醒。 第二个理论可能与您的陈述相关:  

    [~引脚 userid="527220" url="/support/data-rebers-group/data-rebers/f/data-rebers-forum/1117671/ads131m04evm-dout-not working-and-line-deddy-outping-n永 不下行至0v"]我认为 DRDY 处于高电平。 在 PIC 上、我确保它被锁存为高电平[/quot]

    我很困惑锁存高意味着什么。 PIC 上的引脚应配置为输入、因此我不确定"锁存高电平"的含义。 nDRDY 上的非零电压意味着可能存在总线争用。 如果 nDRDY 是 ADC 侧的输出、在大多数情况下尝试驱动为低电平、而 PIC 试图将其保持为高电平、则电压可能介于两者之间。

    这些是一些基本的可能性。 之后、我们需要开始探测 ADC 引脚上的 AVDD 和 DVDD、以确保它们已正确加电。

    最棒的

    Cole

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

    Cole、

    因此 nDRDY 脉冲是一件好事。 因此、它看起来像是满足了 POR。 在 PIC 上、这是一个输入。 我有这样的东西。 我删除了在加电时将引脚设置为高电平。

    SYNC/RESET 是 PIC 的输出、在上电时被置于高电平并保持高电平。

    我已经探测了 EVM 上每个电阻器 R36和 R37两侧的 ADC AVDD 和 DVDD 引脚并读取了3.3V 电压。

    对于 DOUT (ADC/输入到 PIC 的输出)、该电平设置为大约500mV。 我使用 SCLK 在示波器上探测到这一点、并注意时钟每个上升沿的尖峰。 它们的宽度仅为20ns。 这是否是一个接地问题?  

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

    Tricia 您好!

    通常、是的、加电后的 nDRDY 脉冲应该是一件好事。 要说明的是、nDRDY 大部分为低电平、但脉冲高电平的速率为默认数据速率(如果 CLKIN 的时钟频率为~8MHz、我认为4kHz 是默认值)。 如果脉冲与该行为匹配、那么您应该表现良好。

    Hmm、20ns 脉冲宽度可达 25MHz SCLK、这是器件接受的最大频率。 我假设您的运行速度要慢得多。 可能有一些东西、但并不明显。 如果您可以测量过冲水平、也会有所帮助。 有时、极高的过冲会导致 GNDing 问题。 有时、它只是电路板之间跳线的电感。

    500mV 几乎不符合 VIL 和 VOL 规格、但对于典型系统来说、它显然太高了。 但是对于 nDRDY、您已经为某些器件探测到"低"状态、对于低电平、它也是500mV? 还是仅 DOUT? 如果仅是 DOUT、则可能需要在处理器中考虑设置问题。 您可能将其作为输入、但线路上可能存在其他一些争用。 这与我之前解释的差不多。 如果两者都处于500mV 的"低电平"状态、那么、是的、这可能是接地问题、除了缩短电线或在 EVM 和 PIC 板之间跳接更多电线之外、我没有什么好的建议。

    如果您有示波器屏幕截图、我可以随意将其发送给您。 如果我们无法通过这条途径到达任何地方、我可能需要您获取逻辑分析仪、并仔细检查您发送的内容是否符合您的预期。

    最棒的

    Cole

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

    你好、

    我现在看到良好的 DOUT 脉冲宽度。 我正在努力读回所有四个通道的读数。 我发送 NULL 命令、但似乎 SCLK 只在我写入一个字节时显示、而不在读取一个字节时显示。 可能是 PIC 中的例程不提供时钟信号。 我将 Microchip 8位 PIC 用于主处理器。

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

    我找到了一个例程、该例程将在每个字节发送到 ADC 后发送多个字节(0)读数、并注意输出 DOUT。 但是、每个字节值都是  从之前接收到的字节开始的一位逻辑移位。 例如,我看到的是0x040810、0x204080、0x020408。 我将保留默认宽度24位。 我在任何 ADC 输入通道上都没有任何电位(v)。

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

    我读了 SYNC 线路、将其下拉以重新同步 ADC 转换和复位 FIFO。 从而使这些值更符合预期、更不会发生间歇性的情况。

    至于 EVM、当在单端输入中使用外部输入电压值时、我将跳线全部放置在引脚5和引脚6上。 我尝试在 J1的引脚1 (端子块)上施加1.5V 的值、结果不变。 我希望计数会高于我之前看到的计数。

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

    您好、Tricia、

    是的、我建议清除 FIFO 以获得一致的数据。 如果您不想处理同步计时、那么读取两次、输出结果以及第三次读取会更容易一些。 我还建议您在  NULL 命令中读取状态寄存器的内容。 在上一篇帖子中、您只向我提供了3个通道的数据、我希望看到所有4个通道、如果 它们不是全部计时、则会导致错误和不一致的数据。

    输入端没有电压相当于悬空、通常会导致与输入端接地相关的代码以显示偏移电压。 浮动本身不可预测、我建议将输入接地并将代码转换为电压、然后将该数字与失调电压规格进行比较。 如果它在该范围内、则您可能具有正确的值。

     

    您对 J1的引脚1施加了1.5V 电压、该引脚为 AIN0P 、AIN0N 为 GND 或0V。 我假设您将 1.5V 电源的负极部分连接到 GND。 通常、这会很明显地更改输入。 我建议您将代码转换为电压并查看 ADC 实际读取的内容。 然后、我建议您在收集此数据时确保 FIFO 不会满。  

    最棒的

    Cole

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

    引脚5和6上每个通道的 JP 上都有跳线、用于将负极侧接地(查看 EVM 的原理图)。 我还在引脚1和2上放置了跳线、以将正极侧接地、从而查看返回值(计数)的一致性。 (我总共收集所有字节15、前三个状态、剩余的 CH1至 CH4)。 很抱歉、我没有报告的状态响应。

    CH1范围940至1017

    CH2范围875至930

    CH3范围1386至1447

    通道4范围648至743

    读取单个寄存器时、我不必读取多个字节集(24位默认宽度)、只有3个字节正确?  

    从我读取的内容中、清除 FIFO 的唯一方法是短时间下拉 SYNC 信号。 我弄错了吗?  

    NULL 命令将在第一个字节集中返回其响应的状态。 但仍需要读取所有通道数据、以确保 ADC 不会不同步。 这是正确的陈述吗?

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

    Tricia 您好!

    是的、这也是我设置输入偏移测试的方式。 CH3看起来有点高、但有人告诉我、这会下降到规格范围内、并进行一些平均值计算以消除噪声。 因此、器件看起来运行正常。

    我希望您完成最后一步、将代码计算为电压并查看规格。 如果您不知道如何做到这一点、请访问以下博客 :https://e2e.ti.com/blogs_/archives/b/precisionhub/posts/it-s-in-the-math-how-to-convert-adc-code-to-a-voltage-part-1 

    [引用 userid="527220" URL"~/support/data-switchers-group/data-switchers/f/data-switchers-forum/1117671/ads131m04evm-dout-not working-and_ddy 线路一致输出-从不向下向下向下到0v/41491699#4169在读取多个字节时、默认设置为24字节宽度为24英寸]  [/报价]

    您知道了它、响应中的前16位将是数据、将不再有实际数据。 也就是说、24位仍然是由 WLENGTH 确定的恒定字大小。 即使最后的大多数位将为零、您仍需要时钟输出24位长字。 希望能回答这个问题。

    [~ userid="527220" url="μ C/support/data-switchers-group/data-switchers/f/data-switchers-forum/1117671/ads131m04evm-dout-not working-and_ddy 线路一致输出-永不下拉至0v/41491699#4169使用短时间同步从 FIFO 下拉至0v/4149169。] 我弄错了吗?  [/报价]

    你是对的。 读取两个数据包也是等效的。 数据表中还有一些有关如何执行该操作的文本。

    [引用 userid="527220" URL"~/support/data-reproducts-group/data-switchers/f/data-switchers-forum/1117671/ads131m04evm-dout-not working-and_ddy 线路一致输出-从不向下向下向下向下到0v/41491699#4169命令将返回其第一个字节的响应状态。] 但仍需要读取所有通道数据、以确保 ADC 不会不同步。 这是正确的陈述吗?

    没错。 唯一的例外是要跳过 CRC。 数据表中有一个包含更多信息的短 SPI 帧部分。

    其他意见:

    很明显、您是一名较新的工程师。 如果您还没有、我强烈建议查看已编译的常见问题解答: https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1060610/faq-have-a-question-about-adcs-click-here-for-faqs-resources-and-more 

    如果您尚未观看我们有关 ADC 的培训系列、我强烈建议您观看我们的视频系列: [视频系列] TI 高精度实验室–ADC

    我想向您保证、您的问题大多是有关该器件的非常具体的问题、这是完美的。 如果您尚未查看其中的一些资源、它将加速您的学习。

    最棒的

    Cole

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

    Cole、

    感谢您的确认。 关于 EVM 的另一个问题是、我目前有跳线将每个通道的正负输入端接地。 我想提供电压、并且尝试在一个通道上施加恒定电压、但我看不到计数跳转。 EVM 上的通道是否有特殊配置。 当我施加电压时、我移除了连接到正极侧的跳线。

    否则、我一直在从 ADC EVM 到我的 PIC 中得到一致的响应。

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

    您好、Tricia、  

    您可以通过从正输入端移除跳线来正确设置硬件。 从 ADC 设置侧、如果您看到非零代码、则启用 ADC 通道、这实际上是唯一可以快速更改结果的设置。 唯一的外部设置是同步/复位、但您可以使用 SPI 与器件通信、因此不会出现任何问题。 您是否确认可以写入寄存器、使其与默认值不匹配、读回寄存器、并确认器件已接受写入?

    我想采用另一种方式。 您已经提到这是 EVM。 您是否有 EVM 套件随附的 GUI 和其他外部控制器板(PHI 板)? 我希望看到您使用 GUI 收集一些数据、并发送主屏幕的屏幕截图。 如果您可以运行 GUI、我们可以获得与您的设置相比已知良好的设置、我们可以轻松排除 EVM 的硬件配置问题。

    谢谢、

    Cole