Forum: Mikrocontroller und Digitale Elektronik 5V RS-485 an einem 3.3V Mikrocontroller


von D a v i d K. (oekel) Benutzerseite


Lesenswert?

Hi,

ich benötige ein RS-485 mit 5V-Pegel an einem MC mit 3.3V 
Versorgungsspannung (Arm Cortex M3).

Bei 5V MCs (Atmega) hatte ich immer den 75176A, der laut Datenblatt
http://pdf1.alldatasheet.com/datasheet-pdf/view/213948/TI/SN75176AD.html
auch schon bei 2.4V schaltet. (Also nach meiner Einschätzung auch mit 
3.3V laufen sollte)

Jetzt muss man aber ja nicht nur die TXD Seite sondern auch die RXD 
betrachten und dort habe ich nun etwas Angst, dass der h75176A mit 
seinen +5V Versorgungsspannung mir den MC brutzelt.

Ist dies der Fall?
Oder kann ich den 75176A problemlos verwenden?
Wenn nicht, welche Alternativen gibt es.

Danke euch.

Grüße Oekel

von Jim M. (turboj)


Lesenswert?

> der h75176A mit
> seinen +5V Versorgungsspannung mir den MC brutzelt
> Ist dies der Fall?

Keine Ahnung, Du schreibst nicht welchen Cortex M3 Du benutzt. Der 
LPC1768 hat z.B. auch 5V tolerante Eingänge, viele andere aber nicht.

> Wenn nicht, welche Alternativen gibt es

Spannungsteiler mit 2 Widerständen...

von (prx) A. K. (prx)


Lesenswert?

Bei Spannungsteiler beachten, dass ein TTL-Ausgang keine 5V liefert, 
sondern 3,5-4V.

von Googler (Gast)


Lesenswert?

A. K. schrieb:
> Bei Spannungsteiler beachten, dass ein TTL-Ausgang keine 5V liefert,
> sondern 3,5-4V.

Der kann schon 5V liefern, muss es nur nicht. ;-D

von D a v i d K. (oekel) Benutzerseite


Lesenswert?

Jim Meba schrieb:

> Keine Ahnung, Du schreibst nicht welchen Cortex M3 Du benutzt. Der
> LPC1768 hat z.B. auch 5V tolerante Eingänge, viele andere aber nicht.

LPC1758
Und wenn ich es richtig gelesen habe, dann hat er ebenfalls die 5V 
tolerante Eingänge.

(Eine Bestätigung kurz wäre nett)

Danke

Grüße Oekel

von (prx) A. K. (prx)


Lesenswert?

Googler schrieb:
> Der kann schon 5V liefern, muss es nur nicht. ;-D

Dürfen tut er schön, können aber nicht.

Jedenfalls nicht wenn wirklich mit TTL Ausgang ausgestattet, wie der 
erwähnte 75176A. Der kommt mit seiner NPN-Darlington-Stufe nicht 
wesentlich über 3,5V raus. Wesentlich mehr gibts eigentlich nur bei 
TTL-kompatiblen CMOS-Ausgängen oder passivem Pullup.

von AndreasH (Gast)


Lesenswert?

Hi,

warum nimmst Du nicht einfach RS485 Treiber/Emfpänger mit 3.3V Pegel ?
Ist doch viel einfacher.

Andreas

von Lass Sein (Gast)


Lesenswert?

>75176A

Aaaaaaahhhhhhhh. Schon mal deren Stromverbrauch mit was Modernem 
verglichen ? Die verbraten 40mA ohne Last, waehrend was Modernes mit 
0.4mA auskommt.

von D a v i d K. (oekel) Benutzerseite


Lesenswert?

Lass Sein schrieb:
>>75176A
>
> Aaaaaaahhhhhhhh. ....

Schreien könnte ich nun auch, denn wieso schlägst du mir nicht etwas 
"modernes" vor? So kann ich damit nicht viel anfangen.

Und produziert mit ein "RS485 Treiber/Emfpänger mit 3.3V Pegel" nicht 
dann auch einen 3.3V Bus?

Ich benötige dort aber einen 5V Bus (DMX).
Die Datenblätter verwirren mich da ein wenig.

Und wo wir gerade bei Verwirrung sind, kann mir Jemand sagen, wo der 
GND-Pin beim LPC1758 ist? Scheint dort irgendwie anders zu heißen.

Grüße Oekel

von Googler (Gast)


Lesenswert?

A. K. schrieb:
> wie der
> erwähnte 75176A

Jau, ne alte Krücke ;-)

Lt. Datenblatt 3,7V. Bei TTL denke ich natürlich an CMOS, denn Strom ist 
teuer. ;-)

von AndreasH (Gast)


Lesenswert?

Hi,

schau Dir mal z.B. die ADM307xE von Analog Device an.

Die GND Pins beim LPC1758 nennen sich VSS.

Andreas

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

D a v i d K. schrieb:
> Und produziert mit ein "RS485 Treiber/Emfpänger mit 3.3V Pegel" nicht
> dann auch einen 3.3V Bus?
>
> Ich benötige dort aber einen 5V Bus (DMX).
> Die Datenblätter verwirren mich da ein wenig.

Das spielt überhaupt keine Rolle. RS485 ist RS485. Was an dem Treiber 
dranhängt ist nicht von Belang. Der RS485-Pegel für HIGH/Low ist 
größer+-200mV Differenz. Ob die Differenzpegel gegen 0V und 5V/-5V oder 
gegen 0V und 3V/-3V laufen, ist uninteressant. Die RS485-Treiber 
verkrafen nach Spezifikation +12 und -7V an ihren Eingängen, gemessen 
gegen Masse. Du kannst also 3V und 5V-Systeme über den Bus beliebig 
mischen.

von Bronco (Gast)


Lesenswert?

D a v i d K. schrieb:
> Schreien könnte ich nun auch, denn wieso schlägst du mir nicht etwas
> "modernes" vor? So kann ich damit nicht viel anfangen.

Z.B. TI SN65HDV08 und Derivate
http://www.ti.com/product/sn65hvd08
Läuft mit 3,3V.

Hab keine Erfahrung mit diesen RS485-Treibern, aber die vergleichbaren 
CAN-Treiber (SN65HDV230 und Derivate) laufen einwandfrei mit meinem 3,3V 
dsPIC.

von rem (Gast)


Lesenswert?

Hallo David, du kannst einen 3,3V RS485 Treiber nehmen! Wie Knut sagt, 
kommt es nur auf die Differenz an. Ich hab das auch schon getestet. An 
dem Bus hängen 3,3V und 5V RS485 Treiber dran und es läuft. Ich hab den 
Max3430 benutzt.
rem

von Gregor B. (Gast)


Lesenswert?

D a v i d K. schrieb:
> wieso schlägst du mir nicht etwas
>
> "modernes" vor? So kann ich damit nicht viel anfangen.

Texas Instruments
SN65HVD72
SN65HVD75
SN65HVD78

Eigenverbrauch unter 1mA.

von D a v i d K. (oekel) Benutzerseite


Lesenswert?

Knut Ballhause schrieb:
> D a v i d K. schrieb:
>> Und produziert mit ein "RS485 Treiber/Emfpänger mit 3.3V Pegel" nicht
>> dann auch einen 3.3V Bus?
>>
>> Ich benötige dort aber einen 5V Bus (DMX).
>> Die Datenblätter verwirren mich da ein wenig.
>
> Das spielt überhaupt keine Rolle. RS485 ist RS485. Was an dem Treiber
> dranhängt ist nicht von Belang. Der RS485-Pegel für HIGH/Low ist
> größer+-200mV Differenz. Ob die Differenzpegel gegen 0V und 5V/-5V oder
> gegen 0V und 3V/-3V laufen, ist uninteressant. Die RS485-Treiber
> verkrafen nach Spezifikation +12 und -7V an ihren Eingängen, gemessen
> gegen Masse. Du kannst also 3V und 5V-Systeme über den Bus beliebig
> mischen.

Bitte haltet mich nicht für völlig lernresistent, aber ich habe den Bus 
stehts mit 0 und 5V betrieben und muss mich da gerade etwas reindenken, 
was mir noch nicht so recht gelingen will.

Ich möchte/muss einen DMX-Bus betreiben:
http://de.wikipedia.org/wiki/DMX_(Lichttechnik)

Und es steht überall geschrieben "DMX basiert auf RS-485" jedoch nicht, 
dass es genauso tollerant ist und mit diesem Differezpegel auskommt.
Ich habe einfach die Befürchtung, dass diverse Chinakracher (wie es in 
diesem Bereich der Bühnentechnik nicht selten ist) dann mit meinem Gerät 
nicht funktionieren.

Oder verstehe ich euch grundlegend falsch?
Für mich heißt ein Treiber mit 3.3V, dass er zum MC mit 3.3V 
kommuniziert und auch auf die RS485 Bahn 0 und 3.3V schickt.

In meinem Kopf möchte ich aber immer noch gerne einen Treiber, der mit 
5VCC Eingangsspannung ein RS485 Signal mit 0V & 5V erzeugt und dann mit 
dem MC nur mit 3.3V kommuniziert.

Ich befürchte, ich sehe den springenden Punkt noch nicht, bitte 
formuliert es mir doch noch Mal "for Dymmies"

Danke Oekel

von (prx) A. K. (prx)


Lesenswert?

D a v i d K. schrieb:
> Bitte haltet mich nicht für völlig lernresistent, aber ich habe den Bus
> stehts mit 0 und 5V betrieben und muss mich da gerade etwas reindenken,
> was mir noch nicht so recht gelingen will.

Ein RS485-Bus arbeitet über die Spannungsdifferenz zwischen den beiden 
Leitungen. Die absoluten Pegel der beiden Leitungen dürfen dabei im 
Bereich -7..+12V liegen, nur die Differenz zählt.

Das Treiber-IC muss nur in der Lage sein, mit Abschluss eine Differenz 
von mindestens 1,5V zu erzeugen. Was mit dem richtigen Treiberbaustein 
auch bei einer 3,3V-Versorgung machbar ist. Für den Bus ist es völlig 
irrelevant, ob das Treiber-IC mit 3,3V oder mit 5V versorgt wird.

Folglich gibt es keinen 5V-RS485-Bus und keinen 3,3V-RS485-Bus, sondern 
nur einen RS485-Bus.

von Gregor B. (Gast)


Lesenswert?

1,5V-Differenzspannung kann jeder der von mir angegebenen Treiber.

von D a v i d K. (oekel) Benutzerseite


Lesenswert?

A. K. schrieb:

> ... Die absoluten Pegel der beiden Leitungen dürfen dabei im
> Bereich -7..+12V liegen, nur die Differenz zählt.

Nehmen wir Mal an, ich baue 2 Boards 100% gleich auf. Dann hätte ich ja 
auch 2 RS485 Treiber. An welcher Stelle wird denn nun entschieden 
zwischen welchen Pegeln ich die 1,5V Diff habe?
Irgendwo muss doch das erzeugt werden, was ich mit einem Osci auf der 
Busstrecke messen kann. Also eine Hi und eine LOW Flanke.

Ich denke hier ist der Pudding in meinem Hirn :(

Grüße Oekel

von (prx) A. K. (prx)


Lesenswert?

D a v i d K. schrieb:
> Nehmen wir Mal an, ich baue 2 Boards 100% gleich auf. Dann hätte ich ja
> auch 2 RS485 Treiber. An welcher Stelle wird denn nun entschieden
> zwischen welchen Pegeln ich die 1,5V Diff habe?

Viel Auswahl hast du nicht. Es gibt bei RS485 nur 2 Leitungen, die dafür 
in Frage kommen, üblicherweise A und B genannt. Also auch nur eine 
mögliche Differenz dazwischen. OK, genau genommen zwei, aber bis aufs 
Vorzeichen sind die gleich.

Wobei sich die 1,5V auf den Ausgang des Treibers beziehen. Der Eingang 
eines empfangenden Treibers ist schon mit einer Differenz von 0,2V 
zufrieden.

> Ich denke hier ist der Pudding in meinem Hirn :(

Offensichtlich. Nur scheine ich das dazu passende Bindemittel nicht zu 
kennen.

von Googler (Gast)


Lesenswert?

D a v i d K. schrieb:
> Oder verstehe ich euch grundlegend falsch?
> Für mich heißt ein Treiber mit 3.3V, dass er zum MC mit 3.3V
> kommuniziert und auch auf die RS485 Bahn 0 und 3.3V schickt.

Ja, völlig falsch verstanden.

D a v i d K. schrieb:
> In meinem Kopf möchte ich aber immer noch gerne einen Treiber, der mit
> 5VCC Eingangsspannung ein RS485 Signal mit 0V & 5V erzeugt und dann mit
> dem MC nur mit 3.3V kommuniziert.

Vergiss das RS485 Signal. Darum kümmert sich der Treiber. ;-)
Das digitale Interface ist wichtig.

von Thomas W. (diddl)


Lesenswert?


von Mike (Gast)


Lesenswert?

Zu A.K.
"Das Treiber-IC muss nur in der Lage sein, mit Abschluss eine Differenz
von mindestens 1,5V zu erzeugen. Was mit dem richtigen Treiberbaustein
auch bei einer 3,3V-Versorgung machbar ist. Für den Bus ist es völlig
irrelevant, ob das Treiber-IC mit 3,3V oder mit 5V versorgt wird."

Sorry, nein, ist es nicht. Die maximale Leitungslänge nimmt ab, wenn er 
den Transceiver als Sender nutzt.

Gruß
Mike

von (prx) A. K. (prx)


Lesenswert?

Mike schrieb:
> Sorry, nein, ist es nicht. Die maximale Leitungslänge nimmt ab, wenn er
> den Transceiver als Sender nutzt.

Der Standard schreibt eine Differenz von mindestens 1,5V vor. Das ist 
mit 3,3V Versorgung bei einem dafür gebauten Transceiver problemlos 
machbar.

Wenn man mit höherer Differenz weiter kommt, dann geht man damit über 
den Standard hinaus.

: Bearbeitet durch User
von Lothar (Gast)


Lesenswert?

D a v i d K. schrieb:
> LPC1758
> Und wenn ich es richtig gelesen habe, dann hat er ebenfalls die 5V
> tolerante Eingänge.

Vorsicht, nicht alle Pins sind 5V-tolerant z.B. nicht die wo USB oder 
ADC/DAC als Zweitbelegung dran sind. Müssen digitale GPIO sein.

von Datum (Gast)


Lesenswert?

Ich hoffe er hat das Problem inzwischen gelöst und nicht 3 Jahre auf 
eine Lösung gewartet.

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
Noch kein Account? Hier anmelden.