Hi, Ich beschäftige mich zur Zeit mit RS485 und habe noch einige Fragen offen. Das geplante System besteht aus 1 Master und 10 Slaves, wobei die Kabellänge die 3m nicht überschreiten wird. 1.) Man muss/soll ja das System mit 120Ohm terminieren, jedoch stellt sich mir die Frage wo? Wenn ich 10 Slaves habe, alle in der näheren Umgebung, dann sollte es ja reichen, nur einen zu terminieren, oder? Sonst wird das System überlastet. 2.) Es gibt mittlerweile eine riesige Anzahl an Transceiver IC's, wobei ich den Überblick an die genauen Anforderungen noch nicht ganz habe. Soweit ich weiß, sollte der Transceiver "fault protected" sein, so dass bei freiem Bus keine falschen Signale empfangen werden. Die Geschwindigkeit ist mir nicht so wichtig, da ich sowiso nur mit 115200baud/s übertragen werden. Zusätzlich muss der IC noch 3.3V kompatibel sein. Gibt es noch etwas anderes, wichtiges auf das ich achten muss bei der Wahl eines Tranceivers? Z.B sowas hier habe ich gefunden, brauchbar? https://www.mouser.ch/datasheet/2/256/MAX14775E-MAX14776E-1076558.pdf Grüsse Bert
Ich verwende öfters den Max1487 wegen der geringeren Buslast (bis 128 Teilnehmer) und Stromaufnahme. Der geht aber nur bis 2,5Mbit/s.
Man terminiert den Bus an seinen Enden:
1 | T =================================================== T |
2 | | | | | | |
3 | 1 2 3 4 5 |
(1-5 sollen die Teilnehmer sein, T sind die Terminierungen.
Bert S. schrieb: > Z.B sowas hier habe ich gefunden, brauchbar? > https://www.mouser.ch/datasheet/2/256/MAX14775E-MAX14776E-1076558.pdf Der erfüllt alle von Dir genannten Anforderungen. Das hier: "±65V Fault Protected 500kpbs" macht ihn vermutlich teurer, als welche, die keine so hohen Fehlspannungen aushalten. Grundsätzlich ist es empfehlenswert, einen Transceiver mit möglichst geringer Datenrate zu wählen (also keinen, in Deinem Falle eher den 500kbit/s als den 20Mbit/s), das beugt EMV-/Signalintegritätsproblemen vor. Der Punkt Terminierung wurde schon beantwortet.
:
Bearbeitet durch User
Ok, dank euch für die Ratschläge. M.A. S. schrieb: > Grundsätzlich ist es empfehlenswert, einen Transceiver mit möglichst > geringer Datenrate zu wählen (also keinen, in Deinem Falle eher den > 500kbit/s als den 20Mbit/s), das beugt EMV-/Signalintegritätsproblemen > vor. Dann nehme ich wohl den 500kbit/s. Stefanus F. schrieb: > Man terminiert den Bus an seinen Enden: > T =================================================== T > | | | | | > 1 2 3 4 5 > > (1-5 sollen die Teilnehmer sein, T sind die Terminierungen. Ok, dann sollte man also nebst dem Master ein Endboard bestimmen mit der Terminierung und nur 2 Eingängen, auf allen anderen hat man dann 2 Eingänge und 2 Ausgänge ohne Terminierung?
:
Bearbeitet durch User
Die Terminierung gehört an die Ende des Bus-Kabels. Unabhängig davon, ob dort ein Busteilnehmer angeschlossen ist, oder nicht. Was meinst du mit "2 Eingänge" und "2 Ausgänge"? Der RS485 Bus hat normalerweise zwei Drähte, die bidirektional verwendet werden.
Stefanus F. schrieb: > Was meinst du mit "2 Eingänge" und "2 Ausgänge"? Der RS485 Bus hat > normalerweise zwei Drähte, die bidirektional verwendet werden. Ich meinte nur für das Anzapfen der Leitungen an einem Board/Slave. Die Leitungen rein, anzapfen und wieder raus.
Diese Antwort sagt uns, dass nicht das gemeint ist, was ich gleich schreibe: Bert S. schrieb: > Ich meinte nur für das Anzapfen der Leitungen an einem Board/Slave. Die > Leitungen rein, anzapfen und wieder raus. Denn/aber: Stefanus F. schrieb: > Was meinst du mit "2 Eingänge" und "2 Ausgänge"? Der RS485 Bus hat > normalerweise zwei Drähte, die bidirektional verwendet werden. Das muss nicht so sein. Es gibt, ausser der Halbduplex-Variante auch eine Vollduplex-Variante, bei der zwei Leitungspaare verlegt sind, so dass ein Slave zeitgleich mit dem Master senden kann.
:
Bearbeitet durch User
> Das muss nicht so sein.
Ist schon klar, deswegen das Wort "normalerweise".
Bert S. schrieb: > wobei die > Kabellänge die 3m nicht überschreiten wird. [...] > 115200baud [...] > Man muss/soll ja das System mit 120Ohm terminieren Bei der Buslänge käme man IMHO ohne Terminierung aus.
Bei RS422 ist jede Adernpaar unidirektional. Bei RS485 gibt es unidirektional und bidirektional. Die Pegel und Widerstände sind etwas anders definiert.
Ich habe mal eine Schaltung mit dem RS485 Transceiver designt. Nun gibt es im Datenblatt keine Informationen bezüglich reference design und ich wollte mal fragen, ob das so in etwa passt? Ich denke DE benötigt sicher einen Pull Down, so das der Treiber beim initialisieren sicher auf LOW ist. Denn 100nF für VCC spendieren macht sicher auch sinn. Die 100Ohm Widerstände würde wahrscheinlich nicht unbedingt benötigt, schützen aber die Pins bei einem Kurzschluss. Mit dem Jumper kann man dann die Slaves ohne Terminierung machen und nur das Ende terminieren.
:
Bearbeitet durch User
Spielt es noch eine Rolle, wo genau die Terminierungswiderstände sind beim Layoutdesign? Sollten diese hinter den A und B Pins sein oder können die auch direkt Vorne dran sein?
würde einen pullup-R (1k) an A vorsehen, wenn alle Transmitter deaktiviert sind, kann es sonst zu undefinierten Zuständen an den Receiver-Ausgängen kommen.
Jim M. schrieb: > Bert S. schrieb: >> wobei die >> Kabellänge die 3m nicht überschreiten wird. [...] >> 115200baud [...] >> Man muss/soll ja das System mit 120Ohm terminieren > > Bei der Buslänge käme man IMHO ohne Terminierung aus. Was bei fehlender Terminierung passiert, kann man hier lesen: https://de.wikipedia.org/wiki/Reflexion_(Physik)#Offenes_Ende Zitat Wikipedia: Kabel mit definierter Länge, die am Ende kurzgeschlossen, angepasst oder offen sind, werden als Zeitglied (Laufzeit), zur Impulsverzögerung oder -speicherung, als Leitungskreis (Schwingkreis, Sperrkreis, Filter, Impedanztransformation, Phasendrehung) oder mit veränderlicher Länge zum Messen der Wellenlänge bzw. Frequenz eingesetzt.
tommy schrieb: > Was bei fehlender Terminierung passiert, kann man hier lesen: Schön Wikipedia zitiert. Aber Jim hat mit seiner Einschätzung trotzdem völlig Recht: Jim M. schrieb: > Bei der Buslänge käme man IMHO ohne Terminierung aus. Da die Anstiegszeit des Signals deutlich länger ist als die Laufzeit auf der maximalen Leitungslänge könnte man hier tatsächlich ohne Terminierung arbeiten (wenn man z.B. Strom sparen möchte).
Achim S. schrieb: > tommy schrieb: >> Was bei fehlender Terminierung passiert, kann man hier lesen: > > Schön Wikipedia zitiert. Aber Jim hat mit seiner Einschätzung trotzdem > völlig Recht: > > Jim M. schrieb: >> Bei der Buslänge käme man IMHO ohne Terminierung aus. > > Da die Anstiegszeit des Signals deutlich länger ist als die Laufzeit auf > der maximalen Leitungslänge könnte man hier tatsächlich ohne > Terminierung arbeiten (wenn man z.B. Strom sparen möchte). Ich sehe das auch so: weiter oben ist die Rede von: Länge <= 3m, Verwendung des langsameren Transceivers (max. 500kb/s). Drei Meter Kabellänge machen was? 30ns für hin und zurück (bei geschätzter Ausbreitungsgeschwindigkeit von 3/2c). Der langsamere Typ hat lt. Datenblatt Mindest-Rise-und Fall-Times von 105ns. Aber Vorsicht: wählt man den schnelleren Typen, dann sind es lt. Datenblatt max. 15ns, typisch 8ns (Mindestzeit nicht angegeben). DANN würde es schon kritisch. Letzendlich: Termination mag in manchen Fällen nicht wichtig sein, schadet aber nicht.
J Zimmermann schrieb: > würde einen pullup-R (1k) an A vorsehen, wenn alle Transmitter > deaktiviert sind, kann es sonst zu undefinierten Zuständen an den > Receiver-Ausgängen kommen. Ich dachte, dieser Baustein handelt diesen Fall intern, "fault protection" genannt? Früher soll es ja so gewesen sein, dass man noch einen Pull Up und Pull Down für A und B verwenden musste.
Bert S. schrieb: > J Zimmermann schrieb: >> würde einen pullup-R (1k) an A vorsehen, wenn alle Transmitter >> deaktiviert sind, kann es sonst zu undefinierten Zuständen an den >> Receiver-Ausgängen kommen. > > Ich dachte, dieser Baustein handelt diesen Fall intern, "fault > protection" genannt? Früher soll es ja so gewesen sein, dass man noch > einen Pull Up und Pull Down für A und B verwenden musste. Nee. Fault Protection heißt, dass er (der Baustein) Dir in einem bestimmten Überspannungsintervall nicht abraucht.
M.A. S. schrieb: > Nee. Fault Protection heißt, dass er (der Baustein) Dir in einem > bestimmten Überspannungsintervall nicht abraucht. Ok, ja das schon, aber im Datenblatt des MAX1475E steht: These transceivers are optimized for robust communication in noisy environments. A large 200mV (typ) hysteresis on receiver inputs ensure for high noise rejection and a failsafe feature guarantees a logic-high on the receiver output when the inputs are open or shorted. Driver outputs are protected against short-circuit conditions Dieses failsafe feature habe ich gemeint.
Kenne den MAX1475 nicht so, hab immer mit dem MAX485 gearbeitet und dort böse Überraschungen erlebt (und viel Zeit gebraucht, bis es Klick gemacht hat!). Würde deshalb beim PCB-Design für diesen und den Abschluss-R was vorsehen, zwei Widerstände fressen doch keinen Platz. Mfg
Bert S. schrieb: > a failsafe > feature guarantees a logic-high on the receiver output > when the inputs are open or shorted. ... > Dieses failsafe feature habe ich gemeint. OK, dazu kann ich bei diesem Baustein nichts sagen. J Zimmermann schrieb: > und dort > böse Überraschungen erlebt (und viel Zeit gebraucht, bis es Klick > gemacht hat!). Ich habe mal böse Überraschungen erlebt, als ich Pullup und Pulldown Fail-Save-Bias-Widerstände falsch ausgelegt hatte (zu große Widerstände => zu kleine Spannungsdifferenz zwischen A und B). Das ganze oszillierte wild.
Bert S. schrieb: > .... Das geplante System besteht aus 1 Master und 10 Slaves, wobei die > Kabellänge die 3m nicht überschreiten wird.... > > 1.) Man muss/soll ja das System mit 120Ohm terminieren, jedoch stellt .... > .... > 115200baud/s übertragen werden. Zusätzlich muss der IC noch 3.3V > kompatibel sein. Gibt es noch etwas anderes, wichtiges auf das ich > achten muss bei der Wahl eines Tranceivers? Z.B. mit MAX3072 brauchst bei diesen Rahmenbedingungen keine Terminierung und keine "Verzug-Widerstände". Mit so einem Slew Rate Limited Treiber kannst locker 10x solche Leitungslängen mit 250kbps unterminiert und in wilder Verkabelung sicher betreiben. Die bei Maxim Fail-Safe genannte Funktion verhindert falsche Nullen am RX auch wenn kein Sender aktiv ist und ohne "Verzug-Widerstände". Brauchst also nicht. Hier würde eine Terminierung nur unnötig Energie verbraten. Kannst aber natürlich einbauen. Bei der Geschwindigkeit (Slew Rate!) und 3m ist aber völlig wurscht wo und bringt dir nichts.
:
Bearbeitet durch User
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.