Warum gibt es in der Digitaltechnik so viele active-low Signale

#7855774
Lesenswert?

Ich habe an euch mal eher eine philosophische Frage:

Warum gibt es in der Elektronik eigentlich allgemein so viele active-low Signale? Ich habe das Gefühl, dass sich für viele Standardsignale (z.B. Resets, SPI-Chip-Selects, UART) es sich irgendwie normalisiert hat, dass die Signale im Idle einfach "high" sind und das ganze auch niemand weiter hinterfragt.

Bei Leitungen mit einem open-drain und passiv-pull-up verstehe ich es irgendwie noch (wobei es sich auch hier "umgedreht" realisieren lassen würde).

Aber bei Signalen die von einem Push-Pull getrieben werden...wozu? Was ist hier der Vorteil dabei und warum sind diese nicht einfach active-high (und idle-low)?

#7855788
Lesenswert?

Markus W. schrieb:

Bei Leitungen mit einem open-drain und passiv-pull-up verstehe ich es irgendwie noch (wobei es sich auch hier "umgedreht" realisieren lassen würde).

Bei TTL waren die push-pull-Ausgänge auch nicht viel anders aufgebaut. Statt pull-up hast Du eine Stromquelle, aber trotzdem können 74/74L/74H und die späteren 74S/74LS wesentlich besser nach low treiben als nach high. Low ist ein durchgeschalteter Transistor mit typisch 0,3 V, High ist irgendwas zwischen 2,4 und 4,8 V. Damit ist active low störfester und die fallende Flanke ist vom Timing her besser definiert.

Die heutigen CMOS-Bausteine haben symmetrische Ausgänge, da ist es eigentlich egal. Active Low nimmt man heutzutage vor allem aus historischen Gründen, weil man es halt so macht.

Moderator (Firma: Titel) Persönliche Seite #7855805
Lesenswert?

Markus W. schrieb:

Ich habe an euch mal eher eine philosophische Frage

Mit einem ganz praktischen Hintergrund aus dem letzten Jahrtausend.

Soul E. schrieb:

Bei TTL waren die push-pull-Ausgänge auch nicht viel anders aufgebaut.

Bei TTL waren die Eingänge Pullup-Eingänge, die nach Masse gezogen werden mussten. Die passenden Ausgänge wurden also so ausgelegt, dass sie gut "Low" ausgeben konnten:

Dieser Vorzug für "Low" spiegelt sich auch in den asymmetrischen Schaltpegeln der TTL-Bausteine wieder.

Die heutigen CMOS-Bausteine haben symmetrische Ausgänge, da ist es eigentlich egal.

Bei den älteren CMOS war im Ausgangstreiber auch noch der N-Kanal-Fet nach GND derjenige mit dem geringeren Kanalwiderstand. Ein Low-Pegel war also besser belastbar, ein Low-Aktiver Ausgang konnte mehr Eingänge treiben.

Und viel Bauteile, die danach kamen, mussten mit den vorhandenen TTL und CMOS Batueilen zusammen funktionieren oder rückwärtskompatibel sein.

#7855850
Lesenswert?

Markus W. schrieb:

Ich habe an euch mal eher eine philosophische Frage:

Idle = High kommt aus der Sicherheitstechnik. Wenn in einer Alarmanlage nur im Alarmzustand Strom fließen würde, könnte man eine durchtrennte Leitung nicht erkennen.

"Strom weg" bedeutet, dass man sich in der einen oder anderen Weise darum kümmern muss

Das hat etwas mit technischem Verständnis und weniger mit Philosophie zu tun.

#7855853
Lesenswert?

Ein weiterer Grund ist der, daß sich so etwas gut mit Open-Collector- bzw. Open-Drain-Ausgängen kombinieren lässt, um einfach mehere Ausgänge logisch verknüpfen zu können.

Ein typisches Beispiel sind hier Interruptleitungen, ein Prozessor wie z.B. 6502 hat einen Active-Low-Interrupteingang, an dem mehrere Bausteine parallel angeschlossen werden (und ein Pullup-Widerstand). Nun kann jeder dieser Bausteine einen Interrupt auslösen, ohne daß weitere Schaltungslogik erforderlich ist. Der Interrupthandler muss natürlich bei jeder möglichen Interruptquelle nachsehen, ob sie den Interrupt ausgelöst hat, aber bei Prozessoren, die keine komplexere Interruptlogik und nur sehr wenige Interrupteingänge haben, ist das der praktischte Weg.

IBM hat es beim Design des PC übrigens genau falsch gemacht, die haben Interruptsharing verunmöglicht (durch die Kombination von Active-High-Interupts und Totem-Pole-Treiber), was bei einem so beschränktem Design wie dem PC mit insgesamt 8 Interruptleitungen (oder 15 beim AT) schon reichlich bescheuert war.

#7855866
Lesenswert?

Soul E. schrieb:

Statt pull-up hast Du eine Stromquelle, aber trotzdem können 74/74L/74H und die späteren 74S/74LS wesentlich besser nach low treiben als nach high.

Wobei allerdings der Lastfaktor beachtet werden mußte. Die 74'er Serie hatte, soweit ich mich erinnere, Lastfaktor 10, d.h. man konnte maximal 10 Eingänge mit Standardlast 1 treiben.

#7855871
Lesenswert?

Hans schrieb:

Wobei allerdings der Lastfaktor beachtet werden mußte. Die 74'er Serie hatte, soweit ich mich erinnere, Lastfaktor 10, d.h. man konnte maximal 10 Eingänge mit Standardlast 1 treiben.

Richtig, Lastfaktor 10 war auch bei H(ighspeed), L(owpower), S(chottky) und LS innerhalb der Serie üblich. Erst bei CMOS entspannte sich das. dazu kam, das vereinzelte Eingänge auf Faktor 2 haben konnten. dazu gab es dann Umrechnungsfaktoren von einer Serie zur anderen. Der 7440 war ein Doppel NAND mit 4 Eingängen, dessen Ausgang Faktor 20 hatte. der war als Treiber gedacht, wenn ein normaler Ausgang nicht mehr reichte. Z.B. bei synchronen Zähler/Teilern

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