Forum: Mikrocontroller und Digitale Elektronik RS232 mit unbekannten Parametern auslesen


von Thomas R. (gummifisch)


Lesenswert?

Hallo erstmal,

wie kann ich die Übertragungsgeschwindigkeit, Framelänge, usw.
einer unbekannten Seriellen Schnittstelle herausbekommen?

Hier mein Vorhaben:
Ich hab hier eine alte analoge Automatische Satanlage.
In der Außeneinheit sitz die Motor-Steuerplatine die
Befehle vom Receiver erhält.
Auf der Steuerplatine und auf einer Platine im Receiver sitzt
jeweils ein MAX232 bzw. 202 die ziemlich direkt mit RX und TX Leitungen 
verbunden sind.
Jetzt würde ich gerne versuchen herauszubekommen wie die Beiden 
kommunizieren und ggf. einen Arduino die Steuerung übernehmen lassen.

Gruß
Gummifisch

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

(Speicher-)Oszilloskop oder Logikanalysator dranklemmen. Damit lässt 
sich recht schnell die Baudrate erkennen, und dann auch die 
Übertragungsparameter (Wortlänge und gegebenenfalls Parität).

: Bearbeitet durch User
von STK500-Besitzer (Gast)


Lesenswert?

entweder einen Logik-Analysator in dir Leitung reinhören lassen oder 
verschiedene Baudraten durchtesten, bis was sinnvolles zu sehen ist.
Was sinnvolles kann sein, dass Daten sich wiederholen.
Guck doch mal auf der Platine, ob da ein (dir) bekannter Controller oder 
ein Baudraten-Quarz zu finden ist.

von Wolfgang A. (Gast)


Lesenswert?

Rufus Τ. Firefly schrieb:
> (Speicher-)Oszilloskop oder Logikanalysator dranklemmen. Damit lässt
> sich recht schnell die Baudrate erkennen,

Erstmal muss man die Anlage zum Sprechen bringen. Eventuell kommt beim 
Einschalten eine Meldung aus der Schnittstelle. Oder sie erwartet 
Steuersignale wg. Hardware Handshake.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wolfgang A. schrieb:
> Erstmal muss man die Anlage zum Sprechen bringen.

Da beide Komponenten (Receiver und "Außenanlage") vorhanden sein sollen, 
halte ich das Problem für überschaubar.

von Thomas R. (gummifisch)


Angehängte Dateien:

Lesenswert?

Seit ihr schnell.
Logic Analyser hab ich mal über den Arduino gemacht.
Leider hab ich von Logic Analysern nicht wirklich einen Plan,
man natürlich auch verstehen was er einem erzählt.

Ich hab mal einen Screenshot eingefügt.
Die kürzeste Periode ist 1.0 ms.
SR war 2 kH.

von Ulrich H. (lurchi)


Lesenswert?

In der Regel kriegt man die Parameter raus.

Wenn man Pech hat, und immer nur bestimmte Daten übertragen werden, 
kommen immer nur vielfache der eigentlich kürzesten Zeiten vor, so dass 
man in dem Sonderfall die Parameter nicht bestimmen kann. Die Daten sind 
dann einfach mehrdeutig weil z.B. die Bits immer paarweise gleich sind.

von Detlef K. (adenin)


Lesenswert?

Thomas R. schrieb:
> Ich hab mal einen Screenshot eingefügt.
Hübsch mit den Daten von Ch2.

Thomas R. schrieb:
> Die kürzeste Periode ist 1.0 ms.
> SR war 2 kH.
Wenn SR die Samplerate ist, wen wundert's?

Dar Typ der Satan-lage ist natürlich geheim! (Sonst könnte man ja auf 
die abwegige Idee kommen, zu googlen)

von Georg (Gast)


Lesenswert?

Thomas R. schrieb:
> Ich hab mal einen Screenshot eingefügt.
> Die kürzeste Periode ist 1.0 ms.

Versuch mal höhere Auflösung. Für 9600 Baud wäre die Impulslänge 1,04 
ms.

Georg

von Detlef K. (adenin)


Lesenswert?

Georg schrieb:
> Thomas R. schrieb:
>> Ich hab mal einen Screenshot eingefügt.
>> Die kürzeste Periode ist 1.0 ms.
>
> Für 9600 Baud wäre die Impulslänge 1,04 ms.
>
> Georg

Das ist natürlich falsch.

von Thomas R. (gummifisch)


Lesenswert?

Georg schrieb:
> Für 9600 Baud wäre die Impulslänge 1,04

1,04 ms Pro Datenbyte dh. je nachdem ca. 10 Bit.
Der LogicSniffer zeigt 1 ms pro Bit an, nicht pro Datenbyte.
Das dürften ca. 100 Baud sein, was mir etwas wenig vorkommt.

Ich werde heute nochmal eine höhere Auflösung probieren und
versuchen mal ein Byte einzufangen.
Die Messzeit vom Arduino ist natülich extrem begrenzt.

Detlef Kunz schrieb:
> Dar Typ der Satan-lage ist natürlich geheim! (Sonst könnte man ja auf
> die abwegige Idee kommen, zu googlen)

Ist natürlich nicht geheim!
Der "Satan" ist ne alte Oyster Vision.

Gummifisch

von Volker S. (vloki)


Lesenswert?

Thomas R. schrieb:
> 1,04 ms Pro Datenbyte dh. je nachdem ca. 10 Bit.
> Der LogicSniffer zeigt 1 ms pro Bit an, nicht pro Datenbyte.
> Das dürften ca. 100 Baud sein, was mir etwas wenig vorkommt.

Also BAUD ist Bit/s!
Dann entspricht 1ms Pulslänge (nicht Periode)1000 BAUD und es könnten 
(theoretisch) 100 Bytes pro Sekunde übertragen werden.
Ist natürlich immer noch wenig ;-)
Deine Samplerate ist wie oben schon angemerkt natürlich viel zu langsam.
Wo ist das überhaupt gemessen, vor oder nach dem MAX... ?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Thomas R. schrieb:
> Ich hab mal einen Screenshot eingefügt.
Die Masse hast du da aber schon auch mit angeschlossen? Das könnte 
ordinärer Netzbrumm sein, was man da so im 10ms-Gleichtakt vor sich 
hintoggeln sieht...

: Bearbeitet durch Moderator
von Thomas R. (gummifisch)


Lesenswert?

Gemessen hab ich ohne Masse und zwischen den beiden MAX.

Vom Receiver kein Netzbrummen sein,
der läuft über eine Autobatterie.

Kann der 10ms-Gleichtakt von einem Quarz kommen?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Thomas R. schrieb:
> Gemessen hab ich ohne Masse

Das musst Du aber.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Volker SchK schrieb:
> Also BAUD ist Bit/s!

Darüber kann man streiten. Stimmt oft, aber längst nicht immer ...

von Volker S. (vloki)


Lesenswert?

Thomas R. schrieb:
> Gemessen hab ich ohne Masse und zwischen den beiden MAX.
>
> Vom Receiver kein Netzbrummen sein,
> der läuft über eine Autobatterie.
>
> Kann der 10ms-Gleichtakt von einem Quarz kommen?

Ohne Masse misst man nur Netzbrumm !
10ms Pulse -> 20ms Periode -> 50Hz

von Volker S. (vloki)


Lesenswert?

Frank Esselbach schrieb:
> Volker SchK schrieb:
>> Also BAUD ist Bit/s!
>
> Darüber kann man streiten. Stimmt oft, aber längst nicht immer ...

Uups echt, ist mir anscheinend noch nie begegnet ...
(habe wohl nur "binäre" Modulationsformen genutzt ;-)

: Bearbeitet durch User
von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Frank Esselbach schrieb:
> Darüber kann man streiten. Stimmt oft, aber längst nicht immer ...

Bei RS232 ist dem so. 9600 Baud sind 9600 Bit/s, wobei in diese Zählung 
auch Rahmenbits (Start- und Stopbits) einfließen. Bei 8n1 werden also 
960 Bytes/sec übertragen.

Eine UART tastet das Signal üblicherweise* mit der 16fachen Baudrate ab 
- also bei 9600 Baud mit 153.6 kHz.

Die LA-Messung sollte also mit a) Massebezug und b) ausreichend hoher 
Abtastrate wiederholt werden.


*) die im AVR kann auch dazu gebracht werden, mit 8facher Baudrate 
abzutasten, das allerdings kann dann leichter zu Empfangsfehlern führen, 
wenn die Signalform in gestörter Umgebung nicht ganz einwandfrei ist.

von Nocamper (Gast)


Lesenswert?

Bei den Preisen für Ten Haas Produkte reißen sie dir die Kiste für 
Beträge
bis 1000 € aus den Händen egal ob Analog85 oder digital 85, von dem Geld 
kannst du dir was zum Basteln kaufen......

von Thomas R. (gummifisch)


Lesenswert?

Nocamper schrieb:
> Bei den Preisen für Ten Haas Produkte reißen sie dir die Kiste für
> Beträge
> bis 1000 € aus den Händen egal ob Analog85 oder digital 85, von dem Geld
> kannst du dir was zum Basteln kaufen......

Wieso zum Basteln kaufen, hab ich doch.
50 Tacken waren zum Basteln wohl nicht zu viel.

von Nocamper (Gast)


Lesenswert?

OK, für 50,00 € hätte ich die auch genommen und geschaut.
Die Datenübertragung wird jedoch über das Sat Kabel vom Receiver selber 
übernommen. Das mußt du also noch etwas mehr schauen....

von Thomas R. (gummifisch)


Lesenswert?

Der Receiver wertet das analoge Sat-Signal aus und schickt Steuerbefehle 
über die RS232 an das Motorsteuergerät in der Außeneinheit.
Das funktioniert natürlich nach der Abschaltung der analogen Sender 
nicht mehr.
Die Idee ist einen Arduino den Ist-Zustand abzufragen (elek.Kompass und 
Neigungsmesser, GPS) und die Außeneinheit über die Steuerbefehle auf den 
Soll zu bringen.
Mit Glück reicht die Genauigkeit aus, sich eine Signalauswertung vom Sat 
zu sparen.

von Thomas R. (gummifisch)


Lesenswert?

So,
bin etwas weiter.
Ich hab mal hterm genommen, danach sind es 9600 Baud.

Jetzt kann man auch sehr schön die einzelnen Pakete sehen.

von Fuege (Gast)


Lesenswert?

9600, 8, N,1

Passt fast immer?

von Wolfgang A. (Gast)


Lesenswert?

Volker SchK schrieb:
> Also BAUD ist Bit/s!

Auf einer RS232-Schnittstelle vielleicht, bei der ein Bit pro Symbol 
übertragen wird. Allgemein ist Baud die Einheit für die Symbolrate. Aber 
was schreibe ich das? Kann doch jeder nachlesen.
https://de.wikipedia.org/wiki/Baud

von vloki (Gast)


Lesenswert?

Wolfgang A. schrieb:
> Auf einer RS232-Schnittstelle vielleicht,

Gehts hier nicht genau darum du Dummschwätzer ?
(Test ob das hier zensiert wird ;-)

von Cheffe (Gast)


Lesenswert?

Ein Baud ist eine Informationseinheit pro Sekunde!

Cheffe

von vloki (Gast)


Lesenswert?

Cheffe schrieb:
> Ein Baud ist eine Informationseinheit pro Sekunde!

Bla, bla, bla ;-)

von Thomas R. (gummifisch)


Lesenswert?

Irgendwie geht eure Diskussion am Thema vorbei.
Ich denke jeder weiß vom Grunde her was gemeint ist.

von vloki (Gast)


Lesenswert?

Thomas R. schrieb:
> Irgendwie geht eure Diskussion am Thema vorbei.
> Ich denke jeder weiß vom Grunde her was gemeint ist.

Sollte man meinen ;-)
Hast du noch mal gemesen ?
(mit höherer Abtastrate, Massebezug, Oszilloskop oder so ...)

von vloki (Gast)


Lesenswert?

vloki schrieb:
> Thomas R. schrieb:
>> Irgendwie geht eure Diskussion am Thema vorbei.
>> Ich denke jeder weiß vom Grunde her was gemeint ist.
>
> Sollte man meinen ;-)
> Hast du noch mal gemesen ?
> (mit höherer Abtastrate, Massebezug, Oszilloskop oder so ...)

Sorry habe ich bei dem ganzen Müll übersehen
Thomas R. schrieb:
> So,
> bin etwas weiter.
> Ich hab mal hterm genommen, danach sind es 9600 Baud.
>
> Jetzt kann man auch sehr schön die einzelnen Pakete sehen.

von Manfred S. (manfred_s127)


Lesenswert?

Hallo Leute,
hallo Thomas,

habe grade sowas ähnliches vor.
Eine alte "analoge" Außeneinheit auf einem Womo (Qyster Digital von 
2007) auf eien "neue" mc Steuerung umzubauen und sammle grade Infos.
Hast du Erkenntisse oder schon fertige Lösungen?

Viele Grüße
Manfred

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.