Forum: Mikrocontroller und Digitale Elektronik Wie heißt dieses Übertragungs Format?


von Mathias M. (matjes)


Angehängte Dateien:

Lesenswert?

Ganz blöde Frage.
Ich hab hier digital ankommende Daten. 10ms High ist eine 1, 5ms High 
ist eine 0, dazwischen ist immer eine 5ms Low Pause.
Ich hab mal nen Screenshot angehangen.
Wie heißt so eine kodierung?

Danke schonmal.
Mathias

von TR.0LL (Gast)


Lesenswert?

Von welchem Teil/Gerät kommt das Signal?
Hast du einen Logic Analyzer?

von Udo S. (urschmitt)


Lesenswert?

Mathias M. schrieb:
> Wie heißt so eine kodierung?

Binäre Pulslängen Codierung?

von Mathias M. (matjes)


Lesenswert?

Aus dem logic analyzer kommt ja der Screenshot. Das Gerät ist irgendein 
wissenschaftliches Gerät mit weltweiter Auflage von ~20.

Ich wüsste nur gerne den korrekten Namen so einer lang-kurz codierung. 
Mehr brauch ich erstmal nicht. (Ich suche noch ein Pulseview Decoder und 
will das dann auch auf nem uC decodieren, aber nur mit dem Namen kann 
ich mir den Rest sicherlich selber zusammensuchen. Falls nicht, schreib 
ich das halt selber gerade.)

von Einer K. (Gast)


Lesenswert?

Das "nec ir protocol" funktioniert ähnlich.
Da kannste dir sicherlich was von abschauen.

von Mathias M. (matjes)


Lesenswert?

Danke Fanboy und Udo. Pulselängen Codierung, bzw. Pulse Length Coding 
scheint der gesuchte Begriff zu sein.
Irgendwie bringt mich das jetzt nicht so viel weiter, wie ich gehofft 
hatte, aber der Hinweis auf die Fernbedienung ist schon gut.
Das ist ja auch simpel genug, das gerade selber zu implementieren. Aber 
gut, dass ich das jetzt wenigstens beim Namen nennen kann.

Danke.

von Axel S. (a-za-z0-9)


Lesenswert?

Mathias M. schrieb:
> Irgendwie bringt mich das jetzt nicht so viel weiter, wie ich gehofft
> hatte, aber der Hinweis auf die Fernbedienung ist schon gut.
> Das ist ja auch simpel genug, das gerade selber zu implementieren.

In Hardware macht man das so, daß man mit der steigenden Flanke ein 
Monoflop triggert, das auf die Mitte zwischen den Längen für 0 und 1 
eingestellt ist (für dich also auf 7.5ms). Mit der Flanke vom Ablauf des 
Monoflops taktet man das Signal in ein Schieberegister.

Die Bits kann man entwder mitzählen oder man nutzt analog ein zweites 
Monoflop, um die Pause zwischen zwei Datagrammen zu detektieren.

von Günni (Gast)


Lesenswert?

Das Übertragungsverfahren nannte man RTZ-Code (Return to Zero) im 
Unterschied zum NRZ-Code (non return to Zero). Der RTZ-Code hat bei 
jedem Bit erneut die Taktsynchronisierung (mit der Flanke, die das 
Monoflop startet). Bei dem NRZ-Code muss der Generator für den Bittakt 
wesentlich stabiler sein und benötigt von Zeit zu Zeit eine 
Synchronisationsmöglichkeit. Bei der RS232-Schnittstelle waren das das 
Start- und das Stopbit, bei der Übertragung der Videotextinformation in 
der Austastlücke der analogen Fernsehübertragung war das Paritybit auf 
ODD-Parity gesetzt und somit erfolgte spätestens nach 14 Bit eine Flanke 
auf die der Taktgenerator sich synchronisieren konnte. Auch der 
Datenstrom auf der "alten" CD ist ein NRZ-Code, der durch die EFM 
(eight-fourteen-modulation) dafür gesorgt wurde, dass häufig genug 
Flanken im Datensignal für die Taktsynchronisierung enthalten sind. (Ab 
DVDs ist die Umcodierung etwas anders, das Prinzip aber vergleichbar.) 
Und dann ist die Modulationsart noch ein Frequency-shifted-key, d.h. für 
die Null und die Eins werden verschiedene Frequenzen verwendet. Hier hat 
die Eins eine Periodendauer von 15 ms (10+5 ms entsprechend 66,67 Hz)und 
eine Null eine Periodendauer von 10 ms (5+5 ms  entsprechend 100 Hz). 
Mit etwas höheren Modulationsfrequenzen (so um 1,2 bis 2,4 kHz) wurden 
in der Anfangszeit der Personal-Computer (Commodore, Apple u.ä.) Daten 
auf Cassettenrecorder aufgezeichnet. Ich weiß, dass es für den Apple II 
und den Commodore auch Diskettenlaufwerke gab, aber die Schnittstelle 
für die Aufzeichnung auf Cassettenrecorder gab es auch - und sie 
funktionierte. Und selbst die Post hat die Daten für den "alten" 
Bildschirmtext mit 2 verschieden hohen Tönen über die 
Kupferfreileitungen geschickt. Die Datenrate für die ankommenden Signale 
betrug 1200 Bit pro Sekunde und der Kunde antwortete mit 75 Bit pro 
Sekunde. Und dann gab es noch Modems, die mit 300 oder 600 Bit pro 
Sekunde Daten per Akustikkoppler durch das Telefon schickten. Wer mal 
sehen möchte, wie das ging, sehe sich den Film WarGames aus dem Jahr 
1983 an.

von Der Zahn der Zeit (Gast)


Lesenswert?

Günni schrieb:
> Das Übertragungsverfahren nannte man RTZ-Code (Return to Zero)
Ich fürchte, du hast den Signalverlauf falsch interpretiert. Bei RZ und 
NRZ dauert die Übertragun von 0 genau so lange wie die von 1, aber hier 
dauert die Übertragung einer 1 15 ms und die einer 0 10 ms.

Ansonsten ein schöner Beitrag über RZ und NRZ 
(https://de.wikipedia.org/wiki/RZ-Code).

von Mathias M. (matjes)


Lesenswert?

Danke Axel für den Hinweis, ich mach aber alles nur mit Programmierbaren 
Dingen. Danke auch Günni für die Mühe, aber da hat ja schon Der Zahn der 
Zeit dran geknabbert.

Falls nicht doch noch jemand nen Pulseview Decoder fertig dafür 
rumliegen hat, hab ich meine Probleme jetzt weitgehend gelöst. Aber soo 
dringend ist der Decoder jetzt auch nicht, sonst hack ich mir einfach 
den NEC Decoder zurecht...

Also: Frage beantwortet!

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
Noch kein Account? Hier anmelden.