CC27xx无线MCU低功耗设计:PRC系统、电源模式与PMCTL寄存器实战

发布时间:2026/7/26 1:49:52
CC27xx无线MCU低功耗设计:PRC系统、电源模式与PMCTL寄存器实战 1. 项目概述在无线MCU的开发中尤其是面向电池供电的物联网和可穿戴设备我们常常面临一个核心矛盾如何让设备在保持随时待命、快速响应的同时又能将功耗压榨到极致实现数周甚至数月的续航。这不仅仅是软件优化的问题更是对硬件底层电源、复位与时钟PRC系统理解的深度考验。很多开发者拿到芯片后可能更关注外设驱动和应用逻辑对数据手册中关于电源管理的章节往往浅尝辄止结果就是产品功耗居高不下或者低功耗模式下唤醒不稳定留下难以排查的隐患。德州仪器的CC27xx系列SimpleLink™无线MCU正是为解决这一矛盾而生的利器。它不仅仅是一颗无线芯片更是一个集成了高度智能化电源管理单元PMU的片上系统。其核心在于一套层次分明、可精细控制的低功耗状态机以及与之配套的一整套寄存器接口。理解这套机制意味着你能从“被动使用芯片”转变为“主动驾驭芯片”真正释放其低功耗潜能。本文将深入CC27xx的PRC系统拆解其Active、Idle、Standby、Shutdown四种核心电源模式的工作原理、转换路径以及背后的硬件逻辑并重点剖析PMCTL寄存器组的配置方法与实战技巧。无论你是正在评估CC27xx用于新项目还是试图优化现有产品的功耗这些从数据手册和实际调试中提炼出的细节都将为你提供清晰的路线图。2. 电源、复位与时钟PRC系统核心架构解析要驾驭CC27xx的低功耗能力首先必须建立起一个清晰的系统架构认知。我们不能把PRC系统看作几个独立的功能模块而应理解为一个协同工作的有机整体。其设计哲学是按需供电精准时钟安全复位。2.1 电源域与电压域的层次化设计CC27xx的电源管理并非简单地给整个芯片“断电”或“上电”而是采用了精细的分区控制。这主要体现为两个关键概念电压域Voltage Domain, VD和电源域Power Domain, PD。你可以把整个芯片想象成一栋大型智能建筑。电压域好比是整栋楼的供电主干线它决定了某个区域是否有电。CC27xx主要有两个关键的电压域VDDD数字核心电压域和VDDS系统供电电压域。VDDS通常直接连接外部电池1.8V-3.8V而VDDD则由内部稳压器DC-DC或GLDO从VDDS转换而来为数字核心逻辑供电。电源域则是建筑内的各个独立房间每个房间可以单独控制灯光时钟和甚至完全切断电源下电。CC27xx最核心的两个电源域是MCU/SVT域包含CPU、系统SRAM、Flash、数字外设等主要功能模块。这是功耗的“大户”也是低功耗操作的主要对象。AON/ULL域即“Always-On”域。包含实时时钟RTC、看门狗、I/O唤醒逻辑、部分保持寄存器等。这个域在任何低功耗模式下都必须保持供电和运行它是系统能够从深度睡眠中醒来的“守夜人”。这种层级关系带来了功耗控制的灵活性。例如在Idle模式下我们只关闭CPU的时钟关掉“CEO办公室”的灯但其他外设仍可运行。在Standby模式下我们则直接关闭了整个MCU域的电源让“办公区”彻底停电仅保留AON域运行。这种由浅入深的控制构成了低功耗状态机的基础。2.2 时钟树与功耗的关联时钟是数字电路的脉搏每一个翻转都消耗能量。CC27xx的时钟系统同样是为低功耗量身定做的。芯片内部有多种时钟源HFXT高频外部晶体振荡器提供高精度、稳定的主时钟用于CPU和高速外设但功耗较高。HFOSC高频内部RC振荡器启动快精度稍低常用于初始启动和某些场景。LFXT低频外部晶体通常32.768kHz功耗极低用于RTC和定时唤醒。LFOSC低频内部RC振荡器作为LFXT的备份。功耗管理的核心手段之一就是时钟门控。通过关闭暂时不用的外设或模块的时钟可以立即降低动态功耗且几乎没有延迟。这是最轻量级的省电方式。更深一层的是电源门控即直接切断某个电源域的供电这能消除静态功耗但代价是该域内所有状态会丢失除非有特殊的状态保持Retention电路重新上电需要更长的时间和重新初始化的开销。2.3 复位系统的安全保障一个稳健的低功耗系统必须能应对各种异常情况并安全恢复。CC27xx的复位系统是多源的、可诊断的。除了上电复位POR和外部复位引脚还包括欠压检测BOR监测VDDS和VDDR电压一旦低于阈值触发复位防止芯片在低压下工作异常。看门狗复位防止软件跑飞。时钟失效复位如低频时钟丢失检测LFLOSS防止系统在时钟异常时死锁。软件复位通过寄存器触发用于系统重启。特别重要的是每次复位后RSTSTA复位状态寄存器都会记录复位原因。这对于诊断产品在野外为何重启至关重要是电源不稳看门狗超时还是软件触发了复位。在低功耗设计中尤其是从Shutdown模式通过I/O唤醒时软件需要读取WUSTA唤醒状态寄存器来区分是冷启动还是唤醒启动从而决定是执行完整初始化还是恢复现场。3. 四大核心电源模式深度剖析与转换策略CC27xx的Power Manager定义了四种主要的电源模式Active, Idle, Standby, Shutdown。它们构成了一个功耗逐级降低、唤醒时间逐级延长的阶梯。选择哪种模式取决于你对性能、功耗和唤醒延迟的权衡。3.1 Active模式全速运行态这是芯片的“工作状态”。在此模式下MCU域和AON域均上电。CPU全速运行所有时钟可用。所有外设可通过软件使能和访问。功耗最高典型值在mA级别具体取决于主频、开启的外设和无线活动。应用场景执行计算密集型任务、进行无线射频收发、初始化配置等。在Active模式下进行低功耗优化的主要手段就是精细化的时钟门控。你需要仔细评估每个外设是否必须常开例如一个周期采集一次的传感器其接口ADC或SPI的时钟在大部分时间都应关闭。3.2 Idle模式CPU休眠外设待命当CPU无事可做时让它进入Idle模式是第一步优化。CPU时钟被门控CPU停止执行指令。MCU域和AON域保持上电。所有外设、内存、中断控制器均保持供电和时钟可用。任何中断来自定时器、GPIO、外设等都可以立即唤醒CPU唤醒延迟极短通常在几个时钟周期内。功耗显著低于Active模式但SRAM、Flash等基础设施的静态功耗依然存在。实操要点与寄存器配置 进入Idle模式通常由一条特殊的CPU指令如ARM Cortex-M的WFI触发。在CC27xx的SDK中TI的Power Manager API例如Power_sleep()会封装这一操作。关键点在于进入Idle前必须确保所有必要的外设中断已正确使能并且没有阻塞性的任务。一个常见错误是软件在等待某个轮询标志位却调用了睡眠函数导致系统“睡死”。3.3 Standby模式深度睡眠的平衡点Standby模式是CC27xx低功耗设计的精髓它在功耗和唤醒时间之间取得了最佳平衡。MCU电源域被关闭。这意味着CPU、大部分数字逻辑、SRAM除非配置了保持都会掉电。这是功耗大幅降低的关键。AON域保持运行由LFCLK低频时钟驱动。RTC、看门狗、I/O唤醒逻辑、部分保持寄存器正常工作。支持多种唤醒源RTC定时唤醒、GPIO边沿/电平唤醒、复位引脚唤醒等。唤醒过程需要重新给MCU域上电重新初始化高频时钟如果使用HFXT然后从复位向量或指定的恢复点开始执行。唤醒时间通常在几百微秒到几毫秒量级比从Shutdown唤醒快得多。功耗极低典型值在1μA级别具体取决于配置的唤醒源数量。寄存器配置实战 进入Standby模式并非直接写一个寄存器而是通过TI Power Manager API调用如Power_standby()。但理解其背后的寄存器操作很有必要状态保持配置通过RETCFG0~RETCFG7寄存器需使用TI API可以配置MCU域中哪些SRAM块的内容需要在Standby期间保持。这对于快速恢复现场至关重要。唤醒源配置在AON域中配置RTC的闹钟时间或配置特定GPIO的唤醒功能。这部分通常在AON_RTC和AON_IOC模块中设置。VDDR稳压器模式VDDRCTL.STBY位决定了在Standby模式下为MCU域供电的VDDR稳压器是连续工作还是间歇性工作Duty-Cycled。间歇工作功耗更低但唤醒时电压建立需要一点时间。对于唤醒延迟不敏感的应用可以选择间歇模式以进一步省电。HFXT自动管理HFXTCTL.AUTO位如果使能硬件会在进入Standby时自动关闭HFXT在退出时自动开启简化了软件流程。避坑指南外设状态丢失进入Standby前必须保存所有MCU域内、无保持功能的外设的关键状态到有保持功能的SRAM或AON寄存器中。退出Standby后需要重新初始化这些外设。中断处理确保唤醒源如RTC、GPIO的中断在AON域已正确配置并且MCU域在唤醒后能处理这些中断事件。调试接口在Standby模式下JTAG/SWD调试接口可能失效。如果需要调试低功耗流程可以考虑使用引脚唤醒或临时禁用深度睡眠。3.4 Shutdown模式最低功耗的终极状态当设备需要长时间存储如仓库中的货品标签或仅由极少事件如按下按钮唤醒时Shutdown模式是最佳选择。几乎全部关闭所有电压稳压器、电压域、电源域都被关闭。唯一保持只有I/O引脚的状态可以通过特殊的“栓锁”功能得以保持。AON域也掉电了。唤醒方式只能通过特定的I/O引脚电平变化、复位引脚RSTN或上电复位POR来唤醒。唤醒过程等同于一次完整的冷启动。芯片从复位向量开始执行Bootloader运行所有配置丢失软件需要从头初始化并判断唤醒原因通过RSTSTA和WUSTA寄存器。功耗最低可低至100nA以下。唤醒时间最长需要完整的启动流程。寄存器配置实战 通过向SHTDWN.KEY寄存器写入特定值0xA5A5来触发Shutdown。这是一个“单程票”操作一旦执行软件控制权立即丧失。// 示例触发Shutdown实际请使用TI API HWREG(PMCTL_BASE PMCTL_O_SHTDWN) 0xA5A5; // 执行完这条指令后芯片将开始Shutdown序列关键准备工作I/O配置必须通过SLPCTL.SLPN位禁用I/O睡眠模式设置为1并在唤醒后重新配置所有I/O。这是因为从Shutdown唤醒时I/O状态被锁存如果SLPN为0睡眠模式使能可能会在初始化完成前产生毛刺。唤醒源配置在进入Shutdown前通过AON_IOC模块配置哪些I/O引脚具有唤醒能力电平敏感型。状态保存所有需要持久化的数据必须存储在非易失性存储器如Flash中因为所有RAM内容都会丢失。模式转换决策流程图 选择哪种模式可以遵循以下决策链任务是否完成CPU是否空闲是 - 进入Idle模式。最快唤醒1μs下一个预定任务如传感器采样、数据上报在数十毫秒甚至更久之后是 - 进入Standby模式。低功耗唤醒时间~ms级设备是否需要保存状态并进入长达数周、数月的“冬眠”是且仅有物理按钮等极少数事件能唤醒 - 进入Shutdown模式。最低功耗唤醒时间~10ms级需完全重启4. PMCTL关键寄存器详解与编程指南PMCTLPower Management Control寄存器组是软件与PRC硬件交互的核心窗口。直接操作这些寄存器需要格外小心TI强烈建议通过其提供的Power Manager API进行但理解每个字段的含义对于调试和深度优化不可或缺。4.1 电源状态控制寄存器SHTDWN (Shutdown Register) - 偏移 0x08这是触发Shutdown模式的“开关”。向其KEY字段写入0xA5A5是触发关断的唯一方式。务必注意这是一个只写W字段写入任何其他值均无效。在写入前必须确保所有进入Shutdown的准备工作如I/O配置、数据保存已完成。SLPCTL (Sleep Control Register) - 偏移 0x0C该寄存器仅有一个关键位SLPNI/O Pad Sleep Disable。SLPN 0I/O睡眠模式使能。在进入低功耗状态时I/O的输出状态和配置会被锁存输入缓冲器可能被禁用。这是Standby模式的典型配置。SLPN 1I/O睡眠模式禁用。I/O保持完全功能。这是从Shutdown模式唤醒后必须设置的以避免在软件重新配置I/O前出现引脚状态不确定的问题。Bootloader在非Shutdown唤醒的启动过程中会默认设置此位为1。VDDRCTL (VDDR Control Register) - 偏移 0x14此寄存器控制为数字核心供电的VDDR稳压器的行为。SELECT位选择使用GLDO0还是DC-DC1作为VDDR稳压器。DC-DC转换效率远高于LDO能显著降低Active和Idle模式下的功耗是电池供电应用的首选。GLDO通常用于对噪声敏感或需要快速响应的场景。STBY位控制Standby模式下VDDR稳压器的工作模式。设置为0默认为间歇模式功耗最低设置为1为连续模式唤醒更快。选择需权衡具体应用的唤醒延迟要求和功耗预算。4.2 状态与唤醒信息寄存器WUSTA (Wakeup Status Register) - 偏移 0x10这是一个非常重要的只读寄存器用于判断系统是如何唤醒的。SRC字段0x1: 唤醒自系统复位或Shutdown模式。需要进一步检查RSTSTA寄存器来确定具体原因。0x2: 唤醒自Standby模式。这是最理想的快速唤醒路径。 软件上电后首先应读取此寄存器以决定执行冷启动初始化流程还是热恢复流程。RSTSTA (Reset Status Register) - 偏移 0x30此寄存器记录了上一次系统复位的根本原因是诊断系统稳定性的关键。RESETSRC字段指示复位根源。0x0: 上电复位POR。0x1: 复位引脚拉低或热关断TSD触发。0x2: VDDS欠压检测BOD触发。0x4: VDDR欠压检测触发。0x6: 数字系统复位软件复位、看门狗等具体原因需看SYSSRC。0x7: VDD毛刺检测复位。SYSSRC字段当RESETSRC为0x6时此字段指明具体的数字复位源如看门狗超时0x3、CPU Lockup0x2等。TSDEV标志指示复位是否由芯片过热触发。SDDET和IOWUSD标志专门用于指示是否从Shutdown模式唤醒以及是否由I/O事件唤醒。编程示例启动时的状态判断void SystemInitAfterWakeup(void) { uint32_t wusta HWREG(PMCTL_BASE PMCTL_O_WUSTA); uint32_t rststa HWREG(PMCTL_BASE PMCTL_O_RSTSTA); switch (wusta PMCTL_WUSTA_SRC_M) { case PMCTL_WUSTA_SRC_WAKEUP_STANDBY: // 从Standby唤醒执行快速恢复 restoreContextFromRetainedRAM(); reinitPeripherals(); // 重新初始化无保持的外设 clearWakeupSource(); // 清除唤醒标志 break; case PMCTL_WUSTA_SRC_WAKEUP_SHUTDOWN: // 从Shutdown或复位唤醒 if (rststa PMCTL_RSTSTA_SDDET) { // 确认为Shutdown唤醒 configureIOAfterShutdown(); // 首要任务配置I/O loadStateFromFlash(); } // 无论何种复位执行完整的冷启动初始化 fullSystemInit(); break; default: // 其他情况执行冷启动 fullSystemInit(); break; } }4.3 时钟与定时控制寄存器HFXTCTL (HFXT Control Register) - 偏移 0xA8AUTO位建议在大多数Standby应用中都使能设为1。这样硬件会自动管理HFXT的开关省去软件在进入/退出Standby前后手动操作高频晶振的麻烦避免时序错误。LFCAL位使能低频时钟校准。当使能后芯片会在Standby期间定期开启HFXT来校准LFOSC/LFXT的精度。这对于需要高精度时间累积的应用如每小时唤醒一次非常有用但会略微增加平均功耗。LFCAL (Low Frequency Calibration Register) - 偏移 0xAC当HFXTCTL.LFCAL使能后此寄存器配置校准行为。PER字段校准周期。单位是256个LFCLK周期。例如LFCLK32.768kHz设置PER0x4C76则校准周期约为 76 * 256 / 32768 ≈ 0.594秒。MEAS字段每次校准的测量时间。单位是LFCLK周期。设置越长校准越精确但HFXT开启时间也越长功耗增加。QUAL位CKM限定器。建议使能设为1确保校准测量完成后再关闭HFXT保证校准质量。PREPUCTL (Pre Power-Up Control Register) - 偏移 0x54此寄存器用于优化从Standby唤醒的延迟。PREPUEN位预上电使能。当设置为1且使能了RTC唤醒硬件会在RTC闹钟事件实际发生前提前开始MCU域的上电和HFXT的稳定过程。这可以使得在软件准备就绪时HFXT已经稳定从而显著减少整体唤醒时间。NOM和CONS字段分别定义在无温度变化和有温度变化情况下的预上电提前量。单位是8μs。需要根据实际应用的HFXT稳定时间和温度变化情况来调整。TI的Power Manager API通常会提供默认的优化值。DELTA WUTIME 寄存器这些寄存器用于测量实际的唤醒时间DIGWU数字域唤醒时间HFXTWUHFXT稳定时间DELTA两者差值是优化PREPUEN参数和诊断唤醒问题的宝贵工具。通过使能PREPUCTL.WUTIMEN位可以在调试阶段读取这些值。5. 低功耗系统设计实战与避坑指南掌握了原理和寄存器最终要落到实际项目上。设计一个稳健的低功耗CC27xx应用需要一套系统性的工程方法。5.1 功耗测量与基准建立在优化之前必须先测量。不要依赖数据手册的典型值要建立自己板卡的功耗基准。工具使用高精度、高采样率的数字万用表或电流探头串联在电池和板卡的VDDS输入之间。示波器的电流测量功能更佳可以捕捉瞬态电流脉冲。测量模式Active模式峰值电流在射频发射TX时测量。Active模式平均电流运行一个典型任务循环包含计算、射频、休眠。Idle模式电流关闭所有外设时钟让CPU执行WFI。Standby模式电流配置RTC唤醒测量长时间的平均电流。Shutdown模式电流注意测量时需确保所有可能漏电的路径已被处理如未使用的I/O、外部电路。分析对比测量值与预期值。如果Standby电流远高于1μA就要怀疑是否有GPIO配置不当内部上/下拉电阻使能、外设未彻底关闭、或PCB存在漏电路径。5.2 外设与I/O的功耗管理黄金法则外设和I/O是除CPU和无线模块外的两大功耗来源。外设时钟门控任何不使用的片上外设ADC, SPI, I2C, UART, Timer等必须在其模块的控制寄存器中彻底禁用其时钟。许多外设的初始化代码会默认开启时钟在任务完成后务必手动关闭。I/O引脚配置未使用的引脚必须配置为输出并驱动到低电平或高电平避免浮空或者配置为带明确上拉/下拉的输入。绝对禁止浮空浮空引脚会因感应电压导致内部MOS管部分导通产生漏电流。使用的引脚在低功耗模式下输出引脚设置为需要的固定电平。输入引脚根据外部电路状态决定是否需要使能内部上拉或下拉电阻。如果外部有确定电平可禁用内部电阻以省电。唤醒引脚仅将必须用于唤醒的引脚配置为唤醒功能。其他引脚应按照上述规则配置避免误唤醒。5.3 软件架构与低功耗调度低功耗不是几个函数调用而是一种软件架构思想。事件驱动摒弃轮询polling。所有操作都应基于中断或事件触发。主循环应尽可能快地判断无事件后进入睡眠。最短活动时间遵循“快速工作长久睡眠”的原则。在Active模式下以最高效的速度完成任务提高主频有时反而能降低总能耗然后立即进入更深的睡眠模式。状态机管理设计清晰的应用程序状态机。明确每个状态下需要开启哪些外设进入哪个电源模式。状态转换时要有严格的“清理-进入-恢复”流程。使用TI Power Manager API强烈建议使用TI SDK中的Power Manager API如Power_sleep(),Power_standby()而不是直接操作寄存器。这些API已经处理了复杂的时序、状态保存和恢复序列能避免许多底层错误。同时它们提供了功耗策略配置可以方便地在不同预定义的功耗配置间切换。5.4 常见问题排查清单当你的设备功耗不如预期或唤醒出现异常时可以按此清单排查问题现象可能原因排查步骤Standby电流过高5μA1. I/O配置不当存在浮空或使能不必要上拉。2. 某外设模块未关闭时钟。3. 芯片内部某个非AON域模块被意外使能。4. PCB漏电如脏污、焊接残留。1. 检查所有GPIO配置寄存器确认未用引脚状态。2. 在进入Standby前遍历并禁用所有外设模块时钟查看各模块CLKCTL寄存器。3. 使用TI的功耗评估工具或扫描相关电源域控制寄存器。4. 将芯片从板卡上取下单独测量芯片供电脚电流。无法从Standby唤醒1. 唤醒源如RTC、GPIO未在AON域正确配置或使能。2. 唤醒中断在MCU域未使能或优先级过低。3. 在进入Standby前发生了阻塞操作或未清除某些标志位。4. VDDR稳压器模式VDDRCTL.STBY或HFXT自动控制HFXTCTL.AUTO配置冲突。1. 确认AON_RTC闹钟已设置或AON_IOC中GPIO唤醒功能已使能。2. 确认对应中断在NVIC中已使能。3. 检查进入Standby的代码路径确保没有while循环等待。4. 简化配置先使用最基础的RTC唤醒测试。从Shutdown唤醒后程序行为异常1.SLPCTL.SLPN位在唤醒后未及时设置为1导致I/O状态混乱。2. 未正确判断唤醒源执行了错误的初始化流程。3. 保存在Flash中的数据在唤醒后读取错误。1. 在启动代码的最开始读取WUSTA和RSTSTA若为Shutdown唤醒立即设置SLPCTL.SLPN1。2. 完善启动源判断逻辑。3. 检查Flash驱动在最低电压下是否工作正常考虑增加数据校验如CRC。系统不定期复位1. 看门狗超时未喂狗。2. 电源电压不稳触发BOR。3. 软件跑飞触发CPU Lockup。4. 低频时钟失效如外部32.768kHz晶体故障。1. 检查RSTSTA寄存器确定复位源。2. 若是看门狗复位检查喂狗逻辑和超时时间。3. 若是BOR复位检查电源电路和电池电量。4. 若是LFLOSS复位检查外部低频晶体电路负载电容、布线。唤醒延迟过长1. HFXT晶体启动慢。2.PREPUEN未使能或NOM/CONS值设置过小。3. 软件在唤醒后执行了不必要的冗长初始化。1. 测量WUTIME.HFXTWU和WUTIME.DIGWU确定瓶颈。2. 使能PREPUEN并适当增加预上电时间。3. 优化启动代码区分冷启动和热恢复路径热恢复时跳过不必要初始化。6. 从理论到实践一个无线传感器节点的功耗优化案例假设我们要设计一个基于CC27xx的温湿度传感器节点每5分钟测量一次并无线发送数据其余时间追求最低功耗。1. 模式规划数据发送阶段Active模式开启射频CPU全速运行。传感器采样阶段Active或Idle模式取决于传感器接口速度开启ADC和定时器。睡眠等待阶段Standby模式。这是5分钟间隔内的主要状态。2. 关键配置时钟使用外部32MHz HFXT保证射频精度使用外部32.768kHz LFXT保证定时精度和低功耗。VDDR稳压器Active时使用高效率的DC-DCVDDRCTL.SELECT1Standby时使用间歇模式VDDRCTL.STBY0。HFXT管理使能HFXTCTL.AUTO1让硬件自动开关HFXT。唤醒优化使能PREPUEN1根据测得的HFXTWU时间假设为1ms设置NOM 1ms / 8us 125 (0x7D)为唤醒预留足够时间。状态保持使用TI API配置一小块SRAM用于保存传感器校准数据、网络会话信息等避免每次从Flash读取。3. 软件流程伪代码void main() { Board_init(); // 硬件初始化 Power_init(); // 电源管理初始化 Network_init(); // 无线网络初始化 while(1) { // 1. 从Standby唤醒由RTC中断触发 // 2. 快速恢复从保持的SRAM中读取网络状态 restoreNetworkContext(); // 3. 测量 Power_setPerformanceLevel(ACTIVE_MODE); // 切换到Active模式 enableSensorPower(); takeMeasurement(data); disableSensorPower(); // 4. 发送 if (needToSend(data)) { radioTxData(data); } // 5. 准备下一次睡眠 scheduleNextWakeup(5 * 60); // 5分钟后 saveNetworkContext(); // 保存状态到保持SRAM Power_standby(); // 进入Standby硬件会自动关闭HFXT等 // CPU在此挂起等待RTC唤醒 } }4. 实测与调优 部署后用电流探头测量整个周期。你会发现尽管Standby电流只有1μA但每次唤醒、测量、发送的“活动脉冲”电流很大可能10-20mA持续时间是关键。优化方向就变成了能否压缩传感器启动和测量时间能否优化无线协议缩短发包时间发送间隔能否在满足应用需求下适当延长通过这样从架构到寄存器从理论到测量的完整实践你才能真正驾驭CC27xx的低功耗能力设计出续航能力出色的产品。记住低功耗是一个系统工程需要硬件、软件和协议的协同优化。而理解PRC系统是你掌握这个系统工程最有力的基石。