UART routen?

Gast #5802294
Lesenswert?
• ▲
▼
Hey Ho,

gesucht wird eine Möglichkeit, eine UART Verbindung zwischen 
verschiedenen Teilnehmern hin und her zu schalten.

Auf einer Platine gibt es einen uC, zwei Funkmodule und eine RS/232 
Schnitstelle.

Folgendes will erreichen:

1) Beim Hochfahren des uC soll der RS/232 Eingang (über Max3232) 
zunächst mal mit dem Controller verbunden sein. Ein Bootloader wartet 
hier dann eine Zeit X auf Kommandos...
Was auch immer vom Funkmodul reinkommt, muss ignoriert werden und es 
darf zu diesem Zeitpunkt auch nichts gesendet werden.

RS/232 RX => uC-RX
RS/232 TX <= uC-TX
Funk-RX => X
Funk-TX => X


2) Im weiteren Betrieb des uC sollen RX+TX zunächst mit Funkmodul A 
verbunden werden. Es wird dann in einen Konfigurationsmodus gesetzt und 
bestimmte Parameter konfiguriert. Die RS/232 Schnittstelle muss hierbei 
komplett abgehängt werden... beide Richtungen.

RS/232 RX => X
RS/232 TX => X
uC-TX => Funk-RX
uc-RX <= Funk-TX

3) Das gleiche nochmal, nur mit Funkmodul B


4) Der eigentliche Betriebsmodus:
Über einen Schalter kann eingestellt werden, welches Funkmodul verwendet 
werden soll. Dann wird der RS/232 Eingang mit dem gewählten Funkmodul 
verbunden. Desweiteren soll das, was am RS/232 Eingang reinkommt, auch 
noch zum uC verzweigt werden, so dass dieser zum Zweck der Ansteuerung 
einiger Status-LEDs mitlauschen kann.

 - RS/232 RX => Funk TX + uC-RX (zum mithören)
 - RS/232 TX <= Funk RX

Wie könnte man diese ganze Umschalterei denn mal am einfachsten machen?
Mit einem Schwung Logikgatter und zwei Extra Pins von uC und dann jede 
Konstellation mit AND's abbilden?

Oder kennt jemand vielleicht ein IC, mit dem z.B. per I2C so ein Routing 
vornehmen könnte?

Die Datenrate ist 38.400 baud, Pegel ist 3.3V...

Wenn jemand dazu eine Idee hat, würde ich mich sehr freuen.

Danke :D

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.