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.

[参考译文] UCD3138:EMC 噪声环境中的复位操作

Guru**** 2576995 points


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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/912325/ucd3138-reset-operation-in-emc-noise-environment

器件型号:UCD3138
在 EMC 噪声环境中使用期间、直流/直流转换器的输出停止、UCD3138复位。 当我在重启后检查 SYSESR 寄存器时、它为0x0000。 
根据技术参考11.20系统故障恢复基础知识、"如果发生复位且未设置任何位、则原因是看门狗计时器。" 
但是、由于寄存器看门狗控制(WDCTRL)设置为默认*)、看门狗定时器的复位不应起作用。 

 

1、 即使寄存器看门狗控制(WDCTRL)设置为默认*)、看门狗定时器是否会复位?

2.如果将寄存器安全装置控制(WDCTRL)设置为默认*)、是否会有复位导致 SYSESR 为0x0000?

3.如果您有具体的例子,请提供建议。

4. 如果寄存器看门狗控制(WDCTRL)设置为 Default*)且 CPU 冻结,则外设是否可以继续运行 DPWM 模块?

 *) CPU_RESET_EN:0:看门狗复位不会复位 CPU。

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

    通常情况下、您应该在上电复位位位位位位中看到1、因为这是在器件首次上电时设置的。   

    除非您将其清零、否则您应该看到该位被置位。   

    要清除这些位、您需要向该位写入0。   

    您是否清除了位?   

    如果不清除上电复位位位位、会发生奇怪的情况。  也许您不是在以某种方式读取正确的地址?   

    您使用的是内存调试器还是 JTAG?  我在064和128个器件上看到了内存调试器读取错误的位置、这是因为基础3138的代码转换不良、但我从未看到3138出现错误。   

    我假设您正在读取系统寄存器、那么您处于 ROM 模式吗?  通常情况下、存储器调试器不会在程序闪存模式下读取 SYSESR 寄存器?

    虽然我从未见过、但该值可能真的是零。  无法预测噪声对逻辑有何影响。   

    请先查看我的其他建议。   

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


    上电复位后、SYSESR 寄存器的值被复制到 RAM 中。
    RAM 值被写入闪存以保持启动日志。 为了重现情况0x0000、使用评估板(UCD3138PSFBEVM-027)执行了以下复制。

    我使用调试器运行该程序、在中间进入 SUSPEND 模式、将0x00000000写入​​RAM 的整个区域、当我再次启动该程序时、

    然后、软件跳转到起始矢量并确认 SYSESR 的日志为0x0000。 是否可以通过强制写入0x00000000到 RAM 值来跳转到起始矢量?

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

    如果在执行过程中暂停程序、然后清除所有 RAM、则会有效地将所有堆栈设置为零。  通常、当您运行时、您将处于中断和/或函数中、这两个函数都被调用、并将其返回地址存储在堆栈的 RAM 中。  每当这些程序返回时、它们将使用栈值返回。  因此、如果您已将所有零写入堆栈、它们肯定会转到位置0、这是起始矢量。  该堆栈还用于临时变量、并用于存储从更高级别函数推送的其他值、这些函数调用更低级函数。  当然、诸如当前函数使用的所有变量之类的东西也存储在 RAM 中

    因此、无法预测当您按照自己的描述执行操作时会发生什么情况。  这不是一种好的调试技术。  这是一种很好的困惑方法。   

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

    我已经回答了你的最后一个问题、已经过去了一周了、所以我要假设这已经解决了。  如果您有更多问题、请打开一个新主题。