Hilfe - serielles Protokoll vom Controller zum Display

OP #5927205
Lesenswert?

Hallo,

ich will meinen China-Elektroroller auf einen neuen, programmierbaren 
Controller umbauen. Leider ist der Tacho an dem alten Controller über 
eine serielle Kommunikation angebunden, die ich nicht entschlüsselt 
bekomme... Ich wollte eigentlich einen Arduino-Nano als Ansteuerung 
nutzen.

Ich habe eine kurze Sequenz der Komunikation beigefügt, es sieht auf den 
ersten Blick wie eine normale UART bei ca. 2400 BAUD aus, ist es aber 
nicht.

Was könnte das sein ?

Danke und Gruß
   Holger
Angehängte Dateien:
OP #5927223
Lesenswert?

Danke, ist schon mal ein Tipp, aber schein bei näherer betrachtung auch 
nicht ganz zu passen, da bei Manchester Code die 0 und 1 gleich lang 
sind.
Wenn ich mir das aufgezeichnete ansehe, dann scheint es eigentlich nur 
zwei Sequenzen zu geben, die jeweils 1,5ms lang sind und mit der 
fallenden Flanke beginnen, die eine beginnt mit 1ms low und dann 0,5ms 
high, die andere beginnt mit 0,5ms low, dann eine ms high.

Vielleich muss ich das einfach als 0 und 1 interpretieren ?

Wie taste ich das am besten mit dem Arduino ab ?
OP #5929274
Lesenswert?

So, geschafft:

0 und 1 werden über unterschiedlich lange low-high Phasen codiert, jedes 
Bit ist 1,5ms lang und beginnt mit der fallenden Flanke - 0,5ms low und 
1ms high ist eine 1, hingegen 1 ms low und 0,5ms high ist eine 0, die 
Datenübertragung beginnt mit einer Art Startbit von 1ms high. Übertragen 
werden genau 12 Byte (96 Bit), das dauert genau 145ms, dann folgt 50ms 
Pause (low). High-Pegel ist 3,2V, low Pegel ist 0V.

Diese 12Byte sind auch sehr merkwürdig aufgebaut, das zu beschreiben 
sprengt den Rahmen hier, z.b. das letzte Byte ist immer eine XOR 
Checksumme, das zweite ein umlaufender 8bit Zähler, in den anderen sind 
die Informationen wie Geschwindigkeit und Fahrstufe 1-3 usw. recht 
kryptisch und teilweise mehrfach kodiert.
Gast #5930435
Lesenswert?

Ich habe mal nachgelesen, würde sagen nein.
Diese IRC Protokolle sind meist bitphasen moduliert, wenn ich richtig 
gesehen habe, dann werden 0 und 1 unterschieden anhand der Richtung der 
Flanke in der zeitlichen Mitte des Bits, low und high Phasen sind gleich 
lang, bei „meinem“ Protokoll unterscheidet die Länge von low und high 
Phase immer, außerdem sind Taktfrequenzen, Länge des Datenworts, Anzahl 
der Dtartbits usw. unterschiedlich.

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