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.

[参考译文] ADS7066:ADS7066IYBHT Part2 的菊花链通信问题

Guru**** 2837190 points

Other Parts Discussed in Thread: ADS7066

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1564895/ads7066-daisy-chain-communication-issue-with-ads7066iybht-part2

器件型号: ADS7066

工具/软件:

您好、

在“相关问题“部分、我将根据我之前与制造商工程师的互动提出其他问题。

我们目前正在支持一个客户评估采用 5 器件菊花链配置的 ADS7066IYBHT、希望确认有关 SPI 行为的以下技术细节。

1.菊花链接收顺序

在以下配置中:

FPGA → ADC0 → ADC1 → ADC2 → ADC3 → ADC4 → FPGA

我们理解、输入数据 (SDI) 通过链传播、使得每个 ADC 都以相反的顺序接收其 24 位命令、如下所示:

  • 时钟 1–24:ADC4 接收数据

  • 时钟 25–48:ADC3

  • 时钟 49–72:ADC2

  • 时钟 73–96:ADC1

  • 时钟 97–120:ADC0

您能否确认此解释是否与数据表第 7.3.10.2 节菊花链模式中所述的内部移位寄存器行为相匹配?

2. SPI-00 协议时序行为

关于 SPI-00 协议(默认)、我们的了解是:

  • SDI 在 SCLK 上升沿被锁存

  • 在 SCLK 下降沿更新 SDO

此外、我们希望您对以下内容做出澄清:

  • 数据表第 9 页(图 6-3)表示:

    • SDO 在 CS 下降沿+之后变为有效 tDEN_CSDO

    • SDO 在 SCLK 上升沿+之后切换 tD_CKDO

  • 然而、我们无法在电气特性表中找到 tDEN_CSDO 或 TD_CKDO 的显式时序定义。

您是否有更详细的 SPI 时序图(如 SCLK/SDI/SDO 波形图)、尤其是 SPI-00 中的菊花链模式下、您可以分享这些时序图?

谢谢、

Conor

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

    尊敬的 Conor:

    对此处回复的延迟深表歉意。 我将需要更多时间来研究这一点、因此请期待明天作出响应。

    此致、
    Joel

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

    尊敬的 Joel:

    好的、我将等待您的更新。

    谢谢、

    Conor

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

    你好 Connor、  

    要回答您的问题:

    1. 是的、FPGA 将接收来自最后一个 ADC 到第一个 ADC 顺序的数据:FPGA<--ADC4<--ADC3<--ADC2<--ADC1<--ADC0
    2. 我可以专门为 ADS7066 重新创建时序图、但一个共享的计时器可以非常适合具有增强型 SPI 的 ADS7066
      1. 数据表中的图 6-1、6-2 和 7-5 分别显示了这一点  
      2.  tDEN_CSDO 的最大限值为 22ns、 TD_CKDO 的最大限值为 16ns(这些值可在数据表的 6.7 开关特性表中找到
      3. 图 7-5 还显示了 SPI-00 协议 SCLK/SDO 关系。

    此致、  

    Yolanda  

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

    你好、 Yolanda、

    我了解数据输出到 SDO 时的时序、如下所示。 这是正确的吗?
    •首先、CS 下降:启用 SDO。
    •接下来、SCLK 上升:下一个数据是输出、并更新 SDO。
    •接下来、SCLK 下降:更新 SDO。
    在这种情况下、理解 SDO 在第一个 SCLK 周期的上升沿和下降沿都更新是正确的吗?

    谢谢、

    Conor

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

    你好 Connor、  

    因此、该器件使用“增强型 SPI“、它用作 SPI、但其时序能够更快一点、以在较慢的 SCLK 下实现最大吞吐量  

    使用此器件会发生以下情况:

    • 首先、启用 CS Falls - SDO  
    • 下一个 SCLK 上升沿 — SDI 被锁存且 SDO 有效
      •  TD_CKDO 有很小的延迟、然后是 SDO 更新。  
    • 下一个 SCLK 下降沿 — SDO“更新“  
      • TD_CKDO 是从“启动“边沿(在本例中与 SDI 锁存边沿相同)到 SDO 实际更新的时间  
      • 因为这是在用于读取 SDO 的边沿之后、更新边沿“四舍五入“到下一个边沿-->下降沿。
      • 该 SDO 本质上是 在下降沿(或 t_PH_CLK - TD_CKDO)之前更新 t_CLK/2 - TD_CKDO。

    SDO 在每个 SCLK 周期仅更新一次、因为增强型 SPI 比典型的 SPI 协议更早/更快。  

    此致、  

    Yolanda

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

    你好、Yolanda

    感谢您的答复。

    我们想在 SPI-00 模式下再确认一个关于 SDO 更新时序的要点。

    总结一下我们对电流的理解:
    SDO 输出从 SCLK 的上升沿开始更新、在 TD_CKDO 延迟 (MAX = 16ns) 后、数据变为有效。
    如果 TD_CKDO 最小值为 0ns、则似乎直接在 SCLK 的上升沿更新 SDO。
    基于此、我们可以了解、SDO 每个时钟周期仅更新一次。
    因此、解读为在 SPI-00 模式下、SDO 在每个 SCLK 的下降沿有效更新(因为这是通常读取 SDO 的时间)是否正确?

    我们还创建了一个时序图(已随附)、展示了我们对菊花链通信期间 SPI-00 模式下 CS/SCLK/SDI/SDO 时序的了解。
    您能否查看此图并告诉我们是否存在任何错误或误解?
    e2e.ti.com/.../ADC-SPI_5F00_daisy-chain-timing.xlsx

    尽管测试了各种时序配置、但链中第一个 ADC (ADC0) 的 SDO 输出时序仍然不正确、我们尚未成功地使用 5 个器件建立完整的菊花链操作。
    如果无法使用菊花链通信来进行当前设置、我们可能需要考虑重新设计电路。

    在这方面、我们谨提出以下问题:

    ADS7066IYBHT 菊花链模式是否已通过实验室中的实际硬件或参考设计成功验证?

    如果可用、您能否分享任何演示如何在菊花链模式下操作 ADS7066 的示例代码(即使是 C 语言)?

    我们感谢您的帮助、并期待您的反馈。

    此致、

    Conor

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

    你好 Connor、  

    感谢您了解菊花链的 SPI 时序。 这对我来说很好、我想我们已经对器件的 SPI-00 时序进行了调整。  

    我自己已经使用 EVM 测试了菊花链功能、但只有 3 个、而不是 5 个。 不过、这是通过修改后的控件设置完成的、因此我没有可用的可共享示例代码。 让我再次尝试、收集一些计时屏幕截图、并确认所需的设置并与您分享。  

     我知道在上一个 E2E 主题中、我们讨论了这些器件的设置、不过是为了确保您能再次分享这些器件吗?  

    数据帧配置是默认值还是启用了任何状态位?  

    在菊花链测试期间、是否有任何寄存器回读尝试? 只发送 NOP 怎么办?

    您还能否分享以菊花链形式连接的器件的原理图?  

    此致、  

    Yolanda

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

    你好、Yolanda、

    感谢您的持续支持。 请在下方找到我们对您问题的回答:

    1.设置详情

    • 菊花链连接:FPGA→ADC0→ADC1→ADC2→ADC3→ADC4→FPGA

    • SCLK 频率:专为 15MHz 而设计

    • ADC 寄存器配置:

      • 已启用内部基准

      • 输入范围设置为 2 × VREF

      • 禁用 CRC 模块(默认)

      • ADC 偏移已校准

    要应用上述设置、在为电路板供电后、我们将“General_CFG"寄存“寄存器(地址:0x01)配置为 0x8A。

    2.数据帧配置
    数据帧配置设置为默认值。 SPI 协议也是默认协议 (SPI-00)。

    3.寄存器读回和 NOP 测试
    要执行寄存器回读、我们知道必须发送读取命令 (0001 0000b)、8 位寄存器地址和 8 位虚拟数据。 但是、由于与 ADC 的菊花链通信无法正常工作、因此我们无法完成回读。

    当仅发送 NOP (0x000000) 时、来自 ADC 的返回值为 0。 请参阅随附的图像以供参考。

    4.示意图
    我们将通过私信发送 ADC 菊花链连接的原理图、因此请批准访问。

    谢谢、

    Conor

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

    你好、 Yolanda、

    您有任何更新吗?

    谢谢、

    Conor

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

    你好 Connor、  

    这是一个很好的方法,它是一个很好的方法  

    我再次尝试了菊花链、它似乎在我的最终使用默认(上电配置)。  

    与我为此设置的一个不同之处在于、我的可用系统不使用连续数据流、它以数据包的形式发送 SPI 数据、为每帧之间留出一些时间。  

    遗憾的是、为了能够测试连续时钟、我需要更多的时间、您能尝试在 SPI 帧之间添加一个小的延迟吗?

    此致、  

    Yolanda  

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

    你好、 Yolanda、

    为了确认、当您建议在 SPI 帧之间添加延迟 时、是否应该将其理解为在延迟期间停止 SPI 时钟? 例如:CS 低电平→24 个时钟(帧 0)→延迟(无时钟)…24 个时钟(帧 1)→ Δ V→高电平。

    此致、
    Conor

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

    你好 Connor、  

    没错。

    此致、  

    Yolanda

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

    你好、Yolanda、

    我们尝试按照建议在 SPI 帧之间添加一个小的延迟、但遗憾的是、这没有任何影响、我们这边的菊花链仍然无法正常工作。 为了更好地了解您确认菊花链运行的环境、请对以下几点进行澄清:

    1. 您是否使用 ADC 评估板确认了菊花链操作?
      如果可能、您能否分享评估板的原理图以供我们参考?

    2. 您能否分享确认菊花链运行时使用的设置详细信息?
      如果您能提供所应用的特定命令/地址/数据设置、将会非常有用。
      此外、您是否能够分享在菊花链正常工作时捕获的波形?

    感谢您的时间和支持、我们期待您的确认。

    谢谢、

    Conor

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

    Yolanda

    您有任何更新吗?

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

    你好 Connor、  

    是的、我确实使用两个 ADS7066EVM 确认了菊花链、一个完全连接到 PAMB 控制器(与评估模块配对)、第二个 EVM 通过跳线连接以共享电源、CS、SCLK 以及根据菊花链要求连接的 SDI 和 SDO(第一个器件连接到第二个器件的 SDI)。  

    在使用 PAMB 控制器的快速设置中、 我使用了一条 spiwrite 命令、该命令以 8-24 位的突发方式发送数据、并能够通过第 1 个器件发送一条命令、在第 2 个器件的输出端看到相同的命令。  

    此致、  

    Yolanda  

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

    你好、Yolanda、

    我们项目团队中有多个成员对 ADS7066 菊花链运行进行额外检查。 我们希望分享结果以及我们关于潜在器件故障的观察结果。


    ① μ s 菊花链操作结果

    使用我们的定制电路板、其中 5 个 ADC 以菊花链方式连接、我们观察到以下行为:
    当发送超过三个 24 位突发时、第一个 ADC 的 SDO 的数据输出会变得不正确。

    • 发送的数据(SDI 输入):
      突发 1:08_01_8C
      突发 2:08_01_8C
      突发 3:08_01_8C
      突发 4:00_00
      突发 5:00_00

    • 观察到的数据(第 1 个 ADC 的 SDO 输出):随附波形
      突发 1:0
      突发 2:08_01_8C(正确)
      突发 3:数据损坏
      突发 4:数据损坏
      突发 5:00_00(正确)


    ② 关于设备故障的注意事项

    我们测试了六个原型板、所有板上都重现了相同的结果。
    因此、我们怀疑 TI ADC ADS7066IYBHT 可能存在器件缺陷或潜在的设计问题。

    我们非常感谢您对这些调查结果的审查和反馈。

    谢谢、

    Conor

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

    你好 Connor、  

    我很抱歉、这是一个大问题。 我感谢您和您的团队在此方面所做的一切努力。 我明天在 5 台设备上尝试一下。  

    我发现奇怪的是,在你分享的最新图像是,它似乎第 3 次和第 4 次突发的 SCLK 在 SDO0 分别显示 0x080100 和 0x00008C 和对 SDO1 它是一个类似的事情,但与第 3 次和第 5 次突发。  

    是否可以探测并确认所有 5 个器件中的 CS 和 SCLK 都是相同的? 或者用示波器查看实际波形?  

    在这些测试期间、频率是否仍为 1MHz 或 SCLK 频率是多少? 定制电路板上的 ADS705x66 器件之间是否相距很远?  

    您还能分享 ADS7066 的 DVDD 以及控制器上的逻辑电平是什么?  

    此致、  

    Yolanda

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

    你好、Yolanda、

    由于目前正在优先考虑其他工作、它们尚无法获取 ADC 波形。

    但是、客户购买了 ADS7066EVM、当他们确认其运行情况后、获得的结果与原型 SEN 板的结果相同。

    随附的文件中总结了 TI 评估板上 ADC 运行确认的结果。

    e2e.ti.com/.../ADC_5F00_measurement.pdf

    感谢您发送编修。

    Conor

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

    你好、 Yolanda。

    您有任何更新吗?

    谢谢、

    Conor

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

    你好、 Yolanda。

    您有任何更新吗?

    谢谢、

    Conor

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

    尊敬的 Conor:

    鉴于对话已发送到电子邮件、我将关闭此主题。

    此致、
    Joel

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

    尊敬的 Joel:

    我已经发送了几封电子邮件请求回复、但我没有收到 Yolanda 的回复、您能在内部查看吗?

    谢谢、

    Conor

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

    您好 Joel 和 Yolanda、

    我已发送电子邮件提醒您、但我尚未收到回复、请检查。

    谢谢、

    Conor

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

    尊敬的 Joel:

    我已经发送了几封电子邮件请求回复、但我没有收到 Yolanda 的回复、您能在内部查看吗?

    谢谢、

    Conor