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.

[参考译文] AM5726:QSPI 接口问题

Guru**** 2655675 points

Other Parts Discussed in Thread: AM5726, TPS659037

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1586431/am5726-problem-with-qspi-interface

器件型号: AM5726
主题: TPS659037 中讨论的其他器件

我们已根据图片将 QSPI 闪存连接到 AM5726 处理器。

QSPI.PNG

 

所有这些引脚的组电源为电路 (1.8V)、通信不稳定。 也与 osiloscop 一起使用。 好像 RTCLK 输入不是输入。  

为了进行测试、我们将所有这些引脚置于简单的 GPIO 模式。 同样、当 R139=150 欧姆时、RTCLK 输入引脚将使 SCLK 输出信号失效。  

这些“输入“引脚出现了什么问题? 我们是否发生了硬件损坏? 为什么?

这是切换 SCLK(紫色)时 RTLK“输入“(蓝色)引脚处的信号。 也作为愚蠢的 IO。

 

tek00004.png

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

    一些澄清(我与 Christoph Stiebel 在同一组):

    基本上、我们用 150 欧姆的电阻器隔离 SCLK 引脚 (R2) 和 rtclk 引脚 (R3)、以研究引脚之间的(意外)电流。 闪存未连接(移除 R138)。 我们将 SCLK 编程为 GPIO_2_8 输出、并使其生成一个方波信号(在 Linux 下、gpioset -t1us、1us -c gpiochip3 8=1) 。 rtclk 引脚编程为 GPIO_2_3 输入。 虽然输出 GPIO2_8 上的电压是一个良好的方波、电平为 1.76V(高电平)和 0.1V(直接在下降沿之后)、但我们可以观察到 GPIO2_3 输入 的下降沿约为 0.6V、这会在从几 ns 到一些 us 的任意时间后(平滑)下降至 0V。 根据 150 欧姆电阻器上的压降、我们得出结论、GPIO2_3 输入在 1.8V 高电平上灌入 1.3mA、并在下降沿之后直接拉取低电平 3.3mA。

       

    上面的示波器屏幕截图显示了 2 个不同的时间标度上 GPIO2_8(输出)、黄色和 GPIO2_3 输入(白色)的情况。 此探头是无源 x20 低容量探头、带 1k/1.5pF 电容、因此无严重负载。 该行为还取决于芯片温度:如果冷却,它就像我同事的图片(蓝色曲线),如果热,而像白色/黄色曲线图片。

    如果我们将 GPIO2_3 编程为输出并将 GPIO2_8 编程为输入、则效果保持不变、只是两条布线都会交换(输出端的信号仍干净,输入端的信号不良)。

    在 QSPI 运行中、我们有迹象表明、QSPI 数据 IO 在作为输入运行时也会出现相同的故障、因为闪存的响应也会损坏。 尤其是、低电平被强制在 0.6V 范围内(由输入引脚提供电流)、从而使信号不可靠。

    原因可能是什么????

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

    您好 Christoph S.和 Christoph D.、

    您是否在辅助电路板或其他电路板上看到了类似的问题?

    您还能提供这两个引脚的焊盘配置吗?

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

    我们在我们的电路板的所有样品上都遇到同样的问题(我们有 5 件)。

    同时、我们还看到了它在相同软件下可以正常工作(在这种情况下,输入是没有临时负载的实际输入,如果我们启用和使用 QSPI,则一切都按预期工作)、但很少。 这似乎是一个启动问题、我们正在朝着电源时序的方向思考...

    我们已为 vddshv10 和 vddshv11 提供 1.8V 的电压、并根据 SPRS593G 第 195 页中允许的情况连接到 vdds18v。请注意 (6)。 vddshv10 为 QSPI 引脚供电。 另一个 vddshv (1-7、9) 为 3.3V、稍后在 p194 上启用。 这可能是个问题吗? (换句话说,是否允许在启动时以 1.8V 电压提供 vddshv10、11、然后提供另一个 vddshv?

                    

    我们在互联网上找到的所有参考原理图都提供了相同的 3.3V 电源... 我希望、在不同时间使用 2 个不同的 IO 电压加电不会出现问题(尽管数据表并不禁止它...)。 对于上述屏幕截图、两个引脚 (R2、R3) 的焊盘配置为 14 (GPIO)、对于 QSPI 模式、焊盘配置为 1。 在这两种模式下、输入会提供相当强的电流、这一点与输入产生的效果相同。

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

    尊敬的 Christoph D.:

    感谢您确认在使用相同软件的 5/5 主板上看到此问题。 我分享您对 VDDSHV10/11 连接到 VDDS18V 的电源时序要求的理解 — 这是可以的。 为了确认这一点、采用 TPS659037 PMIC 的电源解决方案是否属实?

    您能否分享完整的焊盘配置寄存器? 在我认识到系统间歇性地使用相同软件工作的同时、我想确认这些寄存器值、以排除任何配置问题。

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

    是的、该电源解决方案是 TPS6590379 PMIC、具体请参阅下文

    在 GPIO 测试(示波器 PICS)期间、R2 padconfig (GPMC_A18、地址 0x4A003488) 和 R3 padconfig (GPMC_A13、0xa003474) 都是 0x0005000E(用 devmem2 读出)  

    请在下面找到我们电源的原理图。 首先提供 5V 电压、然后在外部生成 3V3_PRE。 PMIC 通过 IC11 至 REGEN1 接通 3V3。

    顺便说一下、对于高输出电平、一切都正常。 与高电平下的黄色迹线(GPIO2_8 输出)相比、白色迹线(在 GPIO2_3 输入端测量)的轻微压降来自示波器探头的低 1kOhm 阻抗、在输出之后的 150 Ω 电阻器上生成该压降。 芯片也很热。 当冷却至正常工作温度并使用正常 1M 示波器探头时、情况如第一张图片所示(输出为紫色,输入为蓝色)

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

    原理图显示、R139 中填充了 10 欧姆电阻器、但注释指出它填充了 150 欧姆电阻器。  显示的波形采用了哪种配置?  我还看到蓝色切换但紫色不切换 — 那么是什么导致蓝色切换如果紫色不是(不是紫色的来源)?  如何在 PCB 上实现?  请注意、我们的数据表推荐以下器件:

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

    最初它装配了一个 10 欧姆电阻器、与您的建议完全相同。 当 QSPI 闪存无法正常工作(ID 读取失败)时、我们检查信号并看到信号达到适当的低电平(有时超过 0.6V、导致 QSPI 故障)的问题。 为了更仔细地进行检查、我们将 10 Ω R139(或您原理图中的 R2)替换为 150 Ω 电阻器、这不是为了使 QSPI 发挥作用、而是为了证明电流从输入焊盘流出的理论。  为了进行实验、我们还将焊盘功能从 QSPI 切换为 GPIO、以在焊盘 R2 上生成方波输出。 R3 被配置为输入。 我们可以观察到、输入焊盘在收到下降沿后提供高达 900ns 的电流。 直接在输入端、我们会在下降沿后看到 0.8V 的电平、而输出 (R2) 相当干净(尽管您也会看到很小的影响 (0.2V),但由于输出阻抗低,影响很小)。 这表明、在高达 900ns 的时间内、输入引脚 R3 会在一定时间内提供 (0.8V 至 0.2V)/150 Ω= 4mA 的电流。 这似乎是 PAD 驱动程序的故障。 在极少数情况下、硼会上电并工作、然后输入(和输出)上的电压会非常干净地降至 0V、表明输入端没有拉取电流。 如果电路板在“ok"模式“模式下唤醒、它将保持正常、直到下一次上电。  

    通过 QSPI 接口的其他引脚也可以观察到相同的效果(例如在 D1 上、闪存无法将 D1 线路正确下拉至 0V)

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

    感谢您的描述。  因此、这不是您正在研究的信号完整性问题、而是更多的 IO 功能问题。  是这样吗?

    在之前的评论中、您提到了电源时序问题?  是否违反了电源序列要求?

    另一种思路是、该器件具有可以启用的内部拉电阻器。  这可能是您看到的吗?

    请注意、该器件已投入生产多年、大多数客户使用 QSPI 接口作为主闪存器件。 我不知道有任何问题。

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

    Robert、

    根据提供的焊盘配置寄存器值、内部拉电阻器被禁用(位 16 设为高电平)。

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

    Christoph D.

    考虑到我们遇到 QSPI 问题、我们能否通过转储 QSPI_SPI_DC_REG (0x4B300044) 来确认 QSPI 处于哪种模式?

    我们需要确保处于模式 0 的外部环回模式。

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

    尊敬的 Mark 和 Robert。 我们完全相信 TI、该器件不会出错。 因此、我们会搜索错误、例如上电序列问题。 虽然上电序列没有明显的违规行为(我们首先碰触了这种情况)、但数据表留出了一些解释余地、请参阅上面的问题、看看是否允许在 vddshv10、11 上具有 1.8V 电压、同时在另一个 vddshv 上同时上升 vdds18 和 3.3V 电压、稍后上升。

    这不是(时序)信号完整性问题、而是由输入模式下的 IO 焊盘行为引起的电压电平信号完整性问题。

    我们在模式 3 和模式 0 中进行了 QSPI 测试。 如果器件正确加电、两种模式都能发挥独特的作用、甚至在 76.8MHz 模式下也是如此(尽管这几乎是模式 3 指定的最大值的两倍)。 这证明(与高速示波器测量一起)不存在时序信号完整性问题。 相反、我们会从输入引脚(以及 rtslk 作为数据引脚)看到这种奇怪的拉电流 (4mA)、这会在下降沿后几 ns 到大约 100ns 停止。 看起来输入好像处于某种(强)总线保持模式。 我将在输入端前面使用不同的电阻器进行更多测量、以更好地表征电流源行为。  

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

    尊敬的 Mark 和 Robert。 问题已解决。原因是 AM5726 的 2 个 3V3 供电输入 (UART3_RXD、D27 以及错误地也是 RSTOUTn、F23) 由 3V3_PRE 供电的外设电路驱动。 由于在启动期间、即使在处理器上施加 vdd18 之前、外设也会在输入端驱动高电平、因此在启动期间会有很大的电流(估算的 20mA) 流入)流入这些引脚。 这个电流显然能够使 vddshv10、11 上的输入进入这种奇怪的状态。 现在、我们确保了这些外设也由处理器的最新 3V3 供电、并且我们的方波测试也可靠地启动了整个 QSPI 接口。 以下是一些屏幕截图:

          

    SQUARE GPIO 测试 无法正常运行                  /           正常工作

        

    QSPI 闪存探头(模式 3)(蓝色:时钟;紫色:闪存不工作)  /              正常工作

    我希望这一结果可能对其他人有用。

    感谢您的支持!!

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

    很高兴听到这个主题有用、感谢您就此主题进行汇报!