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

复杂驱动开发-TLE9471的休眠流程与定时唤醒

文章目录

    • 前言
    • 休眠流程
    • 定时唤醒功能
    • 总结

前言

开发SBC时非常重要的一环就是开发休眠流程,其目的是为了保证接KL30的ECU在休眠模式下尽可能小的消耗低压蓄电池的电量,防止车辆放置长时间后出现亏电。而定时唤醒功能在部分ECU中会有需求休眠后定期对车辆状态进行检查。本文介绍TLE9471的休眠流程及定时唤醒的配置

休眠流程

9471进入低功耗模式流程如下:
在这里插入图片描述
首先清除唤醒源,然后进入Sleep模式

模式切换寄存器为M_S_CTRL
在这里插入图片描述
如果需要SWK(PN唤醒),还需要配置相关的寄存器

示例代码如下:

清除唤醒标志

Tle94xx_Send_Frame(Tle94xx_SendPackage(TLE94x1_WK_STAT_0_REG_ADDR,0x00u)); /* clear wake up state for WK_STAT_0 */  
Tle94xx_Send_Frame(Tle94xx_SendPackage(TLE94x1_WK_STAT_1_REG_ADDR,0x00u)); /* clear wake up state for WK_STAT_1 */

设置睡眠模式

TLE94x1_InitReg_Config.M_S_CTRL.B.VCC1_RT = SBC_VCC1_RT_VRT1;
TLE94x1_InitReg_Config.M_S_CTRL.B.VCC1_OV_RST = SBC_VCC1_OV_RST_RESTART_FAILSAFE;
TLE94x1_InitReg_Config.M_S_CTRL.B.VCC2_ON = SBC_VCC2_OFF;
TLE94x1_InitReg_Config.M_S_CTRL.B.MODE = SBC_MODE_SLEEP;Tle94xx_Send_Frame(Tle94xx_SendPackage(TLE94x1_M_S_CTRL_REG_ADDR,TLE94x1_InitReg_Config.M_S_CTRL.R)); /* enter sleep mode */

定时唤醒功能

9471定时唤醒(周期唤醒)配置流程如下:
在这里插入图片描述
通过WK_CTRL_0寄存器使能周期唤醒功能,通过TIMER_CTRL寄存器配置唤醒的周期

示例配置如下:

static void Tle94x1_CycWakeup_set(void)
{TLE94x1_InitReg_Config.WK_CTRL_0.B.TIMER_WK_EN = WK_CTRL_0_TIMER_WK_EN_WAKESOURCE;TLE94x1_InitReg_Config.TIMER_CTRL.B.TIMER_ON = SBC_TIMER_ON_20MS;TLE94x1_InitReg_Config.TIMER_CTRL.B.TIMER_PER = SBC_TIMER_PER_1000S;Tle94xx_Send_Frame(Tle94xx_SendPackage(TLE94x1_TIMER_CTRL_REG_ADDR,TLE94x1_InitReg_Config.TIMER_CTRL.R));   
Tle94xx_Send_Frame(Tle94xx_SendPackage(TLE94x1_WK_CTRL_0_REG_ADDR,TLE94x1_InitReg_Config.WK_CTRL_0.R));   
}

此处配置的唤醒周期为1000s,在进入休眠模式前调用该函数即可。

总结

对于不同的唤醒方式,需要知道对应的唤醒原因,以便APP做对应的逻辑,在9471中,可以在初始化时通过WK_STAT_0寄存器获取唤醒原因,一般就是硬线唤醒/网络唤醒/周期唤醒。

http://www.xdnf.cn/news/1072747.html

相关文章:

  • python解释器 与 pip脚本常遇到的问题汇总
  • WPF XAML 格式化工具(XAML Styler)
  • 机器学习开篇:算法分类与开发流程
  • 网络安全体系结构和安全防护
  • Bootstrap 5学习教程,从入门到精通,Bootstrap 5 Flex 布局语法知识点及案例(27)
  • 【安卓Sensor框架-1】SensorService 的启动流程
  • 深入理解C#委托操作:添加、移除与调用全解析
  • 从台式电脑硬件架构看前后端分离开发模式
  • VScode使用usb转网口远程开发rk3588
  • Docker拉取不兼容的镜像解决办法
  • JWT认证性能优化实战指南
  • 【21】C9800配置PSK认证的WLAN
  • 机器学习——线性回归
  • 嵌入式C语言数组:数组/字符数组
  • NV046NV060美光固态闪存NV061NV063
  • ABP VNext + 多数据库混合:SQL Server+PostgreSQL+MySQL
  • Webpack 核心与基础使用
  • 设计模式精讲 Day 17:中介者模式(Mediator Pattern)
  • 微软人工智能证书AI-102 | 如何快速通过?
  • 机器学习框架(1)
  • 【Elasticsearch】全文检索 组合检索
  • 基于MFC的遥感图像匹配程序设计
  • ML与DL的本质区别是什么?(考研复试版)
  • FPGA产品
  • 非阻塞 IO
  • Qt:QCustomPlot库的QCPAxis
  • 笔记07:网表的输出与导入
  • 概述-3-数据模型
  • Qt 收藏夹书签管理
  • cocos creator 3.8 - 精品源码 - 挪车超人(挪车消消乐)