RFM12B: Wann wird der reset des Sendepuffers durchgeführt?

Gast #3246567
Lesenswert?

Hallo zusammen,

ich beschäftige mich mit ein paar RFM12B-Modulen und werde nun aus dem 
Datenblatt und Google-treffern nicht ganz schlau. Auch will mir gerade 
absolut nichts einfallen wie ich anderweitig selbst auf die Antwort 
kommen könnte. Daher möchte ich mich mit meiner Frage an euch wenden:

Laut dem Datenblatt (http://www.hoperf.com/upload/rf/RFM12B.pdf‎ Seite 
30) ist es möglich die Präambel (0xAAAA) vor dem Senden von Daten quasi 
vom Modul selbst erzeugen zu lassen. Sie schreiben, man müsse das el-Bit 
im "Configuration Setting" setzen, wodurch das Sende-Schieberegister 
aktiviert wird, welches wiederum default mit 0xAAAA befüllt ist. Beim 
aktivieren des Senders können dann zunächst diese Daten gesendet werden 
(also die Präambel) bevor dann andere Daten gesendet werden.
Andererseits schreiben sie aber auch, dass beim löschen des et-Bits (so 
verstehe ich das zumindest das Diagramm auf Seite 16) das Senderegister 
gelöscht wird. Ich würde das nun so deuten, dass das Senderegister 
wieder auf 0xAAAA gesetzt wird und somit vor dem erneuten Senden von 
Daten mit vorheriger Präambel nicht zwingend das el-Bit gelöscht und 
wieder gesetzt werden muss, damit die Präambel im Senderegister landet. 
Deaktivieren und erneutes Aktivieren des Senders müsste also ausreichen.

Konkret stelle ich diese Frage, da ich aktuell ein paar Probleme habe 
und vermute, dass nicht immer oder gar keine Präambel gesendet wird. 
Genaueres "Messen" entzieht sich allerdings meinen noch wachsenden 
Fähigkeiten.
Wenn ich allerdings einen kompletten Reset mache (wobei ja definitiv 
auch das Senderegister auf default zurückgesetzt wird) kommt jeweils das 
1. Paket sauber und zuverlässig an. Der Fehler kann überall stecken, das 
ist mir klar und ich möchte auch selbst danach suchen (die Arbeit muss 
keiner für mich übernehmen) nur diese eine Frage hier könnte mich schon 
zum Ziel bringen.

Also die Frage ich noch einmal kurz und deutlich:
um das Senderegister zurückzusetzen auf 0xAAAA muss man da auf jeden 
Fall das el-Bit löschen und neu setzen, oder genügt das deaktivieren und 
erneute aktivieren vom LNA (et-Bit).

Vielen herzlichen Dank
Gruß Willi
Gast #3246575
Lesenswert?

Willi S. aus M. schrieb:

> Also die Frage ich noch einmal kurz und deutlich:
> um das Senderegister zurückzusetzen auf 0xAAAA muss man da auf jeden
> Fall das el-Bit löschen und neu setzen, oder genügt das deaktivieren und
> erneute aktivieren vom LNA (et-Bit).

Der Defaultwert wird beim PowerOnReset und bei einer 0->1 Flanke an el 
in das TX-Register geschrieben, danach bist du selber dafür 
verantwortlich.

Da du am Ende deines Nutzdatenblocks sowieso zwei Dummybytes schreiben 
mußt, damit deine Nutzdaten vollständig die Sendequeue verlassen können, 
ist es am sinnvollsten, an dieser Stelle zweimal $aa als Dummybyte zu 
schreiben und dann et auf 0 zu setzen, dann hast du den Ausgangszustand 
für die nächste Sendung schon wieder hergestellt und brauchst überhaupt 
nicht an el zu schrauben.

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