嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > IMXRT1176 SNVS 模式下相同硬件板卡的电流功耗异常问题分析

IMXRT1176 SNVS 模式下相同硬件板卡的电流功耗异常问题分析

    进入SNVS模式有两种方式(只有运行在 SNVS 模式,SOC(微控制器将关闭),一种是按下ONOFF硬件引脚,I.MXRT 提供一个专用引脚(ONOFF)来切换SNVS模式和运行应用代码。

    另一种方式是通过软件将微控制器设置为进入SNVS模式。使用以下软件方法进入 SNVS 低功耗模式。SNVS->LPCR|=SNVS_LPCR_TOP_MASK;但目标板卡的电流约为150uA,正常在 50uA左右,大约有5%左右概率的板卡功耗表现异常,而且是同一批次芯片。

    可以通过查看PMIC_ON_REQ引脚来确保SNVS模式。在进入SNVS模式之前,或在退出时,此引脚应为HIGH(高)。在SNVS模式下,它将为LOW(低),这可以用于控制SOC(除了SNVS域之外的其他电源域)的电源。有关此方面的更多信息,请参阅RM参考手册的“25.3.1 Reset and Power Scheme”和“25.3.2 Finite State Machine (FSM)”部分。在目标板中,为了测量电流,去掉了除控制器以外的所有组件。仍然观察到超过150uA的电流消耗,当测量VDD_SNVS_IN时,电流消耗通常应该在这些值附近(取决于温度)。

解决办法:

    在参考 AN13104文件中提到 SNVS_IN 引脚泄漏方法后,电流降至 50uA左右, 整体降低 100uA左右的功耗。

RT1170 时钟和低功耗特性 (nxp.com.cn)

    在进入SNVS低功耗前,执行如下代码,可以将功耗降低 100uA。所有板卡功耗均在器件指标范围内,而且功耗一致性比较好。

    #define IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUE_MASK (0x7FEU)

    IOMUXC_SNVS_GPR->GPR37 |= IOMUXC_SNVS_GPR_GPR37_SNVS_TAMPER_PUE_MASK;

    SNVS->LPCR |= SNVS_LPCR_TOP_MASK;

    这里用  JLINK调试工具在命令行模式下验证:

    JLINK命令行COMMAND 环境下读取mem32 0x40C98094 1

    JLINK命令行COMMAND 环境下写入w4 0x40C98094 0x7FE 功耗会降低100uA

JLINK命令行环境下读取mem32 0x40C98094 1

JLINK命令行环境下写入w4 0x40C98094 0 功耗会增加100uA(这个是默认值)