www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik UART (2 Geräte ansprechen)


Autor: PAT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe nur noch von meinem uC 1 UART-PORT frei und möchte über diesem 
Port mit 2 Geräte kommunizieren?
wie geht das denn? (biete auch mit Schaltung wenn Möglich)

MfG

Autor: Azrael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
musst du tatsächlich gleichzeitig mit beiden kommunizieren, oder reichts 
wenn du einmal mit dem einen, und dann mit dem anderen redest?

dann könnstest du einfach die tx-leitung muxen(multiplexing, wenn du 
danach googlen möchtest)

wenn du tatsächlich mit beiden gleichzeitig reden musst, ev. eine 
port-erweiterung, mir fällt gerade keine echt-dau-fähige lösung ein bis 
auf eine software-uart zu bauen.

ev. einen zweiten uC nehmen, oder einfach einen größeren uC nehmen

lg Azrael

Autor: PAT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich will nicht gleichzeitig mit den beiden Geräten Kommuzieren!
ich habe mir ein Art arbitrierung gedacht, (dh im Zustand 0 ist der 
einer Dran und im Zustand 1 dann der anderer!)

freue mich auf jede Hilfe

MfG

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du kannst mit dem 9. Bit (Parity) ein Adressbit basteln, also wenn dies 
gesetzt ist, überträgst du eine Geräteadresse. Das ganze funktioniert 
natürlich nur, wenn du die beiden anderen Geräte dementsprechend 
programmieren kannst.

Autor: PAT (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Also was meinst du KONKRETT!
SO:--> ich will der 1 UART-PORT der mir noch bleibt 1x mal als Normal 
UART-PORT betreiben und ein anderes mal an ein USB anschließen.

so daß der Anwender die beide Option über diesem einzigen PORT hat!

MfG

Autor: Alexander Liebhold (lippi2000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die einzige Möglichkeit 2 Geräte zu bedienen ist eine Umschaltung 
mittels MUX. 2:1 MUX an RX und an TX anschalten und mit einer Leitung 
steuern. Ansosnten versaust du dir die Pegel und die Kommunikation ist 
hin. (Pegel,Puffer,...) Alles andere ist a) zu aufwendig und b) eine 
Misshandlung der Schnittstelle.

Die MUX-Variante (2 mal 2:1) kommt gerade mal mit 2 zusätzlichen IC's 
aus (z.B. 1x74LS157 und 1xMAX232 für die Pegel falls du es brauchst).

Autor: Alexander (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus,

Wenn Du nur eine unidirektionale Kommunikation benötigst, ist das ganze 
recht einfach, indem Du irgendein Bit als Adressbit nutzt.

Wenn Du eine bidirektionale Kommunikation benötigst, sollten die 
TX-Leitungen der Empfänger als Open Drain Ausgänge ausgelegt werden, 
denn sonst ziehen die sich gegenzeitig die Signale kaputt.

Es gibt schon fertige Open Drain Treiber für solche Anwendungen, such 
mal nach 74LVC1G07.

Gruß

Alexander

Autor: Alexander Liebhold (lippi2000)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vom Prinzip her geht das natürlich. Da kann man auch 2 Bytes schicken 
1.Byte = Adresse und 2.Byte = Daten.

Doch vorsicht, keine Flusssteuerung und Fehlererkennung möglich und 
Werte zurückgeben geht auch nicht, was du ja sicherlich bei nem USB 
machen möchtest.

Autor: Andreas R. (rebirama)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hatte das Problem auch schon mal, nach etwas Überlegen bin ich mit 2 
zusätlichen Pins und 2 Widerständen ausgekommen:
                   _
       UART_out-o-|___|-------o--- Out1
                |             |
                |  _        |
                '-|___|--o----)--- Out2
                         |    |
                         |    |
           Pin1----------'    |
                              |
           Pin2---------------'

Über die Konfiguration der Pins (hochohmig/niederohmig) lässt sich 
festlegen welcher out angesprochen werden soll (oder sogar beide)
Beim Empfang musst du dir auch noch was einfallen lassen.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.