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.

[参考译文] TMS320C5517:关于 SPI 闪存引导开始时间的分散

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/661816/tms320c5517-on-the-dispersion-of-spi-flash-boot-start-time

器件型号:TMS320C5517

您好!

我对 C5517的 SPI 闪存引导有疑问。
从 C5517复位输出到 SPI 时钟启用(输出)的时间会有所不同。 在短时间内、SPI 时钟在几毫秒内输出、但在长时间内可能大约为100毫秒。
这种现象似乎取决于芯片环境温度、但某些芯片在室温下具有更长的时间输出 SPI 时钟、而其他芯片在低温下可能更长。

我想知道 SPI 时钟的输出时间差别很大的原因。

此致、
H.U

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

    我已通知工厂团队。 他们将直接在此处发布反馈。

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

    正在使用哪些 SPI 引脚(焊球编号)? 复位时的引导模式是什么(引导模式[5:0])? 是否使用内部 LDO 来提供内核电压?

    我观察到 C55xx 器件上的不同引导时间取决于 BG_CAP 中剩余的电荷。

    如果电源在短时间内关闭、然后快速重新打开、引导时间是否会缩短(引导速度更快)?

    作为一个实验、我用一根导线将 BG_CAP 电容器完全放电。 这会在 C5517 EVM 上产生最慢的启动时间。
    相反、如果我关闭电源20秒、然后重新打开电源、启动时间会稍微快一点。
    如果我关闭电源然后快速将其重新打开、则引导时间会缩短20到30ms。
    如果我保持加电、但按 RESET、则启动速度最快、因为 BG_CAP 已充电。

    您能否让客户重现这些测试、以便查看引导时间是否取决于 BG_CAP 中剩余的电量?

    带隙电容器(BG_CAP、0.1uF)由大约320千欧的内部电阻充电。 但是、如果带隙电容器在两个功率周期之间没有完全放电、那么它将以更快的速度重新充电。 这些参数可能会随温度的变化而变化。

    虽然不在数据表建议的范围内、一些客户已将0.1uF BG_CAP 替换为0.01uF 电容器、因此充电速度更快。 我不推荐在生产中使用它、但它可能是一个有趣的实验、可以看看引导时间可变性是否会减少。

    如果不是、我们可以查找其他引导时间变化源(如振荡器启动时间、CLKIN 频率等)

    希望这对您有所帮助、
    标记
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Mark-San、

    感谢你的答复。


    [引用用户="Mark McKeown "]

    正在使用哪些 SPI 引脚(焊球编号)?

    [/报价]

    SPI_CLK:N3

    SPI_CS0:P4

    SPI_RX:P6

    [引用用户="Mark McKeown "]

    复位时的引导模式是什么(引导模式[5:0])?

    [/报价]

     BOOTMODE[5:4]= 01   (12.288MHz)
     BOOTMODE[3:0]= 0110 (SPI 引导)

    [引用用户="Mark McKeown "]

    是否使用内部 LDO 来提供内核电压?

    [/报价]

    否、内核电源由外部电源驱动

    [引用用户="Mark McKeown "]

    您能否让客户重现这些测试、以便查看引导时间是否取决于 BG_CAP 中剩余的电量?
    [/报价]

    电源已在足够的时间后打开。 它 在电源斜升后立即复位。
    尽管即使在低温环境下、器件也会在相同条件下启动、但 SPI 时钟输出时序会延迟。

    那么、您能否调查 BG_CAP 以外的其他因素?

    此致、
    H.U

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

    H.U-San、您好!

    有关不同的启动时间、请参阅此类似文章- e2e.ti.com/.../216426

    此电路板上的 DSP_LDO_EN 是如何连接的? 如果连接至低电平、则内部复位将被置为有效。 如果为高电平、则唯一的复位源是外部复位引脚。 我知道 CVDD 是从外部提供的、但我想知道 DSP_LDO 是否仍然被启用(DSP_LDO_EN 连接低电平)。

    温度也会影响晶体振荡器的启动时间。 他们是否使用晶体为器件计时? 如果是、它们能否在加电时探测晶体输出以查看振幅的斜升速率是否存在差异(最好尽可能使用有源探头)。

    我仍然对 BG_CAP 充电速率感兴趣。 在低温下、内部电阻器的行为可能有所不同(它实际上并不是硅中的电阻器)。 如果他们能够比较电路板在低温下的 BG_CAP 充电时间与电路板在室温下的充电时间、则可能会显示有意义的差异。

    引导加载程序与 SYSCLK 同步执行。 一旦开始执行、它应始终采用相同数量的时钟周期。 因此、我们正在寻找在引导加载程序开始执行之前发生的模拟-例如复位、带隙充电、时钟激活、电压斜坡等

    从复位到 SPI_CLK 的延迟是否随温度变化而变化? 或者它是否随着电路板关闭的时间而扩展?

    此致、
    标记

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

    您好、Mark-San、

    [引用用户="Mark McKeown "]

    有关不同的启动时间、请参阅此类似文章- e2e.ti.com/.../216426

    [/报价]

    我无法访问链接。 将显示以下消息。

    "访问被拒绝(注意:显示此消息的常见原因是线程已删除)"

    [引用用户="Mark McKeown "]

    此电路板上的 DSP_LDO_EN 是如何连接的? 如果连接至低电平、则内部复位将被置为有效。 如果为高电平、则唯一的复位源是外部复位引脚。 我知道 CVDD 是从外部提供的、但我想知道 DSP_LDO 是否仍然被启用(DSP_LDO_EN 连接低电平)。

    [/报价]

    DSP_LDO_EN 连接高电平。

    [引用用户="Mark McKeown "]

    温度也会影响晶体振荡器的启动时间。 他们是否使用晶体为器件计时? 如果是、它们能否在加电时探测晶体输出以查看振幅的斜升速率是否存在差异(最好尽可能使用有源探头)。

    我仍然对 BG_CAP 充电速率感兴趣。 在低温下、内部电阻器的行为可能有所不同(它实际上并不是硅中的电阻器)。 如果他们能够比较电路板在低温下的 BG_CAP 充电时间与电路板在室温下的充电时间、则可能会显示有意义的差异。

    [/报价]

    输入时钟的信号质量没有差异。 他们在室温和低温下测量了 BG_CAP 的充电时间、但未发现差异。
    客户换用了安装在普通板上的 C5517芯片、而不是一个、这一问题已知取决于 C5517。

    [引用用户="Mark McKeown "]

    从复位到 SPI_CLK 的延迟是否随温度变化而变化? 或者它是否随着电路板关闭的时间而扩展?

    [/报价]

    在每个室温和低温环境下、在关闭电路板后经过足够的时间后、它们会进行测量。


    此致、
    H.U

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

    您好、Mark-San、

    请告诉我有关该问题的当前状态。
    我的客户很着急解决此问题。 我需要您的支持。  

    此致、
    H.U

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

    我对这一答复的拖延表示非常抱歉。 我们正在思考如何解释从复位到 SPI_CLK 活动的延迟差异。

    CLK_SEL 引脚的状态是什么?
    如果 CLK_SEL 复位时为0、USB LDO 被启用、USB 振荡器被启用、并且 USB 振荡器被用作系统时钟发生器的时钟源。
    如果是这种情况、我想知道是否使用 USB_LDO 为 USB_VDD1P3和 USB_VDDA1P3供电。 USB_LDO 的斜升速度可能很慢(它会随着带隙和 BG_CAP 而斜升)。
    它们应该在低温和室温条件下探测 USB 振荡器、以查看是否有任何差异。

    当 EBSR PPMODE = MODE5时、客户是否可以访问 SPI_CLK 引脚?
    它是焊球 N10 I2S2_CLK/UHPI_HD[8]/GP[18]/SPI_CLK

    引导加载程序首先尝试通过此引脚多路复用从 SPI 引导、然后尝试客户正在使用的引脚多路复用。 我想知道您是否看到此 SPI CLK 在低温和室温下的启动时间和持续时间存在差异。

    他们是否也可以访问 CLKOUT 引脚? 我希望他们比较从复位到 CLKOUT 引脚上出现的时钟以及时钟在 CLKOUT 引脚上停止的时间。 引导加载程序中的最早步骤之一是禁用 CLKOUT 引脚(恰好在 TRIM 之后)、因此它是引导加载程序开始时间的良好状态。

    客户是否尝试使用较小的0.01uF 电容器替换 BG_CAP? 该实验的结果是什么?

    希望这对您有所帮助、
    标记
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Mark-San、

    [引用用户="Mark McKeown "]
    CLK_SEL 引脚的状态是什么?
    如果 CLK_SEL 复位时为0、USB LDO 被启用、USB 振荡器被启用、并且 USB 振荡器被用作系统时钟发生器的时钟源。
    如果是这种情况、我想知道是否使用 USB_LDO 为 USB_VDD1P3和 USB_VDDA1P3供电。 USB_LDO 的斜升速度可能很慢(它会随着带隙和 BG_CAP 而斜升)。
    它们应该在低温和室温条件下探测 USB 振荡器、以查看是否有任何差异。
    [/报价]

    复位时 CLK_SEL 为1。


    [引用用户="Mark McKeown "]
    当 EBSR PPMODE = MODE5时、客户是否可以访问 SPI_CLK 引脚?
    它是焊球 N10 I2S2_CLK/UHPI_HD[8]/GP[18]/SPI_CLK


    引导加载程序首先尝试通过此引脚多路复用从 SPI 引导、然后尝试客户正在使用的引脚多路复用。 我想知道您是否看到此 SPI CLK 在低温和室温下的启动时间和持续时间存在差异。
    [/报价]
    客户在启动时检查了 N10引脚、但信号未输出。
    是否需要更改引导模式[3:0]引脚等以从 N10输出 SPI 时钟?


    [引用用户="Mark McKeown "]
    他们是否也可以访问 CLKOUT 引脚? 我希望他们比较从复位到 CLKOUT 引脚上出现的时钟以及时钟在 CLKOUT 引脚上停止的时间。 引导加载程序中的最早步骤之一是禁用 CLKOUT 引脚(恰好在 TRIM 之后)、因此它是引导加载程序开始时间的良好状态。
    [/报价]
    不、很遗憾、他们的板上没有 CLOKOUT 引脚。


    [引用用户="Mark McKeown "]
    客户是否尝试使用较小的0.01uF 电容器替换 BG_CAP? 该实验的结果是什么?
    [/报价]
    他们使用0.01uF 电容器进行了实验、虽然 BG_CAP 线路的斜升速度更快、但 SPI 时钟输出延迟发生在低温下。 SPI 时钟输出的延迟时间似乎几乎与0.1uF 相同。


    希望这对您有所帮助、
    标记

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

    您好、Mark-San、

    请告诉我有关此问题的当前状态。
    根据我们之前的验证结果、我们认为这不是由我们的 H/W 设计引起的问题。
    如果对硬件设计还有其他问题、请指出。

    此致、
    H.U

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

    H.U-San、您好!

    很抱歉、回复太慢。

    请让我确认:某些电路板在低温(但绝不在室温下)时出现延迟启动。 其他电路板在室温下具有延迟引导、但在低温下不具有延迟引导。 是这样吗?

    此问题会影响什么电路板安装? 这些电路板上的延迟具有多大的可重复性?
    延迟的范围是多少? 延迟是否始终为100ms、还是有时有所不同?

    扼要重述一下、我问在观察到延迟时带隙充电时间是否不同、但情况并非如此。
    我问晶体振荡器启动时间在观察到延迟时是否不同、但没有不同之处。 我想知道您是如何执行此测量的、因为无源探头的电容会影响振荡器。

    他们对0.01uF BG_CAP 值进行了实验、观察到引导速度有所提高、但仍然观察到受影响电路板上的引导期间的延迟、对吧?

    在不了解 CLKOUT 的状态的情况下、我倾向于在引导加载程序开始执行后发生延迟的想法。 因此、我通过引导加载程序源代码进行了跟踪、以查找任何延迟源、例如在没有任何超时的情况下轮询 while 循环。 我在引导加载程序执行的早期的电子保险丝复制部分中发现了两个此类循环。 在本节中、CLKOUT 引脚切换、然后停止。

    观察 CLKOUT 会对问题的根本原因有很大帮助。
    如果延迟发生在 CLKOUT 切换前100ms、则延迟发生在引导加载程序开始之前。
    如果 CLKOUT 在延迟期间切换、则问题可能是来自电子保险丝的修整副本。 该过程中有两个没有超时的轮询循环。
    如果 CLKOUT 切换后延迟100ms、则它在引导加载程序中与软件相关(例如 SPI_RX 引脚可能接收0x09AA 或其他有效引导代码)
    CLKOUT 焊球(A7)位于 BGA 封装的外周上。 是否可以将探头或一根 MAG 导线穿入球来探测该信号?

    关于 N10 I2S2_CLK 不切换... 在模式0b0110中、引导加载程序尝试通过 SPI 从 EBSR PPMODE 5引导、然后再尝试 PPMODE 6。 在 PPMODE 5中、您应该已经观察到 N10 I2S2_CLK/UHPI_HD[8]/GP[18]/SPI_CLK 焊球中的 SPI_CLK、尽管通常只需几个时钟周期。 在 PPMODE 6中、SPI 时钟出现在 N3 SPI_CLK/UHPI_HINT 焊球上)。 客户能否再次探测该引脚、以查看在 PPMODE 5 SPI_CLK 切换时是否发生延迟? 我将通过探查我的 EVM 进行验证。

    另一个奇怪的问题... 在引导过程中、是否有任何连接到 N11 I2S2_RX/UHPI_HD[10]/GP[20]/SPI_RX 的切换信号?

    我们需要隔离引导加载程序中出现附加延迟的部分、以找出导致该延迟的根本原因。

    此致、
    标记

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

    我已确认多路复用模式0b0110中的引导加载程序首先从 N10 I2S2_CLK/UHPI_HD[8]/GP[18]/SPI_CLK 焊球切换 SPI_CLK、然后从 N3 SPI_CLK/UHPI_HINT 焊球切换 SPI_CLK。

    每次、SPI_CLK 以较小的等待进行5次突发、然后在尝试另一个多路复用模式之前再进行6次突发。 在这些突发期间、引导加载程序会发送读取命令并尝试从任何连接的 SPI 闪存的前两个字节读回引导签名。 引导加载程序无限重复尝试从每个 SPI 多路复用模式引导。 每次重试100次后、XF 引脚将切换其状态。 使用 C5517 EVM 上的12MHz CLKIN、XF 引脚每50ms 切换一次(每50ms 在每个多路复用模式上重试100次)。

    您能否了解 XF 引脚在引导加载程序期间是否切换? 这表示发生了超过100次 SPI 引导重试。 如果在 XF 切换时发生延迟、则可能意味着 SPI 引导在在地址0处查找引导签名之前多次重试、并且能够继续引导。

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

    您好、Mark-San、

    感谢您的回复、很抱歉耽误您的回复。
    客户电路板发现引导模式[0]引脚未正确下拉。 因此、有可能在低温环境下选择轮询模式2 (SYSBOOT[3:0]=0b0111)。
    当下拉其电路板上的 SYSBOOT[0]引脚时、即使在低温环境下、SPI_CLK 也不再延迟。
    因此、该问题是由客户设计错误引起的。

    很抱歉给我带来了麻烦、感谢您的大力支持!

    此致、
    H.U

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

    H.U-San、

    太棒了。 感谢您告知我们解决方案。

    我将确保下次询问在调试序列中锁存的引导模式。

    此致、
    标记