利用DMA(直接内存访问)降低MCU功耗的核心在于最小化CPU介入,通过硬件自动完成数据传输任务,使CPU能尽可能长时间处于休眠状态。
CPU休眠时间最大化
DMA接管数据搬运(如外设↔内存、内存↔内存),CPU无需轮询或参与传输过程。
CPU可在DMA传输期间进入Sleep模式(关闭时钟)或Stop模式(关闭核心电压),显著降低动态功耗。
传输完成后,DMA通过中断唤醒CPU进行后续处理(而非持续运行)。
避免软件轮询开销
传统无DMA方案:CPU需循环检查外设状态(如UART接收标志、ADC转换完成标志),消耗大量周期。
DMA方案:硬件自动检测外设事件并触发传输,消除轮询功耗。
|