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.

[参考译文] ADS5400-SP:睡眠问题

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1239677/ads5400-sp-sleep-issue

器件型号:ADS5400-SP

我松散地诊断了这些器件中的一个问题、在通过 SPI 寄存器进入低功耗模式并允许静止大于2分钟后、我的 FPGA 代码无法捕获时钟边沿、无法生成数据。 通过向0x01位2写入来重置 ADC SPI、而不是写入0x05来恢复采样操作、可以缓解此问题。  

 

我在双总线中运行、对齐、clkdiv x 4。  

 

这是我看到的唯一 ADC。 该板有三个运行方式相同的板、我们已构建至少五个此类板。

 

低功耗功能是否有任何已知的勘误表?

 

设置为低功耗时会发生什么情况?

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

    Connor,

    这不是一个已知的问题。 当您使该器件退出睡眠模式时、是否也要根据数据表中的注释设置位0 = 0和位5 = 1? 在写入地址0x05以使其退出睡眠模式之后、读取地址0x05是否验证已发送正确的寄存器设置?  

    设置位6 = 1后、是否在数据输出位上进行任何切换?

    是否至少15个器件中只有一个出现了此问题? 如果是、您可能需要申请获取有关此器件的故障分析报告。

    此致、

    吉姆  

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

    根据数据表设置寄存器0x05:睡眠模式下为0xE8、唤醒模式下为0xA8。

    我正在努力获取直接 ADC 输出访问。

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

    在睡眠模式下、我没有看到连续的位切换。  

    我在时钟和数据线上使用 VHDL 位变化检测器、其检测窗口为1.5ms、在几个关键点处进行检查。

    但我确实将数据显示在两个 FIFO 之一中、这两个 FIFO 与 ADC 输入紧密耦合。 我相信与特定 ADC 的 A 总线相关的时钟可能会产生杂散脉冲。 它也可能与 EMI 相关、但布线较短。 时钟线在睡眠模式还是三态模式时置位为低电平?

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

    我发现了一个非常奇怪的缓解措施。 如果我先用0xE8 (已经设置的值)写入寄存器0x05、然后再用0xA8、一切看起来都正常。 如果我单独写入0xA8、则不会。

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

    尊敬的 Connor:

    Jim Seton 本周退休。 很抱歉耽误你的时间。

    您能告诉我您是如何设置 ADC 的吗?

    您使用的采样率频率是多少?

    谢谢。

    Rob

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

    以下是完整的寄存器配置:

    寄存器00:FF

    规则01:F8

    REG 02:00

    第03条:01

    第04条:0D

    第05章:A8

    第06章:04

    使用外部基准并通过引脚进行设置。

    它与 Xilinx Virtex 5QR 配合使用。

    采样率为560.4MHz。

    SPI 总线以2.34MHz 的时钟频率运行。

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

    尊敬的 Connor:

    感谢您提供信息、最后一个问题是、您使用的是 TI EVM 设置还是您自己的电路板设计?

    谢谢。

    Rob

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

    这是我们自己的电路板设计、每个电路板具有三个相同的 ADC 布局、其中只有一个 ADC 在五个电路板之一上的行为不同。

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

    尊敬的 Connor:  

    我将在实验中以与您相同的方式设置它。 我将运行它 、看看我们是否发现同样的问题。 我明天会回到你的身边。

    此致、
    伊克拉姆

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

    在测试中、我看到我的标志弹出、指示时钟 ADC 3已切换至睡眠模式。

    将 ADC 置于睡眠状态1秒后:

    ADC0_A Clock Frequency : 39935 KHz
    ADC0_B Clock Frequency : 39935 KHz
    ADC1_A Clock Frequency : 39935 KHz
    ADC1_B Clock Frequency : 39935 KHz
    ADC2_A Clock Frequency : 40083 KHz
    ADC2_B Clock Frequency : 39935 KHz

     ADC 睡眠后30s:

    ADC0_A Clock Frequency : 39935 KHz
    ADC0_B Clock Frequency : 39935 KHz
    ADC1_A Clock Frequency : 39935 KHz
    ADC1_B Clock Frequency : 39935 KHz
    ADC2_A Clock Frequency : 40170 KHz
    ADC2_B Clock Frequency : 39936 KHz

    这些数字来自时钟计数器过程、即从我的主时钟域触发计数、在目标域中计数并将计数转移到主域。 无活动目标时钟时的预期行为是冻结计数器(对于 ADC0和 ADC1为观察结果)、但 ADC2在两个时钟上都有计数出现。  
    需要注意的是、这些计数为 kHz 或目标时钟的1000个周期。  
    从这些数据我可以推断出、ADC2_A 勾选~87000次、而 ADC2_B 勾选~1000次。  
    我有很多数据显示大量勾选、B 勾选少量。 其他 ADC 不会衰减。
    我可以看到、勾号操作的频率并不一致、但我只有1秒的分辨率。

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

    尊敬的 Connor:  

    我运行了和你相同的设置、我看到低功耗模式、唤醒只需要设置数据表中显示的0x05[6]、和你所做的一样。 您提到的缓解步骤(切换和使用0x01[2]进行完全复位)都不 需要。

    自您上次回复以来、我还检查了时钟输出 CLKOUTBP/N (引脚26/27)、当设置为低功耗/睡眠模式时、这些器件会停止输出。 这与您针对 ADC2_A 时钟频率进行测试的引脚相同吗? 在低功耗模式下、引脚似乎应停止输出。

    当您测试其他电路板(大概使用相同的设计)时、该设计中的同一 ADC 是否会发生这种情况? 每个 ADC 的设计方式或 SPI 写入方式是否有不同?





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

     此电路板上有三个相同的 ADC、它们原理图和 VHDL 接口都相同、也有几个其他电路板、每个电路板上都有3个 ADC。 此电路板的唯一区别在于器件等级-所有其他电路板均使用 EM 器件、而这些电路板属于飞行等级。

    ADC 的写入方式与复制 SPI 接口相同。

    此电路板上的三个 ADC 中只有一个显示的时钟在睡眠模式下看起来并未完全关闭。 即使具有相同的位流、我们在其他电路板上也没有看到此问题。  

    经过进一步的测试、我认为通过多次写入来解决该问题可能是一个错误、只与幸运的互动对齐。

    我使用此器件看到的故障因 VHDL 而加剧、VHDL 假设在器件处于睡眠模式时不存在数据。 由于其中一个 ADC 的时钟会缓慢填充内部 FIFO、因此我的设计将无法退出休眠状态、因为三个 ADC 状态机不再处于锁步状态、并且出现系统故障。 这是推测的一部分、我仍然准确地排列了状态机是如何锁定在这个问题上的。

    在睡眠模式下、ADC 时钟通道是被驱动至定义的电平还是三态?  

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

    Connor、请您在设置为断电和唤醒时验证 SPI 写入。

    在您将其设置为断电后、
    -测量消耗的电流(它应该比正常操作低得多)
    -读取寄存器映射并确保0x05处于正确的状态
    -用示波器探测3条 SPI 线进入 ADC
    -使用示波器或您的计数器设置检查数据时钟输出,因为您已经有了

    我们怀疑这可能会导致 SPI 写入出现问题、并且计时可能关闭。 让我们了解您的发现

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

    功耗下降量与 每个 ADC 独立断电时相同。 通常它们同时断电、但我很早就运行了该测试、因为我怀疑 ADC 根本没有断电。 功耗确实要低得多。

    我写入0xE8进入睡眠状态、写入0xA8进入上电状态。  

    我已经读回寄存器、我可以确认它们是正确的。  

    以下是睡眠模式下的 ADC 寄存器(多个 ADC 31:24 0x00、23:16 ADC 0 15:8 ADC 1 7:0 ADC 2)

    ADC REG 00: 00FFFFFF
    ADC REG 01: 00F8F8F8
    ADC REG 02: 00000000
    ADC REG 03: 00000001
    ADC REG 04: 00CCC60D
    ADC REG 05: 00E8E8E8
    ADC REG 06: 00040404
    ADC REG 07: 00000000
    ADC REG 08: 00646564
    ADC REG 09: 00000000
    ADC REG 17: 00000000
    ADC REG 18: 00000000
    ADC REG 19: 00000000
    ADC REG 1A: 00000000
    ADC REG 1B: 00000000
    ADC REG 1C: 00000000
    ADC REG 1D: 00000000
    ADC REG 1E: 00000000
    ADC REG 1F: 00616161

    运行时:

    ADC REG 00: 00FFFFFF
    ADC REG 01: 00F8F8F8
    ADC REG 02: 00000000
    ADC REG 03: 00000001
    ADC REG 04: 00CCC60D
    ADC REG 05: 00A8A8A8
    ADC REG 06: 00040404
    ADC REG 07: 00000000
    ADC REG 08: 00686A69
    ADC REG 09: 00000000
    ADC REG 17: 00000000
    ADC REG 18: 00000000
    ADC REG 19: 00000000
    ADC REG 1A: 00000000
    ADC REG 1B: 00000000
    ADC REG 1C: 00000000
    ADC REG 1D: 00000000
    ADC REG 1E: 00000000
    ADC REG 1F: 00616161

    我无法探测电路板、因为它涂有保形涂层、是支架、经扭矩和密封在一个盒子中。 如果我有访问权限、我将直接调查时钟线、以查看这些通道上发生的情况。

    我可以确认 ADC 在加电模式下完全正常工作、而在睡眠模式下工作不正确。 如果只是没有断电、我预计会看到数据进入、就好像它仍在运行一样。 我还将看到预期时钟读数140103kHz、而不是缓慢增加的伪周期计数器。  

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

    尊敬的 Connor:

    我正在关闭此帖子。 Ikram 和我将通过电子邮件给您打电话以解决问题。

    请留意我们的电子邮件。

    谢谢。

    Rob