Hi, ich möchte via IR Daten übertragen. Dazu kodiere ich mein Signal in Manchester. Aber: Woher weiß mein Client, dass jetzt die Datenübertragung anfängt? Schließlich kann das Signal ja mit einer logischen Null anfangen (Datenbit: 1, Clock: 1). Dann verpasst der Empfänger ja das erste Halbbit.
Welche Variante der Manchester-Kodierung? Wie wird der IR-Sender moduliert? Je nachdem gibt es verschiedene Methoden, den Anfang zu finden.
Beim Ethernet gibt es das gleiche Problem. Die Lösung dort: 7 x 0x55 als Vorspann, darauf synchronisiert sich der Empfänger, danach 1 x 0xD5 als Rahmenbeginn (Start Frame Delimiter), dann die Daten, am Schluß eine Prüfsumme (CRC32) über die Nutzlast. Das niederwertigste Bit geht zuerst raus, damit ist sichergestellt, daß die Eins am Schluß des achten Bytes als Vorspannende erkannt wird. Gruß Jadeclaw.
Ok... das ist aber eine hässliche Lösung. Zumal ich nur maximal 2.5kBaud über den TSOP17 bekomme. Da bleibt dann gerade mal 1.25kByte/s inklusive dieses Overhead. Aber es führt wohl kein Weg daran vorbei... :-(
Ähem. Diese TSOP-Teile haben doch eine Trägererkennung/Demodulierung. Da brauchst du keine Manchesterkodierung, es reicht völlig aus, einen Rechteck von 30 - 50 kHz (Frequenz je nach verwendetem TSOP) auf die SendeLED zu geben und im Takt der Daten ein- und auszuschalten. So wird es auch bei IR-Fernbedienungen gemacht. 1, 2 Startbytes als Startkennung und Prüfsumme über die Nutzlast müssen aber trotzdem sein. Gruß Jadeclaw.
Hallo, die Lösung ist doch uralt und nennt sich Char-Stuffing. Es wird ein spezifisches char ausgewählt, z.B.0xA5. Findet man ein 0xA5 im Text, so wird es verdoppelt. Beim Lesen kann man also nach 2 Zeichen einen Blockanfang erkennen. Siehe [Character stuffing]http://www.itwissen.info/definition/lexikon/Zeichen-Fuellung-character-stuffing.html Gruß, Michael
> Ähem. Diese TSOP-Teile haben doch eine Trägererkennung/Demodulierung. Da > brauchst du keine Manchesterkodierung Ich denke schon, da man nicht davon ausgehen kann, dass die internen Oszillatoren genau genug gehen.
Dann schau dir diese TSOPs mal genauer an. Der Sendeträger erscheint nämlich nicht am Ausgang, der Ausgang vermeldet nur Träger da oder eben nicht da. Je nach verwendetem TSOP kann dieses Träger da oder nicht da mit ein paar kHz erfolgen. Der Sendeträger muß auch nicht sehr genau sein, +- 1 kHz hat kaum Auswirkungen auf die Empfindlichkeit. Die TSOPs selber haben keinen Oszillator eingebaut, diese Dinger funktionieren wie ein Geradeausempfänger. Gruß Jadeclaw.
Franz wrote: > ich möchte via IR Daten übertragen. Dazu kodiere ich mein Signal in > Manchester. Aber: Woher weiß mein Client, dass jetzt die > Datenübertragung anfängt? Schließlich kann das Signal ja mit einer > logischen Null anfangen (Datenbit: 1, Clock: 1). Dann verpasst der > Empfänger ja das erste Halbbit. Du fängst einfach die Übertragung mit einem bekannten Bit an, also immer 0 oder immer 1. Der RC-5 Code fängt z.B. immer mit einem 1-Bit an. Peter
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.