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.

[参考译文] ADS8688:缓冲多个芯片

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/944854/ads8688-buffering-multiple-chips

器件型号:ADS8688

尊敬的 TI:

在单个设计中、我们在菊花链中使用9个 ADS8688。  我知道、除了4个芯片之外、您还建议使用缓冲器。  我们一直在尝试使用和不使用单个输出缓冲器、在这两种情况下、与芯片(SCK、MOSI、CS)的通信在示波器上看起来良好。  但是、我们没有缓冲 MISO 线路、因为它仅在总共3个从芯片(NXP PCA9745b、Microchip MCP6S28和 ADS8688)之间共享。  我们在示波器上看到的 MISO 的奇数行为有两个:1)一旦 MISO 开始发送数据、基线"GND"电压就会从电路 GND 增加到~0.7V (在用于触发读取的前两个 NOP 字节期间不会上升)、 在这个高 GND 电平之上、有随机的高频"剪"高达3.3V (我们的通信高电平)。  我们已经尝试切断到另外两个芯片的布线、以便菊花链中芯片1的 SDO 仅连接到主器件、我们看到同样的结果。

我应该提到的是、我们通过 FTDI FT232H 芯片以不同的速度进行通信、但通常情况下为~500kHz。  为了消除在高速时可能发生的时序错误、我已经减慢了通信速度、但不确定我们是否会在低速时(例如1kHz)看到由菊花链引起的时序错误。  您能否澄清这些问题是否仅在高速(许多 MHz)下出现?

提前感谢您提供的任何建议!

Dan

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

    Dan、您好!

    您能否提供时序图来显示您描述的问题? 此外、基线"GND"是否是您的接地平面? 您从所有 ADC 读取的数据是否不正确? 您是否使用计算机通过 FT232H 器件与 ADS8688通信? 原理图将有助于解决该问题。

    此致

    戴尔

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

    您好 Dale、

    感谢您的快速回复!  我将包括一些有关我们所看到的奇怪行为的图像。  第一个示例显示了由 Labjack U3-LV (使用 Python)驱动的顶部 SCK 和底部 MISO。  除了 MISO 问题之外、这里还有明显的时钟问题、我已经多次确认、在未连接到电路板的情况下不存在 MISO 问题。     第二个映像与 FT232H (通过 USB 连接到计算机)通信、但没有缓冲区、并且仅显示 MISO 数据(对于缺少时钟表示歉意、 但实际通信发生在高度约为1V 的方形"脉冲"上、并占据示波器图窗口的2/3。  在此期间、MOSI 为10 x 16 NOP 位。

     最后、这里是 SCK 和 MISO 的另一个图像、您可以在其中看到 MISO 的电压电平以混乱的方式变化。  它还连接到通过 USB 控制的 FT232H。  

    我以前在试验电路板上通过连接到 ADS8688的 FT232H 确认通信成功、目前有几个 ADS8688正在运行、由 Labjack U3-LV 控制。  我提到这一点是为了确认我过去能够成功地进行沟通。

    PCB 是一个双平面板、其底部标称为接地层(但实际上被许多布线/过孔拆分了很多)。   

    我随附了我们的原理图。  我们所做的唯一重要更改与 FT232H 相关。  如原理图所示、我们无法与芯片通信。  为了解决此问题、我们移除了缓冲器芯片、并使用图中所示的跳线连接到具有 FT232H 的分线板、该分线板正常工作。

    再次感谢您!

    Dan

    e2e.ti.com/.../4111.schematic.pdf

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

    Dan、您好!

    感谢您提供更多信息。

    您的设计使电路和 SPI 时序变得复杂、因为所有8个 ADS8688 ADC 都使用具有菊花链连接的同一 SPI 总线、同一 SPI 总线与4个 PCA9745 16通道 LED 驱动器器件共享、同样的 SPI 总线也与其他8个 MCP6S28 PGA 器件共享。 我们建议使用 SPI 的菊花链、这是4个器件。

    在您的第一幅图像中、时钟看起来还不错、您在时钟上谈论的是什么问题? 当您说 "我多次确认在未连接到电路板的情况下不存在 MISO 问题"时、您是指第二幅和第三幅图片中所示的 MISO 问题吗?  

    对于您的第二幅和第三幅图像、当您采集这两幅图像时、4个 PCA9745 LED 驱动器器件和8个 MCP6S28 PGA 器件是否连接到 SPI? 是否所有8个 ADS8688 ADC 都连接到 FT232H 的 SPI? 如果是、我建议您从   SPI 上断开所有 PCA9745和 MCP6S28器件的连接以进行检查? 此外、只需连接或焊接4个 ADS8688 ADC 即可逐步检查和调试、然后增加 ADC 数量(这可能需要在 SPI 总线上使用适当的缓冲器)。

    使用2层布局时、很难实现 ADS8688数据表中指定的性能、尤其是在使用了如此多的 ADC 时。 强烈建议使用实心接地层。

    您无法使用缓冲器与 ADC 通信的原因应该是缓冲器的传播延迟。 当在控制器和 ADC 之间使用传播延迟较长的缓冲器时、控制器尝试通过发送 SCLK (第1个)和其他信号来读取数据、 ADC 根据 SCLK (第2个)移出转换数据、SCLK (第2个)从第1个 SCLK 延迟、 然后、控制器将根据第1个 SCLK 通过缓冲区捕获数据、与第1个 SCLK 信号相比、发送给控制器的数据将有两个延迟。 如果 传播延迟更长、控制器将无法获取正确的数据、因为时序不符合时序要求。

    关于原理图、通常建议在放大器和 ADC 输入之间串联电阻、电阻器可以限制电流并保护 ADC 输入、此外、建议在 SPI 总线上使用小值串联电阻器、尤其是在走线更长的情况下。 此外、

    • 是否将 DEV_buff out_x 模拟信号连接到 ADS8688 ADC 的 AIN_XP 输入?
    •  您是否在没有任何其他连接的情况下将 ADS8688 ADC 的所有 AIN_xGND 输入短接在一起?

    此致、

    戴尔

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

    您好 Dale、

    我将对这些要点进行编号、以便更轻松地解决这些问题:

    1) 1)同一 SPI 总线上的多个芯片

    我看到您的建议多达四个 ADS8688、除此之外、您还建议添加一个缓冲器。  但是、考虑到 PCA9745B 和 MCP6S28的菊花链配置、唯一共享多次的引脚是 SCK。  MOSI 也是共享  的、但它仅与各自链中的第一个 PCA9745B 和第一个 MCP6S28共享。  MISO 仅在三个芯片之间共享(ADS8688链中的第一个芯片、PCA9745B 和 MCP6S28链中的最后一个芯片)。  我的理解是、SPI 协议设计为在几个芯片之间共享、只要它们都具有单独的 CS。  如果您能帮助我准确了解如何为 ADS8688实现缓冲器(例如、如我所示、为所有9个 ADS8688实现一个缓冲器、或为每个 ADS8688实现一个缓冲器)。

    2) 2)示波器图像问题

    第一个图像:时钟可能正常工作、但比我们通常看到的要多得多/少得多的清晰定义。  粗糙度不是示波器分辨率的伪影;它实际上看起来很粗糙。  当我说 "我多次确认的 MISO 问题在未连接到电路板的情况下不存在。" 我略有误解。  我的意思是将示波器直接连接到 Labjack (以及单独连接到 FT232H)、以检查器件是否发送了清晰的信号、而未将其连接到任何其他芯片。  他们发送了干净的信号、但我的误解是、如果没有 MISO 连接到芯片、我就无法观察到任何情况。

    3)第2幅和第3幅图像: SCK 和 MOSI 连接到原理图中所示的所有器   件(SCK 驱动9个 ADS8688、4个 PCA9745b、8个 MCP6S28;MOSI 驱动9个 ADS8688、1个 PCA9745b、1个 MCP6S28)。  与 PCA9745b 和 MCP6S28的 MISO 连接已断开、因此 MISO 仅位于菊花链中的第一个 ADS8688与 Labjack 之间。  ADS8688 CS 驱动全部9个。

    遗憾的是、由于 SCK 跟踪在所有芯片之间串行共享、因此很难将 PCA9745B 和 MCP6S28与 SPI 总线断开(我在受攻击的屏幕截图中突出显示了 SCK 网络)。  我喜欢一次添加一个芯片并从诊断角度进行单独测试的想法、但考虑到电路板的复杂性、这在我们的情况下也会有点困难。  如果我们确定额外的 ADC 很可能是问题的罪魁祸首、我们可以找到一种实现这一目标的方法。

    3) 3) 2层性能

    当您说在没有专用接地层的情况下很难达到 ADS8688中的规格时、您是指通信还是 ADC 精度?  还是两者都有?  重新设计的电路板肯定是具有专用接地层的4层电路板、 但是、我们正在尝试确定是否需要执行该步骤、或者我们是否可以使现有电路板正常工作(同样、在设计新电路板之前、尝试查找导致我们当前问题的原因的吸烟枪)。

    4)缓冲器传播延迟

    这是有道理的。  我们的电流设计不使用 MISO 上的缓冲器、因此应避免第二相位滞后。  不过、我希望通过 TI SN74LVC07ADR 以~10kHz 的频率运行、我们在这里不会有太大的问题。

    5) 5) ADC 输入上的电阻器

    好主意。

    最后、要回答您的最后两个问题:

    6) 6)我们将 DEV_buff out_x 连接到 ADS8688的 AIN_xGND 输入和 AIN_XP。  为了给您提供更多背景信息:PCA9745b 通过将其阳极保持在正电压(在我们的案例中为+15V)并调整负电压来驱动 LED、从而实现所需的电流。  我们使用电阻梯将 LED 电压(正负桥臂)降至其实际值的2/3、以便将要轻松测量的电压置于 ADS8688的电压范围内。  然后、我们使用 ADS8688测量每个 LED 电压。  ADS8688中的每一个都连接到一组单独的8个电阻器、我们针对每组而不是每个 LED 分别测量+15V 电压。

    至于我们使用 EL5324的原因:我们发现在之前的设计中、ADS8688的输入阻抗与我们用于测量电压的电阻梯的顺序相同。  为了解决此问题、我们使用 EL5324来缓冲每个输入。

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

     Daniel、您好!

    感谢您提供详细信息。

    1) 1) SCK (SCLK)具有如此多的器件、并且 PCB 板上的布线更长、因此您在中提到的 SCK 信号上看到过冲/锯齿状现象、我并不感到惊讶2)、这不是器件的问题。  

    2) 2) MISO 是计算机(主机)的输入信号、 我不确定您是否在谈论 MOSI、该 MOSI 是主机的输出 、因为 MISO 在未连接到 ADC 器件的情况下应该是什么。

    3) 3)我认为分步调试对于解决您的问题是必要的、方法是切断布线以断开其他器件或将其拆焊。

    4) 4)我所说的性能是 SNR、THD、噪声等、这是一个16位 ADC、而且您在同一 PCB 板上使用多个 ADC、因此您肯定需要一个4层电路板。 此外、4层 PCB 可能会使您的 SPI 总线布线更短、通信上的噪声拾取更少、信号更清晰。  

    任何 SPI 信号上的任何时序不匹配或其他问题都可能导致数据读取错误、例如、无论 SPI 时钟频率是高还是低、您的控制器都应该能够在有限的 tht_CKDO 时间(可能是10ns)内捕获转换数据:

    此致、

    戴尔

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

    您好 Dale、

    感谢您的所有反馈。  我正在重新设计所有器件、并将包括您的所有建议(每四个芯片使用一个缓冲器、通信线路上的电阻器、四层电路板以及周围更短的布线)。  电路板制作和测试需要几周时间、但我将使用结果和更新的原理图对此主题作出响应、以便将来遇到这些问题的任何人都可以获得要做什么/不做什么的示例。

    谢谢、

    Dan

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

    Dan、您好!

    感谢您的更新、我很期待看到它。 如果您希望我查看您的 sch&PCB、以防出现任何潜在问题、您可以 通过此论坛上的友谊与我联系、并以私人方式发送您的文件。

    更新:

    Daniel 于2020年12月7日提供的反馈:

    "我只是想跟进这一点、并说新设计(利用您的建议)在10MHz 下运行得很好。 我也尝试在公共论坛上发表评论、但由于该主题已被锁定、我无法评论。"

    谢谢。

    此致、

    戴尔