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.

[参考译文] TMS320F28034:F28034编程失败

Guru**** 2392065 points
Other Parts Discussed in Thread: UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1201417/tms320f28034-failure-of-programming-f28034

器件型号:TMS320F28034
主题中讨论的其他器件:UNIFLASH

您好、专家:

我的客户正在使用 F28034进行大规模生产、可能无法 通过 JTAG 对 F28034进行编程、错误报告验证失败、  

实际上他们需要单独对应用程序代码和引导代码进行编程、 错误仅在他们对引导代码进行编程时发生、  

他们首先编程应用程序代码 ,并总是成功的,然后编程 引导 代码,一些可能 会失败。  

不允许  先对引导代码进行编程、然后对应用进行编程  、因为有一个闪存扇区由引导代码和应用代码共享、  

他们使用.bat 文件运行命令、该命令将运行 Uniflash 来   自动对应用程序代码和引导加载程序代码进行编程。

   

它们在编程时监控下面的波形、 虽然略有下降、但似乎仍处于正常范围。  

此问题可能还与 外部看门狗电路的硬件有关、当 XRS 引脚连接到外部看门狗时、会有一个到上述3V 左右的小压降、在这种情况下、可能会无法对引导代码进行编程、 但 始终在首次成功对应用程序代码进行编程。  

如果它们断开  XRS 引脚与外部看门狗的连接并保持 XRS 引脚稳定、则始终成功对引导代码和应用代码进行编程。

对于如何解决此问题有任何建议?  我将在获取客户的原理图时通过电子邮件更新原理图。  

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

    强大、

    闪存编程时间过长是否会导致外部 WD 超时并将 XRSn 拉至低电平?

    当然、外部 XRSn 信号似乎确实在对 C2000做一些事情、即使它还没有下降到足以被视为逻辑"低电平"。

    从示波器图很难看出、您能否确认 XRSn 信号具有低电平脉冲的时间。  我认为它可能是250毫秒、但我想确定。  我在这里的要点是、我认为这不是我们的器件驱动 XRSn、因为我的内存是正确的、它的低电平有效远短得多、如果我的内存是正确的、则为~800us。  我觉得这也有客户观察到的支持。

    这是器件出厂时的第一个程序吗?  如果是、客户可以通过从 Uniflash 中不调用擦除函数而仅调用编程来节省一些时间。  如果是导致超时的问题、这将节省大量时间不擦除器件(因为它来自 TI、已擦除)。

    此致!

    Matthew

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

    Matthew 和

    闪存编程时间过长是否会导致外部 WD 超时并将 XRSn 拉至低电平?

    --->不, 外部 WD 将超时,并有输出,但有其他电路保持 XRS 始终高电平连接 JTAG 时,我给你的原理图的电子邮件详细信息。  

    当然、外部 XRSn 信号似乎确实在对 C2000做一些事情、即使它还没有下降到足以被视为逻辑"低电平"。

    从示波器图很难看出、您能否确认 XRSn 信号具有低电平脉冲的时间。  我认为它可能是250毫秒、但我想确定。  我在这里的要点是、我认为这不是我们的器件驱动 XRSn、因为我的内存是正确的、它的低电平有效远短得多、如果我的内存是正确的、则为~800us。  我觉得这也有客户观察到的支持。

    --> 250毫秒低脉冲受到外部看门狗输出的影响,但低脉冲电压仍约为3V,应为高电平。  

    这是器件出厂时的第一个程序吗?  如果是、客户可以通过从 Uniflash 中不调用擦除函数而仅调用编程来节省一些时间。  如果是导致超时的问题、这将节省大量时间不擦除器件(因为它来自 TI、已擦除)。

    就是这样  似乎第一次对应用代码进行编程、始终正常、然后代码将从应用运行、应用代码将控制 LED 以显示应用代码是否正常运行、  

    如果 LED 显示正常、那么就能够对引导代码进行编程、

    否则、将无法对引导代码进行编程。  

    但奇怪的是、如果移除了外部电路、那么总是能很好地对 app 和启动代码进行编程。  

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

    强大、

    我认为我发现了看门狗 IC 的 PN、或者至少与 STM 类似的 PN、它具有相同的引脚同时用于驱动 XRSn 低电平~250ms。

    在任一速率下、当闪存开始编程/擦除时、除了标称电流之外、还需要一些瞬时电流。  如果 C2000引脚附近没有大容量去耦、当压降过低时、可能会导致问题。  

    不过、在这种情况下、我们没有看到 C2000有问题、但此压降似乎足以触发外部 WD、即使它看起来没有变得足够低而实际上触发 C2000 MCU 的复位。

    我不确定客户在监控器附近是否有某种局部衰减、或者监控器在 PCB 上相对于 C2000的实际位置、以便它"看到"与 C2000看到的电压相同。  本质上、我们需要尝试防止看门狗监控器发出这种"假"低驱动信号。

    我注意到的另一件事是 RST 和 C2000的 XRSn 之间的120Ohm 串联电阻。  由于 C2000的 XRSn 是双向的、因此需要能够驱动该端和接收端。  我在 STM DS 中找到的注释显示电阻为4.7k Ω、而不是我在120 Ω 的原理图中看到的。  我不确定这是否相关、但我会尝试将此电阻器值更改为4.7k Ω、以查看是否有任何变化。

    此致!
    Matthew

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

    Matthew 和

    客户将电阻器 值更改为 4.7k Ω、 但仍然存在此问题。

    如上所述、如果是第一次对应用程序代码进行编程、那么一切都正常、  

    以使用 Uniflash 的方式自动运行应用程序代码、如果应用程序 运行正常、那么就能够对引导代码

    如果应用代码由于未知 原因运行到非法 ISR、则无法对引导代码进行编程。

    在这种情况下、如果客户断开仿真器并再次连接、也可以对引导代码进行编程。  

    如果看门狗和复位电路被拆下、那么一切正常。

    因此、结论可能是:

    看门狗和复位电路将影响应用代码并导致 非法 ISR、当非法 ISR 发生时、  

    这可能会影响仿真器无法复位 MCU?  

    我不知道如何帮助解决这个问题、因为他们必须有外部看门狗电路、下面的建议很难说服客户、因为电压下降大约10%、但仍然有大约3V、对客户有任何其他建议?   

    本质上、我们需要尝试防止看门狗监控器发出这种"假"低驱动信号。

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

    客户是否可以尝试从外部对看门狗电源检测引脚进行过驱动、以查看我们是否可以消除 XRSn 上的脉冲?  如果一切正常、我想看看我们是否能摆脱这种情况。  这意味着我们需要更多的看门狗 IC 本地去耦、以便看不到由闪存编程和发出复位引起的小压降。

    此致!

    Matthew

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

    Matthew 和

    您能否说明如何 从外部对看门狗电源检测引脚进行过驱动? 很抱歉、我不太明白。  

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

    您是说在 WDI 引脚上提供一个外部脉冲吗?

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

    强大、

    是的、器件正确通电后、通过外部电源或电路将该节点驱动至3.3V。

    或者、它们可以抬起该 IC 上的 WD RST 信号引脚、然后在刷写期间示波该信号、以查看 WD IC 的空载行为。  这会告诉我们它是驱动完整 XRSn 为低电平、还是 PCB 电路运行它、还是不完全驱动 XRSn。  引脚提起时、C2000也不应产生任何负面影响。

    此致!

    Matthew