Hallo, ich bin gerade am herausfinden wie ich den SAM4E richtig in den Backup Mode bringe bzw der Stromverbrauch minimal wird. Der RTC soll mit dem externen 32kHz Oszillator weiterlaufen, damit die Uhrzeit erhalten bleibt. Prinzipiell funktioniert der Backup Mode mit folgenden Code:
1 | /* Enable the PIO for wake-up */
|
2 | supc_set_wakeup_inputs(SUPC, SUPC_WUIR_WKUPEN7_ENABLE, SUPC_WUIR_WKUPT7_LOW); |
3 | |
4 | supc_set_wakeup_mode(SUPC, SUPC_WUMR_FWUPDBC_512_SCLK); |
5 | |
6 | /* Switch MCK to slow clock */
|
7 | pmc_switch_mck_to_sclk(PMC_MCKR_PRES_CLK_1); |
8 | |
9 | /* Disable unused clock to save power */
|
10 | pmc_osc_disable_xtal(0); |
11 | pmc_disable_pllack(); |
12 | |
13 | /* Enter into backup mode */
|
14 | pmc_enable_backupmode(); |
VDDIN und alle VDDIO werden weiterhin mit 3V3 versorgt wie es im Datenblatt bei der Schaltung für die Strommessung ausgeführt ist. http://ww1.microchip.com/downloads/en/devicedoc/atmel-11157-32-bit-cortex-m4-microcontroller-sam4e16-sam4e8_datasheet.pdf#G36.1531751 Folgend ist noch ein Link zu einer Application Note für Low Power. http://ww1.microchip.com/downloads/en/AppNotes/Atmel-42142-SAM-AT03258-Using-Low-Power-Mode-in-SAM4E-Microcontroller_Application-Note.pdf Leider konnte ich aber nirgends herausfinden wie die Pins geschalten werden sollen. Ich habe zwei Arten, für andere µC) gefunden: 1) Pullup-Widerstand deaktivieren, Ausgang aktivieren und auf low schalten. 2) Pullup-Widerstand aktivieren, Eingang aktivieren. Wie macht Ihr dies? Für alle Pins oder nur für die verwendeten? Was kann ich noch beachten?