图 5-39 PMU 及干系电源域内部构造框图
电池备份域电池备份域由内部电源切换器来选择VDD供电或VBAT(电池)供电,然后由VBAK为备份域供电,该备份域包含RTC(实时时钟)、 LXTAL(低速外部晶体振荡器)、 BPOR(备份域上电复位)、BREG(备份寄存器),以及PC13至PC15共3个PAD。为了确保备份域中寄存器的内容及RTC正常事情,当VDD关闭时, VBAT引脚可以连接至电池或其他电源等备份源供电。VDD/VDDA 电源域VDD/VDDA 域包括 VDD 域和 VDDA 域两部分。 VDD 域包括 HXTAL(高速外部晶体振荡器)、LDO(电压调节器)、 POR/PDR(上电/掉电复位)、 FWDGT(独立看门狗定时器)和除 PC13、PC14和 PC15 之外的所有 PAD 等等。 VDDA 域包括 ADC/DAC( AD/DA 转换器)、 IRC8M( 内部 8MRC 振荡器)、 IRC48M( 内部 48M RC 振荡器)、 IRC40K(内部 40KHz RC 振荡器) PLLs(锁相环)和 LVD(低电压检测器)等等。
VDD 域POR/ PDR(上电/掉电复位) 电路检测VDD/VDDA并在电压低于特定阈值时产生电源复位旗子暗记复位除备份域之外的全体芯片。图 5-40上电/掉电复位波形图显示了供电电压和电源复位旗子暗记之间的关系。 VPOR表示上电复位的阈值电压, VPDR表示掉电复位的阈值电压,以GD32F303为例 ,范例值约为2.40V,范例值约为1.8V。迟滞电压Vhyst值约为600mV。

图 5-40 上电/掉电复位波形图
VDDA 域LVD 的功能是检测 VDD/VDDA 供电电压是否低于低电压检测阈值,该阈值由电源掌握寄存器(PMU_CTL)中的 LVDT[2:0]位进行配置。 LVD 通过 LVDEN 置位使能,位于电源状态寄存器(PMU _CS)中的 LVDF 位表示低电压事宜是否涌现,该事宜连接至 EXTI 的第 16 线,用户可以通过配置 EXTI 的第 16 线产生相应的中断。图 5-41 LVD阈值波形图显示了 VDD/VDDA 供电电压和 LVD 输出旗子暗记的关系。( LVD 中断旗子暗记依赖于 EXTI 第 16 线的上升或低落沿配置)。迟滞电压 Vhyst 值为 100mV。
图 5-41 LVD阈值波形图
省电模式
5.11.3. 硬件把稳事变
1)对付没有外部电池的运用,建议将 VBAT 引脚通过 100nF 的外部陶瓷去耦电容连接到 VDD 引脚上;2)由于 PC13 至 PC15 引脚是通过电源切换器供电的,电源切换器仅可通过小电流,因此当 PC13至 PC15 的 GPIO 口在输出模式时,其事情的速率不能超过 2MHz(最大负载为 30pF)。3)如果 VDDA 和 VDD 不同时,VDDA 须高于 VDD,但压差不超过 0.2V。
5.11.4. 软件配置解释
PMU 以低功耗模板配置为例来解释Demo 一 ( Deepsleep 模式)demo 功能解释:MCU 上电启动后,LED 灯闪烁 5 次,进入深度就寝模式,通过按键来唤醒,LED 灯连续闪烁 5次又进入深度就寝。软件配置步骤如下:1)开启 PMU 时钟rcu_periph_clock_enable(RCU_PMU);2)配置 LED 灯
3)配置唤醒按键 PC13
3)进入低功耗模式函数pmu_to_deepsleepmode(PMU_LDO_NORMAL,WFI_CMD);4) 按键外部触发中断做事函数void EXTI10_15_IRQHandler(void){if (RESET != exti_interrupt_flag_get(EXTI_13)) //判断是否为 13 号中断线{exti_interrupt_flag_clear(EXTI_13); //清空标志}}5) 唤醒后重新配置 PLL 系统时钟
5.11.5. PMU 利用把稳事变(1)深度就寝模式 只假如外部中断就能唤醒;(2)从深度就寝模式唤醒后,PLL 是没有被使能,唤醒后须要配置 PLL,不然 MCU 系统时钟便是内部时钟;(3)进入 deepsleep 低功耗模式后,将未利用到的 IO 配置成仿照输入模式,以降落芯片整体功耗。