mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ausgänge von 89C2051 parallel schalten


Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich hab eine Frage - darf man die Ausgänge(Eingänge) von 89C2051
parallel schalten? So weit wie ich es kenne, geht es bei AVR, da kann
man ziemlich viel bei den Ports einstellen (Pullups, dritte Zustand),
aber bei 8051 gibt's ja keine Pullups. Wird es in Ordnung sein, wenn
ich z.B. 4 oder noch mehr 89C2051 MCUs an einem Port parallel schalte?
Ich brauche es für die schnelle Bearbeitung und Buffering von UART,
also anders geht's ja nicht. Wenn z.B. drei davon 0 ausgeben und der
vierte 1, was bekomme ich am Ausgang?
Danke für die Hilfe!

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Wenn z.B. drei davon 0 ausgeben und der
vierte 1, was bekomme ich am Ausgang?"

Einen Kurzschluss.

MfG
formtapez

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na ja, wie funktionieren dann die Eingänge von dem Controller? Dann sind
die immer im Kurzschlusszustand.

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man darf nur Eingänge direkt miteinander verbinden. Niemals Ausgänge !

Erklär doch mal genauer was Du vor hast, und warum Du diese
Parallelschaltung benötigst. Ich bin mir sicher es gibt noch eine
andere Lösung.

MfG
formtapez

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie unterscheidet man Eingänge und Ausgänge bei einem 8051er? Da
gibt's doch keine DDRs

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich meine mich zu erinnern, daß der 2051 nur intern einen Pull-Up hat
und einen Trasi nach gnd. Wenn du den max. Eingangsstrom eines Ports
nicht überschreitest, muß das Parallelschalten gehen.
Michael

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann Ausgänge problemlos parallel schalten, da dieser nur einen 30k
Pullup hat, aber nach Masse >20mA ziehen kann (mehr als 20mA sollte man
aber nicht machen, und den Gesamtstrom von glaube ich 80mA beachten !
Die Ports sind genial gelöst: Gleichzeitig Ein und Ausgang.
Um bei dem großen Pullup trotzdem kapazitive Lasten treiben zu können
wird kurzzeitig nach dem setzen auf High ein starker Pullup aktiviert,
daher parallele Ausgänge nicht über sbit sondern über mov P1,xxx
schalten !
Außerdem ändert sich der Pullup nach dem Zustand des Pins:
Ist er unbelastet (also auf High), dann fließt ein größerer Strom, als
wenn man ihn nach Masse zieht.
Wirklich genial die Idee !!

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Man kann bei allen 8051-ern die Ausgänge parallel schalten, das ergibt
dann ein "wired AND" (verdrahtetes UND). D.h. die Leitung ist nur
dann 1, wenn alle Ausgänge 1 sind.

Der "strong Pull up" wird immer bei jedem Wechsel von 0->1 aktiv.
Lang genug, um die Leitungskapazitäten umzuladen und kurz genug, damit
nichts Schaden nimmt.
Welcher Befehl den Pin nun von 0->1 setzt ist dabei egal.


Peter

Autor: formtapez (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups... ich ziehe alles zurück und behaupte das Gegenteil ;)

MfG
formtapez

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuche es gerade zu testen. Danke, Benedikt und Peter!

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
2Peter:
Ja, das stimmt, hab gerade die Ergebnisse gekriegt, es funktioniert
wirklich wie eine UND-Kette. Danke!
So weit, wie ich es verstanden habe, kann man die Eingänge auch
problemlos parallel schalten, wenn man überall eine logische 1
ausgegeben hat. Stimmt es?

Autor: Benedikt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eingänge parallelschalten funktioniert ebenso problemlos, nur wo ist da
der Sinn ?

Autor: Markus_8051 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So weit, wie ich es verstanden habe, kann man die Eingänge auch
problemlos parallel schalten, wenn man überall eine logische 1
ausgegeben hat. Stimmt es?

Ja, das ist Sinn und Zweck der Open-Collector-Ausgänge. Sieh Dir den
I2C-Bus an, die Ausgangsstufen von diesem Bus arbeiten genauso wie die
beim 8051. Da kannst Du fast beliebig viele zusammenschalten, ohne daß
es einen "Kurzen" gibt.

Gerade beim 89C2051 gibt es aber noch eine Besonderheit: Er hat zwei
Portpins, die als Komparatoreingänge genutzt werden können. (Ich
glaube, es sind die Ports P1.0 und P1.1) Diese beiden Leitungen haben
keinen internen Pullup. Hier mußt Du also noch einen Pullup außen
dranhängen. (10kOhm - 27kOhm)

Gruß,
Markus_8051

Autor: Aleksej Kiselev (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, Markus!
Das war wirklich informativ, hat mir eine ganze Menge Zeit gespart!

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.