Erbitte Hilfe bei der Protokollidentifizierung

Gast #7348150
Lesenswert?
• ▲
▼

Hallo,

ich beschäftige mich schon seit einigen Jahren mit Datenübertragung und Microcontrollern (mittlerweile nur noch als Hobby) und wurde von einem Bekannten gebeten die interne Kommunikation in einem Modellbahnfahrzeug analysieren und ggf. anpassen kann. Nun kenne ich allerhand Übertragungarten und Protokolle, habe mich auch in die Brancenüblichen (DCC, RAILCOM, SUSI eingelesen) bin dabei aber auf etwas seltsames gestoßen, das ich auch nach mehrtägigrem Googeln nicht identifizieren konnte.

  • Kommunikation zwischen einem ATtiny441 und einem ATxmega32A4U
  • 3-Leitungen GND/5V/Daten
  • keine asysncrone Übertragung
  • kein Manchester-Code
  • Startbit 40 µs
  • kurze Periode ca. 16,9 µs
  • lange Periode ca. 27,5 µs
  • gemischte Phasenwechsel lang lo - kurz hi - lang lo und umgekehrt
  • sehr unterschiedliche Bitanzahl pro Übertragung

Anbei ein Screenshot vom Analysator.

Was könnte das für ein Bus sein ? Oder etwas ganz proprietäres ? Ich kann mir nicht vorstellen da man hier was ganz eigenes "erfunden" hat ...

Bevor ich da Protokoll dekodieren kann müsste ich aber erstmal die Übertragung verstehen. Die Elektronik wegschmeißen und neubauen ist sicher einfacher und billiger ..

Ich sehe es eher sportlich und würde gern verstehen was da läuft :-)

Vielen Dank und viele Grüße Uwe

Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #7348177
Lesenswert?
• ▲
▼

Uwe schrieb:

keine asysncrone Übertragung

Die sieht mir völlig asynchron aus. Denn eine synchrone Übertragung brächte ja einen Takt, zu dem sie synchron ist.

Kommunikation zwischen einem ATtiny441 und einem ATxmega32A4U

Bidirektional? Das bekommt man raus, indem man einen Widerstand in die Leitung einschleift und an beiden Seiten des Widerstands je einen Oszi-Kanal anschließt.

Ich kann mir nicht vorstellen da man hier was ganz eigenes "erfunden" hat ...

Ich würde einfach mal diesen Ansatz wagen: die Pegel sind im Grunde egal, kurz ist 0 und lang ist 1. Und jetzt müsste man sowas wie ein Poti haben, womit man Werte nachvollziehbar ändern kann.

Gast #7349284
Lesenswert?
• ▲
▼

Hallo und vielen Dank!

Manchmal sieht man den Wald vor Bäumen nicht. Hatte auch schon in diese Richtung gedacht, aber irgendwie zwei Phasenwechsel pro Bit erwartet. Und beim Flankenzählen hatte ich mich zu später Stunde einerseits verzählt und zum Anderen bin ich über die tatsächlich abweichenden Längen (32 und 48 Bit) gestolpert ... :-)

Hier das erste Ergebnis decodiert:

1
11110010111100000000000000100101                    F2 F0 00 25
2
111100001111001000110010000000010000001011111100    F0 F2 32 01 02 FC
3
111100011111000000010010001000000000000100101010    F1 F0 12 20 01 2A
4
11110001111100000000000011101111                    F1 F0 00 EF
5
111100001111000100110010000000010000001001100000    F0 F1 32 01 02 60
6
111100101111000000010010001000000000000101101110    F2 F0 12 20 01 6E

Die ersten Bytes scheinen Quelle/Ziele sein und beim letzten hätte ich jetzt eine Prüfsumme/CRC erwartet ... Dem scheint aber nicht so oder ich sehe nur die Codierung noch nicht :-(

Viele Grüße Uwe

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.