Signalqualität RS485-Bus dokumentieren?

Gast #1537909
Prosit Neujahr!

Ich habe zuhause einen Hausbus aus selbstgeätzten Platinen aufgebaut. 
Aufgrund einer im Frühjahr/Sommer anstehenden Erweiterung um zwei Slaves 
möchte ich jetzt mal die Signalqualität festhalten und damit eine 
Vergleichsmöglichkeit mit der Signalqualität nach der Erweiterung 
schaffen. Desweiteren könnte ein Oszillosgramm auch ggf. bei einer 
Fehlersuche nützlich sein.

Im Anhang befindet sich folgende Dateien:

Topologie.png                 : Derzeitige Busstruktur

UNIT0000.bmp bis UNIT0002.bmp : Oszillosgramm einer Bitübertragung, 
Probe an Master Ader A, Oszi-Gnd an Master-Masse Versorgungsspannung

UNIT0004.bmp bis UNIT0006.bmp : Oszillosgramm einer Bitübertragung, 
Probe an Master Ader A, Oszi-Gnd an Master Ader B

Alle BusNodes werden von einer gemeinsamen Spannungsversorung 5VDC 
versorgt, die parallel zur Busleitung verlegt ist. Baudrate ist 
50kBit/s. Der Bus lief auch schon mal zeitweise mit 125kBit/s, hielt 
dies aber für unnötig und habe die Baudrate gesenkt.

Bei den Messungen UNIT0004 bis UNIT0006 wurde das Bussignal verfälscht, 
so dass keine fehlerfreie Kommunikatin mehr stattfand.

Wie misst man denn nun richtig an einem RS485-Bus?
Welche Messungen betreiben professionelle Hardwareentwickler bei 
Projekten mit RS485-Kommunikation?

MFG
screwdriver
Angehängte Dateien:
Gast
>UNIT0000.bmp bis UNIT0002.bmp : Oszillosgramm einer Bitübertragung,
>Probe an Master Ader A, Oszi-Gnd an Master-Masse Versorgungsspannung

Das Augendiagramm mußt Du natürlich differenziell aufnehmen. also 
Differentiellen Tastkopf zwischen Ader A und B.
(Behelfsweise 2 Tastköpfe und Differenzbildung im Oszi)
Gast
Danke für die Antworten.

Augendiagramm scheint das richtige Stichwort zu sein und im WWW gibts 
dazu auch einiges, was ich mir erstmal bei Gelegenheit anschauen muß.

Anja schrieb:
> (Behelfsweise 2 Tastköpfe und Differenzbildung im Oszi)

Ja, so werd ich es wohl machen.

Aber wo speise ich das Testsignal ein und wo messe ich das. Reicht es 
aus an einem Ende das Testsignal einzuspeisen und am anderen Ende zu 
messen? Und als Signalgenerator nehme ich dann einfach den 
entsprechenden Node. Werden die anderen Nodes abgeklemmt und nur die 
Abschlußwiderstände drangelassen?

Bezgl. des Testsignals:
Ich müßte ein kleines Programm schreiben, in dem die Uart abgeschaltet 
ist und ich nur einen High-Impuls mit entsprechender Dauer sende. Z.B. 
bei den 50kBit/s beträgt die Signaldauer 20µs. Ich würde dann ein 
High-Pegel von 20µs und nach einer Pause von, sagen wir mal 100ns, den 
nächsten Impuls senden, und so weiter. Nach 20µs/100ns= 200 Impulsen 
(bzw. 199) wäre ich dann ja wieder synchron und mein Augendiagramm hätte 
200 Schattenbilder. Habe ich das richtig verstanden?

screwdriver
Gast
>Aber wo speise ich das Testsignal ein und wo messe ich das.
An allen Stellen, die senden können. Messen jeweils an den Stellen, die 
es empfangen sollen. Z.B. mit dem Master ein Telegramm senden und dies 
an jedem Knoten messen bzw. jeden Slave einzeln zum Senden auffordern 
und am Master messen.

>Reicht es
>aus an einem Ende das Testsignal einzuspeisen und am anderen Ende zu
>messen?
Nein, den damit wirst du das Best-Case-Ergebnis erhalten. (Wenn du mit 
'Ende' die Enden des Busses meinst)

>Und als Signalgenerator nehme ich dann einfach den
>entsprechenden Node.
Ja. Ein externer Signalgenerator hat u.U. ein deutlich anderes Verhalten 
(andere Impedanz). Da können die Signale dann besser oder schlechter 
aussehen.

Werden die anderen Nodes abgeklemmt und nur die
>Abschlußwiderstände drangelassen?
Nein. Gerade die Eingangsbelastung durch die Nodes, die Stichleitungen 
usw. sind die Ursache für Signalverfälschungen.

Richtig wäre es, reale Kommunikation zwischen den Nodes zu haben und 
dann an den verschiedenen Eingängen (möglichst nahe am Empfänger) zu 
messen. Augendiagramm muss nicht unbedingt sein, aber eine 
differentielle Messung ist ein Muss, denn das interpretiert ja auch der 
Empfänger. Du musst dein Oszillogramm gut interpretieren, denn die 
Qualität am Ausgang eines Senders kann beliebig schlecht sein, solange 
der bzw. die angesprochenen Empfänger ein gutes Signal sehen. Da jeder 
Senden und Empfangen kann, musst du die Signalrichtung beim Ablesen 
unterscheiden können (z.B. meist ist das Sendesignal etwas größer im 
Pegel oder du hast ein zusätzliches Signal auf der Node, das dir 
Auskunft über die aktuelle Richtung gibt).

Für die Erstellung von Augendiagrammen sind Randomsignale notwendig, 
einzelne Pulse führen nicht zu einem brauchbaren Ergebnis. Es ist bei 
Augendiagrammen in der Topologie auch schwieriger zu unterscheiden, 
welcher Anteil vom Empfangssignal und welcher vom Senden am Knoten 
kommt. Das muss schon unterschieden werden (s.o.).
Gast
HildeK schrieb:
>>Aber wo speise ich das Testsignal ein und wo messe ich das.
> An allen Stellen, die senden können. Messen jeweils an den Stellen, die
> es empfangen sollen. Z.B. mit dem Master ein Telegramm senden und dies
> an jedem Knoten messen bzw. jeden Slave einzeln zum Senden auffordern
> und am Master messen.

Ohne Fleiß kein Preis, was? ;-)

Ich habe vorhin nochmal das Oszi an den Bus gehangen und so wie es der, 
die oder das Anja empfohlen hat, zweikanalig gemessen. Kanal 1 ist B, 
Kanal 2 ist A und die rote Meßkurve ist die Differenz A-B in doppelter 
Größe.
In den Oszillogrammen erkennt man, dass die Signalflanken weniger als 1% 
einer Bitdauer ausmachen. Ich denke, ein Augendiagramm wäre dann ein 
elend langes Rechteck mit runden Ecken, oder?

screwdriver
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.