当前位置:首页 > 单片机 > 单片机
[导读]0.前言 MCU实现低功耗本质而言便是停止MCU工作,通过中断的方式重新唤醒MCU,这些中断可以包括外部IO中断,UART接收中断,定时器中断等等。如果结合嵌入式操作系统,可以在空任务或者空任务钩子函数中进入低功耗模式

0.前言

MCU实现低功耗本质而言便是停止MCU工作,通过中断的方式重新唤醒MCU,这些中断可以包括外部IO中断,UART接收中断,定时器中断等等。如果结合嵌入式操作系统,可以在空任务或者空任务钩子函数中进入低功耗模式,在系统滴答时钟中断服务函数中重新回到正常工作模式。利用操作系统进入和退出低功耗模式,需要熟悉嵌入式操作系统的空任务和系统滴答时钟中断,下面结合MSP430F5438和FreeRTOS总结一下如何使用嵌入式操作系统实现低功耗工作。

1.进入低功耗模式

多数嵌入式操作系统都包含一个空任务,空任务优先级最低且一直保持就绪状态,空任务可以用于统计CPU使用率,或者让MCU进入低功耗状态。如果不想修改空任务,还可以通过空任务的钩子函数插入实现低功耗的代码。在FreeRTOS中,若需要打开空任务钩子函数,需要在FreeRTOSConfig.h中定义configUSE_IDLE_HOOK

#define configUSE_IDLE_HOOK1

钩子函数中实现低功耗的代码如下


voidvApplicationIdleHook(void)

{

/*Calledoneachiterationoftheidletask.Inthiscasetheidletask

justentersalowpowermode.*/

__bis_SR_register(LPM3_bits+GIE);

}

在这里可打开全局中断,若全局中断关闭那么系统可能再也“活”不过来了。

2.退出低功耗模式

在大多数嵌入式操作系统中可以在系统滴答中断函数中退出低功耗模式。由于MSP430的退出低功耗的指令只能在中断中使用,所以一旦进入系统滴答中断函数,可先退出低功耗模式。具体的代码实现如下:


#pragmavector=configTICK_VECTOR

__interrupt__rawvoidvTickISREntry(void)

{

externvoidvPortTickISR(void);

__bic_SR_register_on_exit(SCG1+SCG0+OSCOFF+CPUOFF);

vPortTickISR();

}

该段代码位于port.c中,在MSP430F5438分支中,系统滴答定时器采用TIMER0_A0所以configTICK_VECTOR被定义为

#define configTICK_VECTORTIMER0_A0_VECTOR

其他相关的定义可以查看FreeRTOSConfig.h文件

3.实现过程


例如某任务在t1时刻调用阻塞API,例如vTaskDelay,此时任务交出CPU使用权由OS进行任务调度。t2时刻,由于没有其他就绪任务,OS运行空任务,在空任务的最后进入空任务钩子函数,在空任务钩子函数中MCU进入低功耗模式,此时可进入LPM3模式。t3时刻MCU进入低功耗模式之后,MCU停止工作。t4时刻,由于系统滴答时钟中断服务函数中,MCU重新处于活跃状态,并且通过指令退出低功耗模式,此时OS任务调度器再次工作,若此时任务再次处于就绪状态便重新运行该任务。

以上便是如何利用OS实现低功耗的基本方法,但是t3时刻和t4时刻是有反复的。例如,系统滴答时钟ISR发生之后,OS任务调度器中并没有就绪的任务,只能再次运行空任务,通过空任务再次进入低功耗模式,如此反复直到某任务就绪便执行任务代码。

通过以上的分析,使用嵌入式操作系统和实现MCU低功耗并不矛盾,反而带来了诸多方便。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

新竹2025年9月9日 /美通社/ -- 全球客制化存储芯片解决方案设计公司爱普科技今日宣布,其新一代PSRAM—ApSRAMTM (Attached-pSRAM)已通过客户平台验证,预计将于年底开始量产。ApSRAMT...

关键字: PSRAM 低功耗 存储芯片 MT

轮胎压力监测系统(TPMS)作为现代汽车安全的核心组件,通过实时监测胎压与温度数据,构建起全天候的轮胎健康监护网络。其算法设计需兼顾低功耗运行与高精度异常识别,尤其在直接式TPMS中,传感器需在纽扣电池供电下持续工作5年...

关键字: TPMS 低功耗

在智能家居系统中,无线传感器、控制器等设备对电源的稳定性与能效提出严苛要求。尤其在采用Zigbee协议的场景中,低功耗待机与智能唤醒机制成为延长设备续航、保障网络可靠性的核心设计要素。本文从电源架构设计、Zigbee模块...

关键字: Zigbee 低功耗

在现代快节奏的生活中,心脏健康问题日益受到人们的关注。心血管疾病已成为威胁人类健康的主要杀手之一,且呈现出年轻化的趋势。传统的心电图检测往往需要在医院进行,不仅耗时费力,而且难以实现日常的实时监测。如今,随着科技的飞速发...

关键字: 心电监测仪 低功耗 利器

在现代电子系统中,电源管理的重要性日益凸显。随着便携式设备、物联网(IoT)设备以及高性能芯片的不断发展,对电源稳压器提出了越来越高的要求。低压差线性稳压器(Low Dropout Regulator,LDO)因其能够在...

关键字: 低功耗 低压差 LDO

在当今数字化医疗与健康监测蓬勃发展的时代,生物电测量技术作为洞察人体生理状态的关键手段,正发挥着日益重要的作用。从常规的心电图(ECG)检测心脏电活动,到脑电图(EEG)捕捉大脑神经元的信号,生物电信号蕴含着丰富的人体生...

关键字: 脑电图 低功耗 前端芯片

在物联网设备与可穿戴产品向长续航、微型化演进的趋势下,STM32微控制器的超低功耗设计已成为决定产品竞争力的核心要素。通过深度优化STOP模式、RTC唤醒机制及电源管理策略,工程师可将系统待机电流从毫安级压缩至纳安级,使...

关键字: STM32 低功耗

正确理解技术详情数据表中指定的精度,明确测量需求以及避免使用需要在多个量程之间切换的仪器是关键因素。牢记这些要点将有助于您为开发项目选择合适的工具,并在测量过程中避免潜在问题,从而实现设备低功耗。

关键字: 物联网 电流精度 低功耗 测量仪表

在全球倡导绿色节能、可持续发展的时代背景下,延时继电器作为电气控制领域的关键元件,其发展方向正朝着低功耗设计与环保材料应用转变。这一转变不仅顺应了环保潮流,也为延时继电器行业带来了新的发展机遇。

关键字: 延时继电器 低功耗

随着物联网、可穿戴设备等领域的快速发展,对嵌入式系统的低功耗需求日益增长。STM32单片机作为一款性能卓越、功能丰富的微控制器,广泛应用于各种电子设备中。然而,在追求高性能的同时,如何降低其功耗成为了设计者面临的重要挑战...

关键字: STM32 低功耗
关闭