Dom schrieb:
> Wäre da der ATmega128RFA1 Chip oder die Variante mit mehreren Bauteilen
> stromsparender?
Nimmt sich praktisch nichts. Der ATmega128RFA1 ist ganz nett
dahingehend, dass man ihn bis zu 1,8 V herunter mit 16 MHz
takten kann.
> Wie wäre dabei die beste Sendemethode? Wenn beide dauerhaft empfangen
> und z.B. alle 3 Sekunden das Signal senden oder gibt es bessere
> Methoden?
Das Empfangen verbraucht vor allem Strom bei diesen Frequenzen, den
Senderhythmus kannst du praktisch vernachlässigen. Du musst dir also
vor allem Gedanken machen, wie man die Empfangsbereitschaftszeiten
reduzieren kann. Wesentliches Kriterium dürfte es dabei sein, wie
groß die maximale Latenz der Information sein darf. Je länger, um
so länger kannst du dich zwischenzeitlich schlafen legen.
Sinnvoll ist es in diesem Zusammenhang, wenn du dem Teil den
32-kHz-Quarz für den langsamen Timer noch spendierst. Damit kann man
im ATmega128RFA1 den sogenannten "MAC Symbol Counter" betreiben.
Dieser Timer arbeitet mit einem "Tick" von 16 µs (das ist die "MAC
Symbol Period" gemäß IEEE 802.15.4, daher der Name dieses Timers).
Solange der 16-MHz-Quarz des Transceivers aktiv ist, wird dieser Takt
völlig exakt aus diesem Quarz gewonnen. Legt man den Transceiver-Teil
schlafen (und schaltet damit den 16-MHz-Oszillator aus), dann schaltet
der MAC Symbol Counter automatisch auf den 32-kHz-Quarz als Taktquelle
um (den man zuvor mit dem Bit AS2 in ASSR aktiviert haben muss) und
synthetisiert sich die 16-µs-Periode aus diesem Quarz. Das geht zwar
nicht ganzzahlig auf, aber der Jitter erreicht dabei vorübergehend
maximal 16 µs, und es entsteht kein saldierender Fehler, d. h. über
einen langen Zeitraum ist die Periode nach wie vor exakt (so exakt wie
der Quarz halt ist) 16 µs.
Diesen Timer benutzt man dann, um den Empfänger rechtzeitig vor der
nächsten zu erwartenden Sendung wieder "scharf" zu schalten.