mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik mehrere Module ueber uart


Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich moechte mehrere kleine Steuermodule (mit nem 2051 drauf, bis zu
32stck) ueber ihren uart parallel an den Uart eines 8252 anschliessen
um etwas Bussystemaehnliches zu realisieren :). Die Frage ist nun, ob
zb. das 5. Modul das empfangen kann, was der 8252 sendet, weil die
anderen Module ja auch an dieser Leitung haengen und ggf den Pegel
veraendern koennen.

danke im voraus und mfG

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Such mal nach S.N.A.P. bzw. SNAP. Das dürfte alle Fragen beantworten.

seb

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm, also ich find da rein gar nichts. Bei google findet man dazu nur
irgendwelches Ethernet-Zeugs aber nix, womit man zusammen mit dem uart
etwas anfangen koennte.

mfg

Autor: DerDirk (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube ihr meint das...

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nu genau. Damit kannst du nem Menge kleine uC miteinander verbinden.

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, Danke. Das Protokoll ist mir aber eigentlich recht egal, mir gehts
um die Hardwareseite. Kann ich einfach 32 µCs parallel an den uart des
masters anschliessen, ohne dass sie sich gegenseitig stoeren?

mfg

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also du kannst dir das ja mal reinziehen. Es kann immer nur einer
senden. Wenn das befolgt wird sollte es keine Probleme geben.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der will doch nur wissen ob der ausgang des uart bei 32 angeschlossenen
eingänge zusammen bricht oder nicht (ob da genug strom raus kommt)

das kann ich leider nicht beantworten

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau, gast hat es treffend formuliert :)

mfg

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind die Signale an der UART nicht high und reagieren auf low?
Kann man dan nicht einen PNP-Transistor verwenden mit genügend Amper?

Gruß
Andi

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, moeglich. Ich werds wohl einfach mal irgendwie aufbauen und sehen
was dabei rauskommt.

mfg

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also wenn man sich das SNAP mal anschaut, sieht man wie das da gemacht
wurde. Ist ja auch egal. Solange nicht mehr als einer sendet und der
Bus nicht meterlang ist, sollte es keine Probleme geben.

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Irgendwie verstehst du mein Problem nicht.

http://mitglied.lycos.de/kolbe17/masl.JPG

Die Tx-Leitungen an den Slaves sind ja High. Angenommen einer der
Slaves will nun ne 0 senden und geht auf Low. Dann ziehen die anderen
Slaves die Leitung doch wieder hoch und am Master kommt ne 1 statt der
0 an. Mal mit Transistoren versuchen.

mfg

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn einer auf low geht, werden alle anderen mit auf low gezogen da ja
auf GND geschaltet wird und die es physikalisch da hin zieht.
Ich hatte mal an einen als normal konfigurierten Input-Pin mit Pull-Up
den Strom gemessen, weil ich wissen wollte, wie hoch der interne
Pull-Up-Widerstand ist.
Das waren bei 5V 137µA also 36KΩ.
Wenn das im UART-Mode ähnlich der Fall ist wären das bei 32 Pins 4384µA
(4,4mA).
Ein AVR-Pin hält angeblich max. kurz 40mA aus, also ca. das 9-fache und
4 1/2 mA kratzt Ihn dann nicht.
Miss doch einfach mal, wie viel Strom vom UART-Pin zur Masse fließt
dann weißt Du mehr.

Gruß
Andi

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, stimmt. Hab mal eben nachgemessen: bei meinem 8252 fliessen nur
8,9µA, also also nur 0,28mA. Genauso funktionierts ja auch in die
andere Richtung :), super.

Danke und mfG

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind 8,9µA nicht 0,0089mA?

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups, Du meintest wohl alle 32 zusammen mir 0,28mA :-)

Autor: Christof Krüger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kenne mich da jetzt nicht sooo sehr aus, aber ist das Problem nicht
weniger der maximal zulässige Strom, sondern eben der Pegel? Stichwort:
FanOut?
Wenn ein Chip die Leitung auf low zieht, sinds ja noch 31 Chips, die
die Leitung hochziehen. Das sind also 31 Widerstände parallel gegen
Vcc, oder mache ich einen Denkfehler?

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles, was auf GND geschaltet wird, auch ohne Widerstand (Kurzschluß),
geht von high auf low.

Gut, ich kann gut reden mit meinem Problem des Input und Output an
einem Pin was noch nicht richtig gelöst ist.

Gruß
Andi

Autor: Andi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist eigentlich, wenn nicht ein Slave was zum Master senden will,
sondern zufällig mehrere?
Da gibs dann einen heftigen Datensalat welcher vom Master nicht
verwertbar ist.
Oder Du mast die Master-Software so, das der die Slaves der Reihe nach
abfragt, ob die was zum senden haben und stattest jeden Slave mit einer
eindeutigen "Abfrage-ID" aus worauf dann nur einer reagiert.
Was hast Du eigentlich vor?

Gruß
Andi

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ganze soll eine Steuerung fuer mehrere Pumpen werden (Durchfluss-
und Druckmessung). Der Master sendet die ID des Slaves, an dem die
Pumpe haengt, die sich nun einschalten soll, eine bestimmte Menge pumpt
und dann ueber den Slave wieder abgeschaltet werden soll. Da jeder Slave
seine eigene Adresse hat, wird immer nur der senden, der vom Master
"angesprochen wurde". Also I²C-aehnlich.

mfg

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und das ganze soll natuerlich fast beliebig erweiterbar sein. Drum
haengt nicht jede Pumpe an einem Portpin.

mfg

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe eine Idee für etwas ähnliches, bei mir reicht sogar eine
Leitung zur Kommunikation.
An jedem Controller (auch am Master) wird eine Pegelwandlung
vorgenommen. Bei High am TX werden 12V auf die Busleitung
durchgeschaltet, bei Low am TX ist die Busleitung offen.
Die RX-Pins sind über einen Spannungsteiler ebenfalls an die Busleitung
angeschlossen. Durch den Spannungsteiler wird die Busleitung auf 0V
gezogen, wenn kein TX-Signal vorliegt. Die Spannungsteiler werden auf
einen Strom von 1mA eingestellt. Durch die höhere Spannung und den
Strom, der fließen muß, wird die Datenübertragung sicherer, als bei
geringen Strömen.
Eine Kollision hätte keine folgen für die Hardware. Und eine Leitung
gespart...
Der einzige Nachteil: Dadurch, daß RX und TX sich die gleiche Leitung
teilen, ist nur Halbduplex möglich. Vorteil: Jeder Baustein hört seine
eigene Übertragung mit. Falls es zu Überschneidungen kommt, kann man
die Übertragung abbrechen, wenn gesendetes Byte <> empfangenes Byte.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.