S32K3xx电源管理(低功耗)学习

S32K3xx电源管理学习

芯片在某些对电源功耗要求严苛的条件下或者以较长时间周期工作时,需要使用电源管理,使芯片进入低功耗的模式以达到节能的效果。

之前简单了解过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》

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: s32k3xx是一款32位微控制器芯片家族,具有高性能、高可靠性和低功耗等特点,广泛应用于汽车、工业控制和电子设备等领域。s32k3xx示例代码是一组基于该芯片家族的代码模板,旨在帮助程序员快速开发各种应用。 s32k3xx示例代码包含多个示例程序,如GPIO控制、UART通讯、定时器应用、ADC采集、CAN总线控制等。这些示例代码提供了一个基础框架,开发人员可以在此基础上进行修改和开发。例如,GPIO控制示例可以帮助开发人员了解如何使用s32k3xx芯片的GPIO模块实现输入输出控制;UART通讯示例可以帮助开发人员了解如何使用s32k3xx芯片的UART模块进行串口通讯等。 除了示例代码,s32k3xx还提供了完整的软件开发工具链,包括编译器、调试器、仿真器等,可与多个集成开发环境(IDE)集成。开发人员可以使用这些工具开发和调试s32k3xx芯片的应用程序。 总之,s32k3xx示例代码是一种方便开发人员快速入手的开发工具,在s32k3xx芯片的应用开发中具有重要意义。 ### 回答2: s32k3xx是一款汽车电子控制单元(ECU)微控制器系列,它是由恩智浦半导体公司推出的。s32k3xx微控制器系列具有强大的计算能力和低功耗特性,旨在满足汽车领域对可靠性、安全性和能效的要求。恩智浦公司提供了一系列示例代码,该代码可以帮助开发人员更快速、更高效地开发出汽车应用所需的软件。 s32k3xx示例代码涵盖了广泛的应用场景,包括控制器局域网(CAN)、PWM、ADC、DMA、FlexCAN、FlexPWM和FlexIO。这些示例代码可以用于快速设置和部署ECU系统,其中一些还包含测试、诊断和调试工具。 s32k3xx示例代码非常适合开发人员,因为它们提供了可重用的函数和代码库,可以帮助团队快速构建和测试汽车应用程序。此外,示例代码还提供了丰富的文档和演示,包括使用说明和教程,帮助开发人员理解和实现有关汽车电子控制的最佳实践。 综上所述,s32k3xx示例代码是一款非常有用的工具,可以为汽车电子控制器开发人员提供更高效、更可靠和更安全的软件开发平台。无论您需要开发什么类型的应用程序,s32k3xx示例代码都是一个良好的起点。 ### 回答3: S32K3xx是一款汽车电子芯片,其示例代码包含多个应用领域的demo,如CAN通信、PWM控制、UART通信等。这些代码具有一定的参考价值和实用性,可大大缩短开发时间和提高开发效率。 其中,CAN通信示例代码涵盖了CAN基础通信、CANFD通信以及CAN数据处理和过滤等方面,可以根据不同需求进行参考和修改。 PWM控制示例代码主要针对电机驱动领域,可以实现PWM波输出、电机起停控制、电机转速控制等功能,能够很好地配合电机控制器进行应用开发。 UART通信示例代码则提供了UART的发送、接收和中断处理等功能,可广泛应用于串口通信、蓝牙模块通信等领域。 除此之外,S32K3xx还提供了其他多个示例代码,如ADC采集、I2C通信、SPI通信等,可根据具体需求进行选择和使用。同时,在使用示例代码过程中,还需注意相关硬件环境和额外库函数的使用,确保代码正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

studyingdda

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值