Ausgänge von 89C2051 parallel schalten

Gast #107090
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!
Gast #107093
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
Gast #107095
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
Gast #107096
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 !!
#107097
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
Gast #107100
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?
Gast #107102
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren