Welches Protokoll/Format könnte das sein?

Gast #6979331
Lesenswert?

Hi,

ich habe hier ein Gerät, welches seriell Daten überträgt. Von den 
Signalpegeln her ist das simples RS485 mit je zwei Leitungen 
(Differenzsignal) in jede Richtung.

Im Anhang ist die übertragene Wellenform zu finden. Mit dem breiten 
Startbit am mutmaßlichen Anfang eines Frames (1.5 oder 2 Bits breit?) 
würde ich ja sagen, das ist UART. Allerdings passt der Rest nicht dazu. 
Die übertragenen Daten sollten 20-Bit-Werte sein, aber egal wie ich die 
Pulse zähle, ich komme auf nichts, was zu diesen 20 Bit (oder 20 Bit pus 
irgend eine Prüfsumme) passen würde. Auch kenne ich kein UART, welches 
mehr als 8 Bit Nutzdaten kann.

Deswegen: hat irgend jemand eine Idee, was für eine Übertragung das sein 
könnte?

Bin für jeden Tipp dankbar!
Angehängte Dateien:
Gast #6979377
Lesenswert?

Trond schrieb:
> Die übertragenen Daten sollten 20-Bit-Werte sein, aber egal wie ich die
> Pulse zähle, ich komme auf nichts, was zu diesen 20 Bit (oder 20 Bit pus
> irgend eine Prüfsumme) passen würde.

Was sollen "pus" sein?

Deine Daten scheinen inklusive Framing aus 34 Pulsen zu bestehen. Für 20 
Bit Nutzdaten könnte das doch ok sein.
Lege die Datenpakete mal synchronisiert aufeinander und guck, wo sich 
bei Änderung des Dateninhalts in dem Telegramm etwas ändert.
Gast #6979385
Lesenswert?

Wolfgang schrieb:
> Was sollen "pus" sein?

Kleiner Tippfehler, das sollte "plus" heißen.

> Deine Daten scheinen inklusive Framing aus 34 Pulsen zu bestehen. Für 20
> Bit Nutzdaten könnte das doch ok sein.
> Lege die Datenpakete mal synchronisiert aufeinander und guck, wo sich
> bei Änderung des Dateninhalts in dem Telegramm etwas ändert.

OK, wo siehst du da 34 Pulse? Ich sehe insgesamt drei unterschiedliche 
Pulsweiten und egal wie ich die zähle, komme ich auf keine 34 Pulse.

Und selbst wenn es 34 wären: was für ein Protokoll sollte das sein?

Ich habe schon Manchester-Code vermutet, aber der fällt raus, da gibt es 
maximal 2 verschiedene Pulsweiten.
Gast #6979418
Lesenswert?

Trond schrieb:
> Im Anhang ist die übertragene Wellenform zu finden. Mit dem breiten
> Startbit am mutmaßlichen Anfang eines Frames (1.5 oder 2 Bits breit?)
> würde ich ja sagen, das ist UART. Allerdings passt der Rest nicht dazu.

UART ist die Abkürzung für Universal Asynchronous Receiver Transmitter. 
Der darauf aufbauende Übertragungsstandard nennt sich RS-232 bzw 
V.24/V.28.

Schau dir mal 
https://www.analog.com/en/analog-dialogue/articles/uart-a-hardware-communication-protocol.html 
an.

Eine für manche Belange bessere Darstellung nennt sich Augendiagramm. 
Anhand dessen kannst du gewisse Eigenschaften des Signals besser (und 
einfacher) bewerten und Hiweise auf die verwendete Leitungs-Codierung 
gewinnen.

Kuck hier, wie man sich das per DSO anschauen kann: 
https://teledynelecroy.com/support/knowledgebase.aspx?docid=530&typeid=1
Gast #6979441
Lesenswert?

Ford schrieb:
> UART ist die Abkürzung für Universal Asynchronous Receiver Transmitter.
> Der darauf aufbauende Übertragungsstandard nennt sich RS-232 bzw
> V.24/V.28.

Der UART erzeugt den Bitstrom, einschließlich der möglichen 
Start/Stoppbits. Auf der Leitung kann das dann ein RS232 oder - wie in 
meinem Fall und wie in meiner Ursprungsfrage bereits geschrieben - RS485 
sein.

Das hat also alles nichts mit meiner Frage zu tun.
Gast #6979443
Lesenswert?

Trond schrieb:
> OK, wo siehst du da 34 Pulse? Ich sehe insgesamt drei unterschiedliche
> Pulsweiten und egal wie ich die zähle, komme ich auf keine 34 Pulse.

Die Information kann in der Pulslänge stecken. Ohne sich ändernde 
Dateninhalte ist es allerdings müßig, darüber zu spekulieren.
Leg Datenpakete mit unterschiedlichem, idealerweise bekanntem, Inhalt 
übereinander und gucke, was sich ändert.

> Ich sehe insgesamt drei unterschiedliche Pulsweiten
Warum nicht? Dann gibt es vielleicht drei verschiedene Zustände pro 
Symbol. Da kann man sich viel ausdenken.
Angehängte Dateien:
Gast #6979457
Lesenswert?

Wolfgang schrieb:
>> OK, wo siehst du da 34 Pulse? Ich sehe insgesamt drei unterschiedliche
>> Pulsweiten und egal wie ich die zähle, komme ich auf keine 34 Pulse.

...und wie kommst du darauf, die roten Linien dort einzuzeichnen? Ich 
kann die Idee dahinter leider nicht erkennen.

Nach 17 Pulsen kommt bereits so ein breiter Puls, wie du Ihn an Position 
34 identifizierst. Also warum nicht schon der bei 17 sondern erst der 
bei 34?

Danke :-)
Gast #6979479
Lesenswert?

Trond schrieb:
> ...und wie kommst du darauf, die roten Linien dort einzuzeichnen?

Die Position ist willkürlich. Der Abstand der roten Linien entspricht 
der Periode deines Signals. Eine lange Zeitaufzeichnung in PNG-Form 
macht den Vergleich der Datenpakete allerdings sehr mühsam. Guck dir die 
Pulslängenstatistik deines Signals an und extrahiere dann einen 
Pseudodatenstrom, der sich besser korrelieren lässt.
Was von den Pulsen Framing ist, kann man nur erkennen, wenn man das 
Protokoll kennt oder sich die Dateninhalte ausreichend ändern.
Gast #6979508
Lesenswert?

N. M. schrieb:
> Muss man überhaupt einen Pseudo Datenstrom extrahieren?
> Eine Autokorrelation des Signals sollte doch Peaks im Abstand der Frames
> geben.

Muss man nicht, ist aber einfacher als mit PNG-Pixeln ;-)
In der Autokorrelationsfunktion erkennt man gut die Länge des 
Datentelegramms, aber Details gehen in der Mittelung verloren. Außerdem 
muss alles synchron zu einem ausreichend stabilen Takt laufen (Fehler 
über die Aufzeichnungslänge typ <1/10T).
Gast #6979592
Lesenswert?

Trond schrieb:
> Ford schrieb:
>> UART ist die Abkürzung für Universal Asynchronous Receiver Transmitter.
>> Der darauf aufbauende Übertragungsstandard nennt sich RS-232 bzw
>> V.24/V.28.
>
> Der UART erzeugt den Bitstrom, einschließlich der möglichen
> Start/Stoppbits. Auf der Leitung kann das dann ein RS232 oder - wie in
> meinem Fall und wie in meiner Ursprungsfrage bereits geschrieben - RS485
> sein.
>
> Das hat also alles nichts mit meiner Frage zu tun.

Hatte ich was anderes behauptet? Weder die Begriffe USART noch RS-485 
bringen dich weiter - genausowenig wie RS-422, RS-232 oder V.24/28. Das 
ganze RS- und V-Gemocke sind Begriffe für die physische Schnittstelle 
einer asynchronen, seriellen Datenübertragung. Dabei geht es um Pegel 
und Stecker und so'n Kram - Du mit diesen Begrifflichkeiten aber an der 
ganz falschen Stelle suchst.

Aber mach mal wie Du denkst...

Ist zumindest eine schöne Knobelaufgabe, die Du dir da ausgesucht hast. 
Viel Spass noch beim Raten!
Gast #6979617
Lesenswert?

Yalu X. schrieb:
> Das ist S/PDIF oder AES3, dein geheimes Gerät also vermutlich irgendein
> Audiogerät.

Aus https://de.wikipedia.org/wiki/Sony/Philips_Digital_Interface:

  "Sony/Philips Digital Interface (S/PDIF) ist eine Spezifikation
  für eine unidirektionale, selbstsynchronisierende und serielle
  Schnittstelle [...]"

Unidirektional - kommt dann überhaupt RS-485 in Betracht? Wo könnte 
man in einem RS-485-Signal die Taktinformation verstecken?
Gast #6979675
Lesenswert?

Yalu X. schrieb:
> Das ist S/PDIF oder AES3, dein geheimes Gerät also vermutlich irgendein
> Audiogerät.

Wiki sagt: Als Leitungscode wird ein Biphase-Mark-Code (BMC) verwendet.

BMS kennt aber maximal zwei Pulsweiten (bei einer "1" doppelt so breit 
wie bei einer logischen "0"). In dem Muster oben sehe ich aber drei 
verschiedene Pulsweiten. Oder habe ich da was übersehen?
Moderator #6979719
Lesenswert?

Ford schrieb:
> Unidirektional - kommt dann überhaupt RS-485 in Betracht?

Man muss ja nicht unbedingt beide Übertragungsrichtungen nutzen.

> Wo könnte man in einem RS-485-Signal die Taktinformation verstecken?

Die Taktinformation steckt im Datensignal. Der Leitungscode von S/PDIF
und AES3 ist im Wesentlichen ein differentieller Manchester-Code.

Trond schrieb:
> BMS kennt aber maximal zwei Pulsweiten (bei einer "1" doppelt so breit
> wie bei einer logischen "0"). In dem Muster oben sehe ich aber drei
> verschiedene Pulsweiten. Oder habe ich da was übersehen?

Das gilt nur für die Kodierung der Datenbits. Die Synchronisationsmuster
hingegen sind der Unterscheidbarkeit wegen nicht Biphase-Mark-kodiert,
sondern enthalten auch Impulse, die 3 Schritte lang sind.

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