Gibt es ICs für mehrere UART Teilnehmer?

(Firma: matzetronics) #6011109
Lesenswert?

Da gibts mehrere Möglichkeiten:
* Du kannst per Multiplexer den einzigen UART Port auf verschiedene 
Teilnehmer schalten. Nachteil: Nur ein UART Kunde kann gleichzeitig 
bedient werden.

* Du kannst Soft UARTs auf dem MC implementieren. Etwas anspruchsvoller, 
aber dann ist jeder Teilnehmer simultan erreichbar.

Sicher gibts noch mehr. Aber wer die Planung verpeilt, ist selber 
schuld.
Gast #6011177
Lesenswert?

Matthias S. schrieb:
> Du kannst per Multiplexer den einzigen UART Port auf verschiedene
> Teilnehmer schalten. Nachteil: Nur ein UART Kunde kann gleichzeitig
> bedient werden.

Naja, ein Single-Core Mikrocontroller kann die eingegangenen Daten 
sowieso nur nacheinander verarbeiten, also dürfte das wahrscheinlich 
nicht stören.
Gast #6011206
Lesenswert?

Lösungen gibt es viele. Von Multiplex über Bus, von externen UART über 
Kommunikationsprozessor.

Ohne Datenmenge, Art der Daten (Halbduplex, voll? Synchron, asynchron?) 
keine sinnvollen Lösungen.

Zum Beispiel kannst Du einen passenden uC mit 4Uarts nehmen und 
dazwischen schalten.
Gast #6011242
Lesenswert?

Peter Pan schrieb:
> Ich kann leider keinen anderen nehmen. Der ist im Projekt einfach
> verankert.

Dann wird es halt teurer und komplizierter.

Peter Pan schrieb:
> Mein Mikrocontroller hat nur 1X UART, aber ich habe noch 2 Module die
> über UART mit dem Controller kommunizieren müssen. Kennt ihr fertige
> ICs, die für mein Problem geeignet wären?

* NXP SC16IS752 / SC16IS762

* Maxim MAX14830 (wenn man sich traut Maxim-Bauteile zu verwenden)

* Exar / MaxLinear XR20M1172

* Pericom / Diodes Inc. PI7C9X762CZHE

* Zilog  IXYS  Littelfuse ZDU0210RJX

* Ein weiterer Mikrocontroller, zusätzlich zum vorhandenen, der mit dem 
vorhandenen Mikrocontroller kommuniziert und die fehlenden UARTs hat.

* Alternativ die Module ändern, dass sie über einen anderen Bus (I²C, 
SPI, ...) mit dem Mikrocontroller kommunizieren.
Gast #6011279
Lesenswert?

Aktuelle µCs erlauben beim UART die Übertragung eines 9. Bits, welches, 
wenn es gesetzt ist, beim Empfänger einen Interrupt auslöst. Das 
übertragene Byte wird als Adresse betrachtet und mit der eigenen Adresse 
verglichen. Bei Übereinstimmung betrachtet sich der betreffende µC als 
adressiert, läßt seinen RX weiter auf Empfang und darf auch senden. 
Andernfalls wird der Empfang wieder stillgelegt, bis eine neue Adresse 
erkannt wird.

Damit die TX-Leitungen einer V24-Schnittstelle nicht gegeneinander 
arbeiten, entkoppelt man sie mit einer Diode und parallel einem 
Widerstand (3k3). Der aktive Pegel wird über die Diode voll 
weitergeleitet, ein passiver Pegel ereugt beim Empfänger eine negative 
Spannung, die durch den aktiven Pegel eines anderen TX aber übersteuert 
werden kann. Somit ist kein Umschalter erforderlich.

CAN-Treiber können von Hause aus nicht gegeneinander treiben, sodaß hier 
das dominierende Signal ausschlaggebend ist. Einzelne Treiber arbeiten 
nur halbduplex. Nimmt man separate Treiber für Senden/Empfangen geht 
auch vollduplex Betrieb.

Zur Adressierung braucht man nicht unbedingt das 
Multiprozessorprotokoll. Ein Protokoll, was nur Großbuchstaben und 
Ziffern als Daten verwendet, läßt sich ebenfalls zur Adressierung von 
Sub-Modulen verwenden. Als Adressen dienen dann Kleinbuchstaben 'a', 
'b', 'c', ...
Damit (Entkopplung mit Diode+Widerstand wie oben beschrieben) habe ich 
in den 80ern bis zu fünf Meßgeräte an einem PC betrieben. 19200 Baud, 
einige Meter Entfernung, keine Probleme.

War das jetzt nah genug? ;-)
Gast #6011962
Lesenswert?

Matthias S. schrieb:
> * Du kannst per Multiplexer den einzigen UART Port auf verschiedene
> Teilnehmer schalten. Nachteil: Nur ein UART Kunde kann gleichzeitig
> bedient werden.

Kannst du auch einen digitalen Multiplexer empfehlen? Würde auch ein 
analoger gehen? Frage nur, weil ich das noch nie gemacht habe und auch 
daran interessiert habe.

MfG
#6012005
Lesenswert?

Rudolph R. schrieb:
> Marten Morten schrieb:
>> * Maxim MAX14830 (wenn man sich traut Maxim-Bauteile zu verwenden)
>
> Habe ich da irgendwas verpasst?

Der MAX ist ein sehr geiler Chip von den Features her wie ich das sehe. 
Allerdings dürfte das Gehäuse (TQFN) nicht gerade leicht zu löten sein.

Problem bei Maxim ist wohl, dass sie ganz gerne mal Teile kurzfristig 
abkündigen. Bei einem einmaligen Bastelprojekt sicher kein Problem, bei 
einem Serienprodukt sehr ärgerlich.
Gast #6013173
Lesenswert?

Hello schrieb:
> Würde auch ein
> analoger gehen? Frage nur, weil ich das noch nie gemacht habe und auch
> daran interessiert habe.

Auch bei Deinem Problem müsste man doch erst mal wissen, wie es 
aussieht.

In vielen fällen brauchst Du keinen oder er hilft nicht. Und ob ein 
analoger geht, hängt von Deinen Signalpfaden ab, die auch keiner kennt.
Gast #6013638
Lesenswert?

Peter Pan schrieb:
> Mein Mikrocontroller hat nur 1X UART, aber ich habe noch 2 Module die
> über UART mit dem Controller kommunizieren müssen

Hello schrieb:
> Kannst du auch einen digitalen Multiplexer empfehlen?

Info fehlt - ein digitaler Multiplexer ist nur sinnvoll, wenn es sich um 
Signale mit 3,3 oder 5 V handelt, bei echtem RS232C mit +-12 V wird er 
zerstört (die meisten analogen auch). Alternativ muss man an jedem 
Eingang einen RS232C-Empfänger verwenden.

Es kann auf diese Art sowieso nur jeweils ein Client eine Antwort 
senden, wenn das garantiert ist, braucht man auch keinen Multiplexer, 
sondern nur ein Oder-Gatter. Das kann im einfachsten Fall auch aus n 
Dioden bestehen.

Georg

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