uart pin (8 und 10) mehrfach belegen

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • hallo habe mehrere sachen die die beiden pins brauchen gibt es eine möglichkeit diese pins mehrfach zubelgen oder gibt es eine erweiterungsplatine oder geht es garnicht würde mich um jede hilfe freuen danke in vorraus

  • TXD kann im Prinzip an parallel an beliebig viele Geraete angeschlossen werden, eventuell mit einem Buffer, damit der Pin nicht zu stark belastet wird.

    RXD ist komplizierter, weil immer nur ein Geraet gleichzeitig Daten schicken kann. Es braucht einen Multiplexer, der jeweils das TXD EINES Geraetes auf den Eingang schaltet.

    Ist also machbar, aber nicht ohne weiteres.

  • Hallo ch2309,

    herzlich Willkommen in unserem Forum!

    Die serielle Schnittstelle, die an den Pins 8 und 10 des GPIO-Ports gekoppelt ist, ist dort nur einmal vorhanden (UART0 als /dev/ttyAMA0).

    Es gibt zwar einen UART1, der sich durch eine alternative GPIO-Funktionalität erhalten lässt. Der UART1 ist aber dummerweise an die gleichen GPIO-Pins gekoppelt.

    Wenn jeder Sender aufgrund seiner gesendeten Informationen zu identifizieren ist, dann können auch mehrere Sender auf einem RX des Raspberry Pi angeschlossen sein.
    Analoges gilt für die Empfänger. Diese können aufgrund der gesendeten Informationen ebenso festgelegt werden.

    Wenn es sich bei den anderen Geräten um Controller-ähnliche Hardware handelt, dann ist es sogar noch möglich, durch GPIO-Outputs nur einem davon zum Sender zu machen.


    Möglichkeiten:
    - Bit-Banging - und eine serielle Kommunikation über andere GPIO-Pins realisieren. Dies ist bei kleineren Baudraten sicherlich machbar - bei höheren Baudraten wird es daran scheitern, dass Linux kein Echtzeit-Betriebssystem ist. Je mehr Tasks laufen, um so weniger ist sichergestellt, dass die Zeit, die für ein LOW- oder HIGH-Bit benötigt wird, auch als solches erkannt wird.

    - Weitere serielle Schnittstellen stehen Dir über die USB-Ports zur Verfügung (/dev/ttyACM0 usw.)

    - Kernel-Compilierung als letztes Heilmittel

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (28. Dezember 2015 um 00:20)

  • Hallo ch2309,

    eine interessante Zusammenfassung mit weiterführenden Links habe ich hier gefunden.

    Ein interessanter Ansatz ist noch der, dass man über GPIO einzelne über UART angeschlossene Geräte bei Bedarf über einen Transistor freischaltet - sich alle Teilnehmer somit einen UART teilen (falls dies für Dich in Frage kommt).

    Von Maxim gibt es einen integrierten Schaltkreis.

    Und hier ist eine Hardware, die Dein Problem lösen könnte.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hallo, ich habe noch eine Frage. Kann ich, wenn ich ein PL2303 nehme, einfach diese uarts verwenden? Wenn ja, was würde sich in der Ansteuerung ändern?
    Danke im Vorraus.

  • Moin,
    was für eine Ansteuerung sollte sich wie ändern, wenn Du einen PL2303 wo und wie anschliesst? Und von welchen UARTs sprichst Du? Beim RPi kann man nur einen nutzen.
    Meine Vorredner sind jetzt imho davon ausgegangen, dass Du mehrere UARTs benötigst.
    Das lese ich jetzt aus Deinem Eingangsposting nicht raus. Wenn ich das richtig verstanden habe, dann hast Du mehrere verschiedene Bauteile/Sensoren die (Deiner Meinung nach) alle die Pins 8 und 10 benötigen.
    Vielleicht beschreibst Du erst mal, was Du überhaupt vor hast, sonst wird das nur ein Herumrätseln.

    //Edit sagt noch: bei elektronischen Geschichten ist -> ein Schaltplan <- das Wichtigste, weil sonst einfach zu viel Spielraum für Interpretationen bleibt.

    cu,
    -ds-

  • Tja ... gehört zu dem Radio-Dingens auch eine Software?
    Da müsste man mal schauen, ob das überhaupt den UART benötigt, weil der Radiobaustein (T2-L4A-8650C) auch über I2C angebunden ist.
    Sonst wird's eher schwierig ... ob man da irgendwie mit Signalmultiplexern weiterkommt halte ich eher für unwahrscheinlich :(

    cu,
    -ds-

  • Hallo ch2309,

    warum klemmst Du die Teile nicht an die USB-Schnittstelle? Da gibt es formschöne Adapter, die von UART auf USB gehen. Dann hast Du dort sauber getrennte Devices, die Du entsprechend ansprechen kannst. Voraussetzung: Deine Teile kommen mit 5V klar. (Wenn nicht: Ich nutze für solche Zwecke eine kleine Schaltung, die zum einen aus einem Spannungsteiler besteht, der aus 5V-Pegeln 3V3-Pegel macht. Ein zweiter Schaltungsteil macht aus 3V3-Pegel 5V-Pegel.)

    Der eine faselt über [font="Courier New"]/dev/ttyACM0[/font] und der andere über [font="Courier New"]/dev/ttyACM1[/font] oder was auch immer.

    Ansonsten gibt es für beides auch Versionen mit USB-Anschluss - was darauf hindeutet, dass mein gerade gemachter Ansatz funktionieren wird.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Ja nur die Schnittstellen-Bezeichnung ändert sich. Statt /dev/ttyAMA0 heissen die halt dann /dev/ttyUSB0 und /dev/ttyUSB1 oder /dev/ttyACM0 bzw. /dev/ttyACM1.
    Musst Du beim Einstecken des Adapters mal in den syslog schauen, welche Gerätedatei dem Adapter jeweils zugeordnet worden ist.
    Naja und jetzt macht Deine Frage mit den UARTs bzw. PL2303 auch Sinn ...
    Du siehst: Informations-Fluss ist das A und O
    cu,
    -ds-

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!