现在都是小电池,这个低功耗不可谓不火,来看个DJI的招聘:将MCU的功耗和IO引脚关联起来分析 NRF是此中好手。这个我倒是没有什么好说的,就是哪个秦老板,🧐一歪,看着就不是个好人啊,害怕。降低 MCU 的功耗,延长电池寿命。维持基本功能(如 RTC 计时、外设唤醒)。在需要时快速唤醒 MCU,恢复任务执行。Sleep→CPU 停止,但外设继续运行(适用于短时省电)Stop→CPU & 主时钟停止,但 RAM & RTC 仍然工作(适用于中功耗应用)Standby→关闭所有外设,仅 RTC 保持(适用于长时间待机)RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
降低 MCU 功耗的关键✅ 降低主频(减少时钟功耗)HAL_UART_Receive_DMA(&huart1, rx_buffer, sizeof(rx_buffer));
✅ 使用 DMA 代替 CPU 处理数据 DMA:去你妈的CPU,数据我自己搬!休眠模式下,CPU 停止运行,所有外设保持运行,包括 ARM® 休眠模式的功耗低于运行模式。 Cortex®-M0+ 内核外设,比如 NVIC、SysTick 等外设。深度休眠模式下,CPU 停止运行,高速时钟关闭,低速时钟保持状态不变,部分外设可以配置为继续运行,NVIC 中断处理仍然工作。深度休眠模式的功耗远小于休眠模式。- 使用低频率的高速时钟 HSI、HSE 或低速时钟 LSI、LSE。
- 通过编程预分频寄存器降低 SYSCLK、HCLK、PCLK 的频率
- 可以根据需要关闭 AHB 总线时钟 HCLK 和 APB 总线时钟 PCLK。
MSPM0G MCU 提供五种主要工作模式(电源模式),可根据应用要求优化器件功耗。这些模式按照功耗从高到 低排列如下:运行、睡眠、停止、待机和关断。CPU 会在运行模式中执行代码。外设中断事件可将器件从睡眠、 停止或待机模式唤醒至运行模式。关断模式会完全禁用内部内核稳压器,以更大限度地降低功耗,并且只能通过 NRST、SWD 或某些 IO 上的逻辑电平匹配来实现唤醒。运行、睡眠、停止和待机模式还包括多个可配置的策略 选项(例如,RUN.x),用于平衡性能与功耗。 为了进一步平衡性能和功耗,MSPM0G 器件实现了两个电源域:PD1(用于 CPU、存储器和高性能外设)和 PD0(用于低速、低功耗外设)。在运行和睡眠模式下,PD1 始终通电,但在所有其他模式下会禁用。https://we.dji.com/zh-CN/position/detail?positionId=1796087530029142016
https://www.ti.com.cn/cn/lit/an/zhcaby1/zhcaby1.pdf?ts=1739843635197&ref_url=https%253A%252F%252Fwww.ti.com.cn%252Fproduct%252Fcn%252FMSPM0G3507