当前位置: 首页 > news >正文

S32K144低功耗休眠与唤醒实践总结

在做车载项目时,模块在常供电时需要维系随时可以被唤醒工作的状态,并且静态电流需要在3mA以内,当然在JTT1163标准中要求的是5mA以内。

目标明确了,在模块休眠时需要关闭一切不必要的资源消耗,只保留模块被唤醒的部分功能。

3mA的电流很低,尝试了STOP1/STOP2/VLPR后,效果都不理想,静态电流都比3mA高,因此采用POWER_MANAGER_VLPS深度睡眠的模式。 

睡眠的方法调用函数为:

POWER_SYS_SetMode(POWER_MANAGER_VLPS, POWER_MANAGER_POLICY_AGREEMENT);

在函数睡眠之前,需要做几件事情:

1、反初始化已经初始化好的资源。

2、安装唤醒的中断。

3、在中断处理函数中进行软重启。

反初始化已经初始化好的资源举例,我在程序开始的地方进行了CAN资源的初始化,调用了

FLEXCAN_DRV_Init(INST_CANCOM1, &canCom1_State, &canCom1_InitConfig0);

进行了初始化的。那么反初始化是将已经初始化的资源进行释放,告诉MCU,CAN资源我不使用了,可以释放他的时钟了。反初始化的函数为:

FLEXCAN_DRV_Deinit(INST_CANCOM1);

S32K144的唤醒,在不同的模式下有不同的唤醒方式

详细需要查手册,我是用的是GPIO中断唤醒,因此查看这部分的内容

 在引脚的中断中,进行软重启,达到唤醒的目的。

void gpio_portb_wakeup_ISR(void)
{PINS_DRV_ClearPortIntFlagCmd(PORTB);//RXD GPIOB Clear Interrupt FlagINT_SYS_DisableIRQ(PORTB_IRQn);//disable PORTBSystemSoftwareReset();//reset by SystemSoftwareReset
}

最后,在深度睡眠模式下,静态电流不到2mA

http://www.lryc.cn/news/68760.html

相关文章:

  • 一文吃透 Vue 框架教程(上)
  • 堆排序与取topK java实现
  • https通信流程通俗理解
  • 银行零售业务转型方法论:打造数字化的“有机体”
  • 【STM32】STM32使用RFID读卡器
  • spring集成mybatis的原理
  • 限速神器RateLimiter源码解析 | 京东云技术团队
  • spring中怎样优化第三方bean?
  • 8分钟的面试,我直呼太变态了......
  • 别去外包,干了3年,彻底废了......
  • ipa如何安装到iphone
  • 照片从安卓手机中消失了?让他们恢复回来的几个方法请收好
  • 哪个年龄段人群喜欢养宠物?18-25岁占比最高,达31%
  • 使用Apache POI数据导出及EasyExcel进行十万、百万的数据导出
  • 八种故障排障思路
  • JavaScript全解析——this指向
  • MySQL中ON DUPLICATE KEY UPDATE和REPLACE INTO区别
  • 37本国产SCI期刊推荐!涵盖9大领域,建议收藏!②
  • 掌握无缝云迁移方法的数据集成
  • unity 3种办法实现血条效果并实现3d世界血条一直看向摄像机
  • Jenkins流水线整合k8s实现代码自动集成和部署
  • @PulsarConsumer注解2
  • AIGC 综述 2023:A History of Generative AI from GAN to ChatGPT
  • 【JOSEF约瑟 JDZS-1202B 可调断电延时中间继电器 精度高、延时宽、】
  • UNeXt:基于MLP的快速医学图像分割网络
  • 软路由简述
  • python 生成设施农用地各类材料,并调用python2进行出图
  • html - 多媒体标签(video)、音频标签(audio)
  • 希望计算机专业同学都知道这些博主
  • LeetCode 416 分割等和子集