干货

TI - MCU - MSP430使用指南4 -> PMM&SVS 电源管理监控模块

分类名:经验日期:2020-04-29作者:骑IC看MCU 阅读原文

此内容由EEWORLD论坛网友骑IC看MCU原创,如需转载或用于商业用途需征得作者同意并注明出处

MSP430Power Management Module (PMM) Supply Voltage Supervisor (SVS) 负责内核电压的生成和监控,同时根据不同的模式可以设置相应的初始化方式。

首先分析一下PMMSVS功能:

根据MSP430 MCU资料或者其他厂商MCU资料我们可以发现,对于3.3V电源的MCU的供电电压都是1.8V – 3.6V这个电压范围。其实对于MCU内核,是需要一个稳定的电压的,因此内部会集成一个LDO用于生成Vcore,也就是核电压。具体电压分配如下:

DVCC位输入给MCU的一级电源,电压在1.8V – 3.6V,一般都是采用3.3V供电。

然后内部LDO会将DVCC作为输入,通过一个LDO生成核心电压Vcore,这个Vcore核心电压主要给三块提供电源:

  • CPU: 用于CPU内部的核心计算。

  • Memory:包含RAMFRAM(当然,如果是FlashMCU,还需要一个charge pump)。

  • 数字模块:包括内部串行协议模块,定时器,RTC灯模块

而对于GPIOAnalog资源,直接采用DVCC供电(当然对于ADC或需要高精度电源的模块,会有AVCC电源供电)。

 

如上图所示,为内部PMM&SVS模块的内部结构框图,输入电源为DVCC,内部经过一堆寄存器的配置后,针对每种模块,分配不同的电源。

下面我们来看一下SVS即电源监控模块。MCU内部会对DVCC电源进行监控,当掉电时会产生复位,也就是所谓的BOR(Brownout reset)。如下图所示BOR有一定的滞环特性,因此需要看时电压降低到了一定的值,还是上升到了一定的值。当电压降低到SVSh_IT-时会触发BOR,当电压从低点回升到SVSh_ITY+时,BOR才能恢复正常。

下图是上电时的SVS复位情况。当给MCU供电时,SVS功能默认开启,在开始状态DVCC电压没有上升到SVSh_ITY+时,复位会一直使能,MCU不会工作。当DVCC电压上升到期望电压后,BOR会释放,启动MCU,开始运行程序。

正常工作模式下,SVS就是一个监控电压的模块,但是我们还需要考虑一种情况:LPM3.5LPM4.5模式,在这两个模式下,CPU内核电压都失能了,因此RAM中数据也会丢失,故在从LPMx.5H唤醒后也是SVS复位启动,不过这里会有相应的标志来判断时上电复位还是退出LPMx.5复位。

当然对于BORPOR,也可以通过软件产生,往对应寄存器里写相应的值就可以实现这个功能,具体可以看下面的寄存器介绍。

同时PMM模块内部还有一个高精度的参考电压,可以用作芯片内部其他模块的使用,比如ADC。具体怎么配置,可以看寄存器的介绍。

下图为PMM&SVS模块的所有寄存器介绍,总共包含录歌机损其,三个PMM控制寄存器,一个PMM中断寄存器,一个PMM中断标志寄存器,还有最后一个Power模式寄存器。了解完后你就会发现,如果你的系统不出现BOR, POR灯复位或者不正常的复位影响,你仅仅能使用到PM5CTL0寄存器就好,其他寄存器可以直接忽略,默认就好。

 

PMMCTL0 :

  • PMMPW:写这个寄存器的密码,这里必须同时写入0x96,才能修改寄存器内其他位。

  • SVSHESVS高电压监控边的使能,默认情况下 一直使能,但是你可以设置成在一些LPM模式下失能。

  • PMMREGOFF:内部的电压调节器 就是LDO是否在LPM3/4模式下关闭。

  • PMMSWPOR:软件产生POR位,写1产生一次POR。

  • PMMSWBOR:软件产生BOR位,写1产生一次BOR。

 

PMMCTL1 :

 

这个寄存器是预留的,目前没什么使用,可能在不同系列的MCU中有不同的用法。这里我所给出的是FR2xx_FR4xxMCU寄存器。

 

PMMCTL2 :

  • REFBGRDYBandgap相关寄存器 只读,这个MCU内部会自动调节状态

  • REFGENRDY: Bandgap相关寄存器 只读。

  • BGMODE: Bandgap相关寄存器 只读。

  • REFBGACT: Bandgap相关寄存器 只读。

  • REFBGENCAT: Bandgap相关寄存器 只读。

  • REFBGEN: bandgap电压生成触发位,写1的话 开始触发生成bandgap电压。

  • REFGEN: 内部参考电压生成触发位,写1的话 开始触发生成内部参考电压。

  • REFVSEL: 内部参考电源电压选择。

  • TSENSORN: 温度传感器的使能。MSP430内部集成了一个温度传感器,可以实时监控die的温度,获取方法是使能这个温度传感器,然后使能ADC模块并将ADC模块的输入口设置成内部传感器,即可以获取到内部温度传感器的数据。

 

PMMIE :

这个寄存器是预留的,目前没什么使用,可能在不同系列的MCU中有不同的用法。这里我所给出的是FR2xx_FR4xxMCU寄存器。

 

PMMIFG:

 

  • PMMLPM5IFG 这个标志寄存器就是前面所说的复位时判断是否从LPMx.5产生的。

  • SVSHIFG:标志Reset是否是由于SVSH引起的。

  • PMMPOROFG:标志Reset是否是由于软件POR引起的。

  • PMMRSTIFG :标志Reset是否是由于复位引脚引起的。

  • PMMBOROFG:标志Reset是否是由于软件BOR引起的。

这个标志寄存器里分别有相应的位表明复位的原因,用于LPM模式或者分析复位源使用。

 

PM5CTL0:

 

  • LPM5SMLPM3.5模式的切换相关寄存器,不同的device有所区别。

  • LPM5SWLPM3.5模式的切换相关寄存器。

  • LOCKLPM5:锁定GPIO为高阻态,默认情况下是LOCK的,为了正常使用GPIO功能,程序中需要置0

 

综上所示,大致讲解了一下MSP430PMM&SVS模块,其实我们在使用过程中很少用到这一块的知识,这一块的寄存器也直接默认即可。但有一个点是必须要的,就是LOCKLPM5这个寄存器位。操作如下:

PM5CTL0 &= ~LOCKLPM5;

这条语句必须要有的,否则你会发现MCU的所有GPIO口都不能正常工作,处于高阻态。

PS:这个主要是针对FRAM工艺的,Flash好像是没有这一位的,具体的话 看使用的devcedatasheet

还可能使用到的就是PMMIFG中断标志寄存器了,不过都是用来读出出来判断复位源的。

 

关键字:MSP430'、'PMM'、'SVS'、'电源管理监控
阅读原文 浏览量:404 收藏:0
此内容由EEWORLD论坛网友 骑IC看MCU 原创,如需转载或用于商业用途需征 得作者同意并注明出处

上一篇: LIS25BA的STEVAL-MKI109V3评估方法
下一篇: TI - MCU - MSP430使用指南34 -> USS 模块

评论

登录 | 注册 需要登陆才可发布评论    
评论加载中......
电子工程世界版权所有 京ICP证060456号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright ? 2005-2017 2689mr.com, Inc. All rights reserved
彩票大赢家 捕鱼送彩金能提现的 qq等级送彩金线上娱乐 彩票大赢家 生日送彩金的博彩公司 首次充值送彩金 ag送彩金 易迅彩票送彩金 送彩金的网址怎么找 信誉的送彩金打鱼