Forum: Mikrocontroller und Digitale Elektronik RS485 zu UART


von Udo (Gast)


Angehängte Dateien:

Lesenswert?

Hi Leute!

Bin gerade dabei, einen RS485 zu UART(3V3) Konverter zu bauen. Hierzu 
verwende ich den SN65HVD12 ( 
http://www.ti.com/lit/ds/symlink/sn65hvd12.pdf ). Der IC hat zur 
Richtungsumschaltung einen /WE bzw. DE pin. Jetzt habe ich gelesen, dass 
dieser mit einem Monoflip (wie zB. hier 
http://www.lvr.com/rs-485_circuits.htm) angesteuert werden muss 
(Schaltplan siehe Anhang).
Warum muss der Puls verlängert werden? Man könnte ja auch einfach das 
invertierte TX Signal verwenden (???).

Und wie schaut es mit dem Anschluss aus? Müssen die 2x 560Ohm Richtung 
Versorgung sowie die 120Ohm parallel zu A und B wirklich sein, oder 
reicht nicht ein mal 100Ohm parallel zu A und B?

Vielen Dank!

Lg, Udo

von Tom (Gast)


Lesenswert?

Udo schrieb:
> Und wie schaut es mit dem Anschluss aus? Müssen die 2x 560Ohm Richtung
> Versorgung sowie die 120Ohm parallel zu A und B wirklich sein, oder
> reicht nicht ein mal 100Ohm parallel zu A und B?

Nein, denn dann wäre der Pegel undefinierte, wenn die Leitung offen ist?

von Olaf (Gast)


Lesenswert?

> Jetzt habe ich gelesen, dass dieser mit einem Monoflip (wie zB. hier
> http://www.lvr.com/rs-485_circuits.htm) angesteuert werden muss

Muss? Es ist eigentlich sinnvoller wenn es der Microcontroller steuert 
von dem TX/RX kommt. Monoflop ist eher so eine Art Bastelloesung die 
nicht immer zuverlaessig funktionieren wird.

> Warum muss der Puls verlängert werden? Man könnte ja auch einfach das
> invertierte TX Signal verwenden (???).

Noe. Denk da nochmal drueber nach. Du willst doch die 
Lese/Schreibrichtung nicht bei jedem Bit umschalten.

> oder reicht nicht ein mal 100Ohm parallel zu A und B?

Wuerde grundsaetzlich reichen. Aber die beiden anderen Widerstaende 
sorgen dafuer das ein offener Eingang einen definierten Pegel hat und 
nicht deinen Controller mit Muell absaufen laesst.
Aber 560 Ohm kommen mir etwas klein vor.

Olaf

von Udo (Gast)


Lesenswert?

Hallo Olaf,

>> Jetzt habe ich gelesen, dass dieser mit einem Monoflip (wie zB. hier
>> http://www.lvr.com/rs-485_circuits.htm) angesteuert werden muss
>
> Muss? Es ist eigentlich sinnvoller wenn es der Microcontroller steuert
> von dem TX/RX kommt. Monoflop ist eher so eine Art Bastelloesung die
> nicht immer zuverlaessig funktionieren wird.

Die Bits /WE und DE beim Senden dauerhaft auf 0 zu setzen wäre natürlich 
schöner, habe jedoch leider keine zusätzliche Leitungen zu Verfügung.

Wie macht man das ohne? Die kurze "Bitverlängerung" durch das Monoflop 
verstehe ich nicht. Dadurch wird erreicht, dass der Ausgang noch auf Vdd 
umgeladen wird, bevor er getrennt wird. Macht dies den Unteschied?

>> Warum muss der Puls verlängert werden? Man könnte ja auch einfach das
>> invertierte TX Signal verwenden (???).
>
> Noe. Denk da nochmal drueber nach. Du willst doch die
> Lese/Schreibrichtung nicht bei jedem Bit umschalten.

Wenn der Empfänger am Eingang einen Pull-Up hat, wär das doch kein 
Problem oder? Dann würde bei Senden einer logischen "1" (0V) der Ausgang 
des RS485 Treibers aktiviert und auf 0V gezogen. bei Anliegen einer "0" 
(Vdd) würde der Treiber deaktiviert und der Empfänger erhält die "1" vom 
Pull-Up.
Irgendwie bin ich von so einem Pull-Up ausgegangen. Fehlannahme?

>> oder reicht nicht ein mal 100Ohm parallel zu A und B?
>
> Wuerde grundsaetzlich reichen. Aber die beiden anderen Widerstaende
> sorgen dafuer das ein offener Eingang einen definierten Pegel hat und
> nicht deinen Controller mit Muell absaufen laesst.
> Aber 560 Ohm kommen mir etwas klein vor.

OK Danke.

Lg, Udo

von nitrous (Gast)


Lesenswert?

Ich denke es geht darum, dass der Ausgang ohne Verzögerung schalten 
soll. Deshalb die Verzögerung in der Enable-Line. Der Pegel wird dann 
vom Pull-Up getragen.

--
lg, udo

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.