S32K3xx电源管理(低功耗)学习
S32K3xx电源管理学习
目录
- S32K3xx电源管理学习
- 一、S32K3xx的两种工作模式
- 二、S32K3xx在两种模式下允许运行哪些外设
- 三、S32K3xx从Standby模式唤醒后程序从哪里允许
- 四、S32K3xx降低功耗两种思路方法
- 五、电源管理配置
- 1.配置两种工作模式
- 2.进入各工作模式
- 3.低功耗唤醒配置
- 六、动手实操
芯片在某些对电源功耗要求严苛的条件下或者以较长时间周期工作时,需要使用电源管理,使芯片进入低功耗的模式以达到节能的效果。
之前简单了解过STM32F103的电源管理,这次在实际应用中需要使用S32K3xx芯片的电源管理,因此从以下几个点出发进行学习和总结:
1.S32K3xx有几种工作模式?
2.S32K3xx各工作模式下允许运行哪些外设?
3.S32K3xx在低功耗的模式下唤醒后程序从哪里运行?
4.S32K3xx降低功耗有哪些思路方法?
5.电源管理配置:S32K3xx怎样配置各工作模式和怎样进入各工作模式以及如何低功耗唤醒?
6.动手实操:实现Standby模式进入和唤醒小功能
一、S32K3xx的两种工作模式
S32K3xx不同于STM32F1xx,它只有两种工作模式:RUN和Standby模式。
二、S32K3xx在两种模式下允许运行哪些外设
由下图‘Power management system’可以看出:
对于S32K344而言RUN模式中所有外设都可以运行,时钟是能够以160MKz运行的;而Standby模式下锁相环PLLDIG是关闭了的,因此需要再开一组时钟源为FIRC的时钟作为Standby模式下的时钟。
在Standby中允许的外设包括定:PIT_0、RTC等模块以及SIRC、FIRC、SXOSC时钟。
三、S32K3xx从Standby模式唤醒后程序从哪里允许
由上图‘Power management system’可以看出,在Standby模式中Flash memory是挂掉了的,因此在Standby模式唤醒之后程序是从启动代码开始运行,相当于进行了一次Reset,程序重新从main()开始运行。
四、S32K3xx降低功耗两种思路方法
S32K3xx只有两种工作模式,RUN模式和Standby模式,因此降低功耗的思路是:
1.在RUN模式中降低时钟继续运行,以达到降低功耗的效果
- 优点:还可以继续运行外设,例如ADC等
- 缺点:功耗降低效果不明显
2.从RUN模式进入Standby模式,以达到降低功耗的效果
- 优点:功耗降低效果明显
- 缺点:Standby模式中允许允许的外设少;唤醒==复位,会丢失历史数据(可以外挂一个Flash解决)
五、电源管理配置
软件平台:S32 Design Studio for S32 Platform
Version:3.4
SDK Version:PlatformSDK_S32K3_2022_03
1.配置两种工作模式
1.1为Standby模式增加一个以FIRC为时钟源的时钟
1.2根据需要的外设在Standby组时钟中选择开启哪些功能的时钟(注:WKPU外设时钟一定要开启)
1.3在Drivers的POWER模块中增加STANDBY模式(注:STANDBY模式就是待机模式,涵盖了上面几个xxx_STANDBY)
Drivers层是POWER模块配置芯片的工作模式,MCAL层是在MCU模块中配置芯片工作模式。需要注意的是MCAL层的MCU还能配置时钟组等功能,开启MCU模块后也要在MCU中对应配置出刚刚添加的Standby时钟组才能生成时钟的源码。
1.4选择开启需要外设的时钟(注:同样必须开启WKPU外设)
1.5RUN模式的配置也是一样的
2.进入各工作模式
进入各工作模式步骤主要为两步:先初始化时钟,然后进入对应模式。用到的只有两条函数。
在进入Standby模式之前需要先初始化Wkpu模块和Standby时钟,然后进入Standby模式
在Standby模式中可以使某些IO电平继续工作
例如需要使PTC6在Standby模式中保持高电平
只需在进入Standby模式之前进行如下配置
3.低功耗唤醒配置
根据数据手册可知,退出Standby Mode的条件有三个:
- MC_RGM functional reset event
- MC_RGM destructive reset event
- WKPU wake-up events, WKPU[0]–WKPU[63]
我们使用event进行唤醒。S32K3xx总共有60个外部引脚中断唤醒源,以及内部的SWT ,RTC ,LPCMP以及RTI四个唤醒源
3.1唤醒事件设置-RTI
3.1.1在Drivers的Rit模块中选择PIT_0的CH_RTI通道
3.1.2勾选’GPT Stanbdy Wakeup Support’选项
3.2唤醒事件设置-RTC
3.2.1在Drivers的Rtc模块中选择RTC时钟源,时钟源为32KHz SIRC
3.2.2勾选’GPT Stanbdy Wakeup Support’选项
3.3唤醒事件设置-SWT
3.3.1在Drivers的Swt模块中使能Standby模式下的运行,设定超时时间
3.4WKPU模块设置
3.4.1在Drivers的Wkpu模块中增加对应的唤醒通道,并使能中断
3.4.2选择对应唤醒通道
3.4.3绑定唤醒通道,设置触发边沿
电源管理的配置项就只有上述这些,接下来自己实现一个小功能:
将MCU串口1与电脑连接,MCU上电进入RUN模式空循环,一旦MCU串口1接收到数据就进入低功耗模式。同时串口1的rx引脚作为唤醒源,当MCU在Standby模式中一旦检测到串口1rx引脚电平有上升沿变化就执行唤醒工作,重新进入RUN模式
六、动手实操
1.选择配置串口1的引脚,PTD13是默认路由唤醒功能的
2.在Drivers的POWER模块中增加STANDBY模式
3.在McuPeripheral选项卡中开启WKPU外设和LPUART1外设
4.增加一组Standby时钟
5.在Peripheral Clock View中打开Lpuart1和Wkpu外设时钟
6.在Drivers的Lpuart_Uart模块中配置LPUART1
7.设置串口回调函数
8.在Drivers的IntCtrl模块中使能Lpuart1的中断
9.绑定Lpuart1中断
10在Wkpu中配置唤醒源(注:PTD13的wkpu通道是24,但是由于64个中断唤醒事件中前4个是内部唤醒事件,因此外部唤醒事件的通道要加上4,因此PTD13的唤醒通道是28)
11.主要代码
12.效果:
- 串口
- 功耗
RUN模式:
Standby模式:
到此,S32K3xx电源管理的配置学习完成,具体应用到实际中时根据需求对相应模块和外设进行配置即可!
《S32K3xx Reference Manual》
S32K3xx电源管理(低功耗)学习相关推荐
- STM32MX电源管理低功耗模式
前言: ST官方例程:(直接移植直接用,接口是现成的) 在你STM32Cube固件库安装路径下. .\..\STM32Cube\Repository\STM32Cube_FW_F4_V1.23.0\P ...
- STM32CubeMX学习笔记(15)——电源管理(PWR)低功耗睡眠模式
一.低功耗模式简介 系统提供了多个低功耗模式,可在 CPU 不需要运行时(例如等待外部事件时)节省功耗.由用户根据应用选择具体的低功耗模式,以在低功耗.短启动时间和可用唤醒源之间寻求最佳平衡. 睡眠模 ...
- STM32CubeMX学习笔记(16)——电源管理(PWR)低功耗停止模式
一.低功耗模式简介 系统提供了多个低功耗模式,可在 CPU 不需要运行时(例如等待外部事件时)节省功耗.由用户根据应用选择具体的低功耗模式,以在低功耗.短启动时间和可用唤醒源之间寻求最佳平衡. 睡眠模 ...
- STM32CubeMX学习笔记(17)——电源管理(PWR)低功耗待机模式
一.低功耗模式简介 系统提供了多个低功耗模式,可在 CPU 不需要运行时(例如等待外部事件时)节省功耗.由用户根据应用选择具体的低功耗模式,以在低功耗.短启动时间和可用唤醒源之间寻求最佳平衡. 睡眠模 ...
- linux系统电源时钟,linux电源管理的一些梳理
由于项目产品需要过能源之星3.0,所以最近做了一些电源管理低功耗方面的工作,抽个时间正好梳理一下. 其实Linux 电源管理非常复杂,牵扯到很多方面,比如系统级的待机.频率电压变换.系统空闲时的处理以 ...
- stm32外部中断_STM32学习笔记 | 电源管理及低功耗设计要点
一款好的电子产品,都需要认真考虑电源管理的问题,电池供电的产品更应该注意低功耗的实现. STM32电源介绍 嵌入式开发直播课 - STM32 USART串口的应用 - 创客学院直播室www.make ...
- ESPIDF开发ESP32学习笔记【电源管理与低功耗模式】
电源管理 ESP-IDF中集成的电源管理算法可以根据应用程序组件的需求,调整外围总线 (APB) 频率.CPU 频率,并使芯片进入 Light-sleep 模式,尽可能减少运行应用程序的功耗 应用程序 ...
- stm32之电源管理(实现低功耗)
目录 1.硬件原理 2.低功耗模式 3.睡眠模式实验 4.停止模式实验 5.待机模式实验 前言:STM32F10xxx系列产品都有电源管理模块,芯片功耗会影响到一个产品的续航能力:比如在一些终端传感器 ...
- CS42L42-CNZR低功耗音频 ISL95880HRTZ 电源管理48-TQFN
CS42L42 是一款低功耗的音频编解码器,具有最高 24 位音频的高性能,集成 MIPI SoundWire® 接口或 I²C/I²S/TDM 接口,是便携应用的理想之选.它提供高动态范围.用于音频 ...
最新文章
- 面试命中率 90% 的点 :MySQL 锁
- 轻量级高精度分割网络推荐
- Android AsyncTask 深度理解、简单封装、任务队列分析、自定义线程池
- docker中创建RabbitMQ并在管理端界面打开
- Android--Launcher拖拽事件详解【androidICS4.0--Launcher系列二】
- (转)C#中Split用法
- FastDFS存储服务器部署
- 如何构建NTP时间服务器
- 把握linux内核设计思想系列【转】
- PMP知识点(十一、干系人管理)
- 计算机用户禁用更改登记,注册表被禁用的解法.doc
- 千呼万唤始出来 Google GDrive将于4月初正式推出
- linux下的lib文件
- 非谓语动词 + 情态动词学习笔记
- GBase 8s 数据库空间(dbspace)
- 2023 gitlab添加ssh key
- python中素数的求法_Python多种方法求某个范围内的所有素数(质数)
- 浅谈操作系统OS与计算机软硬件体系结构,自顶贯穿性与行为回归硬件性
- hmc830相位噪声_低相位噪声电压控制振荡器(VCO)和稳定基准电压构成的频率合成器...
- Extraction of individual trees based on Canopy Height Model to monitor the state of the forest
热门文章
- Unity 协程、模拟协程
- 区块链智能合约编程三:可发行的代币实现
- 电网数字孪生解决方案助力智慧电网体系建设
- Python办公自动化教程-1.3节: 项目实战1-福报程序员的解雇清单
- GCC:从源文件到可执行文件
- 计算机的假桌面,原来大神的电脑桌面是这样子的!网友:感觉自己用了25年的假电脑...
- DEM计算高程标准差
- C++ | 数据库连接池
- Leave me alone ! 程序员怎样度过他的一天?
- android 360加固 反编译,[原创]逆向360加固等dex被隐藏的APK