Cómo configurar correctamente el deepsleep para STM32L0xx

5

Estoy intentando configurar mi placa Nucleo con un STM32L073RZ en modo de suspensión profunda para obtener el menor consumo de energía. Para hacer eso, uso las bibliotecas mbed con la función deepsleep () (esta función usa el modo Stop con RTC). En la nota de aplicación dada por STMicroelectronics, el consumo es de alrededor de 1µA en modo de parada con RTC pero en mi tablero tengo 4,2µA. Este es mi guión


int main()
{
    User_Setup();

    RTCHandle.Instance = RTC;

    //Create and launch the RTC date (08:30:00 08/12/16)
    RTC_DATE_TIME(0x16, RTC_MONTH_FEBRUARY, 0x8, RTC_WEEKDAY_TUESDAY, 0x9, 0x50, 0x00, RTC_HOURFORMAT12_AM);

    RTC_AlarmConfig();

    while(1)
    {
        deepsleep();
        //Display the time after a wakeup
        RTC_TimeShow();
        wait(1);
    }
}

¿Cómo puedo configurar correctamente mi STM32 para obtener el menor consumo?

Gracias por su atención

Simon NOWAK

    
pregunta Simon NOWAK

2 respuestas

8

Además de la respuesta de dim, lo que indicaría que podría intentar apagar los periféricos manualmente antes de entrar en el sueño profundo (no sé si esto se maneja solo con el sueño profundo) para ver si esto reduce su corriente de sueño. , necesita absolutamente estudiar detenidamente los esquemas de la placa Nucleo para ver si puede haber dominadas, LED, etc., que puedan estar consumiendo corriente. No he usado el Nucleo, pero en algunos tableros de ST, hay puentes (soldadura y otros) con los que podría necesitar lidiar. Una placa de desarrollo puede ser muy útil, pero probablemente no sea su mejor plataforma para probar sistemas de baja corriente.

También debes configurar todas las E / S para que tengan un alto Z antes de dormir.

    
respondido por el Scott Seidman
5

Creo que todavía puede haber algunos periféricos usando un poco de corriente. La hoja de datos especifica aproximadamente 1µA en modo de parada con RTC habilitado, pero también especifica que el periférico PVD / BOR consume aproximadamente ~ 1.2µA y ~ 1.7µA que consume la referencia de voltaje interna (consulte la hoja de datos Tabla 41: Consumo de corriente periférica en modo de parada y en espera ). Creo que esos dos periféricos están habilitados de forma predeterminada.

Si los desactiva explícitamente, debería tener un consumo más cercano al 1µA que está esperando.

Sin embargo, no puedo decirle cómo hacerlo con las bibliotecas proporcionadas por ST. Nunca los usé.

    
respondido por el dim

Lea otras preguntas en las etiquetas