在一个要求功耗尽可能低的产品中,我们采用STM32L496作为微控制器。最近几天,我们一直在努力降低整个设备的功耗。我们观察到,在使用uSD卡中的HAL卡启用宽总线操作后,消耗的电流立即增加了约4 4mA。(调用此函数时会附加uSD卡)。
目前的增长是预期的吗?以下提供的初始化SDMMC接口和uSD卡的顺序是否有问题?请帮助我们分析问题,如果这不是预期的增加,请降低消耗的电流。
详细信息:
MCU : STM32L496
Core supply : External SMPS (1.2V).
Core frequency : 20 MHzSDMMC引脚配置:
所有数据引脚、命令引脚和时钟引脚都处于交替功能推拉模式,没有内部上拉。在SDMMC接口和uSD卡连接器之间使用外部钳位IC (ECLAMP2410P)。
SDMMC初始化代码:
static void MX_SDMMC1_SD_Init(void)
{
hsd1.Instance = SDMMC1;
hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING;
hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE;
hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE;
hsd1.Init.BusWide = SDMMC_BUS_WIDE_1B;
hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE;
hsd1.Init.ClockDiv = 0;
if (HAL_SD_Init(&hsd1) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
if (HAL_SD_ConfigWideBusOperation(&hsd1, SDMMC_BUS_WIDE_4B) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
}发布于 2019-01-10 12:22:49
观察:
初始化SD卡后,如果您对SD卡执行虚拟写入,则电流消耗会下降。即,如果卡被写入并保持空闲,则卡将不再占用初始额外电流。
https://stackoverflow.com/questions/54091102
复制相似问题