首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我们仅仅通过STM32单片机的SDMMC卡接口启用uSD卡的宽总线操作时,电流消耗的增加是预期的吗?

当我们仅仅通过STM32单片机的SDMMC卡接口启用uSD卡的宽总线操作时,电流消耗的增加是预期的吗?
EN

Stack Overflow用户
提问于 2019-01-08 19:42:33
回答 1查看 80关注 0票数 0

在一个要求功耗尽可能低的产品中,我们采用STM32L496作为微控制器。最近几天,我们一直在努力降低整个设备的功耗。我们观察到,在使用uSD卡中的HAL卡启用宽总线操作后,消耗的电流立即增加了约4 4mA。(调用此函数时会附加uSD卡)。

目前的增长是预期的吗?以下提供的初始化SDMMC接口和uSD卡的顺序是否有问题?请帮助我们分析问题,如果这不是预期的增加,请降低消耗的电流。

详细信息:

代码语言:javascript
复制
MCU : STM32L496
Core supply : External SMPS (1.2V).
Core frequency : 20 MHz

SDMMC引脚配置:

所有数据引脚、命令引脚和时钟引脚都处于交替功能推拉模式,没有内部上拉。在SDMMC接口和uSD卡连接器之间使用外部钳位IC (ECLAMP2410P)。

SDMMC初始化代码:

代码语言:javascript
复制
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__);
}

}
EN

回答 1

Stack Overflow用户

发布于 2019-01-10 12:22:49

观察:

初始化SD卡后,如果您对SD卡执行虚拟写入,则电流消耗会下降。即,如果卡被写入并保持空闲,则卡将不再占用初始额外电流。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54091102

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档