PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RS485 einseitiger aktiver Busabschluss



demmy
05.11.2012, 05:43
Hallo zusammen,

Ich würde gerne mal mein Wissen etwas auffrischen, und zwar hätte ich eine Frage aus gegebenem Anlass.
Es geht um einen RS485 Bus, bei dem ich etwas seltsammes festgestellt habe.
Und zwar, am Anfang des Busses befindet sich ein aktiver Abschlusswiderstand mit 100KR Pull-Up / Pull-down und 120R ,
am anderen Ende lediglich ein Abschlusswiderstand von 120R.

Mit dieser Konfiguration hat der Bus ständig sporadische Aussetzer. Ziehe ich den Wiederstand am Ende ab, Läuft er ohne Probleme.

Die Busleitungen sind zwischen den Teilnehmern (4 Stück) sehr kurz. Ich glaube mich waage erinnern zu können das es zwingend notwendig ist, wenn ich auf der einen Seite einen aktiven Busabschluss habe auf der anderen Seite auch einen benötige?

Erinnere ich mich da richtig? Die Kombination aus aktiv und nicht aktiv kann eigentlich nicht funktionieren oder?

Ich hoffe Ihr könnt mich ein wenig aufklären.
Gruß

PICture
05.11.2012, 13:38
Hallo!


Die Busleitungen sind zwischen den Teilnehmern (4 Stück) sehr kurz. Ich glaube mich waage erinnern zu können das es zwingend notwendig ist, wenn ich auf der einen Seite einen aktiven Busabschluss habe auf der anderen Seite auch einen benötige?

In allgemeinem geht es bei jedem Bus um optimales Dämpfen von Stehwellen, die sich bei einem übertragenen rechteckigen Signal aufsummieren könnten. Meistens reicht es optimales einseitiges Anpassen und nix zwingend ist. Als Beweis siehe praktisch ausprobierten Schaltplan und die dazugehörige Diskussion: https://www.roboternetz.de/community/threads/39246-Aktiven-Tastkopf-selber-bauen-%28fertig-zum-Nachbauen%29?p=376295&viewfull=1#post376295 . ;)

demmy
05.11.2012, 19:58
Ja soweit hab ich das auch verstanden, aber ich verstehe immer noch nicht warum der eine Widerstand auf der Seite ohne den Pullup und Pulldown zu Störungen führt wenn er gesteckt wird.

PICture
05.11.2012, 21:39
Der angesteckter Widerstand ändert den gesamten Wellenwiderstand der Busleitung, was Reflexionen des Signals wegen nicht otimalen Abschlusswiderstand verursacht. ;)

Klebwax
06.11.2012, 02:50
@demmy

Das ganze ist ziemlich komplex, da spielen mehrere Sachen eine Rolle.

Der Begiff "aktive Terminierung" passt hier eigentlich nicht gut. Er bedeuted eigentlich, daß eine aktive Schaltung, meist ein Spannungsregler, zur Terminierung von nicht differentiellen Signalen verwendet wird. Was du machst, wird "biased termination" genannt, einen guten deutschen Begriff kenne ich nicht. Dazu gibt es viele Schaltungen, wobei die Kombination von 390 Ohm Pullup/Pulldown und 220 Ohm zwischen den Signalleitungen für mich am plausibelsten aussieht. Diese gibt Impedanzmäßig dann die 120 Ohm. Deine 100k - 120 - 100k passen aber rechnerisch auch ganz gut. Dem Wellenwiderstand ist es egal, wie du deinen Abschluß realisierst, ob biased oder nicht. Wenn der Bus trennbar ist (z.B. Stecker) sollte man es auf beiden Seiten machen, damit der offene Bus einen definierten Zustand hat.

Die Geschichte mit der Terminierung hat mehrere Aspekte. Sie soll Reflektionen auf dem Kabel verhindern, da diese das Signal soweit verändern können, daß es unbrauchbar wird. Reflektionen treten an Flanken auf, kommen also bei jedem Pegelwechsel vor. Die Laufzeit eines Signals z.B. auf einer Leiterplatte ist 5ns pro Meter. Die gilt in etwa auch bei einem Kabel. Bei einer Buslänge von 1m ist das reflektierte Signal also nach 10ns wieder beim Sender. Ist der Abstand der Pegelwechsel viel größer als diese 10ns sollten die Reflektionen keine Rolle spielen. Bei längeren Bussen gilt das entsprechend.

Nun ist die Terminierung aber auch ein Lastwiderstand für den Treiber. Er muß also gegen 60 Ohm (120 || 120) immer noch ein brauchbares Signal liefern. Dieses wird gerne vernachlässigt. Wenn das nicht klappt, spielen Reflektionen auch keine Rolle mehr. Das sollte man nicht unterschätzen. Wenn man 5V an 60 Ohm erzeugen will, muß man ca. 80 mA liefern. Ein µC Ausgang z.B. schafft das nicht wirklich.

Was jetzt dein wirkliches Problem ist, läßt sich weder durch Ferndiagnose noch durch "Handauflegen" feststellen. Das muß man mit einem Scope messen. Stell mal ein paar Bilder rein, dann wird sich das schon finden.

MfG Klebwax

demmy
07.11.2012, 05:41
Ich dachte die Kombination 320 Ohm und 220 Ohm ist speziell auf den Wellenwiderstand des Profibuskabels abgestimmt!?

Ok ich werde die Tage mal ein paar Bilder dazu einstellen. Was noch zu erwähnen wäre ist, dass der Bus komplett über eine Platine läuft. da ist also kein Kabel dazwischen.

Gruß

PICture
07.11.2012, 12:46
Du kannst dir die ganze Mühe ersparen und lieber den Bus genau mit Generator und Oszilloskop vermessen. ! ;)

demmy
08.11.2012, 09:25
Also, ich habe da jetzt was gefunden, ich habe mir mal das Programm des Teilnehmers angesehen, der immer wieder die Probleme gemacht hat. Dabei bin ich darüber gestolpert, dass ein Eingangspin des µC als Ausgangspin konfiguriert war. Ich habe dies im Programm geändert, den µC neu geflashed und seit dem Läuft der Bus ohne Probleme. Kann das was mit den Busproblemen bzw. den Aussetzern zu tun gehabt haben???