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
Bei 17,8 kB für etliche Bilder ist das doch egal. Zip komprimiert ganz gut :P
>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)
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
>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.).
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.