Forum: HF, Funk und Felder Zigbit mit Atmel MAC -> Controller in sleep-mode / aufwachen


von Daniel S. (daniel123)


Lesenswert?

Hallo

Ich habe das Problem, dass die MAC Software nur den Tranceiver des 
Zigbit-moduls schlafen legt.
Der Stromverbrauch ist mit aber so in inaktiven Phasen mit 8 mA viel zu 
hoch.
Hat jemand Erfahrung damit? In den Sleep-mode versetzen klappt mit den 
üblichen Befehlen der avr/sleep.h, jedoch wacht der Controller aus 
keinem Mode wieder auf.

Gruß Daniel

von A. W. (uracolix)


Lesenswert?

Du brauchst noch eine ext. Weckquelle für die MCU, also z.B. einen 
async. Timer (der aber mit dem 32kHz Qartz läuft, da CLKM vom 
Transceiver im Sleep ausgeschalten ist). Ich weiss jetzt gerade nicht ob 
ein 32kHz XTAL bei den genutzten Modulen bereits eingebaut ist. 
Alternativ kannst du dich auch vom Watchdog wecken lassen, da ist aber 
der Reststrom höher.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Axel Wachtler schrieb:
> Ich weiss jetzt gerade nicht ob
> ein 32kHz XTAL bei den genutzten Modulen bereits eingebaut ist.

Ich denke schon.

von Daniel S. (daniel123)


Lesenswert?

Ahso sehr gut, also könnte ich den Timer2 mit den 32kHz ansteuern und 
damit einen Interrupt auslösen. Bei einer "verbindungslosen" Übertragung 
wäre das also kein Problem (Basic Sensor Netzwork Beispiel). Bei einem 
Netzwerk mit "Verbindung" sollte man diese Methode nicht verwenden oder?
Ich hatte mich schon gefragt wie das ganze bei Bitcloud gelöst ist, da 
der Controller dort in den Sleep-mode geht. Ich wusste nicht, dass ein 
32kHz Quarz im Modul vorhanden ist.
Mit Watchdog wäre eine maximale Schlafzeit von ca 8s möglich oder (wobei 
sich diese Angabe auf 5V Vcc bezieht), daran hatte ich auch noch nicht 
gedacht :-).

Gruß Daniel

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Daniel S. schrieb:
> Bei einem
> Netzwerk mit "Verbindung" sollte man diese Methode nicht verwenden oder?

Den Begriff kenne ich so nicht, ist das eine Zigbee-Sache?  (Zigbee
NWK habe ich mir vor langer Zeit das letzte Mal angesehen.)

> Mit Watchdog wäre eine maximale Schlafzeit von ca 8s möglich

Ich glaube mich zu erinnern, dass das mit dem 32-kHz-Oszillator auch
so ist: maximaler Vorteiler 1024, macht 32 Hz, Zählerüberlauf nach
256 Zählschritten, das sind 8 s.  Aber nach den 8 s muss man ja nur
kurz aufwachen, um einen Softwarezähler herunter zu zählen, wenn man
gerade nichts anderes zu tun hat.

von Tino (Gast)


Lesenswert?

Hi Daniel,

sowohl die Atmel-Zigbit- als auch die AtAny-Module haben an Timer2 einen 
32kHz-Clock.

Bitcloud: dieser Stack basiert auf einem von Meshnetics geschriebenen 
eigenen MAC-Layer. Der sieht diese Möglichkeit von Hause aus vor (s. 
HAL_Sleep-Funktion). Dafür hat er im u.a. Beacon-Mode ähnliche 
Einschränkungen (wenn man das so nennen will), wie der Atmel-MAC.

HAL: der HAL von Bitcloud ist mindestens seit Version 1.5 offen gelegt 
(ne ältere Version hab ich leider nicht mehr).
Schau dir mal die Datei "halSleepTimerClock.c" an.

Hoffe, daß das hilft,

Tino

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.