Ожидается ли увеличение потребления тока, когда мы просто включаем широкую шину на карте USB через интерфейс SDMMC в STM32 MCU? - PullRequest
0 голосов
/ 08 января 2019

В продукте, требующем минимального потребления энергии, мы используем STM32L496 в качестве MCU. В последние дни мы пытались снизить энергопотребление всего устройства. Мы заметили, что сразу после включения широкой шины с использованием функции HAL на карте USB, потребляемый ток увеличивается на ~ 4 мА. (при вызове этой функции прилагается карта USB).

Ожидается ли это текущее увеличение? Что-то не так в приведенной ниже последовательности инициализации интерфейса SDMMC и карты USB? Пожалуйста, помогите нам проанализировать проблему и снизить потребляемый ток, если не ожидается его увеличения.

Детали:

MCU : STM32L496
Core supply : External SMPS (1.2V).
Core frequency : 20 MHz

Конфигурация контактов SDMMC:

Все выводы данных, команды и контакты синхронизации находятся в режиме двухтактной функции с альтернативной функцией без внутреннего подтягивания. Внешняя клеммная колодка (ECLAMP2410P) используется между интерфейсом SDMMC и разъемом карты USB.

Код инициализации 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__);
}

}

1 Ответ

0 голосов
/ 10 января 2019

Замечание:

После инициализации SD-карты, если вы делаете фиктивную запись на SD-карту, потребление тока снижается. т.е. карта больше не будет брать начальный дополнительный ток, если карта записана и находится в режиме ожидания.

...