Forum: Mikrocontroller und Digitale Elektronik UART-Schnittstelle 2x verwenden?


von µ*µ=µ² (Gast)


Lesenswert?

Hallo alle zusammen,

an meinem aktuellen Projekt wollte ich ein LoRa-Wireless und ein 
GPS-Modul verwenden. Beide Module kann man über UART ansprechen. Meine 
Frage ist nun, ob es möglich ist, die UART Schnittstelle für 2 Module 
gleichzeitig zu verwenden? Geht das überhaupt?

Als Controller verwende ich einen PSoC5.

Danke im Voraus.

MfG

von Jim M. (turboj)


Lesenswert?

Ich hätte einen µC mit mehr als einem UART benutzt. Könnte ein PSoC5 
IMHO über die UDBs implementieren.

von c-hater (Gast)


Lesenswert?

µ*µ=µ² schrieb:

> an meinem aktuellen Projekt wollte ich ein LoRa-Wireless und ein
> GPS-Modul verwenden. Beide Module kann man über UART ansprechen. Meine
> Frage ist nun, ob es möglich ist, die UART Schnittstelle für 2 Module
> gleichzeitig zu verwenden? Geht das überhaupt?

Nein, gleichzeitig ist natürlich völlig unmöglich. Zeitmultiplex (also 
sozusagen abwechselnd) ist vielleicht möglich, das hängt von den Modulen 
ab.
Aber selbst, wenn es theoretisch möglich wäre: Du wirst es aber ganz 
sicher nicht gebacken bekommen, das ergibt sich bereits aus deiner 
Fragestellung...

von MUX (Gast)


Lesenswert?

Naja, da benötigst du hal 1:2 Muxer (z.B. 74LVC1G157) für RX und TX, und 
einen Umschalt-Pin. Dann kannst du die UART zwischen den Modulen 
umschalten.

Dast geht natürlich nur zeitlich gemuxt.

Elegant ist das nicht, möglich schon.

von Patrick R. (ohmann)


Lesenswert?

Alternativ, falls du einen/zwei freie Pins hast, könntest du auch ein 
UART in Software nachbilden. Sind nur ein paar wenige Zeilen Code.

von Joe F. (easylife)


Lesenswert?

speziell die psocs eignen sich doch mehrere uarts zu betreiben. 
ansonsten würde ich auf jeden fall evtl. vorhandenes hardware 
handshaking ausnutzen um kollisionen oder verlorene daten zu vermeiden 
(cts/rts).

von µ*µ=µ² (Gast)


Angehängte Dateien:

Lesenswert?

Also meiner hat nur einen UART. Habe mal das Datenblatt angehängt. Ich 
werde es wohl mit der Software UART ausprobieren.

Danke für eure Antworten.

von RR (Gast)


Lesenswert?

µ*µ=µ² schrieb:
> Hallo alle zusammen,
>
> an meinem aktuellen Projekt wollte ich ein LoRa-Wireless und ein
> GPS-Modul verwenden. Beide Module kann man über UART ansprechen. Meine
> Frage ist nun, ob es möglich ist, die UART Schnittstelle für 2 Module
> gleichzeitig zu verwenden?

Wenn Du auf dem LoRa Modul nur sendest und auf dem GPS Modul nur 
empfängst dann schon.

von Jens (Gast)


Lesenswert?

µ*µ=µ² schrieb:
> Also meiner hat nur einen UART. Habe mal das Datenblatt angehängt.

Kann ich mir nicht vorstellen. Habe das DB mal überflogen, da sollte 
zumindest über die UDBs mehr als ein UART machbar sein.

von PittyJ (Gast)


Lesenswert?

Einfach mal gegoogelt:
https://www.nxp.com/docs/en/brochure/75015676.pdf

Ansonsten wurde wohl die falsche CPU gewählt. Ich habe für ein Projekt 
eine NXP M0 CPU, die hat 2 serielle Schnittstellen. Es gibt also welche.

von Georg (Gast)


Lesenswert?

RR schrieb:
> Wenn Du auf dem LoRa Modul nur sendest und auf dem GPS Modul nur
> empfängst dann schon

Nicht nur dann, es geht auch wenn beide angeschlossenen Geräte nur auf 
Anforderung senden, so dass sie sich nicht in die Quere kommen. Mit 
einem GPS-Modul, das ständig Daten sendet, geht es nicht.

Georg

von Stefan F. (Gast)


Lesenswert?

Ich habe mal einen zweiten Tx Anschluss per Software emuliert, aber 
beide Module (über UND Verknüpfung) zusammen an den einen Rx Pin 
gehangen.
1
Modul 1 Rx o--------------------o µC Tx
2
3
                 1k
4
Modul 1 Tx o---[===]----+-------o µC Rx
5
                        |
6
Modul 2 Tx o----|<|-----+
7
8
Modul 2 Rx o--------------------o µC GPIO (Soft-Serial)

Solange man die beiden Module nur wechselweise anspricht und nicht beide 
ohne Aufforderung losplappern, geht das prima.

von Wolfgang (Gast)


Lesenswert?

Stefan U. schrieb:
> Solange man die beiden Module nur wechselweise anspricht und nicht beide
> ohne Aufforderung losplappern, geht das prima.

Gängige GPS-Module mit NMEA-Output werden während des normalen Betriebs 
nicht angesprochen. Die plappern im 1-Sekundenden Takt (oder wie auch 
immer) munter und ungefragt vor sich hin. Bei der LoRa-Datenstrecke 
kommt es auf den Aufbau an, ob die sich da passend reinsynchronisieren 
lässt.

von Stefan F. (Gast)


Lesenswert?

Dann sind getrennte Rx Kanäle wohl doch besser. Ich nehme an, dass 
zumindest für das GPS Modul keine hohen Bitraten nötig sind, dann sollte 
das kein Problem sein.

von Wolfgang (Gast)


Lesenswert?

Stefan U. schrieb:
> Ich nehme an, dass zumindest für das GPS Modul keine hohen Bitraten
> nötig sind.

Das kommt drauf an, was du als "hohe Bitrate" bezeichnest. Beim 
klassische NMEA0183-Standard werden 4800 Bd verwendet, die GPS-Module 
nutzen auch oft 9600 oder 19200 Bd.

von Stefan F. (Gast)


Lesenswert?

Das sind für mich niedrige Bitraten, kriegt man mit Soft-Serial 
problemlos hin.

von Frank K. (fchk)


Lesenswert?

Ich würde einen kleinen PIC oder so verwenden, der sich um das GPS 
kümmert, die NMEA-Strings auswertet und den jeweils letzten Datensatz in 
einem Binärformat als I2C-Slave zur Verfügung stellt. Das kann man immer 
wieder gebrauchen.

fchk

von Matthias M. (Firma: privat) (quadraturencoder)


Lesenswert?

Oder man nimmt einen Chip, der aus einer SPI Schnittstelle vier UARTS 
macht:

http://www.instructables.com/id/SPI-to-4-x-UART-Bridge-MULTIUART/

Dann hat man sogar fünf serielle ports... .

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.