历史上的今天
今天是:2025年10月17日(星期五)
2022年10月17日 | MSP430F5529火箭板 ----> 关于核心电压提升实验(含电源管理模块和供电监控系统介绍)
2022-10-17 来源:csdn
一、电源管理模块和供电监控系统
1、电源管理模块介绍



下图为PMM框图:







根据这些阈值,SVS和SVM的行为最好用图形来描述。图2-4显示了检测器和监控器如何响应各种供应故障条件。
如图2-4所示,监测阈值内存在滞后,因此有效的阈值取决于电压轨是上升还是下降。在监测阈值中没有滞后现象。
SVS 滞后
只有当SVSMHRRL的位设置等于或大于SVSHRVL的位设置时,才会有稳定的迟滞。因此,必须选择一个SVSMHRRL设置,该设置等于或大于SVSHRVL设置。

7、高侧检测器(SVSH)和高侧监控器(SVMH)
SVSH和SVMH模块是默认启用的,可以通过分别清除SVSHE和SVMHE位来禁用。



8、低侧检测器(SVSL)和低侧监控器(SVML)
SVSL和SVML模块在默认情况下是启用的,可以通过分别清除SVSLE和SVMLE位来禁用。图2-6显示了SVSL和SVML的框图。


9、电源电压监督和监视器之电源


10、增加V c o r e V_{core}V
core
以支持更高的MCLK频率
在重置后,V c o r e V_{core}V
core
和所有的PMM阈值都默认为最低的可能级别。这些默认设置允许广泛的MCLK操作,并且在许多应用程序中不需要更改这些级别。但是,如果应用程序需要更高的MCLK频率提供的性能,软件应该确保在更改MCLK之前V c o r e V_{core}V
core
已经被提升到一个足够的电压级别,因为如果不能向CPU提供足够的电压,可能会产生不可预测的结果。对于给定的设备,已经建立了最大MCLK频率所需的最小V core级别(具体值请参阅指定设备数据表)
将PMMCOREV设置为增加V
后,有一段时间延迟,直到新电压建立。在必要的核心电压稳定之前,软件不能提高MCLK。在增加MCLK之前,可以使用
验证VCORE是否满足要求的最小值。下图显示了这个过程:

需要注意的是,V c o r e V_{core}V
core
级别一次只能增加一个级别。
11、SVS和SVM的性能模式和唤醒时间
监督员/监视器可以在两种模式中工作:正常和全面的性能。不同之处在于响应时间和功耗的权衡;全性能模式有更快的响应时间,但消耗相当多的电力比正常模式。在外部电源解耦不能充分防止D V c c DV_{cc}DV
cc
上出现快速峰值的应用程序中,或者当应用程序对故障有特殊的容错时,可以考虑使用全性能模式。在这种情况下,全性能模式提供了额外的保护层。
有两种方式控制的性能模式:手动和自动。在手动模式下,除了LPMx之外,其他所有运行模式的正常/全性能选择都是相同的。SVS和SVM在LPMx.5中始终是禁用的,在这种情况下,使用SVSHFP、SVMHFP、SVSLFP或SVMLFP位对它们各自的模块进行正常或全性能选择。
在自动模式下,硬件根据实际的操作模式改变正常或全性能选择。
12、端口控制
该PMM确保在欠压事件期间,I/O引脚不以不受控的方式产生动作。在这些事件中,输出被禁用,包括正常驱动和弱上拉或下拉功能。如果CPU正常工作,然后发生欠压事件,那么配置为输入的任何引脚都会在事件发生时锁定其PxIN寄存器值,直到电压恢复。在欠压事件期间,外部电压变化的引脚不登记内部。这有助于防止出现不稳定的行为。
二、源代码
#include void SysClock_Init(void); void main() { WDTCTL = WDTPW + WDTHOLD; SetVcoreUp(0x01); SetVcoreUp(0x02); SetVcoreUp(0x03); while(1); } void SetVcoreUp(unsigned int level) { //Open PMM register for write PMMCTL0_H = PMMPW_H; //PMMCTL0_H是电源管理寄存器PMMCTL0的高8位,PMMPW_H解锁PMM所有的寄存器 //Set SVS/SVM high side new level SVSMHCTL = SVSHE + SVSHRVL0 * level + SVMHE + SVSMHRRL0 * level; // SVLE --> 此位控制SVSL使能 SVMHE --> 此位控制SVMHE使能 //SVSHRVL --> SVSH 复位电平电压 //Set SVM low side to new level SVSMLCTL = SVSLE + SVMLE + SVSMLRRL0 *level; //Wait till SVM is settle while((PMMIFG & SVSMLDLYIFG) == 0); //Clear already set flags PMMIFG &= ~(SVMLVLRIFG + SVMLIFG); //Set Vcore to new level PMMCTL0_L = PMMCOREV0 *level; //Wait till new level reached if((PMMIFG & SVMLIFG)) while((PMMIFG & SVMLVLRIFG) == 0); //Set SVS/SVM low side to new level SVSMLCTL = SVSLE +SVSLRVL0 * level + SVMLE + SVSMLRRL0 * level; //Lock PMM registers for write access PMMCTL0_H = 0x00; //锁存所有寄存器 }
史海拾趣
|
5月2日讯,Atmel宣布推出高度整合的 ATA6026 汽车驱动器集成电路 (IC),这是新的即将推出的汽车驱动器家族的首个成员。ATA6026 的设计基于 Atmel 高压 BCDMOS 制程,是应用于严苛环境的理想之选。归因于优化的通信接口,该集成电路非常适合大容 ...… 查看全部问答> |
|
ARM,DSP,FPGA,CPLD,SOPC,SOC之间的联系和区别 arm是一种嵌入式芯片,比单片机功能强,可以针对需要增加外设。类似于通用cpu,但是不包括桌面计算机。 DSP主要用来计算,计算功能很强悍,一般嵌入式芯片用来控制,而DSP用来计算,譬如一般手机有一个arm芯片,主要用来跑界面,应用程序,DSP可能 ...… 查看全部问答> |
|
大家好: 我想做个用1个开关控制4路输出(4个继电器)的电路。先谢谢了。 工作原理: 1。 当第1次按下开关,第1个继电器工作并保持。 2。 当第2次按下开关,第2个继电器工作并保持。第1个继电器继开。 以此类推,直到第4个继电器工件保持。第3 ...… 查看全部问答> |
|
error:undefined symbol ARMTargetStart! 在ads中编译程序提示错误:error:undefined symbol ARMTargetStart! 应该如何解决这个问题?… 查看全部问答> |
|
用DSP2812的捕捉口来捕捉过零点检测,但是捕捉到的脉冲信号不稳定,过零点后的脉冲方波已经加了低通滤波器和施密特触发器了,但是DSP捕捉到的信号仍不稳定怎么办啊!!!… 查看全部问答> |




