ZHCABY1 December   2022 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3106 , MSPM0G3107 , MSPM0G3505 , MSPM0G3506 , MSPM0G3507

 

  1.   摘要
  2.   商标
  3. 1概述
  4. 2PMCU 中的低功耗特性
    1. 2.1 概述
      1. 2.1.1 电源域和电源模式
    2. 2.2 电源管理 (PMU)
      1. 2.2.1 电源监控器
      2. 2.2.2 外设功耗控制
      3. 2.2.3 用于模拟多路复用器的 VBOOST
    3. 2.3 时钟模块 (CKM)
      1. 2.3.1 振荡器
      2. 2.3.2 时钟
      3. 2.3.3 异步快速时钟请求
      4. 2.3.4 SHUTDOWN 模式处理
  5. 3低功耗优化
    1. 3.1 低功耗基础知识
    2. 3.2 MSPM0 低功耗特性用法
      1. 3.2.1 低功率模式
      2. 3.2.2 系统时钟和外设工作频率
      3. 3.2.3 I/O 配置
      4. 3.2.4 事件管理器
      5. 3.2.5 模拟外设低功耗特性
      6. 3.2.6 从 RAM 运行代码
    3. 3.3 软件编码策略
    4. 3.4 硬件设计策略
  6. 4功耗测量与评估
    1. 4.1 电流评估
    2. 4.2 电流测量
      1. 4.2.1 电流测量

软件编码策略

条件代码执行

一种常用的软件结构是使用条件唤醒和代码执行结构。RTC 是一种常见的唤醒源。如果 MCU 没有 RTC,应用程序可以使用 TIMG 作为替代。有关静态电流信息,请参阅数据表。

非阻塞编程

在低功耗应用中,需要使用 while 循环来避免阻塞模式。更容易接受的方法是,将非阻塞模式与中断和轮询配合使用以唤醒 CPU 来处理任务。虽然它会牺牲时间和资源来唤醒和响应中断源、压入并弹出栈,但却可以降低更多功耗。

优化代码大小

较小的代码大小意味着 CPU 在运行模式下完成任务所需的时间更短。最简单的方法是选择高度优化的编译器(例如 TI Arm Clang 编译器)并利用提供的代码优化级别。您还可以花些时间或借助编码技巧来实现这一目标。