Forum: Mikrocontroller und Digitale Elektronik SAM4E Backup Mode / Low Energie


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Godi S. (godi22)


Bewertung
0 lesenswert
nicht lesenswert
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?

von Adam P. (adamap)


Bewertung
0 lesenswert
nicht lesenswert
Meinst du allgemein, wegen dem Stromverbrauch?

von Adam P. (adamap)


Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal das Beispiel-Projekt für Low-Power an, z.B. für das 
SAM4E-XPRO Board:
Device Family "SAM4E" auswählen und im Suchfeld nur "power" eingeben.

Da findest du in der main() den Aufruf von init_chip() und darin den 
Aufruf von init_specific_board().

Darin ist wohl das was du suchst, wenn ich dich richtig verstanden habe.

: Bearbeitet durch User
von Godi S. (godi22)


Bewertung
0 lesenswert
nicht lesenswert
Adam P. schrieb:
> Da findest du in der main() den Aufruf von init_chip() und darin den
> Aufruf von init_specific_board().

Danke für den Hinweis!

Was ich aber da gar nicht verstehe ist, warum die Einstellungen für low 
power in init_chip() passieren, also bevor das Hauptporgramm ausgeführt 
wird. Im Hauptprogramm wird dann wieder der Clock und die 
dementsprechenden Pins verändert.
Warum wird hier nicht in der Funktion test_backup_mode() pins, clock, 
... so eingestellt dass eine Low-Power consumption erfolgt?

von Adam P. (adamap)


Bewertung
0 lesenswert
nicht lesenswert
Godi S. schrieb:
> Was ich aber da gar nicht verstehe ist, warum die Einstellungen für low
> power in init_chip() passieren, also bevor das Hauptporgramm ausgeführt
> wird.

Die setzen wohl am Anfang erstmal alles auf Low-Power (default).

In der Funktion init_specific_board(void) siehst du ja dann ganz unten
1
  /* Enable the PMC clocks of push button for wakeup */
2
  pmc_enable_periph_clk(ID_PIOE);
3
  pio_handler_set_priority(PIOE, PIOE_IRQn, IRQ_PRIOR_PIO);

Dort wird der eine Pin wieder aktiviert, sonst würdest dich ja so 
gesehen aussperren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.