Forum: Mikrocontroller und Digitale Elektronik UART Umschalten


von Johnny S. (sgt_johnny)


Lesenswert?

Ich habe hier einen FT232, ein Arduino (ATMEGA238) und ein GPS Modul

Im Normalfall soll der FT232 den Arduino an seiner Haupt-UART 
Schnittstelle bedienen. Zusätzlich kommuniziert der Arduino mit dem GPS 
Modul über Software Serial.

Für spezielle Anwendungen (konfiguration etc) soll das GPS Modul direkt 
an den FT232 gehängt werden können, damit es über den COM Port mit 
PC-Software arbeitet (uCenter).

Ich muss also eine Umschaltmöglichkeit verbauen.

Man muss hier vermutlich doppelt Umschalten, also die Verbindungen 
"Mega328-FT232"  und "Mega328-GPS" trennen, und dann "FT232-GPS" 
herstellen.


Wie kann ich das am besten lösen?

Relaiskontakte sind keine option da zu teuer und zu gross.

von Sascha W. (sascha-w)


Lesenswert?

Hallo,

durch was soll denn umgeschaltet werden?
Evl. reichen ja schon ein paar Jumper.

Sascha

von Johnny S. (sgt_johnny)


Lesenswert?

Sascha W. schrieb:
> Hallo,
>
> durch was soll denn umgeschaltet werden?
> Evl. reichen ja schon ein paar Jumper.
>
> Sascha

Ja jumper wäre meine aktuelle lösung, also insgesamt 4x 3er Reihe

Aber vieleicht gäbe es ja ein IC oder so wo man einfach einen Eingang 
high setzen kann

: Bearbeitet durch User
von Sascha W. (sascha-w)


Lesenswert?

Johnny S. schrieb:
> Sascha W. schrieb:
>> Hallo,
>>
>> durch was soll denn umgeschaltet werden?
>> Evl. reichen ja schon ein paar Jumper.
>>
>> Sascha
>
> Ja jumper wäre meine aktuelle lösung, also insgesamt 4x 3er Reihe
>
> Aber vieleicht gäbe es ja ein IC oder so wo man einfach einen Eingang
> high setzen kann

Sicher kannst du auch einen Multiplexer einbauen 4-fach 2-zu-1, müsste 
allerdings bidirektional sein. Kleiner wird das sicher nicht, aber gut 
braucht nur einen Jumper zum umstecken.

Sascha

von Helmut H. (helmuth)


Lesenswert?

Vielleicht den Arduino als Bridge betreiben?
Solange ein Pin z.B LOW ist, alles was auf RX reinkommt auf die Software 
Serial ausgeben und umgekehrt.
Dann bräuchte man nur einen Jumper.

von Subminiatur Relais (Gast)


Lesenswert?

Wieso kein Relais es gibt welche die sind kaum größer als ein IC:

Subminiatur-Relais NAIS TQ2-5V, 2 Wechsler, Printmontage
Maße (LxBxH): 14x9x5 mm

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

> 4x 3er Reihe

Aha, GND wird auch umgeschaltet.

LOL


4052 waere es gewesen.
Ein Sekser-Maeuseklavier ist aber kleiner.

von H.Joachim S. (crazyhorse)


Lesenswert?

Per Pin ein Programm aktivieren:
-richtige UART aus
-Software-UART aus
-Rx-Pins als Eingang
-Tx-Pins als Ausgang
while (!Pin)
 {Tx1=Rx0;
  Tx0=Rx1;
  }

Bitschubserei soll ja bei Adruino recht langsam sein, vielleicht ein 
Stückchen Assembler einbauen?

von Johnny S. (sgt_johnny)


Angehängte Dateien:

Lesenswert?

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#4973355:
>> 4x 3er Reihe
>
> Aha, GND wird auch umgeschaltet.
>
> LOL
>
>
> 4052 waere es gewesen.
> Ein Sekser-Maeuseklavier ist aber kleiner.

Nein?


Es muss ja jeweils die RX und TX vom Arduino/GPS Modul auf den FT232 
geschaltn werden, und gleichzeitig die Arduino-GPS Verbindung gekappt 
werden. Sonst "funken" die beiden TX-Kanäle gleichzeitig zum GPS Modul, 
was sicher nicht gut funktioniert.

von Athlon (Gast)


Lesenswert?

Eventuell wäre ein Tri-state Buffer etwas für dich.

von Jens P. (picler)


Lesenswert?

Ich würde einfach auf ein Kommando oder ein gesetztes Pin in den 
Bridge-Modus schalten. Was am UART-RX reinkommt geht zum Software-UART 
wieder raus und was vom Software-UART empfangen wird, wird 1:1 an den 
Hardware-UART durchgereicht.

Wenn du dir ein spezielles Kommando ausdenkst, eines was bei GPS in der 
Zeichenfolge nicht vorkommt, kannst du die Umschaltung komplett in 
Software machen.

von guest (Gast)


Lesenswert?

Johnny S. schrieb:
> Ja jumper wäre meine aktuelle lösung, also insgesamt 4x 3er Reihe

Eigentlich reichen 3x2, 2 um RX/TX zwischen GPS/FT zu brücken und 1 um 
den ATmega solange in den Reset zu ziehen damit der nicht 
dazwischenfunkt.

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.