Der Mikrocontroller Fudan FM33LG048 zieht im Tiefschlafmodus zu viel Strom

Ich arbeite mit Fudan FM33LG048 Low-Power-Mikrocontrollern. Trotz des Ausschaltens aller Taktgeber außer dem externen Niederfrequenzoszillator, des Deaktivierens aller Peripheriegeräte und des Eintritts in den Tiefschlafmodus zieht die MCU immer noch 63 uA. Das Datenblatt (leider nur auf Chinesisch verfügbar) besagt, dass es im Tiefschlafmodus nur 2uA ziehen muss.

Hat jemand mit diesen Mikrocontrollern gearbeitet und wenn ja weiß jemand woran das liegen kann?

BEARBEITEN:

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);
}

Ich habe auch den externen 8-MHz-Oszillator entfernt:

Ich habe auch den externen 8-MHz-Oszillator entfernt

Willkommen beim EE Stack Exchange. (1) Sie können den Hersteller kontaktieren, um ein Datenblatt in englischer Sprache zu erhalten. (2) Ich hätte nie etwas verwendet, für das kein Datenblatt zugänglich wäre, aber dann haben Sie vielleicht Ihre Gründe dafür. (3) Erstellen Sie eine minimale Beispielplatine und testen Sie mehrere davon, um sicherzustellen, dass das Problem weiterhin besteht. (4) Jemand kann Ihnen vielleicht noch helfen, also fügen Sie bitte Ihren Schaltplan bei (5) Fügen Sie den Aufrufcode für den Tiefschlafmodus bei, falls vorhanden)
Vielen Dank Syed für das Feedback. 1. Ich habe Kontakt aufgenommen und warte immer noch auf die Antwort. 2. Die Gründe sind die Chipknappheit :). 3. Ich habe fast alle externen Module aus der Schaltung entfernt (inkl. externem HF-Oszillator). 4. Der Schaltplan und der Code sind enthalten.
Sie müssen die Errata lesen. Der Schlafmodus ist eines der Dinge, die häufig zu Siliziumfehlern neigen.

Antworten (1)

An den JTAG-Header angeschlossene Pull-up-Widerstände waren zu klein. Nach dem Entfernen wurde der Stromverbrauch 1-2uA.