32 位微控制器 HC32L110 系列的工作模式
1
摘要
本篇应用笔记主要介绍 HC32L110 系列工作模式,着重介绍深度休眠模式模块工作状态。
本篇应用笔记主要包括:
工作模式介绍
工作模式切换介绍
深度休眠模式下 RTC/WDT/LPTIMER/LPUART 模块介绍
注意:
- 本应用笔记为 HC32L110 系列的应用补充材料,不能代替用户手册,具体功能及寄存器的操作等相关事项请以用户手册为准。
2
功能介绍
HC32L110 系列有三种工作模式,用户可以根据产品需要及功耗要求进行相应模式切换,深度休眠模式下 RTC/WDT/LPTIMER/LPUART 等模块都可正常工作。
3.1
工作模式介绍
HC32L110 系列三种工作模式:
运行模式:CPU 运行,周边功能模块运行
休眠模式:CPU 禁止,周边功能模块运行
深度休眠模式:CPU 禁止,高速时钟停止,各别模块可工作
深度休眠模式下工作模块:
GPIO 端口
LPUART 模块
Lptimer 模块
WDT 模块
RTC 模块
VC 模块
LVD 模块
3.2
工作模式切换介绍
3.2.1 系统控制寄存器
Bit1:SELLPONEXIT=1 时,系统从低功耗模式唤醒后,执行完中断服务函数后立即进入低功耗模式;否则唤醒后,需人为操作__WFI()指令后方能再次进入低功耗模式。
Bit2:SLEEPDEEP=1 时,程序执行__WFI()指令后进入深度休眠模式,否则进入休眠模式。
3.2.2 模式切换
根据 3.2.1 章节介绍,用户可设置系统控制寄存器的相关 bit 位,进入相应工作模式。
休眠模式
SLEEPDEEP=0;
__WFI();
唤醒后不再进入休眠/深度休眠模式
SELLPONEXIT=0;
唤醒后执行完中断服务后进入休眠/深度休眠模式
SELLPONEXIT=1;
深度休眠模式
SLEEPDEEP=1;
__WFI();
唤醒后不再进入休眠/深度休眠模式
SELLPONEXIT=0;
唤醒后执行完中断服务后进入休眠/深度休眠模式
SELLPONEXIT=1;
3.2.3 休眠模式唤醒
休眠模式唤醒源:
任意一个高优先级嵌套向量终端控制器响应的外设中断都能将系统从休眠模式唤醒。
深度休眠模式唤醒源:
任意一个被嵌套向量中断控制器响应的外设中断(DeepSleep 下可运行的周边模块中断)都
能将系统唤醒。
- 深度休眠模式下进行功耗测试时,需将应用中端口配置到正确电平。
4.1
深度休眠模式 RTC 模块
深度休眠模式下,高速时钟停止运行,RTC 模块选择内部低速 LRC 或者外部低速 LXT 作为计数时钟源。配置相应寄存器后 RTC 模块正常运行,计数、周期、闹钟中断及 1hz 都可正常工作。可满足在低功耗模式下 RTC 仍能正常计数的要求。中断可以唤醒深度休眠模式。具体参考“HC32L110 系列的 RTC 模块”应用笔记。
4.2
深度休眠模式 WDT 模块
WDT 模块以内部 10K 时钟计数,在深度休眠模式下可正常运行,当配置 WDT 定时中断时,可唤醒深度休眠模式。WDT 模块的复位功能可复位模块本身,所以用户在用此模块时,涉及到 WDT 复位时,需要重新开启 WDT 模块。
4.3
深度休眠模式 LPTIMER 模块
具体参考“HC32L110 系列的 LPTIMER”应用笔记。
4.4
深度休眠模式 LPUART 模块
具体参考“HC32L110_HC32F003_HC32F005 系列 UART 和 LPUART 模块”应用笔记。
5
参考样例及驱动
通过上述介绍,配合 HC32L110 系列的用户手册,我们对上述系列 MCU 的低功耗模块功能及操作方法有了进一步的掌握。
华大半导体(HDSC)官方同时提供了该模块的应用样例及驱动库,用户可通过打开样例的工程进一步直观地熟悉该模块以及驱动库的应用,在实际开发中也可以直接参考样例和使用驱动库来快速实现对该模块的操作。
➢ 样例参考:~/HC32L110_DDL/example/lowpower
➢ 驱动库参考:~/HC32L110_DDL/driver/…/lpuart
~/HC32L110_DDL/driver/…/lptimer
~/HC32L110_DDL/driver/…/wdt
~/HC32L110_DDL/driver/…/rtc
6
总结
以上章节简要介绍了 HC32L110 系列的工作模式,详细说明了各个工作模式及切换方法。用户在实际的应用开发过程中,如果需要更深一步了解该模块的使用方法及操作事项,应以相应的用户手册为准。本章中提到的样例及驱动库,既可以作为用户进一步的实验与学习,也可以在实际开发中直接应用。
页:
[1]