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
µ*µ=µ² 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...
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.
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).
µ*µ=µ² 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.
µ*µ=µ² 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.
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.
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
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.
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.
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.
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