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.

[参考译文] MSP430F2274:它有时在上电后挂起

Guru**** 2513195 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1006939/msp430f2274-it-sometimes-hangs-up-after-power-on

器件型号:MSP430F2274

您好!

我使用玻璃破裂探测器示例代码、但我注意到有时它会在上电后挂起。

我将 RESET 引脚拉至低电平和高电平以强制 MCU 复位、然后它将正常工作。

尝试重新加电有时工作正常、但有时不工作。

我看到了勘误表、我认为它可能是由 BCL12或 BCL13引起的、但我不知道解决它。

我使用 slac599 示例代码(sb想 使用的是 s条 目)。

谢谢。

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

    我的第一个猜测是(缓慢)功率斜升。 作为一个简单的诊断,插入类似这样的内容作为 main()的第二行(在看门狗设置之后)。  

    >__DELAY_CYCLES (1000000UL); //暂停~1秒以进行功率斜升

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

    感谢您的回复。

    在添加延迟之前、我注意到 MCU 在从电源加电时将 BSCCTL1和 DCOCTL 设置为12MHz 后挂起。

    根据您的建议,我在 main()的第二行(在看门狗设置之后)添加了延迟 ,它看起来工作正常。

    由于 BCL13是 DCO 上电暂停、因此其权变措施是在所有上电/下电周期场景下施加 Vcc 上电斜升>=10V/秒。

    关于 BCL13、我认为这只能由硬件解决、但为什么要在设置 BSCCTL1和 DCOCTL 之前添加延迟来解决这个问题? 因为在设置 BSCCTL1和 DCOCTL 之前、等待电源升至3V 也可以解决 BCL13、对吧?

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

    您无需查看勘误表即可查看(可能的)原因。 查看数据表(SLAS504G)图1:CPU 将在大约1.8V 的电压下启动。 如果您在电源斜升至2.7V 之前将 CPU (DCO)设置为12MHz、则运行超出规格(对于工作电压而言太快)。 TI 不会说在这种情况下会发生什么、但观察到的行为是程序执行以各种方式出现故障。

    整整一秒钟是一段很长的时间、因此称为"诊断"。 您可能会少一些:

    1) 1)观察示波器上的功率斜升、并选择合适的时间和/或

    2)提升电源以获得更快的斜坡和/或

    3) 3)串行降低延迟、直到您看到故障、然后将其升高一个位("填充")和/或

    4) 4)执行一些其他初始化代码、然后在您准备好"上线"时返回并加快 DCO 的速度。

    ADC 在通道11上提供 Vcc/2 [参考数据表第51页]、这可能很有用。 在这种情况下、我没有尝试使用它(而是使用(2))。

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

    感谢 您的详细阐述、我明白了。 我只注意到勘误原因、但我错过了有关 DCO 工作电压的数据表信息。

    我观察示波器上的功率斜升并选择合适的时间、它目前工作正常。 非常感谢。