Estoy trabajando con microcontroladores de baja potencia Fudan FM33LG048. A pesar de apagar todos los relojes excepto el oscilador externo de baja frecuencia, deshabilitar todos los periféricos y entrar en el modo de suspensión profunda, la MCU aún consume 63 uA. La hoja de datos (disponible solo en chino desafortunadamente) dice que en el modo de suspensión profunda debe consumir solo 2uA.
¿Alguien ha trabajado con estos microcontroladores y, en caso afirmativo, alguien sabe cuál puede ser el motivo?
EDITAR:
void DeepSleep(void)
{
FL_PMU_SleepInitTypeDef LPM_InitStruct;
FL_RMU_PDR_Enable(RMU); // ??PDR
FL_RMU_BOR_Disable(RMU); // ??BOR 2uA
FL_GPIO_ALLPIN_LPM_MODE();
FL_CMU_SetSystemClockSource(FL_CMU_SYSTEM_CLK_SOURCE_XTLF);
//FL_CMU_SetSystemClockSource(FL_CMU_SYSTEM_CLK_SOURCE_RCLF);
//FL_CMU_RCLF_Disable();
FL_CMU_RCHF_Disable();
FL_CMU_XTHF_Disable();
FL_VREF_Disable(VREF); // ??VREF1p2
LPM_InitStruct.deepSleep = FL_PMU_SLEEP_MODE_DEEP;
LPM_InitStruct.powerMode =
FL_PMU_POWER_MODE_SLEEP_OR_DEEPSLEEP;
LPM_InitStruct.wakeupFrequency = FL_PMU_RCHF_WAKEUP_FREQ_8MHZ;
LPM_InitStruct.wakeupDelay = FL_PMU_WAKEUP_DELAY_2US;
LPM_InitStruct.LDOLowPowerMode = FL_PMU_LDO_LPM_ENABLE;
LPM_InitStruct.coreVoltageScaling = FL_ENABLE;
FL_PMU_Sleep_Init(PMU, &LPM_InitStruct);
}
También he eliminado el oscilador externo de 8Mhz:
Las resistencias pull-up conectadas al cabezal JTAG eran demasiado pequeñas. Después de eliminarlos, el consumo de corriente se convirtió en 1-2uA.
Syed
Nicat Alí
Lundin