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.

[参考译文] ADS8568:ADS8568停止响应CONVST

Guru**** 2551710 points
Other Parts Discussed in Thread: ADS8568

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/600724/ads8568-ads8568-stops-responding-to-convst

部件号:ADS8568

我们是以SPI模式运行的ADS8568的串行锁定,这表现在设备突然停止响应CONVST输入而占线。 设备在较慢的转换速率(高达50 ksps)和SCLK速度(高达25 MHz)下运行良好,但增加这两种情况都会导致设备最终进入无法使用的状态,这只能通过断言重置输入来解决。

这些器件被配置为使用内部转换时钟,所有四个CONVST_*输入均由相同的输入信号驱动。 我们使用ADS8568设计了两块板:第一块板上的器件配置为与Xilinx Artix-7 FPGA进行单线SPI接口,而另一块板使用4线SPI读数并与Lattice XP2 FPGA接口。 在两个板上,DVDD在3V3,AVDD和HVDD在5V,HVSS在-5V,负载下电源的p-p抖动在低于150 mV (从设备测得< 2 cm)。

设备工作正常时的时序图如下所示:

一旦我们将SPI时钟增加到37.5 MHz,或者在不更改SPI时钟的情况下增加采样率,设备将在几个转换周期后停止响应CONVST输入。 应用输入信号显然会加速设备锁定,但即使所有8个模拟输入都连接到GND,设备也会加速。

我们尝试缩短和延长CONVST信号的持续时间,将延迟从繁忙到低扩展到断言FS#,将断言FS#到激活SPI时钟的延迟(除其他外)延长到无效。

关于如何进一步调试此问题的任何建议?

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

    您好Marko:

    感谢您在E2E上发布此查询。 我有几个问题:

    1.当ADC停止响应CONVST信号时,也没有观察到输出的可用占线信号,如果我的理解错误,请更正我。

    2.发生这种情况时,您在同一站点中读取的数据是什么? 是否重复上次转换数据?  

    3.每次发生这种情况时,您是否获得相同或不同站点的不同数据?

    4.您使用的是硬件还是软件模式?  

    ADS8568可支持串行接口的480ksps采样速率和45MHz SCLK频率,因此支持您的应用应该没有问题。 您的示意图将有助于解决该问题。 在获取更多信息之前,可以执行两项测试以进行检查:

    1.将HVDD提高到+5V以上,并将HVSS降低到-5V以下,例如+/-8V或+/-10V,这些高压电源的边距应比最大输入信号更宽(如果您需要+/-5V输入范围)

    2.如果高于1.不起作用,请使CONVST高信号长于繁忙的高信号,然后再次检查。

    谢谢。

    此致

    戴尔·李

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

    您好,Dale,感谢您观看此内容,请在下面查找评论:

    [报价用户="Dale Li"] 1. 当ADC停止响应CONVST信号时,也没有观察到输出的可用占线信号,如果我的理解错误,请更正我。 [/引述]

    确切地说,我们观察到ADC的忙响应丢失。

    [报价用户="Dale Li]2. 发生这种情况时,您在同一个停止期间读取的数据是什么? 是否重复上次转换数据?  [/引述]

    我们有相同的模拟信号连接到输入A0和C0。 当繁忙工作正常时,即根据规格表,两个通道提供的读数大致相同,仅在几个最低有效位上有所不同。 当BUSY锁定时(在CONVST之后保持低电平),A0读数保持冻结,但C0显然工作正常,即它跟随模拟信号输入。

    [报价用户="Dale Li]3. 每次发生这种情况时,您是否获得相同或不同站点的不同数据?[/QUOT]

    显然,当ADC正常工作时,A0将保留最后记录的值,即我们在不同的停止点获得不同的A0读数。 C0似乎继续正常运行。

    [报价用户="Dale Li]4. 您使用的是硬件还是软件模式?  [/引述]

    PCB通过硬接线连接软件模式。

    1.将HVDD提高到+5V以上,并将HVSS降低到-5V以下,例如+/-8V或+/-10V,这些高压电源的边距应比最大输入信号更宽(如果您需要+/-5V输入范围)[/QUOT]

    我可以确认,电源电压的变化会影响ADC锁定的频率。 问题是我们的主板上HVDD和AVDD硬接线在一起,所以我只能将电压上调至+/- 6V左右。 电压越高,我们观察到的锁定次数就越少。

    [报价用户="Dale Li]2. 如果高于1.不起作用,请使CONVST高信号长于繁忙高信号,然后再次检查。[/QUOT]

    我们的FPGA逻辑已经保证,在取消断言CONVST之前,繁忙必须从高恢复到低。 我们必须修改FPGA的状态机,以忽略我在上面报告的实验中的繁忙信号,否则它将无法继续断言FS#并开始SPI传输。 我们还按照您的建议将CONVST的持续时间从1.7 延长到了2.7 Us,但这对ADC操作的稳定性没有任何影响。

    以下两个图是与2.7 Us的CONVST持续时间一起绘制的。 在第一个模块上,ADC会定期以BUSY响应,在第二个模块上,可以观察到没有BUSY响应。

    下面是我们开发板的示意图,这里没有什么特别之处。 到达输入CH_A0的信号也被修补到CH_C0,原理图中没有显示。 ADC配置是通过外部跳线将相关引脚连接(大部分)至GND来确定的,SEL_B和SEL_CD除外,它们连接至DVDD。

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

    您好Marko:
    感谢您提供详细反馈,很抱歉回复太晚。 您的通道对A似乎不工作,您是否在通电后配置了配置寄存器(config)? 当硬件/软件输入设置为高电平时,设备在软件模式下运行,功能仅由配置寄存器位设置。 请确保配置寄存器中的PD_x位=0,检查配置寄存器中的/STBY位0或1。 我还建议将R332-R336电阻器移除以进行测试,/STBY引脚设置为高电阻,这对SW模式没有影响,但用于测试目的。 谢谢。
    顺便说一下,您在原理图中提到的与DVDD相关的SEL_B和SEL_CD在哪里?

    此致
    戴尔·李

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Dale,感谢您提供有关下一步的提示。 在接下来的10天里,我将离开实验室,但一旦我返回,我将根据您的建议修改电路板,运行更多测试并在此处发布更新。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,Dale,

    根据您的建议,我们已卸下R332-R336电阻器并拔出/STBY引脚。 该器件仍以较高的转换速率(超过100 ksps)锁定,但令人折衷的是,它现在可以承受37.5 MHz SPI时钟,而在初始设置中,一旦SPI时钟增加到超过25 MHz,芯片将立即锁定。

    SEL_B和SEL_CD是通过外部跳线向上拉的,但上述示意图部分未显示。

    配置寄存器将永久更新为0x80.008万ff (REF_EN = 1,REFAC = 0x0ff)。 无法在ADS8568上“检查”配置寄存器的状态,因为它只能在写入时读取。 即 Read_EN位(30)仅在启用write_en (31)时生效,数据表对此不是很清楚。

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

    您的值(0x80.008万ff)将所有输入电压范围设置为4 VREF,同时您将内部参考电压设置为2.5 V (位13),因此HVDD和HVSS应高于+10V且小于10V, 但您使用+/-5V作为HVDD/HVSS电源,+/-12V是机箱的好选择(+/-10V范围),另外D[9:0]:REFAC设置位应设置为0x3FF,以获得2.5V参考电压。 请更正它们。
    当位30=1时,配置寄存器内容在SDO_A上输出,随后两次访问时,这是检查寄存器的一种方法。
    谢谢。

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

    您的值(0x80.008万ff)将所有输入电压范围设置为4 VREF,同时您将内部参考电压设置为2.5 V (位13),因此HVDD和HVSS应高于+10V,低于10V, 但您使用+/-5V作为HVDD/HVSS电源,+/-12V是机箱的好选择(+/-10V范围),另外D[9:0]:REFAC设置位应设置为0x3FF,以获得2.5V参考电压。 请更正它们。[/QUOT]

    您好,Dale,

    根据您的建议,我已尝试对不同的配置寄存器设置(0x81a883ff)执行fidling,但设备仍以与以前相同的方式锁定:

           //(31)注册更新启用
           //(24) range_a -> 2 VREF
           //(23) range_B -> 2 VREF
           //(21) range_C -> 2 VREF
           //(19) range_D -> 2 VREF
           //(15)内部参考启用
           //(9..0) REFAC设置
           sh (0x81a8,IO_ADC_BASE,ADC_OUT _HI);
           sh (0x83ff,IO_ADC_BASE,ADC_OUT _LO);

    在我们的应用中,HVDD和HVSS必须连接到+/- 5V,根据数据表,哪个值应该是完全正常和可接受的值? 或者不是,正如您建议的那样,我们应该将它们上调至+/-10V? 在数据表中的任何地方,我都找不到HVDD/HVSS上+/-10V范围是使用内部参考电压发生器所需的最小值的提示?

    此外,我不了解为什么REFAC应固定为0x3ff,因为根据数据表,该值应在0.2 VREF到VREF的范围内,即从0x0cc到0x3ff,或0.5V到2.5V?

    DALE LI 说:
    当位30=1时,配置寄存器内容在SDO_A上输出后两次访问时,这是检查寄存器的一种方法。

    我不能重复这一点。 获得配置寄存器值而不是SDO_A上ADC读数的唯一方法是设置位31 (write_EN)和位30 (read_EN)。 如果仅设置READ_EN (位30),SDO_A将始终跟踪模拟输入。

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

    PAR/SER引脚在原理图中接地。 对于串行接口应为高。 确保RD和REFEN/WR连接到地面。

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

    在原理图中,PAR/SER引脚与地面相连。 对于串行接口应为高。 确保RD和REFEN/WR接地。[/QUET]

    当然,PCB已经过修改,可将PAR/SER连接到地面,RD和REFEN/WR也通过外部跳线接地。

    Lukas Fink 说:
    您是否尝试过降低REFAC?[/QUOT]

    是的,芯片(mis)的行为完全相同,无论REFDAC设置如何,从0x3ff到0x0cc,甚至更低,尽管低于0x0cc的值超出了规范范围。

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

    您好Marko:

    Dale在外旅行10天。 同时,让我尝试回答你的后续问题。

    您可以正确地将HVDD和HVSS连接到+/- 5 V。但当您使用的先前配置使用4*Vref (无论使用的是内部还是外部参考)来指示,因此如果使用的是内部Vref = 2.5V, 输入范围为4* 2.5 = 10V。 这就是Dale解释您可以更改电源电压或更改配置设置以使用2*Vref = 5V的较小范围的原因。

    对于设置为0x3FF的最后一位,这是默认值。 参考馈电由这些REFDAC[0:9]位控制的10位DAC。 如果您希望使用其他配置,请参阅数据表第31页上的公式3。

    我相信您需要将位31和位30都设置为高才能读取配置内容。当您设置配置寄存器时,您是否看到刚刚在 SDOA上编程的配置数据?  

    要确认,您使用的是什么通信接口(串行或并行)?

    此致,Cynthia

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

    您好,Cynthia:

    我们仅使用此线程开头所述的SPI。 上面发布的原理图是用于我们的自制评估板的,最初用于并行通信,但我们通过将PAR/SER重新连接到DVDD来为四SPI进行了修补。 在我之前对Lukas Fink的回复中,我错误地指出PAR/SER已修补到GND,但实际上我们移除了R329并将引脚直接连接到DVDD。

    虽然在一个充满跳线的修补评估板上看到异常行为并不意外,但我们担心的是,我们还有另一个板,我不能随意在此张贴该板的原理图,该板从一开始就设计并路由为单SPI操作。 当我们将转换速率从大约50 ksps上调到另一个水平时,我们观察到的单读SPI锁定与我们在具有四读SPI的评估板上所经历的完全相同。

    最初,我们将锁定归咎于电源噪音,但我们不再相信它们是罪魁祸首。 根据转换速率,我们观察+5V电源轨上40至55 mA的平均电流消耗(也通过LDO导出3V3 DVDD),测得的电压峰值不超过150 mV,距离ADS8568芯片小于1英寸。 正如我早些时候在这里张贴的示波图上所看到的那样。