Manchester: Startbedingung?

Gast #1209101
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.
#1209140
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.
Gast #1209151
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... :-(
#1209161
Ä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.
Gast #1209169
> Ä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.
#1209185
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.
#1209211
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.