Fragen zu RFM-01 02 12

Hallo,

ich schlage mich hier momentan mit Sende-Empfangsmodulen von Hopepf herum. Im Prinzip funktioniert das auch schon, aber mir sind da ein paar Dinge nicht ganz klar, insbesondere, was die Modulation angeht.

Ich habe mir dazu schon die Datenblätte zu den Chips rausgesucht: IA4220 bzw. IA4320, bzw. SI4220 und SI4320.

Was mir auffällt ist, dass ich nachdem der Sender aktviert wurde einfach die zu sendenen Bits ohne Start- und Stopbit in den Sender reinschiebe. Auf der Empfängerseite erhalte ich dann ebenfalls die Bits in der Reihenfolge, wie sie in den Sender reingeschoben werden. Wie erfolgt hier die Synchronisation?

Wenn ich z.B. 8 Bytes mit 00 sende, dann sind das 64Bits, ohne 1-0 Wechsel. Das müsste doch irgendwann Probleme mit der Genauigkeit des Taktsignals geben?

Ich sende momentan für jede 1 -> 01 und für jede 0 -> 10. Damit habe ich dann maximal zwei gleiche Bits direkt hintereinander, aber damit halbiere ich den Datendurchsatz. Alternativ könnte man z.B. nach jeweils

8 Bytes oder so einmal AA zur Synchronisation einfügen.

Kann mir da jemand weiterhelfen?

Gruß

Stefan DF9BI

Reply to
Stefan Brröring
Loading thread data ...

Stefan Brröring schrieb:

Hallo,

Sender und Empfänger machen nur die reine Datenübertragung, für die Synchronisation bist Du voll selber verantwortlich.

Damit müsste asynchrone serielle Übertragung wie bei RS232 gehen, mit passender Baudrate für die Modulationsbandbreite.

Oder synchrone serielle Übertragung wie bei älteren speziellen Modems, da gibt es dann einen Vorspann zur Synchronisation.

Oder man nimmt Manchesterkodierung wie auch bei Floppies, da hat man dann halbe Datenrate.

Je nach Stabilität des Taktgebers für Sender und Empfänger kann man auch längere Datenpakete ohne Takt übertragen, es dürfen halt die Oszillatoren nicht mehr als eine halbe Bitbreite auseinanderlaufen. Wenn beide einen Fehler von 100 ppm haben können sind das maximal 200 ppm Unterschied, rechnerisch könnte man da immer noch 2500 Bits in einem Paket übertragen, man bleibt besser unter 1000. Bei Quarzoszillatoren auf beiden Seiten sollten 8 bis 64 Bytes in einem Paket noch möglich sein.

Bye

Reply to
Uwe Hercksen

Hab ich auch so verstanden. Seltsam ist nur, dass die Dinger irgendwie auf die Bytes "einrasten". Also wir senden als Präambel 0xAA 0xAA 0xAA und dann die Nutzdaten. Ein Bitversatz, der nicht ganz unwahrscheinlich sein dürfte, tritt dabei eher selten auf.

Genau das hätte ich auch erwartet, wird aber bei den mir bekannten Programmbeispielen nicht gemacht.

Nur, wie soll sich der Datenstrom auf den Byteanfang synchronisieren?

Das hab ich im Prinzip gemacht, aber nicht zur Erkennung des Byteanfangs, sondern um die maximale Anzahl von aufeinanderfolgenden gleichartigen Bits zu begrenzen.

Klar, müsste gehen. Beide Module haben gleiche Quarze und die Sende- und Empfangsfrequenz müssen auch aufeinander abgestimmt sein, also insofern ist die nötige Genauigkeit sicher gegeben.

Gruß

Stefan DF9BI

Reply to
Stefan Brröring

Stefan Brröring schrieb:

Hallo,

in den ICs ist offenbar mehr drin als nur reine FSK Modulation und Demodulation, nach diesem Datenblatt:

formatting link
gibt es interne Clock recovery, man kann die Datenrate einstellen, es gibt ein FIFO und Sync Words. Da wundert es mich dann weniger das ein Bitversatz selten auftritt. Es werden auch die üblichen Datenraten für asynchrone serielle Übertragung wie 9600 Baud genannt, da sollte das eigentlich auch gehen.

Bye

Reply to
Uwe Hercksen

Hallo Stefan,

Stefan Brröring schrieb:

Schau mal hier:

formatting link
Das Verfahren wird bei Modellbahnen verwendet (Selectrix) und ist recht störsicher, wenn man das Datenformat prüft und bei Fehlern verwirft.

Gruss, Kurt

--
MBTronik
Kurt Harders Modellbahnelektronik
http://www.mbtronik.de
Reply to
Kurt Harders

Stefan Brröring schrieb:

Im Prinzip müsste die Doku des Moduls doch hergeben, ob das Modul ggfs. noch selbst ein NRZ macht oder sowas. Wenn es ein 'dummes' Funkmodul ist nicht - aber dann sollte die Doku wenigstens Aussagen zur minimalen und maximalen Pulslänge machen. Notfalls kannst Du es mit ein paar variablen TTL-Signalen ja auch mal selbst austesten. Bisschen Sicherheitsabstand und dann selbst ggfs. was pragmatisches in NRZ coden. Testschleife unter realistischen Bedingungen ein paar Tage über die Funkstrecke laufen lassen.

- Carsten

Reply to
C.P. Kurz

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.