2340538_zh-CN

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2340538_zh-CN

2340538_zh-CN

[KW47]驱动强度变化期间 DCDC 故障的解决方法

正如 KW47/MCXW72 勘误中提到的,在驱动强度变为低电平时,DCDC 故障会不时发生,DCDC 输出电压会大于或等于当前输出电压。

为了避免这种特殊情况的发生,可以实施一种软件变通方法,使低功耗低驱动强度模式下的电压等级低于DCDC的当前输出电压。

我们将以低功耗外设参考设计演示应用程序为例,展示变通方案的实现。

首先,此演示项目中的默认 DCDC 配置永远不会触发这个 DCDC 故障,因为 DCDC 始终处于低驱动强度模式。要强制其进入故障状态,我们必须更改 board_dcdc.c 中的 DCDC 设置。DCDC 配置应设置为正常驱动强度模式,输出电压应为 1.25V。

 BOARD_DCDC_config(kSPC_DCDC_NormalDriveStrength, kSPC_DCDC_LowUnderVoltage, false);

解决方法需要启用 SPC 高功率模式。

  SPC0->HP_CNFG_CTRL |= SPC_HP_CNFG_CTRL_HP_REQ_EN_MASK;

高电源模式下的 DCDC 输出电压设置为 1.35V(高于运行模式和低电源模式下的输出电压):

RF_CMC1->SPC_HP_CTRL |= 0x2U;

SPC_HP 模式将在进入低功耗模式之前立即启用。为此,需要修改 nbu_ble 项目,并根据这一修改重新编程 NBU。

请修改 nbu_ble 项目中的 fwk_platform_lowpower.c 文件。

函数 Platform_handleLowPowerEntry 管理低功耗电源模式入口,因此我们可以在此处添加:

RF_CMC1->SPC_HP_CTRL |= 0x1U;  //enable HP mode
while ((RF_CMC1->SPC_HP_STAT && RF_CMC1_SPC_HP_STAT_SPC_HP_ACK_MASH) == 0); //wait for HP mode requested to be ackownledged
RF_CMC1->SPC_HP_CTRL &= 0x0U; //disable HP mode
while ((RF_CMC1->SPC_HP_STAT && RF_CMC1_SPC_HP_STAT_SPC_HP_ACK_MASH) == 0); //wait for HP mode requested to be ackownledged

/* WFI will trigger low power entry procedure */
 __DSB();
 __WFI();
 __ISB();

请注意,此解决方法适用于所有使用低功耗模式的无线连接示例。它不适用于非连接示例。



FRDM-RW612
标记 (1)
无评分
版本历史
最后更新:
‎06-02-2026 03:37 PM
更新人: