低功耗介绍
在汽车电子项目的开发中,低功耗设计是一个重要的性能指标。为了在系统待机时实现更优的能效管理,同时确保收到通讯信号时能够迅速唤醒,MCU必须具备低功耗唤醒的能力。在本篇文章中,我们将探讨RH850微控制器如何高效实现进入低功耗模式以及低功耗唤醒。
RH850-F1KMS1 低功耗模式
RH850-F1KMS1有两种低功耗模式,分别是:
-
STOP mode
-
DeepSTOP mode
STOP mode
STOP模式是一种芯片级的待机模式,可以停止对特定时钟域的时钟供应。在 STOP 模式下,通过寄存器设置,可以保留特定时钟域不被停止。
单片机从STOP 模式唤醒时,代码将会从停止处继续运行。
DeepSTOP Mode
DeepSTOP模式是比STOP模式更深层次的芯片级待机模式,用于进一步降低功耗。除了停止时钟供应外,DeepSTOP模式还会关闭隔离区域(ISO区域)的电源。
单片机从DeepSTOP 模式唤醒时,代码会从头开始运行。
RH850-F1KMS1 低功耗唤醒
本章节将介绍如何在 RH850-F1KMS1 芯片上,利用 CAN 通信功能进行低功耗唤醒的实验操作。
本次实验采用了由霆宝科技开发的 RH850F1KM 评估板(型号: TPD-R7F7016843AFP_v1.0.0)。
功能设计
-
CANFD 数据发送:开发板上电后,首先通过 CANFD 发送一帧数据。
-
数据回显:上位机向开发板发送 CANFD 数据,开发板接收到数据后,将其原样回发至上位机。
-
低功耗休眠触发:当开发板接收到 ID 为
0x88
的数据帧时,会返回一串内容为 0xFF 的数据,并进入休眠状态。 -
低功耗唤醒:开发板处于休眠状态时,若上位机发送除 ID 为
0x88
以外的任意数据帧,开发板将被唤醒并恢复正常工作。
硬件连接
本次实验,将使用CAN0通道完成,按照原理图连接好跳线、仿真器、调试工具。
断开开发板的电源跳线帽,将输入以及输出分别并联,然后将万用表调至电流档,串联进电路:
软件设计
本次实验的开发环境为CS+ for CC V8.11
,可以拷贝一份我们提供的 CANFD
工程,然后使用Smart Configurator
进行配置;
RH850-F1KMS1有两种休眠模式,接下来本文会分别介绍;
Smart Configurator配置
配置中断,
开启中断时,需要更改Interrupt Handler
的函数名,至此开发的准备工作已完成。
编写代码
阅读手册可知,对于休眠状态一般使用外部中断进行唤醒,意味着引脚需要复用通信外设以及外部中断。
对于CANFD功能的低功耗唤醒引脚复用,由霆宝科技开发的CANFD
库已经移植好了该功能:
最终,我们只需要在轮询内部,判断数据帧的ID是否为0x88
,如果是,那么需要进入休眠模式:
注意事项
进入低功耗模式会关闭全局中断,唤醒之后要手动开启!
调试
将调试工具连接电脑和开发板,启动设备,
开启之后,需要重启开发板,上位机将会收到以下数据,
设置发送100组数据,观察万用表读数,电流是31.78mA,
发送ID为0x88
的数据帧,观察万用表读数,电流是40.26μA,
继续发送一个ID非0x88
的数据帧,进行唤醒,观察万用表读数,电流是31.79mA,开发板已成功唤醒,
接下来还可以继续验证唤醒后,CANFD可以进行回环显示,至此实验完成。
察万用表读数,电流是31.79mA,开发板已成功唤醒,
接下来还可以继续验证唤醒后,CANFD可以进行回环显示,至此实验完成。
联系我们
如有需求请联系霆宝科技销售团队,邮件至sales@teampo.com,或致电0755-83187999.