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.

[参考译文] ADS127L01:DRDY行为和转换结果读取

Guru**** 2550250 points
Other Parts Discussed in Thread: ADS127L01

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/625303/ads127l01-drdy-behaviour-and-conversion-results-reading

部件号:ADS127L01

大家好,

我们在菊花链配置中有四个ADS127L01:

  • SCLK,MOSI,NCS:通用于所有芯片
  • 开始:通用于所有芯片
  • DRDY:或一起连接至微处理器
  • DAISYIN:接地在最后一个芯片上,连接到其它芯片上前一个芯片的DOUT
  • dout:连接至以下芯片上的DAISYIN (以及第一个芯片上的微处理器的miso)

芯片的配置是LP,OSR 128,Wideband 1过滤器,使用SPI模式读取结果。 下图概述了MCU-ADC接口的行为:

前两个读数成功(所有CRC都正确),但在最后一个读数上,数据损坏(SW停止进一步读取)。 下图显示了读数#1…的详细视图

…最后一个图显示了读数#3的详细视图:

我能发现的唯一区别就是

  • 在正确的读数下,CS激活后DRDY脉冲不存在,或者在第一个数据位移出之前存在
  • 如果读数错误,则在移出第一个数据位后会出现DRDY脉冲。

问题:

1.我们是否正确处理DRDY信号(OR-ING)?

2. DRDY脉冲的目的是什么?

3. CS激活后,当启动低时,DRDY负脉冲是什么意思?

感谢您的意见

 一月

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

    您好Jan,

    感谢您对ADS127L01的关注!

    1. 所有四个ADC是否都运行在相同的CLK输入下? 如果是,则应同步相应的/DRDY脉冲。 这意味着您的UP只需监控一个设备的/DRDY输出,即可知道所有四个设备的数据何时就绪。
    2. /DRDY是一个有源-低信号,用于指示何时有新数据可用于在输出移位寄存器中读取。 它用于不具有连续运行SCLK的异步接口。
    3. 如果起始引脚较低,则我不期望/DRDY为脉冲,因为ADC转换已停止。 相反,/DRDY将在起始pin变低时立即变为高,并且在数字滤波器重置和设置(TD (FLT)和TD (NDR))之前保持高。 请参见图85。 所有四个起始销是否都绑在一起?

    请让我咨询数字设计师,了解为什么会出现这种情况。 出于好奇心,您能否判断哪个设备/DRDY引脚在启动低时实际发出脉冲? 是全部四个,还是仅仅一个?

    此致,

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

    您好Ryan:

    感谢您的回答。

    1.是的,所有四个芯片都使用相同的8MHz CLK输入。 我会将此信息传递给我们的硬件部门。

    2.我仍然不明白脉冲有什么好处。 我可以理解,当转换完成时,/DRDY信号是否会下降-我们可以将此信号用作微处理器的中断请求,但也可以使用脉冲-也许我们必须插入S-R闩锁?

    3.所有ADC的行为方式相同: 从我上一个帖子中进行的测量是在OR门后面进行的,因此在下图中显示了ADC引脚处的START和/DRDY信号的行为(模拟/DRDY信号在ADS127L01引脚处测量,逻辑分析器的信号由OR门处理):

    谢谢

     Jan Nárovec

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

    您好,

    另一个发现:下图中的边缘几乎恰好距离16 µs:

    在停用起动信号和读取结果之间添加魔术(*)延迟后,所有读数均正确。 此信息是否有所帮助?

    *延迟的长度取决于是否使用RDATA命令:使用时,> 5 µs足够,不使用时需要> 12 µs。

     Jan Nárovec

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

    您好Jan,

    明白了,我现在觉得这个问题很清楚。

    首先,关于同步,我应该说明,只有在所有四个设备共享起始引脚时,/DRDY脉冲才会同步。 然后,您可以脉冲启动引脚或发送启动命令以重置数字过滤器,并将转换同步到相同的时钟周期。 您可能已经在执行此操作。 如果您是,并且/DRDY脉冲也是同步的,那么您将不需要OR-GATE。

    您能否确认所有四个起始针脚都低? 同样,您是否可以探测所有四个/DRDY引脚,看看是一个设备还是多个设备在启动后发出/DRDY脉冲是低的?

    /DRDY是一个低活性信号,当新数据准备就绪时,该信号会变为低电平。 但是,它显示为"脉冲",因为它将被第一个SCLK下降边缘清除。 这意味着,一旦您开始读取数据,/DRDY将返回HIGH (高),直到下一个样本准备就绪。 我认为您不需要锁定/DRDY的低状态;您只需要监控从高到低的过渡,以触发中断服务例程并收集数据。

    我们的设计人员最初认为,该问题可能与START和/DRDY的下降边缘之间的时间有关。 但是,您的最新帖子展示了另一个示例,在该示例中,/DRDY在低电平一段时间后开始时处于低电平状态,并且在RDATA命令期间您仍然会再次看到/DRDY pulse low (/DRDY脉冲低电平)。 这对我来说仍然没有意义,我需要进一步研究。

    您能否确认您正在使用示波器探测哪个设备/DRDY引脚? 您提到模拟信号是在OR-Gate之前接收的。 我很好奇,如果所有四台设备都是这样,而开始时间较低。

    在与我们的设计师交谈后,我会再次向您介绍最新情况。

    此致,

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

    您好Jan,

    根据您何时使启动值相对于/DRDY较低,转换器可能完成下一个转换,也可能不完成下一个转换。 我仍然不清楚您应该如何接近上一个/DRDY脉冲,以降低启动频率,从而不会看到后续的/DRDY脉冲。 正如您所注意到的,在某些情况下,当启动已经很低时,您确实会看到另一个/DRDY脉冲,但在其他情况下,您不会看到。 您是否发现/DRDY下降边缘和开始下降之间存在任何导致此问题的一致关系?

    当然,我认为这是我们可以在数据表中更好地解释的,其中包含/DRDY和开始降低的更具体的计时关系。 我将记录一下,将其添加到数据表中,并提供建议的时间安排。 同样,图91显示了/DRDY下降边之前的禁止时间。 在这段时间内,您无法发送SCLK而不损坏正在加载到输出移位寄存器中的数据。 这也可能导致在您读取数据(如第一篇文章的最后一幅图像)或仍在发送RDATA命令(如最近的图像)时出现潜在问题。

    我的建议如下-由于您只是尝试读取第n个样本,我可以:

    1. 计数n-1 /DRDY脉冲,在发送SCLK之前立即降低启动速度,并延迟另一个数据速率周期。 在此期间,您可能会也可能不会看到其它/DRDY脉冲。 一旦超过n个数据速率期间,您就可以发送RDATA和足够的SCLK来读取所有128位。
    2. 加快SCLK以在一个数据速率周期内完成数据读取事务。 这确实意味着您必须读取每个样本,但至少当您决定读取数据时,您将通过在下一个样本之前完成读取来避免损坏数据。 在ADS127L01产品页面上查看Excel计算器工具。 多设备配置选项卡可配置为计算可用于给定接口和数据速率的菊花链式或级联设备的数量。 看起来您需要的SCLK比CLK输入频率稍快,大约~8.15MHz或更高。
    3. 降低外部时钟频率以延长数据速率周期。 您是否需要28kHz的信号带宽?

    如果您有任何问题或意见,请告诉我。

    此致,