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/MSP430F2617:MSP430F2617在电压关断时执行随机代码

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/767455/ccs-msp430f2617-msp430f2617-executes-random-code-when-voltage-is-shut-down

器件型号:MSP430F2617

工具/软件:Code Composer Studio

大家好、

这一次,我有一个棘手的问题,大家都知道,以前有人曾讨论过这种行为:)

我们确实有一个具有 MSP430F2617的电路板、一些通过 I2C 连接到它的 FRAM 以及许多其他工作正在进行中、但现在经过一段时间后、FRAM 确实发生了以下损坏(请记住、这是一个外部损坏、而不是 MSP430内部损坏)。

某些地址总是相同的、确实会被覆盖、而且我们一开始就不知道为什么会发生这种情况。

经过一些调查、我们发现 MSP430确实正在执行 I2C FRAM 写入命令、在中完全无法访问该命令

while (1)循环。

因此我们探测了 I2C 引脚和 MSP430的 Vcc,大约2V Vcc (关断后,3V3大约花费20ms 下降到0V)。MSP43ß I2C 线路正在执行一个到那个地址的写入

在字段中损坏。

那么、这里是专家的问题:您是否曾经历过这样的行为?

什么可能会触发某些随机代码片段的执行、当某些欠压事件发生时、程序计数器可能会设置为特定值?

请注意、作为一种权变措施、例如将硬件中的电压监控器设置为大约2、5V 将有助于改变 while (1)循环中的写入代码、例如添加另一个 if (flag= blablba){

也有助于解决该问题。

但所有这些都是为了治疗症状而不是我担心的根本原因,所以我宁愿对这种现象进行一些解释。

当达到电压监控器电平时、MSP430会做什么、它是否在内部停止? 还是关机? 还是只设置一个标志、但仍然执行以下代码?

非常感谢您的阅读。

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

    我假设您允许 while (1)以8甚至16 MHz 的频率执行正确操作。 在这种情况下、您将违反频率与电源电压规格、并将在较低电压下对 CPU 进行超频。 在这种情况下、器件将失控并可能执行不可预测的代码。

    在这种情况下、您需要在断电前降低频率或激活 SVS、以确保器件在达到专用频率的关键电源电平之前被拉至复位状态。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    实际上、这是有道理的、非常感谢、我将尝试以1MHz MCLK 或至少更低的频率执行代码来查看行为。

    当然、很多器件甚至所有器件都会发生这种情况、我认为很多人都不会考虑关断和他们受尊重的频率。 我有很多产品在24MHz 下运行、我不知道何时关闭、也不知道有什么问题、当然这是一个统计问题、但在这些特定的器件上、我们可以每次都重复完全相同的错误行为。

    因此、我将尝试运行一个较低的时钟、并让其他一切保持不变、因此可能会在较低的电压电平上发生这种行为。

    让我们看看发生了什么、但感谢您的建议。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    另一个注意事项是、很多人在加电期间也不会考虑这一点! 如果您的上电斜率很慢、并且您在不考虑 DVCC 足够高的情况下快速切换到更高的频率、同样的问题也可能出现。

    这是许多人面临的一个问题、即使规格明确指出它非常依赖于应用。 因此、SVS 是正常运行的一个重要项目。