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.

[参考译文] MSP430F5329:糟糕的电源和SVS/BOR

Guru**** 2535150 points
Other Parts Discussed in Thread: MSP430F5329

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/574099/msp430f5329-horrible-power-supply-and-svs-bor

部件号:MSP430F5329

在我们的应用中,电源由用户使用电池夹提供。 您可以想象有多少种噪音/骤降/尖峰通过这些信号。 大多数电源问题都是由调节器滤波器处理的,但我仍然有一个问题...

有一种电压骤降会使MPU挂起。 5329的VCORE达到最大值来处理最大时钟频率,所以我认为BOR不足以重新启动MCU (阈值是最低性能级别)。 想法是在VDD停机时使用SVSH重置应用程序。

我正在使用5529EXP主板上的参考代码来启动VCORE以提高时钟频率(执行此操作时似乎也会重新配置SVS),出于某种原因,我发现退出时SVSH被禁用(默认情况下应该启用,对吗?)。 即使我在以后启用它,MPU仍会挂起

具体情况如下:MSP5329在最大时钟处具有完全VCORE,VDD在大约10ms内从3.3V下降到大约2.0V,在大约20ms内保持在该水平,然后恢复到3.3V。 保证要悬挂MPU! 奇怪的是,在另一个具有类似电源问题的主板上,5172工作正常(重置和重新启动)

我尝试将SVSH配置为推荐值,但它似乎不起作用(或者可能是我做错了事)。 Crystal不重新启动,代码执行似乎已停止,但向下拉MCLR可正确重新启动程序。 如何查看发生了什么? SVS是针对这种倾斜(数据表不是很清楚)还是我*需要*外部主管?


提前感谢

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

    首先,我强烈建议使用DriverLib为MSP430F5329和其它F5xxx/6xx器件设置SVS设置,因为SVS模块很难正确设置。 甚至还有一些API仅用于设置SVS的POR功能,这对您的应用程序非常有用。 同时请记住本设备的一些勘误表中涉及PMM。 大多数勘误表都与特定SVS设置和LPM有关。

    其次,您的设备是否具有适当的DVCC去耦合盖? 这应该有助于DVCC上的噪声并降低更改速度,以便让MCU有时间响应。

    最后,您可能会遇到PMM正确发出POR的问题,并且设备可能恢复得太快。 我以前看到的情况是,在发出POR并重置设备后,程序中的第一件事是将VCORE更改为其最高级别,以便将DCO设置为更高级别。 如果DVCC上的电压没有恢复到在较高VCORE时执行的正确值,则表明您存在电压/频率违规,并且超出了规格。 方法是在提高VCORE级别之前确保DVCC处于正确的电压。 我不确定这是否是您的问题,但我以前见过。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Lorenzo,

    您是否尝试过上述建议? 您的问题是否已解决?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这个建议很有见地,但遗憾的是我仍然没有明确指出这个问题...我使用的程序可能是来自驱动程序库的前身,只有名字不同。 对于VCC/频率组合,我排除了这种情况,因为:

    1) 在故障结束后,VCC很快就会恢复

    2) VCORE例程实际上似乎使用SVM来检查该值是否良好,如果不是,则返回失败-它们返回正常

    3)我尝试在某种程度上使用默认的1 MHz DCO运行应用程序(即不重新配置振荡器),但它也不会重新启动

    事实上,我减少了程序,使其能够可靠地以全频重新启动...但没有setjmp/longjmp任务调度程序(一个简单的非抢先合作调度程序)。 因此,与外部没有通信,但...嗯,它至少会重新启动。 此时,我正在考虑旁路不足,因为我在通信过程中有一些SPI以近10 MHz运行。

    我会尝试增加更多旁路,或者至少延迟更多的繁重活动的开始时间,看看是否会变得更好。  显然,在故障排除过程中,出现了更紧急的问题


    感谢您的建议

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

    这仍然是一个谜,延迟没有帮助,更多旁路没有帮助,SVS已启用,但出于某种原因,它仍然卡住。

    可能我被一些记录在案的问题咬了。

    如何修复:购买了TPS3850EVM (它是超杀的,但我想在这些天中的某个时候尝试使用窗口式看门狗)并将其连接到3.3 导轨。 即使快速重置,它也能完美工作。 所以我猜是一些瞬态/耦合/任何东西进入MPU并锁定了所有东西(甚至JTAG也不起作用...)

    简而言之,即使是最便宜的主管也可能会通过电源故障的强重置来防止出现问题。