NXP MCU 技术论坛
直播中

久醉不醒

10年用户 1121经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

i.MXRT595无法在VddCore 0.7V下运行powerquad_benchmark_fft示例怎么解决?

使用的 MCUXpresso IDE 版本是 11.6.1_8255
i.MXRT595 SDK 版本使用的是 2.11.1
我下载了股票 powerquad_benchmark_fft 示例并初始化了与电源管理器示例相同的 PMIC 相关代码,除了设置 PMIC 电压。我不是根据频率设置 PMIC 电压,而是根据提供的输入电压进行设置。这是功能:

bool BOARD_SetPmicVoltage(float voltage)
{
    power_lvd_falling_trip_vol_val_t lvdVolt;
    uint32_t volt;
    bool ret;

    PCA9420_GetCurrentMode(&pca9420Handle, &pca9420CurrMode);
    PCA9420_ReadModeConfigs(&pca9420Handle, pca9420CurrMode, &pca9420CurrModeCfg, 1);

    lvdVolt = POWER_GetLvdFallingTripVoltage();

    /* Enter FBB mode first */
    if (POWER_GetBodyBiasMode(kCfg_Run) != kPmu_Fbb)
    {
        POWER_EnterFbb();
    }

    if (voltage == 1.1f)
    {
        volt = kPCA9420_Sw1OutVolt1V100;
    }
    else if (voltage == 1.0f)
    {
        volt = kPCA9420_Sw1OutVolt1V000;
    }
    else if (voltage == 0.9f)
    {
        volt = kPCA9420_Sw1OutVolt0V900;
    }
    else if (voltage == 0.8f)
    {
        volt = kPCA9420_Sw1OutVolt0V800;
    }
    else if (voltage == 0.7f)
    {
        volt = kPCA9420_Sw1OutVolt0V700;
    }
    else
    {
        volt = POWER_INVALID_VOLT_LEVEL;
    }
    ret  = volt != POWER_INVALID_VOLT_LEVEL;

    if (ret)
    {
        if (volt < kPCA9420_Sw1OutVolt0V800)
        {
            POWER_DisableLVD();
        }
        else
        {
            if (volt < kPCA9420_Sw1OutVolt0V900)
            {
                PMIC_DECREASE_LVD_LEVEL_IF_HIGHER_THAN(lvdVolt, kLvdFallingTripVol_795);
            }
            else if (volt < kPCA9420_Sw1OutVolt1V000)
            {
                PMIC_DECREASE_LVD_LEVEL_IF_HIGHER_THAN(lvdVolt, kLvdFallingTripVol_885);
            }
            else
            {
            }
        }

        /* Configure vddcore voltage value */
        pca9420CurrModeCfg.sw1OutVolt = (pca9420_sw1_out_t)volt;
        PCA9420_WriteModeConfigs(&pca9420Handle, pca9420CurrMode, &pca9420CurrModeCfg, 1);

        if (volt >= kPCA9420_Sw1OutVolt0V800)
        {
            POWER_RestoreLVD();
        }
    }

    return ret;
}
我能够在 VddCore = 0.8、0.9、1.0 和 1.1 V 下构建和运行应用程序。
在 0.7V 时,构建和闪存成功,但我无法重置电路板,此时我无法加载任何新固件。
我在 VddCore 0.7 V 下尝试的 M33 CPU 频率是来自 FRO192 时钟源的 12、24 和 48 MHz。
这是单击闪光灯按钮后的一些日志。请注意,通过调整启动开关,我能够使电路板再次进入可用状态。

Flash Write Done
Loaded 0x4CAC bytes in 1059ms (about 18kB/s)
Reset target (romstall)
Starting execution using system reset with a stall address
Retask read watchpoint 1 at 0x50002034 to use for boot ROM stall
request to clear DAP error failed - status 5
error closing down debug session - Nn(05). Wire ACK Fault in DAP access

更多回帖

发帖
×
20
完善资料,
赚取积分