1 UART Interface -> 2 Geräte

OP #3547340
Lesenswert?
• ▲
▼
Hallo!
Ich habe gerade ein kleines Problem.

Ich möchte mit einem UART Interface (A) 2 Geräte (B & C) ansprechen, 
allerdings nicht gleichzeitig.

Das Senden von A nach B bzw. C habe ich bereits gelöst.
Problematischer ist, das A Daten von B bzw. C empfangen soll.

Dazu habe ich mal folgende Schaltung aufgebaut:
1
             _R_      
2
    B_TX ---|___|-o---->|---o------ A_RX
3
                  |         |
4
             _R_  |         |
5
    C_TX ---|___|-)--o->|---‘
6
                  |  |
7
           Pin3 --‘  | 
8
                     |
9
           Pin4 -----‘
Soll B an A senden:
Pin 3 -> hochohmig
Pin 4 -> niederohmig

Pegel sind 3.3V/0V bei 9600 baud.
R = 820 Ohm um den Strom auf 4mA zu begrenzen
Als Dioden hab ich jetzt mal 1N4148 Kleinsignaldioden eingesetzt. Die 
verursachen aber bei diesem Strom einen Spannungsabfall von 750mV.

Nun hab ich das Problem, dass bei A nur mehr die Pegel 2.5V/1.5V 
ankommen.

Komischerweise fällt der Pegel nicht mehr auf 0V herab. Woran liegt das? 
Würde es was nützen, Dioden mit niedrigerer Durchlassspannung (Schottky 
Dioden) zu verwenden?
Oder habt ihr bessere Vorschläge, dieses Vorhaben mit Dioden und 
Widerständen umzusetzen?

Eine Gatterschaltung möchte ich vermeiden, weil ich die Bauteile erst 
bestellen müsste.

Lg
#3547548
Lesenswert?
• ▲
▼
Athlon N/a schrieb:
> Komischerweise fällt der Pegel nicht mehr auf 0V herab. Woran liegt das?
Du hast nichts, was die Leitung auf Masse zieht --> Pulldown einbauen. 
Bedenke aber, dass dieser mit R einen Spannungsteiler bildet. Also hast 
du noch weniger high Pegel, ist also keine so gute Idee...

Die oben erwähnten AND könntest du as je 2 Transistoren aufbauen.
OP #3548572
Lesenswert?
• ▲
▼
Ich danke euch. Ja das mit dem Pulldown hab ich schon versucht. Ein 100k 
Widerstand hat aber auch nicht wirklich eine Besserung gebracht.

Ich werde dann wohl ein AND Gatter kaufen und damit das Umschalten 
übernehmen, denn für eine vollständige Transistorlösung hab ich auch zu 
wenige auf Lager und außerdem würde die Schaltung unnötig groß werden.

Bezüglich Strombegrenzung. Das Gatter CD74HC08E hat einen maximalen 
In-/Outputstrom von ca. 20mA pro Pin.

Als MC kommt ein MSP430 zum Einsatz. Dieser verträgt 6mA 
In-/Outputstrom.

Muss ich zwischen TX und AND Eingang Widerstände einbauen, oder wird der 
Strom schon durch den TX Ausgang begrenzt?

Zwischen AND Ausgang und RX brauch ich wohl keine Widerstände, weil die 
als Input konfigurierten Ports hochohmig sind oder?

Zwischen Steuerpins und AND Eingang sind Widerstände notwendig. Wie groß 
dimensioniert man sowas üblicherweise? Reicht es, wenn noch 100µA 
fließen, oder kann der Strom noch weiter reduziert werden?

Sind diese AND Gatter eigentlich vor Reverse Current geschützt? Kann 
dazu leider nichts im Datenblatt finden:
http://www.produktinfo.conrad.com/datenblaetter/150000-174999/164208-da-01-en-CMOS_IC_CD74HC08E_DIP14_TID.pdf

@Stefan.P Pull Ups meinst jeweils vor RX oder? Wieso sollte an RX ein 
high Pegel anliegen?

Lg
OP #3548672
Lesenswert?
• ▲
▼
Die Lösung mit der Tristate Logik gefällt mir sehr gut. Danke!

Somit kann ich mir vermutlich auch einige Widerstände sparen.

Der Buffer verträgt einen maximalen In-/Outputstrom von ca. 20mA pro 
Pin.

Als MC kommt ein MSP430 zum Einsatz. Dieser verträgt 6mA
In-/Outputstrom.

Brauch ich zwischen Buffer Ausgang und RX einen Widerstand, oder ist der 
als RX konfigurierte Port wie als Input Port zu sehen und hochohmig?

Zwischen TX bzw. Steuerports und Buffer Eingang brauche hier wohl keine 
Widerstände, weil die Buffer Eingänge nur an den MOS Gates angeschlossen 
sind.

@Stefan.P Pull Ups meinst jeweils vor RX oder? Wieso sollte an RX ein
high Pegel anliegen?

Lg
#3548688
Lesenswert?
• ▲
▼
Athlon N/a schrieb:
> Brauch ich zwischen Buffer Ausgang und RX einen Widerstand, oder ist der
> als RX konfigurierte Port wie als Input Port zu sehen und hochohmig?
Ich kenne deinen µC nicht, aber normalerweise ist der RX Pin ein Input.

Athlon N/a schrieb:
> Zwischen TX bzw. Steuerports und Buffer Eingang brauche hier wohl keine
> Widerstände, weil die Buffer Eingänge nur an den MOS Gates angeschlossen
> sind.
Kein Widerstand nötig.

Athlon N/a schrieb:
> Wieso sollte an RX ein
> high Pegel anliegen?
Weil der Ruhepegel von UART '1' ist.

Mit den tristate Gattern brauchst du den Pullup immer noch, außer du 
kannst garantieren, dass immer genau ein Buffer auf Ausgang geschalten 
ist.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.