Hallo miteinander, habe hier einen MAX3486 Transceiver, der wie folgt beschaltet ist: VCC = 3,3 V RE_=DE = 0 V DI = 3,3 V Zwischen A und B ist ein 120 Ohm Abschlusswiderstand angeschlossen. A und B sind aber nicht mit dem Bus verbunden. Laut Datenblatt würde ich jetzt an RO eine logische 1 erwarten, was ist sehe ist aber eine 0. Der gleiche Aufbau mit einem MAX485 an 5V resultiert in einer 1 an RO. Beide ICs sollen Fail-safe sein, d.h. bei offenen A-B Eingängen eine 1 liefern. Es wurden auch schon verschiedene Exemplare des MAX3486 getestet, sie verhielten sich alle gleich. Das Problem ist jetzt, dass eine ausgegebene 0 vom Mikrocontroller als Startbit erkannt und entsprechend nicht vorhandene Daten eingelesen werden. Offenbar werden die Inputs A und B nicht als offen erkannt. Ist das wegen des 120 Ohm Abschlusswiderstands? Natürlich könnte ich je einen Pull-up und Pull-down Widerstand an A und B hängen und so für einen Bias sorgen. Geht das auch ohne die zusätzlichen Widerstände? Was nützt das Fail-safe, wenn es durch einen Abschlusswiderstand ausgehebelt wird? Danke schon mal. Gruß Markus
:
Bearbeitet durch User
APPLICATION NOTE 367 Explanation of Maxim RS-485 Features Maxim's fail-safe parts are designed to prevent erroneous data in these conditions. The four common faults that an RS-485 system can experience are as follows: All transmitters in a system are in shutdown. The receiver is not connected to the cable. The cable has an open. The cable has a short. Damit sollte im oben beschriebenen Aufbau (idle bus) ein Fail-safe erkannt und eine 1 ausgegeben werden, oder?
:
Bearbeitet durch User
120 Ohm sind wohl kaum "open", aber die Spannung ist Null. Der Zustand ist in deiner Tabelle nicht definiert. Das IC darf also machen, was es mag. Bei Empfängern, die auch bei Kurzschluss eine 1 ausgeben, sieht die Tabelle so aus wie im Anhang.
Die Tabelle gibt folgende Bereiche an:
>= 0,2 V
<= 0,2 V
"inputs open" umfasst dann wohl den Bereich dazwischen. Hier sollte dann
Fail-safe greifen und der Output 1 sein.
In der genannten Application Note heißt es weiter:
Maxim's fail-safe parts [...] [have] receiver thresholds that are
between -50mV and -200mV. With these parts, if 0V appears across the
input stage due to a fault condition, the output is guaranteed to be a
logic high.
Das entspricht der Tabelle von Analog Devices: Der open/short Bereich
liegt zwischen den gültigen Bereichen.
Habe das ganze jetzt noch auf dem Steckbrett ausprobiert mit neuen
Transceivern. 120 Ohm zwischen A und B, also 0 V. Damit bleibt auch hier
der Output auf 0.
Das ändert sich erst, wenn eine passive Fail-safe Beschaltung
(Widerstände) dazu kommt.
Was übersehe ich?
Hi Markus, MAX3483 Datenblatt: p1: he receiver input has a fail-safe feature that guarantees a logic-high output if both inputs are open circuit. Durch den 120R Widerstand ist deltaUin = 0 -> d.h. innerhalb der 0,2V Hysterese. In Industriebussen wird daher der Bus vorgespannt. Beispiel siehe hier, R5/R6 seien mit je 750R bestückt. https://www.olimex.com/Products/Modules/Interface/MOD-RS485/open-source-hardware https://www.olimex.com/Products/Modules/Interface/MOD-RS485/resources/MOD-RS485-schematic.pdf Grüße, MarCus
Markus E. schrieb: > 120 Ohm zwischen A und B, also 0 V. Bist Du Dir da sicher daß das 0V ergibt? Du kennst nicht die Verhältnisse der Ausgänge in diesem Moment. Häng doch einfach mal ein Multimeter über den 120R und miss die Spannung.
An A und B wird mit dem Multimeter die gleiche Spannung gemessen (0,19 V). Die Differenz ist also tatsächlich 0 V. Wenn der Abschlusswiderstand (120 Ohm) entfernt wird, nehmen A und B unterschiedliche Pegel an, und der Ausgang geht auf 1. Hier greift also das Fail-safe für offene Inputs.
sieht für mich tatsächlich so aus, als wäreN das fail safe im Datenblatt des 3486 und das fail safe in der Application Note nicht dasselbe. Der 3080 hat wohl das Verhalten, das in der AN beschrieben wird, und dem sieht man es auch bei der "Receiver differential threshold voltage" an.
Auflösung: Auf meine Anfrage erklärte Maxim, dass für diesen Transceiver das Fail-safe nur offene Eingänge behandelt. Soll auch 0 V zwischen den Eingängen (idle bus) erkannt und behandelt werden, sind andere Typen notwendig.
Hallo Markus, ist mir letzte Woche auch so ergangen mit dem Startbit. Die Lösung ist aber ganz einfach. ... Einfach Statusregister des Uart abfragen auf Frame-Error. Dieses Bit wird normal gesetzt wenn das StopBit auch low ist. Dies ist dann auch so in deinem Fall. Probiere es einmal aus. Bei mir hatte es Erfolg. Arbeite mit dem selben IC.
Maxim hat verschiedene Eingangsstufen als fail safe bezeichnet. Z.B. 3072 und 3082 sind wirklich fail safe. Also auch bei Eingang kurzgeschlossen. Andere Teile eben nicht. Man muss im Datenblatt schon genau lesen ob die Schwelle mit -50 bis -150mV definiert ist. Wenn nicht, dann eben wie in RS485 Norm zwischen -200mV und +200mV, oder wie die ersten Maxim fail safe Transceiver die nur offene Eingänge leicht verziehen.
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.