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.

[参考译文] CCS/UCD3138064:UCD3138064复位的原因是什么?

Guru**** 2503735 points
Other Parts Discussed in Thread: UCD3138064

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/762905/ccs-ucd3138064-what-reason-will-make-ucd3138064-reset

器件型号:UCD3138064

工具/软件:Code Composer Studio

您好;

   在一个项目中,我的 IC 会重复复位。  我想知道  重置 UCD3138064的所有原因、其中反复强调了软件和 硬件原因。

   正如硬件中的 I konw:VCC 和 BPI8电源如果 不稳定,将会重新分配 IC。

   我将 VCC 和 bp18的波形捕捉到了。没有发现任何可编程的波形?

   是否有任何关于 ucd3138064的手动插槽?  

非常感谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果程序被正确写入、正常问题是电源上的噪声。 这可以通过正确的电路板设计、接地和滤波来解决。 我们有一个在线设计指南、用于:

    www.ti.com/.../slua779b.pdf

    我们的开环板不符合指南要求、因此有时它们也会复位。 除非您使用它们来驱动电源、否则它们通常仅在您执行诸如同步切换所有 DPWM 之类的操作时复位。 在任何电路板上、我们都不建议这样做。 我们建议将偏移为几纳秒的 DPWM 边沿放置、以便一次只打开或关闭一个 DPWM。

    有很多方法可以用程序问题复位 ARM 内核、因此、如果它持续复位、即使没有运行电源、也是可能的。

    如果程序被错误写入、例如带有指向非法存储器的指针、那么 ILLADR 位也将被置位。

    load.asm 中汇编语言的小位和软件中断的开始如果它们被错误地更改、可能会导致这种情况。

    此外、堆栈溢出可能会导致这种情况、方法是将不正确的数据放入寄存器中、然后将这些寄存器用于寻址。

    我认为这也是由于在用户模式下访问受保护的位置、因此尝试在用户模式下写入受保护的寄存器或数据闪存、而不是在硬件或软件中断中执行、这也可能是一个问题。

    因此、如果每次运行程序时都会发生这种情况、即使没有电源运行、我也会将该程序归咎于该程序。 否则可能是噪声。

    有些处理器甚至会重置,有些处理器不会重置。 由于噪声、由于生产变化、某些处理器比其他处理器更敏感。 因此、遵循设计指南非常重要。

    如果所有变量都未初始化、程序也会对存储器初始化敏感。 我们的 load.asm 会清除所有 RAM、因此这不会是问题。 我们的一些程序依赖于该函数、因此如果将其删除、则可能会出现某些芯片问题、而不是其他问题、具体取决于 RAM 在加电时是如何出现的。 RAM 通常采用随机模式、但同一芯片每次都倾向于采用相同的模式。