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.

[参考译文] AM4372:AM4372 热复位引脚行为和引导问题

Guru**** 2694555 points

Other Parts Discussed in Thread: AM4372

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1581212/am4372-am4372-warm-reset-pin-behavior-and-boot-issue

部件号: AM4372

TI 团队大家好、

我们在 BRM100 主板上使用 AM4372 CPU、结构如下:
AM4372 (CPU、TI)–PMIC (TPS65216D0RSL)–FPGA (10CL016、Altera)

我们观察到在开机期间现场出现间歇性引导故障。 CPU 完成引导后、上出现噪音 WARMRSTn 引脚 (G22) 、它连接到 FPGA 复位网络。 此噪声似乎会意外触发 CPU 的热复位。

我们的理解是 WARMRSTn 引脚的运行方式 功率斜升期间的输入 然后变为 POR 和启动完成后输出 。 但是、即使在引脚配置为输出后、我们也会看到热复位事件、这会令人困惑。

问题:

  1. 我们对 WARMRSTn 引脚行为(斜升期间的输入,引导后的输出)的理解是否正确?
  2. 如果引脚处于输出模式、为什么此网络上的噪声会导致启动后的热复位?
  3. 是否有任何推荐的方法 在启动期间禁用热复位输入功能、并在系统稳定后重新启用热复位输入功能 ? 如果是、我们应该使用哪个 MMR 寄存器?
  4. 是否有关于的任何 TI 指南或最佳实践 CPU 和 FPGA 之间的共享复位网 避免此类问题? 例如、RC 滤波或施密特触发缓冲。

 

附件为:

  • 显示 WARMRSTn 连接的原理图片段。
  • 显示 FPGA 功率斜升期间噪声的示波器波形。

image.png

image.png

任何澄清或设计建议都将不胜感激。

感谢您的支持。

此致、
插孔  

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

    您好、Jack、

    我来深入探究一下。 我明天或明天后一天需要一些时间答复。

    谢谢、

    Stan

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

    您好、Jack、

    我们对 WARMRSTn 引脚行为(斜升期间的输入,引导后的输出)的理解是否正确?

    WARMRSTn 引脚始终为输入和输出(开漏)。 可以将其用作其他器件的复位输出和 SoC 的复位输入、但根据 TRM、建议仅使用其中一个方向:

    请参阅 TRM 部分  6.7.4.1 外部热复位 以了解详细信息。

    您能帮我了解一下、什么时候要将 FPGA_nRST 置为 FPGA 有效? 需要多长时间? 您是希望在每个内部或外部 SoC 事件后还是仅在 POR 后将其置位?

    谢谢、

    Stan

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

    您好、Stan

    感谢您的支持。

    我的客户提出了有关问题的其他问题 FPGA 的噪声会影响 AM437x 的 WARMRSTn (G22) 输入 、导致 AM4372 意外重新启动。 具体而言、他们希望确认以下内容:

    1. WARMRSTn 引脚 (G22) 的输入缓冲器是否作为施密特触发实现?
    2. WARMRSTn 引脚 (G22) 的输入阈值电平 (VIL 和 VIH) 是什么?

    此外,他们正在寻找 有关防止 FPGA 噪声引起 AM4372 意外复位的设计建议或思路 。 希望就避免此类问题的最佳做法提供任何指导。

    感谢您的支持。


    此致、  
    插孔

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

    插孔、

    对于 1 和 2、我将查看文档。

    同时、您能否要求他们为示波器屏幕快照提供更好的快照质量?

    此外、他们正在寻找 有关防止 FPGA 噪声引起 AM4372 意外复位的设计建议或思路 .

    这就是提出这些问题的原因:

    您能帮助我了解一下、何时要将 FPGA_nRST 置为 FPGA 有效? 需要多长时间? 您是希望在每次发生 SoC 内部或外部事件后还是仅在 POR 后将其置为有效?

    你能问他们这些吗?

    *由“内部或外部 SoC 事件“我指的是“oC 复位事件“

    谢谢、

    Stan

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

    插孔、

    1.是的

    2.  

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

    您好、Stan。
    感谢您的答复。

    以下是来自客户的反馈。  

    WARMRSTn 引脚功能要求

    • 初始引导行为 :在初始引导阶段、WARMRSTn 引脚应配置为输入。
    • 引导后行为 :引导过程完成后、WARMRSTn 引脚应重新配置为输出。
    • 禁用 WARMRSTn :需要在引导完成后的一段时间后禁用 WARMRSTn 函数。 如果可以禁用、则引脚应保持高电平状态。

    FPGA_nRST 信号要求

    • 触发条件 :发生 CPU 热复位事件时、应将 FPGA_nRST 信号置为有效。
    • 信号持续时间 :由于 FPGA_nRST 引脚不是专用复位引脚,而是一个时钟引脚,通过用户逻辑重新用于复位,因此没有严格的时序要求。 大约 10 个时钟周期(大约 100ns)的持续时间被认为足够了。
    • 复位事件范围 :对于每个 SoC 复位事件、都应将 FPGA_nRST 信号置为有效、而不仅仅是在上电复位 (POR) 期间、保持当前行为。

    正常启动期间(发生 WARMRSTn 噪声;右侧显示了出现噪声时的放大波形)

    当发生 CPU 热复位时

    谢谢。
    此致、  
    插孔

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

    您好、Jack、  

    感谢您提供示波器快照。  

    很难说这种噪声是否会导致 SoC 复位、因为尽管它非常接近、但并没有达到足够低的水平。 您是否有机会从 FPGA 断开 WARMRSTn 以确认其是 FPGA 导致复位?

    关于主要问题 — 如果您想使 WARMRSTn 仅输出、则需要添加一个额外(开漏)缓冲器、类似于 POR 和 WARMRSTn (74LVC1G07) 之间的缓冲器、这一次是在 WARMRSTn 和 FPGA 之间。 该缓冲区将把 WARMRSTn 信号传递到 FPGA、而不是在另一个方向上。  

    请注意、WARMRSTn 引脚本身不需要从外部驱动(例如在启动期间)、除非需要从外部电路对 SoC 进行热复位。 WARMRSTn 可仅用作外部器件的输出、如上所述。

    此致、

    Stan

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

    尊敬的 Stan:

    感谢您的反馈。

    在我们的电路板上、当我们断开 FPGA 和 AM4372 之间的连接时、不再发生复位问题。 目前、客户正在请求一种场景、即 WARMRSTn 引脚在引导期间被禁用、然后在应用程序启动时或在其需要的特定时刻再次启用。

    根据您的回复、我明白您的主要建议是纯用作输出、并在 WARMRSTn 和 FPGA 之间添加一个开漏缓冲器(类似于 POR 和 WARMRSTn 之间的缓冲器、例如 74LVC1G07)以防止反向驱动。 是这样吗?

    此外、您能否确认是否有一个寄存器允许我们临时禁用 WARMRSTn 引脚功能? TRM 提到可以通过 MMR 寄存器禁用该功能、但我们希望您提供有关确切寄存器和过程的指导。

    感谢您的支持。

    此致、
    插孔

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

    您好、Jack、

    感谢您的意见。

    在 AM437x TRM 中 ,我发现了一些属于 AM4372 控制模块的寄存器,用于控制 WARMRSTn 引脚 I/O 属性 

    我们将在内部讨论如何使用这些引脚临时三态 SoC WARMRSTn 引脚并将其用作 FPGA 的受控复位输出。 我们将尝试在下周初回复您。

    感谢您的耐心!

    此致、

    Anastas Yordanov

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

    嗨、Anastas。
    对此主题进行任何更新?

    此致、  
    插孔

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

    您好、Jack、

    在讨论中、我们根据 AM437x TRM 的建议得出结论。 nRESET_IN_OUT 引脚不应双向使用。 最好将其初始化为输出 — 设置 CTRL_CONF_NRESETIN_OUT[] CONF_NRESETIN_OUT_RXACTIVE = 0b0 和 CTRL_RESET_MISC[0] NRESETIN_OUT_CTRL = 0b0。  您是否可以使用未保留的 GPIO 引脚作为复位按钮的输入、并通过翻转寄存器中的位而不是从 nRESET_IN_OUT 引脚触发热复位?   

    如果您有任何问题、敬请告知。

    谢谢

    此致

    Anastas Yordanov