UART hin und her schalten / routen

Gast #6107112
Lesenswert?

Hallo zusammen,

für eine Testanwendung würde ich gerne mehrere UARTS von 
unterschiedlichen Modulen der Reihe nach mit einem Prüfadapter bzw. 
einem ATmega328p verbinden.
Sowohl RX als auch TX.

Also quasi:
1) Atmega verbindet sich zu Modul 1 und fragt Daten ab
2) Atmega verbindet sich zu Modul 2 und fragt Daten ab
3) Atmega verbindet sich zu Modul 3 und fragt Daten ab
...


Nun frage ich mich, wie man diesen UART Umschalter am sinnvollsten 
realisiert. Der Controller hat genügend Pins frei, so dass er jeden 
Testkanal mit einem eigenen I/O aktivieren oder deaktivieren könnte.

Aber wie sollte man das Signal routen?
Vielleicht per AND Gatter in Kombination mit einem Inverter?

Oder evtl. mittels 74*4066?

Freu mich sehr über Vorschläge.

LG, Markus
Gast #6107121
Lesenswert?

Hüstel. Genau genommen "Demultiplexer". :-)

Viel falsch oder extrem ineffizient machen kann man in dem Fall eines 
Bastel-Hobby-Gerätes nicht. Falls  Du weißt, wie es mit AND-Gattern 
geht, würde ich das so machen. 4066 ist auch gut. Software UART ist auch 
gut.
Gast #6107123
Lesenswert?

Prüfadapter schreit doch eigentlich nach Relais, alleine schon um die 
Prüflinge galvanisch getrennt zu halten.

Wenn man nen sinnvolles Protokoll hat kommt man mit den erkannten Bits 
aufgrund relaisprellen gut klar.
Gast #6107324
Lesenswert?

Hallo zusammen und Danke schon mal für die Beiträge.

Theor schrieb:
> Hm. OK. "Testanwendung" und "Prüfadapter" könnte auch was
> professionelles oder akademisches sein. Gibts mehr Infos?

Gern ;)

Also die Situation ist so, dass ich vor ein paar Jahren mal bei einer 
Firma gearbeitet habe, die nach dem Ableben des ehemaligen 
Geschäftsführers inzwischen insolvent ist.
Viele der ehemaligen Kunden kommen nun aber mit ihren Reparaturen auf 
mich zu und ich bin dabei, mir entsprechende Gerätschaften zu bauen um 
bspw. Tests automatisch über Nacht laufen zu lassen. Spart Zeit, denn 
eigentlich bin ich ja in einem anderen Job und das ganze läuft momentan 
(noch) so nebenher.

Wenn wir "professionell" und "hobby-bastel" sprechen, dann würde ich das 
irgendwo dazwischen einordnen. Könnte ggf. mal mehr werden.

Aktuell tendiere ich zu der Variante mit Logikgattern, weil massenhaft 
vorhanden. Der 4066 hat außerdem einen ROn von größer 100 Ohm. Bin nicht 
sicher, ob das problematisch sein könnte...

Beispielhaft für eine zwei TX Leitungen mit Logikgattern:
1
                   GND
2
                    |  
3
                  [10K]
4
                    |
5
                    |          +-------+
6
Enable-UART1 ------------------| HCT08 |----+
7
UART1-TX ->[Inverter (HCT14)]->|       |    |
8
                               +-------+    |
9
                                            |
10
                                            |
11
                   GND                      +--> Inverter (HCT14)-> uC 
12
                    |                       |
13
                  [10K]                     |
14
                    |                       |
15
                    |          +-------+    |
16
Enable-UART2 ------------------| HCT08 |----+
17
UART2-TX ->[Inverter (HCT14)]->|       |
18
                               +-------+ 
19

20

21
Enable-UART 1 = 1
22
Enable-UART 2 = 0
23
=> UART1 wird zum Controller geroutet
24

25
Enable-UART 1 = 0
26
Enable-UART 2 = 1
27
=> UART2 wird zum Controller geroutet

Meint ihr, das könnte man so machen?

vielen Dank und einen schönen Feierabend,

M.
Gast #6107462
Lesenswert?

Was willst du denn genau abfragen? Was sprich dagegen das mit einem PC 
zu machen?

USB UART Adapter kostet keine 2$ das Stück.

Die Teile an einen Raspberry hin, dann hast direkt Netzwerk und alles 
dran, die Kosten des Setups dürften bei weniger als 50€ liegen.

https://en.wikibooks.org/wiki/Serial_Programming/termios

Kannst auch mit boost serial oder Python machen, insgesamt in meinen 
Augen deutlich bequemer als da mit einem µC und irgendwelchen 
Multiplexern zu arbeiten, selbst mit einem ausgemusterten PC/Laptop ist 
das ein Kinderspiel.

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