Zigbit mit Atmel MAC -> Controller in sleep-mode / aufwachen

OP #1710844
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
#1712313
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.
OP #1712558
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
Moderator Persönliche Seite #1712680
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.
Gast #1713313
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren