2.1电源管理模块(PMM)介绍
2.2PMM模块操作方式
2.3PMM寄存器
2.1 电源管理模块(PMM)介绍
PMM的特点包括:
- 较大的供电电压(DVcc)范围:1.8V ~ 3.6V
- 专为芯片内核生成电压
- 供电电压检测
- 断电复位
- 软件可访问的电源故障指示器
- 电源故障时的I/O口保护
- 外部引脚可输出基准电压
PMM模块所管理的所有功能都是与电源供电和电压检测有关的。他的主要功能有:
1、它为内核提供电压。
2、提供几个机制来检测施加到设备上的电压。
PMM使用一个集成的低压差电压调节器(LDO)去通过应用于设备的主供电电压(DVcc)生成一个次级的核心电压(Vcore)。通常,Vcore负责给CPU、内存和数字模块供电,而DVcc则负责给I/Os和模拟模块供电。Vcore 通过一个专用的基准电压维持输出的稳定。这个电压调节器的输入端或者叫做主侧被称为高侧,它的输出端或者叫做次侧被称为低测。
PMM模块的结构如图1所示。
2.2 PMM 操作方式
2.2.1 Vcore和电压调节器
DVcc的供电电压是一个较宽的电压范围,但是核心电压必须被维持在一个更小的电压分为之内。由于这个原因必须在PMM内集成一个电压调节器。这个电压调节器需要从DVcc中产生必要的核心电压Vcore。
这个电压调节器支持不同负载设置来优化电源电压。硬件可以根据下面的条件来自动控制负载的设置:
- 选择工作的电源模式
- 选择工作的时钟
- 根据时钟系统设置的时钟频率
- JTAG或是SBW工作
除了主LDO外,超低功率调节器(RTC LDO)还为实时时钟模块(包括32 khz晶体振荡器)和其他在主LDO关闭,而进入LPM3.5模式时仍然工作的超低功率模块提供电压调节。
2.2.2供电电压检测器
在调节器高侧的检测器(SVSH)检测DVcc。这个电压检测器在所有的电源模式下都默认处于活跃状态。在LPM3、LPM4、LPM3.5、LPM4.5模式下它能够通过设置SVSHE=0被关闭。
2.2.2.1 SVS的阈值
如图2所示,电压检测阈值中存在了一些滞后现象,因此哪个阈值起作用却决于电压的轨迹是上升还是下降。根据这些阈值,SVS的行为最好用图像来表示。图2显示了在各种供电故障条件下电压检测器如何做出响应。
2.2.3 设备启动期间的供电电压检测器
当设备正在启动的时候,SVSH的功能默认被打开。最初,DVcc电压较低,因此PMM保持设备在断电复位的状态,当到达了SVSH的电压要求,这个复位被释放。 图3显示了上述的过程。
2.2.4 LPM3.5 和 LPM4.5 (LPMx.5)
LPM3.5和LPM4.5是低功耗模式,在这期间PMM的核心电压调节器被完全禁用,用来节省额外的电能。因此在LPMx.5模式期间没有电压用来供给Vcore,此时的CPU和所有的数字模块包括内存都被断电了。这基本上禁用了整个设备,这样将导致寄存器与RAM中的内容将全部丢失。任何重要的值都应该在进入到LPMx.5之前写入到铁电存储器(FRAM)中去。如果想看到LPMx.5模式完整的描述和使用说明请观看SYS模块。
无论SVS是否被使能(SVSHE=1 or SVSHE=0),LPM3.5和LPM4.5都可以被配置。禁用SVS可以降低功耗,而使能SVS可以检测到电压下降并且在电压下降到SVS阈值以下的时候得到一个唤醒。注意,由于供电故障导致的唤醒不会标志为LPMx.5唤醒而是作为一个SVS复位事件。在LPM4.5模式中,启用SVS会比禁用SVS的情况下启动快十倍。
2.2.5 低电压复位
在电源驱动的应用中,当供电电压下降到SVS阈值以下时最好将设备的电流限制最小。在默认情况下,一旦供电电压下降到SVS阈值以下的时候,这个设备就会被复位,并且准备在电源电压恢复可用时迅速回到正常的工作模式。这种状态下消耗的电流大约是50uA到100uA(典型值).
在LPM4.5模式低功耗复位状态时拉高复位引脚会造成这个设备进入他的默认复位状态(这将会造成较高的电流消耗),并且当供电电压上升到SVS阈值以上时设备将会启动。
如果设备在供电电压低于SVS阈值之前就已经处于LPMx.5模式(SVS是能的情况下),那么设备会自动进入低功耗复位状态(在这种情况下,设备会进入到SVS、RTC域和所有的唤醒时间都被禁用的LPM4.5模式)。(在LPMx.5中I/O口早已定义好了状态。因此不需要NMI来定义I/O口的状态。)
2.2.6断电复位(BOR)
BOR电路的主要功能在设备启动时发挥作用。它在电压上升的阶段就已经开始发挥作用了,生成一个BOR信号来初始化系统。它还在SVS关闭且发生掉电的时候起作用。它会一直保持着复位状态直到有足够的电压可以进行逻辑运算和复位整个系统。
在应用中,它也可以通过然间来触发BOR.置位PMMSWBOR会触发一次然间BOR.此时PMMBORIFG位会被设置。需要注意的是BOR会触发一个POR和PUC。PMMBORIFG可以通过软件清0或通过读取SYSRSTIV位来清0.
同样的,也可以通过置位PMMSWPOR来软件触发POR。PMMPORIFG位也会因此被置一。一个POR信号也会触发PUC信号。PMMPORIFG能够通过软件清0或通过读取SYSRSTIV位来清0。PMMSWBOR和PMMSWPOR都是自清0的(就是说如果读取改位应该一直是0),如果想要想要了解完整的BOR、POR和PUC复位可以看SYS模块。
###2.2.7 LPM3.5 Switch
LPM3.5的开关可以让主LDO来增加LPM3.5LDO的电压输出,它允许外部设备消耗更大的电流来提高频率。当设备进入到LPM3.5模式的时候,所有在LPM3.5领域内的设备都与核心领域分离开并且通过LPM3.5LDO供电。LPM3.5开关可以手动也可以自动控制。LPM3.5开关控制模式可以通过PM5CTL0寄存器的LPM5SM位来设置。
在自动控制模式下(LPM5SM位被清零),当设备进入到LPM3.5模式的时候LPM3.5开关会被断开。在退出LPM3.5模式后,设备会自动闭合LPM3.5开关,并且那些通过LPM3.5供电的设备会直接通过主LDO供电。在电源切换完成以前不要以较高的频率读取和写入这些外设寄存器。PW5CTL0寄存器的LPM5SW位代表了LPM3.5开关的状态并且在高频操作前允许软件来查看LPM3.5开关的状态。在自动控制模式下,任何对LPM5SW的写操作都不会起作用。
在手动控制模式下(LPM5SM位被置1),LPM3.5开关的状态可以通过PM5CTL0的LPM5SW位来设置。当LPM5SW位被置1时,LPM3.5开关被连接。当LPM5SW被清0时,LPM3.5开关被断开。为了避免造成不必要的漏磁损耗,在进入LPM3.5模式前需要断开LPM3.5开关。当设备从LPM3.5模式中退出时,这个开关应该被连接用来为高频操作提供充足的的电流。
LPM5SW位默认位逻辑1,这意味着在BOR,POR或者PUC复位后,LPM3.5开关总是处于连接状态。
2.2.8基准电压的生成与输出
为了在片上实现多个基准电压PMM模块有一个高精度的基准电压源(也叫做能带隙)。这个基准电压根据操作模式的不同打开或关闭。在PMMCTL2寄存器的REFBGRDY位代表能带隙的就绪状态。当REDBGRDY位被置1,这个能带隙就准备就绪可以被使用。
高精度的基准电压源分别生成了内部1.5V基准电压与外部1.2V基准电压。电压发生器根据设备对于内部或外部的基准电压的要求来进行自动控制。如果能过正常的输出规定的电压值,则REFGENACT和REFGENRDY位代表了电压发生器的状态。
这个内部基准电压(1.5V)从内部连接了一个ADC通道(具体配置信息请参考数据手册)和eCOMP 6比他的DAC。PMMCTL2寄存器的INTREFEN位控制着是否将1.5V的电压注入到特定的ADC通道和内置的的eCOMP 6bit的DAC。
外部基准电压(1.2V)连接到给定的外部ADC通道(具体配置请参考数据手册)。如果这个ADC通道被复用为了其他功能,这个1.2V输出功能仅在这个引脚被复用为ADC通道时工作。PMMCTL2寄存器的EXTREFEN位控制着1.2V基准电压是否对指定的外部ADC通道可用。这个外部基准电压支持最高1mA的驱动能力。
2.2.9 温度传感器
PMM模块包含一个内置的温度传感器,这个温度传感器可以通过软件来控制关闭温度用来对设备进行高温保护。这个温度传感器从内部连接到了一个ADC通道。这个连接是设备指定的并且可以在数据手册的ADC章节进行查看。这个温度传感器在使用以前必须将PMMCTL2寄存器的TSENSOREN位置1。在生产过程中有一个30℃的修正温度。因此,任何测量的温度都可以通过下面的公式11进行计算。
T = 0.00355×(VT - V30℃) + 30℃ (11)
2.2.10 RST/NMI
外部的RST/NMI引脚在BOR复位条件下被拉低。RST/NMI可以用作应用程序其余部分的重置源。
2.2.11 PMM中断
生成的中断标志通过PMM发送到了系统不可屏蔽中断向生成器寄存器,即SYSSNIV寄存器。当PMM产生了一个复位,在SYSRSTIV寄存器会有一个值产生来匹配复位源。这些寄存器被定义在了SYS模块内。更多关于PMM与SYS相关联的信息在SYS章节。
2.2.12 I/O口控制
PMM模块保证在欠压时间发生时I/O引脚不能不受控制的工作。在这些时间段是不可以输出的,包括正常的驱动和弱上拉和下拉模式。如果在欠压事件发生前CPU工作在普通模式,那么在欠压事件发生时任何配置为输入模式的引脚它的输入寄存器都会被锁死,直到电压恢复正常。在欠压事件发生期间,在引脚上外部电压的改变不会改变内部寄存器的变化。这可以防止错误行为的发生。
2.3 PMM寄存器
表2-1展示的是PMM模块的寄存器及其地址偏移量。PMM模块的基地址可以在数据手册中查看。
在PMMCTL0寄存器中定义了密码用来限制访问除PM5CTL0寄存器以外的其他寄存器。PM5CTL0不需要密码就可以被访问。在输入正确的密码后,写访问将被允许(包括PMMCTL0的低字节写访问)。对PMMCTL0寄存器的高字节写入错误的密码将会禁止写访问。在密码输入错误的情况下,通过字访问PMMCTL0寄存器将会产生一个PUC复位。在未启用写访问时,对除PMMCTL0外的其他寄存器进行写操作将会产生一个PUC复位。
NOTE: 所有寄存器都可以进行字或字节访问。对于同一类寄存器,寄存器名带_L的为寄存器的低字节(位0-7)。寄存器名带_H的为寄存器的高字节(位8-15)。
2.3.1 PMMCTL0 寄存器(地址偏移量 = 00h)[复位值 = 9640h]
电源管理模块控制寄存器0
2.3.2 PMMCTL1寄存器(地址偏移量 = 02h)[复位值 = 0000h]
电源管理模块控制寄存器1
2.3.3 PMMCTL2寄存器(地址偏移量 = 04h)[复位值 = 3200h]
电源管理模块控制寄存器2