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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren