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.

[参考译文] MSPM0C1104:时钟意外移位 100 倍

Guru**** 2779955 points

Other Parts Discussed in Thread: MSPM0C1104

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1612967/mspm0c1104-clock-shifting-by-100x-unexpectedly

器件型号: MSPM0C1104

我将使用采用 20 引脚 QFN 封装的 MSPM0C1104 MCU。  我使它按顺序闪烁几个 LED、然后进行一些 ADC 测量。

我遇到了几种情况、MCU 看起来会锁定。  我说是这样的、因为它似乎使内部时钟速度减慢了大约 100 倍。  我是基于导通时间为 20ms 的 LED 脉冲(通过示波器验证)对此进行测量的、随后约变为 2 秒(也在示波器上验证,但由于它是滚动模式,因此更难获得精确的测量)。

不幸的是,它发生意外,似乎是随机的。  我刚才说到 PCB、似乎表明发生了 ESD 事件。  不过、我期望结果是闩锁或复位、而不是主时钟移位。  

在本系列中是否观察到了这种情况?

下次发生这种情况时、我是否应该检查一些寄存器?  (这假设我将能够使用 SWD 调试器进行调试)

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

    嗨、Seth、

    这是 TI 电路板还是定制电路板?   

    根据您的初始描述、我认为您目前可以触摸的任何 MSPM0C1104 引脚都会导致时钟速度发生变化...  如果是半定期/连续发生、那么可能不是 ESD、复位引脚上有上拉电阻器吗?   

    当 MSPM0 进入睡眠模式(如停止或待机)时、计时器时钟可以从 24MHz sysoc 切换到 32kHz LFOSC。  但我不希望进入随机的睡眠模式。  您是否有一些可能会触发您的触摸的 GPIO 中断?   

    祝你好运!

    JD

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

    尊敬的 JD:

    这是定制电路板。 这是 SRUK 封装芯片、所有 20 个引脚均细分为 0.1“接头(也称为杂散,带电手指的简单目标)。  该电路板的其余部分是 LDO、几个 LED、一个运算放大器和一个 FET、用于驱动负载。 它在 VDD 电源轨上有 1uF、因此有一些旁路电容。 这不是一个理想的布局(由于 NDA 限制,我无法分享原因)、但从经验来看、这不应该导致这种行为。  

    因此、很难说它是半定期发生的。  我在几分钟内就完成了任务、然后我又离开了一个多周末、而且运行正常。  

    1 μ F NRST ~有一个 470k 上拉电阻器和一个 10nF 滤波电容器。  我必须深入研究、但我认为这是推荐的值。  

    我没有任何使其停止或睡眠的代码。  它是一个 while (1) 循环、理想情况下永远不会退出。   

    我将检查 GPIO 中断以查看是否可能发生了这种情况。  纯粹的猜想,又名抓在吸管:也许它跳到的中断位置有一些剩余的垃圾,改变时钟或将其置于停止/睡眠?   

    感谢您的答复!

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

    我的第一个猜测(来自症状)是某种中断风暴——要么代码不能始终清除 NVIC、要么中断触发器会不断出现。 在这种情况下、如果您在调试器中暂停程序、则它(很可能)位于相关 ISR 中。

    还是需要考虑的。

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

    嗨、Seth、

    以下是 MSPM0Cxx 硬件开发指南、重点介绍了对硬件/电路板布局可能有用的任何信息。  这是典型的应用电路。  我建议将 nRST 降至 47k 并添加更多 VDD 电容。   在 nRST 上有 470k 上拉电阻时、我仍然认为器件实际上正在复位。   

    谢谢、

    JD

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

    尊敬的 JD:

    如果正在重置、设备是否不会恢复到原始设置? 如所示、被复位 的固件应该重新启动一次、并且(理想情况下)初始化代码应该将所有设置设为正确的设置。   还是我遗漏了一些东西?

    谢谢、
    Seth

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

    嗨、Seth、  

    是的、外部复位将使器件重新运行引导代码并从应用程序顶部启动。

    由于您看到 LED 速度变慢、您认为是否能够说出复位和慢速时钟之间的区别?  

    至于 Bruce 的想法、您是否已初始化任何中断?    

    正如我提到的,我仍然看不到触摸任何引脚是如何减缓 Sysosc/Busclk 的,所以可能会发生其他事情。  代码可能会跳转到不需要的位置。  器件可能正在复位。  等。   

    谢谢、

    JD