当前位置:首页 > 单片机 > 单片机
[导读]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低功耗并不矛盾,反而带来了诸多方便。


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

随着科技的不断发展,嵌入式系统在各个领域得到了广泛的应用,如智能家居、智能穿戴设备、智能医疗等。然而,随着嵌入式系统的复杂度和功耗的限制,如何实现低功耗方案设计成为了嵌入式系统设计的一个重要课题。本文将探讨如何实现嵌入式...

关键字: 嵌入式 DSP系统 低功耗

ISOFACE™数字隔离器是英飞凌产品组合中的新成员,借助英飞凌二十载隔离技术经验,提供完整的系统解决方案。

关键字: 安全隔离 低功耗 数字隔离器

(全球TMT2023年8月22日讯)逐点半导体宣布,完美世界游戏出品的《女神异闻录:夜幕魅影》集成了逐点半导体手游渲染加速引擎SDK,该SDK作为连接游戏内容与独显芯片的桥梁,可为搭载逐点半导体X7系列视觉处理器的智能...

关键字: SDK 半导体 集成 低功耗

近日,得瑞领新D6000系列入选北京市新技术新产品名单,继获评国家“专精特新”小巨人后再次跻身政府官方科技榜单,印证了其在科技创新领域的领先地位以及不断努力为客户提供优秀解决方案的决心。

关键字: D6000 北京市第十八批新技术新产品 低功耗 企业级SSD

使用5V低功耗运算放大器不会产生失真为–100dBc的正弦波。尽管如此,采用 LTC6258 的带通滤波器可与一个易于使用的低功率振荡器结合使用,以低成本、低电压和极低耗散产生正弦波。

关键字: 低功耗 运算放大器 正弦波

本文介绍用于在低功耗信号链应用中实现优化能效比的精密低功耗信号链解决方案和技术。本文将介绍功耗调节、功率循环和占空比等用于进一步降低系统功耗的技术(不仅限于选择低功耗产品,这有时并不够)。还将探讨如何使用通道时序控制器、...

关键字: 低功耗 信号链 功率优化

中国苏州和美国加州圣克拉拉2023年3月3日 /美通社/ -- 数据中心光通信模块先行者旭创科技今天宣布参加在加州圣地亚哥举行的OFC 2023展会,并将在现场演示1.6T OSFP-XD DR8+可插拔光通信模块(展位...

关键字: SFP 低功耗 光模块 OS

如今,从 PDA 和智能手机到医疗设备和测试设备,所有手持设备都触手可及,因此我们需要它们尽可能长时间地使用就不足为奇了。 然而,一个关键问题是运算放大器的速度,因为低功耗通常意味着有限的速度,例如带宽和转换率。我说“...

关键字: 去补偿放大器 低功耗

行业专家估计,考虑到出货量、汇率、税收等因素,0.5美元模组将较难在国内实现,最低大概可能做到6-7元人民币的售价。这与Dialog半导体将于2020年推出的基于DA14531的模组产品SmartBond TINY定价比...

关键字: 蓝牙 低功耗 设备

MCU将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对MCU的相关情况以及信息有所认识和了解,详细内容如下。

关键字: MCU 低功耗 CPU
关闭
关闭