【经验】基于灵动微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
基于MM32F5270 MCU初步学习移植FreeRTOS
FreeRTOS是一个RTOS类的嵌入式实时操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植到各种单片机上运行。本系列微课堂基于MM32F5270 MCU初步学习使用FreeRTOS开发。
设计经验 发布时间 : 2024-08-30
灵动微电子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
研讨会2024模拟电源信号链新技术研讨会
描述- 11月7日直播,带来电源管理革新、汽车电子智能化、可再生能源与储能、光通讯与光模块、医疗健康与个人护理等领域电源信号链新产品新技术,点击了解报名。
议题- 信号链:射频开关,ADC,DAC,运放,比较器,数模混合IC,温度传感器 | 电源管理:锂电管理,氮化镓驱动,马达驱动,高低边驱动,DC-DC,AC-DC,电压基准源 | 汽车:车身电子,HUD,激光雷达,智能座舱,OBC,充电桩,T-BOX,氛围灯,车载摄像头,倒车雷达,热管理,BMS | 光通讯,光模块,交换机(POE),AFE,个人护理,医疗健康 | 可再生能源:光伏储能(模拟ADC产品) | 工业:机器人,变频伺服 | 电力:数字电源,电动工具,安防监控 | SG Micro Corp(圣邦微电子)——十大中国IC设计公司之一,模拟集成电路领导者 | 模拟与嵌入式产品和解决方案供应商——思瑞浦(3PEAK) | 以模拟技术为优势的电子器件和微波产品,为客户提供最佳的模拟解决方案——Nisshinbo (日清纺) | 国产首款40V、5A 、AEC 、Q100车规级低能耗高可靠电源降压芯片生产商——芯洲科技(SCT) | 高性能模拟和数模混合半导体供应商——JW JOULWATT(杰华特) | 全球首家Force Touch SoC芯片供应商——芯海科技(CHIPSEA) | 全球电子成就奖●年度微控制器/接口产品奖获得者——国民技术(Nations) | 专业的高性能模拟器件及数模混合芯片解决方案供应商——拓尔微电子(TOLL) | 专注于高性能、高品质模拟/混合信号的芯片设计公司:润石科技(Runic) | 专注于高性能模拟及混合信号芯片设计——领慧立芯(legendsemi) | 致力打造世界一流高端模拟芯片方案供应商——治精微(ZJW) | 高端模拟及数模混合芯片和解决方案供应商——类比半导体(AnalogySemi) | 高性能全范围模拟信号链(放大器/ADC/DAC/基准/电源)芯片供应商——士模(CIMO) | 致力于向客户提供多品类、全系列电源管理芯片产品及解决方案供应商——ETA SEMICONDUCTOR(钰泰半导体) | 专注BMS,电源及可编程模拟芯片的知名半导体厂商——芯祥科技(EnergyMath) | 专注研发小型化、高可靠电源,为客户提供完整可靠的电源解决方案——ZOEYGO(中逸光) | 专业从事电源产品的研发、生产、销售及综合解决方案的模块电源生产厂家——TOPPOWER(顶源科技) | 模拟芯片领先设计商——微源半导体(LPSemi) | 领先的高密度神经刺激芯片和生物传感芯片供应商——Nanochap(暖芯迦) | 专注于高性能信号链集成电路产品研发——芯聚威(Silicoway) |
活动 发布时间 : 2024-06-28
研讨会2024年世强硬创新技术研讨会:IC、元件、材料、电气、电机、国产化等最新产品与前沿技术
立即报名并查看日程!世强硬创新技术研讨会联合全球1000家顶级原厂发布2024最前沿技术、最新产品以及解决方案,助力硬件企业工程师快速了解市场新品动态,点燃创意火花,加速研发项目进度。
活动 发布时间 : 2023-10-24
灵动新推出32位MCU MM32F0120,主频高达72MHz,提供64KB Flash和8KB RAM
灵动微电子发布的MM32F0120,搭载Cortex M0内核,主频高达72MHz,提供64KB Flash和8KB RAM,最高支持48pin封装。适用于屏显控制、电动玩具、电源管理、马达控制、无线快充等多种应用场合。
产品 发布时间 : 2024-09-11
喜讯|灵动再获工信部第三批重点专精特新“小巨人”荣誉称号
为了深入贯彻习总书记关于“培育一批“专精特新”中小企业”的重要指示精神,上海灵动微电子股份有限公司积极配合工业和信息化部开展的第三批专精特新“小巨人”企业复核工作,并顺利通过了相关审核。
厂牌及品类 发布时间 : 2024-09-06
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等多种封装形式。
产品型号
|
品类
|
GPIO 端口数(个)
|
Flash(KB)
|
内核
|
管脚数(个)
|
工作温度(℃)
|
封装/外壳/尺寸
|
CPU频率(MHz)
|
工作电压(V)
|
SRAM (KB)
|
MM32F0163D7PV
|
32位MCU
|
57
|
128KB
|
M0
|
64
|
-40℃~105℃
|
LQFP64
|
96MHz
|
2.0~5.5V
|
16KB
|
选型表 - MindMotion 立即选型
【IC】灵动发布全新入门级32位MCU MM32G0001系列,内置时钟全温度范围内偏差不超过±2%
灵动股份推出全新超值型MM32G0001系列MCU。2023年初,灵动首次发布了其主打高性价比的MM32G系列,目前已陆续推出了G0140,G0160和G5330系列产品。为进一步丰富MM32G系列产品组合,灵动和上下游合作伙伴通力合作,打造出全新入门级超值型MM32G0001系列MCU。
新产品 发布时间 : 2023-07-01
基于MM32F5270 MCU的Ethernet实现LwIP协议栈移植
LwIP是轻量化的TCP/IP协议,由瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。本文基于搭载了MM32F5277E9P MCU的开发板 PLUS-F5270 V2.0进行实现LwIP协议栈移植。
设计经验 发布时间 : 2024-08-30
使用灵动MM32F5270 MCU UART配置实现LIN通信
本文主要简述MM32F5270 UART是如何实现LIN通信的。从LIN驱动程序、 主机程序、从机程序和验证等方面来讲代码实现。
设计经验 发布时间 : 2024-02-23
累计交付超4亿颗!世强硬创获低功耗32位MCU厂商灵动股份授权
MindMotion(灵动股份)MM32WB0510系列配套软件支持各种蓝牙Profile,提供小尺寸协议栈,最小仅占用12KB Flash和2KB RAM。
签约新闻 发布时间 : 2023-07-24
邀请函|灵动邀您共赴第七届(苏州)电动工具控制与充电技术研讨会之约!
MindMotion灵动邀您2024.8.23参加在苏州尼盛万丽酒店(2楼尼盛宴会厅)举办的第七届(苏州)电动工具控制与充电技术研讨会。灵动微电子的MCU产品以MM32为标识,基于Arm Cortex-M系列内核,自主研发软硬件和生态系统。目前已量产近300款型号,在本土通用32位MCU公司中位居前列。
厂牌及品类 发布时间 : 2024-08-22
电子商城
现货市场
服务
可定制显示屏的尺寸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 提交需求>
登录 | 立即注册
提交评论