【经验】基于灵动微MM32L0130系列MCU的低功耗电子时钟设计指南
MM32L0130作为灵动微电子推出的一款低功耗芯片,内置多种省电工作模式保证低功耗应用的要求。前面文章分别对MM32L0130片上外设SLCD和RTC做了相关描述,并列举对应程序实现SLCD驱动LCD显示、RTC日历和闹钟,其实SLCD与RTC都支持在特定的低功耗模式下运行,结合这两个外设特性,在前面实验的基础上,使用EVB_L0136开发板可以轻松实现一个低功耗电子时钟设计。本文通过讲述MM32L0130 PWR电源控制模式,以及SLCD 和RTC外设配置,实现低功耗应用场景。
1、MM32L0130 PWR简介
电源控制 PWR(Power Controller)主要涉及芯片的供电系统、电源管理器和低功耗模式等功能。
1.1 供电系统
芯片由两种电源提供供电:
由VDDA和VSSA提供的模拟电源,为芯片模拟模块提供电压,用于ADC模块、内部基准电压、内部温度传感器和 PLL 等。
由VDD和VSS提供的数字电源,用于数字部分和I/O引脚工作。
VDD 域主要给 LSE, HSE, PMU, POR, PVD 和部分 I/O 上的唤醒逻辑供电,在上电后保持工作状态。
备份域主要为 RTC、 LCD、 IWDG、备份寄存器和内部低速时钟振荡器 LSI 供电。
VDD_Core 域主要给芯片的内核、内存和外设提供供电,在上电后默认是开启状态,在进入低功耗待机模式时,芯片会硬件选择关闭该 VDD_Core 域,在唤醒后芯片会自动开启。主要有以下几种工作状态:
运行模式
VDD_Core 域以正常的功耗模式运行,内存、外设都正常工作。
低功耗运行模式
VDD_Core 域以低功耗模式运行,内存、外设都以低功耗工作。
睡眠模式
VDD_Core 域以正常功耗模式工作, CPU 进入睡眠模式,内存、外设都以正常的功耗模式工作。
低功耗睡眠模式
VDD_Core 域以低功耗睡眠模式工作, CPU 进入低功耗睡眠模式,内存、外设都以低功耗工作。
停机模式
VDD_Core 域以低功耗模式工作,只保持寄存器和 RAM 的内容。
深度停机模式
VDD_Core 域以更低功耗模式工作,只保持寄存器和 RAM 的内容。
待机模式
VDD_Core 域停止供电。除了备份域外,其他所有寄存器和 SRAM 的内容全部丢失。
关机模式
VDD_Core 域、备份域停止供电。
1.2 MM32L0130低功耗模式
MM32L0130有6种低功耗模式:包括低功耗运行模式,睡眠模式,低功耗睡眠模式,停机模式,待机模式,关机模式:
低功耗运行模式
进一步降低 MCU 在运行模式下的功耗,可以通过配置 PWR_CR1 寄存器的 LPR 位将电压稳压器设置为低功耗模式。该模式下系统频率不应超过 2MHz。
Sleep Mode 睡眠模式
CPU 进入睡眠模式,内存、外设都以正常的功耗模式工作。在睡眠模式下,所有的 I/O 引脚都保持在运行模式时的状态。中断或事件发生后,睡眠模式立即被唤醒。
Low Power Sleep Mode 低功耗睡眠模式
CPU 进入低功耗睡眠模式,内存、外设都以低功耗工作。在睡眠模式下,所有的 I/O 引脚都保持在运行模式时的状态。中断或事件发生后,睡眠模式立即被唤醒。
Stop Mode 停机模式
停机模式下,CPU 进入深度睡眠模式, VDD_Core 域的所有时钟都被停止, PLL、 HSI 和 HSE 振荡器的功能被禁止, SRAM 和寄存器内容被保留下来。
DeepStop Mode 深度停机模式
深度停机是在 CPU 深度睡眠模式的基础上结合了外设的时钟控制和电压稳压器控制机制的一种低功耗模式。在深度停机模式下, VDD_Core 域的所有时钟都被停止, PLL、 HSI 和 HSE 振荡器的功能被禁止, SRAM 和寄存器内容被保留下来。
Standby Mode 待机模式
待机模式是在 CPU 深睡眠模式的基础上关闭电压稳压器。整个 VDD_Core 域被切断, PLL、 HSI 和HSE 振荡器也被关闭, SRAM 和寄存器内容丢失,只有备份域的寄存器和待机电路维持供电。唤醒后芯片将复位。
ShutDown Mode 关机模式
在关机模式下,内部所有的稳压器全都被关闭, BOR 关闭,只保留 POR 和少数其他 VDD 域的电路正常工作(PMU 部分逻辑/POR/IO Wakeup 逻辑)。
1.3 功耗模式选择
一般根据最低电源消耗,最快启动时间和可用的唤醒源等条件,选择一种最佳的低功耗模式。相关参数可以参考各系列对应的数据手册,如下数据从数据手册摘取。
1.31 电流消耗
电流消耗是多种参数和因素的综合指标,这些参数和因素包括工作电压、环境温度、 I/O引脚的负载、产品的软件配置、工作频率、 I/O 脚的翻转速率、程序在存储器中的位置以及执行的代码等。本节中给出的所有运行模式下的电流消耗测量值,都是在执行一套精简的代码。
睡眠模式下的典型电流消耗:
停机模式下的典型电流消耗和最大电流消耗:
I/O 状态为模拟输入。
待机模式下的典型电流消耗和最大电流消耗:
I/O 状态为模拟输入。
关机模式下的典型电流消耗和最大电流消耗:
I/O 状态为模拟输入。
1.32 唤醒时间
低功耗模式的唤醒时间:
2、实验
2.1 实验说明
MM32L0130的RTC和SLCD外设都支持睡眠模式、停机模式、和待机模式。RTC模块连接到EXTI部分用于低功耗唤醒信号,包括闹钟、唤醒单元、入侵事件。SLCD驱动模块在不需要显示的时候,可以完全关闭 SLCD 驱动以达到降低功耗的目的。
硬件使用灵动微电子设计的EVB-L0136开发板,板载LCD接口可以适配GDC0689液晶屏,以LCD中的6位数码管显示时间时、分、秒,在1s时间范围内完成唤醒并更新显示数据即可,根据需要可以选择停机模式和待机模式,待机模式功耗最低。在STOP模式下, VDD_Core域的所有时钟都被停止, PLL、 HSI 和 HSE 振荡器的功能被禁止,SRAM 和寄存器内容被保留下来,唤醒之后继续执行进入STOP模式指令之后的程序,可以保证各个任务顺利运行,从STOP模式唤醒时间约为20μs,时间相当充分,且功耗较正常运行模式降低很多,这里选择STOP模式。
GDC0689液晶屏全显效果图如下:
2.2 唤醒单元
RTC内部包含周期性的唤醒单元,用于唤醒低功耗模式。
RTC内部包含一个 16 位的递减计数单元,用于周期性产生唤醒标志,该唤醒定时器可扩展至17位。通过配置RTC_CR寄存器中的WUTE位使能。唤醒单元时钟源:
2、4、8 或 16 分频的 RTC 时钟:
当为 LSE 时,可配置的唤醒中断周期介于 122µs 和 32s 之间,且分辨率低至 61µs。
fck_spre(通常为 1Hz 内部时钟):
WUCKSEL[2:1]=10 时为 1s 到 18h;
WUCKSEL[2:1]=11 时约为 18h 到 36h。
当递减计数器计数到 0 时, RTC_ISR 寄存器的 WUTF 标志会置 1,唤醒计数器会重载 RTC_WUTR寄存器值,通过软件清零 WUTF 标志。
使能 RTC_CR 寄存器中的 WTIE,当计数到 0 时,会产生中断输出。
配置 RTC_CR 寄存器中的位 OSEL[1:0]等于 2, WUTF 连接到 RTC_ALARM 输出。配置 RTC_CR寄存器的 POL 位选择 RTC_ALARM 输出极性。
注:系统复位以及低功耗模式(睡眠、停机和待机)对唤醒定时器没有影响。
2.3 外设配置
关于SLCD和RTC的初始化配置在前面两节微课堂已有相关描述,以下外设配置与应用程序在前面代码上进行增添即可。
配置低功耗模式要先使能PWR时钟:
RCC_APB1PeriphClockCmd(RCC_APB1ENR_PWREN, ENABLE);
在要进入STOP模式的代码后调用相关库函数,选择低功耗模式,中断唤醒:
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
RTC的时钟源选择LSE(32.768KHZ),可配置的唤醒中断周期介于 122µs 和 32s 之间,且分辨率低至 61µs。此处对RTC时钟进行16分频,1s计数2048个,配置唤醒定时器自动重装载值为256,对应125ms,该值越小,唤醒时间越短。
RTCCAL_WakeUpClockConfig(RTCCAL_WakeUpClock_RTCCLK_Div16);
RTCCAL_SetWakeUpCounter(256);
使能唤醒单元,使能RTC唤醒中断:
RTCCAL_WakeUpCmd(ENABLE);
RTCCAL_ClearFlag(RTCCAL_FLAG_WUTF);
RTCCAL_ITConfig(RTCCAL_IT_WUT, ENABLE);
RTC&BKP 全局中断与连接到 EXTI17,配置RTC中断:
RTCCAL_NVIC_Config();
SLCD显示,记录当前日历和时间,使用LCD的6位数码管显示时分秒,左上方的4位数码管显示年份。
void LCD_DisplayDataUpdate(void)
{
Number1 = RTCCAL_tempTime.RTCCAL_Seconds;
Number2 = RTCCAL_tempTime.RTCCAL_Minutes;
Number3 = RTCCAL_tempTime.RTCCAL_Hours;
LCD_DisplayNumber1(0, '0' + Number3 / 10, 0);
LCD_DisplayNumber1(1, '0' + Number3 % 10, 0);
LCD_DisplayNumber1(2, '0' + Number2 / 10, 0);
LCD_DisplayNumber1(3, '0' + Number2 % 10, 0);
LCD_DisplayNumber1(4, '0' + Number1 / 10, 0);
LCD_DisplayNumber1(5, '0' + Number1 % 10, 0);
LCD_DisplayUnit(8, 1);
LCD_DisplayUnit(9, 1);
Number4 = RTCCAL_tempDate.RTCCAL_Year;
LCD_DisplayNumber2(0, '2', 0);
LCD_DisplayNumber2(1, '0', 0);
LCD_DisplayNumber2(2, '0' + Number4 / 10, 0);
LCD_DisplayNumber2(3, '0' + Number4 % 10, 0);
}
获取当前日历和时间,刷新显示数据,Flag_GainData、Flag_DataUpdate均为时间标志,这里间隔1ms获取数据,间隔10ms刷新数据,Flag_WKUP是中断唤醒标志,数据刷新之后再次进入STOP模式,等待唤醒,刷新时间是影响功耗的主要参数之一,需根据实际应用进行评估。
if(Flag_GainData == 1)
{
Flag_GainData = 0;
RTCCAL_GetDate(RTCCAL_Format_BIN, &RTCCAL_tempDate); RTCCAL_GetTime(RTCCAL_Format_BIN, &RTCCAL_tempTime);
}
if(Flag_DataUpdate == 1)
{
Flag_DataUpdate = 0;
LCD_DisplayDataUpdate();
if(Flag_WKUP == 1)
{
Flag_WKUP = 0;
SystemInit();
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
LED2_TOGGLE();
}
}
2.4 演示
板载LD2(绿色LED)闪烁,程序中LD2的控制引脚在从低功耗模式唤醒之后翻转,闪烁表示此时处于低功耗模式进入、唤醒状态。LCD液晶屏显示时、分、秒、年份。
本次微课堂在功能设计上仅是MM32L0130 SLCD与RTC在低功耗模式下的简单应用,如果对此感兴趣者,可以自己配置RTC闹钟功能、SLCD闪烁模式,以及按键调整时间、蜂鸣提醒、LED显示等进一步完善相关功能。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自灵动MM32MCU公众号,原文标题为:灵动微课堂 (第234讲) | 基于MM32L0130的低功耗电子时钟设计,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关研发服务和供应服务
相关推荐
Keil分散加载文件浅析
分散加载文件(scatter file)是一个文本文件,用于描述 ARM 链接器生成映像文件所需要的信息,在一些应用场景中嵌入式系统可能会使用分散加载。本章节简要介绍了分散加载文件的基本概念和语法,旨在对分散加载文件有初步认识。
设计经验 发布时间 : 2023-12-28
灵动微电子MM32F0160系列MCU FlexCAN-FD通信应用指南
MM32F0160系列MCU具有一个 FlexCAN 模块,该模块遵循 ISO 11898-1 标准、 CAN FD 和 CAN 2.0B 协议规范,不仅兼容传统CAN,还支持CAN FD模式。本章节初步学习使用MM32F0160 FlexCAN-FD接口实现CAN FD通信,相关例程参考灵动官网的LibSamples或在此基础上修改。
设计经验 发布时间 : 2024-01-07
使用灵动MM32F5270 MCU UART配置实现LIN通信
本文主要简述MM32F5270 UART是如何实现LIN通信的。从LIN驱动程序、 主机程序、从机程序和验证等方面来讲代码实现。
设计经验 发布时间 : 2024-02-23
研讨会2024年世强硬创新技术研讨会:IC、元件、材料、电气、电机、国产化等最新产品与前沿技术
立即报名并查看日程!世强硬创新技术研讨会联合全球1000家顶级原厂发布2024最前沿技术、最新产品以及解决方案,助力硬件企业工程师快速了解市场新品动态,点燃创意火花,加速研发项目进度。
活动 发布时间 : 2023-10-24
“MindMotion·Star“ Series: Major Member MM32F5260 Officially in Mass Production
At the Shenzhen Elexcon 2024 in late August, MindMotion Microelectronics officially unveiled the “MindMotion·Star” series of high-performance MM32 MCU products, featuring four sub-series: MM32F3, MindMotion Dubhe MM32F5, MindMotion Alioth MM32G5, and MindMotion Phecda MM32H5. MindMotion is excited to announce the formal launch of a key member of the MindMotion Dubhe sub-series: the MM32F5260.
产品 发布时间 : 2024-10-25
MindMotion MM32H5480 Triumphs with “2024 Hardcore MCU Chip Award“
MindMotion Microelectronics, as a frontrunner in the domestic market for general-purpose 32-bit MCU products and solutions, proudly secured the “2024 Hardcore MCU Chip Award“ for its high-performance product, the MM32H5480.
产品 发布时间 : 2024-10-23
MindMotion(灵动微) MCU选型表
32位高性能,高性价比MCU,Core核心有M0、M0+、2XM0、M3、STAR-MC1,Flash存储容量范围 16KB~2048KB,RAM存储容量范围 2KB~128KB,工作电压:1.8~48V,CPU频率(MHz):48~180MHz,GPIO 端口数(个):6~86,LQFP/TSSOP/QFN等多种封装形式。
产品型号
|
品类
|
内核
|
管脚数(个)
|
工作温度(℃)
|
CPU频率(MHz)
|
工作电压(V)
|
GPIO 端口数(个)
|
Flash(KB)
|
SRAM (KB)
|
封装/外壳/尺寸
|
MM32F0163D7PV
|
32位MCU
|
M0
|
64
|
-40℃~105℃
|
96MHz
|
2.0~5.5V
|
57
|
128KB
|
16KB
|
LQFP64
|
选型表 - MindMotion 立即选型
【IC】“灵动·星”系列MM32高性能MCU产品搭载Star-MC1提供强劲内核动力,性能提升20%
“灵动·星”系列 MM32 高性能 MCU 产品,搭载安谋科技(Arm China)Star-MC1 内核性能,其1.5 DMIPS / MHz,提升 20% ,4.02 CoreMark / MHz,提升20% 。目前包含 4 个子系列: MM32F3,灵动·天枢 MM32F5,灵动·玉衡 MM32G5,灵动·天玑 MM32H5,为用户提供灵活、丰富的选择。
产品 发布时间 : 2024-10-23
MindMotion(灵动微)MM32系列32位MCU选型指南
描述- 灵动微电子成立于2011年,是中国本土领先的通用32位MCU产品及解决方案供应商。灵动微电子的 MCU 产品以 MM32 为标识,基于 Arm Cortex-M 系列内核,自主研发软硬件和生态系统。
型号- MM32G0163D4PV,MM32L0XX,MM32F0144C6PM,MM32F5230,MM32SPIN580C,MM32G0020,MM32G0140,MM32L073PF,MM32F0133C4Q,MM32SPIN080GN,MM32SPIN560CM,MM32SPIN023C,MM32F0133C4P,MM32F5287L8PV,MM32SPIN533AM,MM32F0162D7P,MM32F0121C6P,MM32F0163D4Q,MM32SPIN0230,MM32SPIN080C,MM32F0141C1T,MM32L062NT,MM32F0020B1N,MM32F0144C1TV,MM32F5330,MM32G0001,MM32G0120,MM32F0144C1TM,MM32F0163D7P,MM32SPIN030CN,MM32G0121C1TV,MM32F0010A1TV,MM32SPIN07PF,MM32SPIN05PFOP,MM32SPIN0230B1TV,MM32SPIN37PSD,MM32G0001A6T,MM32F3270,MM32F0121C4P,MM32F0121C4Q,MM32F5277E9PV,MM32F5287L9PV,MM32F0163D6P,MM32F5333D6PV,MM32SPIN0280DAPV,MM32F0121C4N,MM32SPIN080G,MM32SPIN560,MM32F0144C4PM,MM32F0144C4PV,MM32F5280,MM32SPIN06NT,MM32F0140,MM32SPIN560C,MM32F0020,MM32G5333D6QV,MM32F0162D4Q,MM32F0050C1TV,MM32F0273D6P,MM32SPIN0230B3NV,MM32SPIN06PF,MM32G0144C4QV,MM32SPIN0280,MM32L052NT,MM32F5270,MM32F0144C4P,MM32F5277E8PV,MM32F031C6T6,MM32F0130,MM32F0010,MM32F0020B1TV,MM32F5333D7PV,MM32G0144C4PV,MM32SPIN080CN,MM32F0144C4Q,MM32SPIN060G,MM32L0136C7P,MM32F0133C7P,MM32SPIN05NW,MM32F5331D3NV,MM32F0040B1T,MM32SPIN05NT,MM32G0001A6T1V,MM32SPIN06PT,MM32F0120,MM32F0162D6P,MM32F5331D3NM,MM32F003NW,MM32G0160,MM32SPIN27NF,MM32F0163D4QM,MM32SPIN05PF,MM32F031,MM32F3273G6P,MM32F0163D4QV,MM32L0136B6P,MM32G0001A1TV,MM32F0133C6P,MM32SPIN0280D7PV,MM32F5277E7PV,MM32F0144C6P,MM32SPIN222C,MM32F0144C6PV,MM32F0010A6T,MM32G0001A1T,MM32F3273G7P,MM32L0130,MM32G0001A1N,MM32SPIN05PT,MM32G0121C4PV,MM32F0010A1T,MM32F5233D7PV,MM32SPIN27PF,MM32F0010A1N,MM32G5330,MM32SPINEBK,MM32SPIN07,MM32F3273G8P,MM32SPIN160C,MM32SPIN06,MM32F0040B1N,MM32SPIN0230B1NV,MM32L0136C6P,MM32SPIN05,MM32L0020,MM32F0050,MM32SPIN0280D6PV,MM32SPIN533,MM32F031K6U6,MM32F3273G9P,MM32F0163D6PM,MM32SPIN040C,MM32G0020B1T,MM32F0163D6PV,MM32F003,MM32SPIN37,MM32G0020B1N,MM32F0273D8P,MM32F0160,MM32L0136C3T,MM32F0040,MM32G0001A1NV,MM32SPIN0280D6QV,MM32F0144C1T,MM32F103CBT6,MM32F5233D6PV,MM32F0144C4QM,MM32F3273E6P,MM32SPIN27PQ,MM32SPIN27PS,MM32SPIN27PT,MM32L0136C4N,MM32SPIN27,MM32F0020B1NV,MM32F0270,MM32G0121C4QV,MM32F031F6U6,MM32F0273D7P,MM32F003TW,MM32G0144C1TV,MM32F3273E7P,MM32F0141B1T,MM32G0163D6PV,MM32F0163D7PM,MM32SPIN030C,MM32F0163D7PV,MM32F0131C7P,MM32F103,MM32SPIN05TW,MM32F031Y6Y6,MM32F0141C4P,MM32F0141C4Q,MM32F0141C4N,MM32F031K6T6,MM32F0010A1NV,MM32F0131C6P,MM32SPIN422C,MM32F0020B1T,MM32SPIN0280D4PV,MM32L0020B1T,MM32F103RBT6,MM32L0020B1N,MM32F031F6P6,MM32F0121C1N,MM32F0050C1NV,MM32F5333D4QM,MM32G0001A6TV,MM32SPIN360C,MM32,MM32F5333D4QV,MM32F0141C6P,MM32F0141B4P,MM32F0131C4P,MM32F0131C4Q,MM32SPIN0230B3TV,MM32SPIN533A,MM32SPIN033A,MM32F5287L7PV,MM32F5233D4QV
【IC】灵动微电子高性能通用32位MCU产品MM32H5480荣获“2024年度硬核MCU芯片奖”
近日,第六届硬核芯生态大会在深圳举办,同期2024年度硬核中国芯获奖榜单正式发布。作为国内领先的本土通用32位MCU产品及解决方案供应商,MindMotion灵动微电子凭借高性能产品MM32H5480斩获“2024年度硬核MCU芯片奖”。
原厂动态 发布时间 : 2024-10-18
【IC】灵动发布全新入门级32位MCU MM32G0001系列,内置时钟全温度范围内偏差不超过±2%
灵动股份推出全新超值型MM32G0001系列MCU。2023年初,灵动首次发布了其主打高性价比的MM32G系列,目前已陆续推出了G0140,G0160和G5330系列产品。为进一步丰富MM32G系列产品组合,灵动和上下游合作伙伴通力合作,打造出全新入门级超值型MM32G0001系列MCU。
新产品 发布时间 : 2023-07-01
【经验】基于MM32F0163D7P的USB Audio Class(UAC)音频设备移植教程
在上一节我们在MM32F0163D7P 平台上成功的移植了TinyUSB,基于这个平台,今天我们来实现一个 uac2_headset 音频设备,这个设备支持基础的录音和放音功能,如果要支持音量调节/静音功能,还需要再添加一个 HID 变成复合设备。
设计经验 发布时间 : 2023-08-05
【IC】灵动微电子发布灵动·天枢子系列新成员:MM32F5260,搭载国产Star-MC1内核,内核动力强劲
在8月底的深圳嵌入式电子展上,灵动微电子正式发布了“灵动星”系列MM32高性能MCU产品,包含4个子系列:MM32F3,灵动·天枢 MM32F5,灵动·玉衡MM32G5,灵动·天玑MM32H5。9月30日灵动微电子正式发布灵动·天枢子系列的重磅成员:MM32F5260。
产品 发布时间 : 2024-10-10
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论