Geregeltes Einschalten von 74er Schaltungen

OP #5679161
Hallo zusammen,

angenommen ich habe eine Schaltung aus einem uC und mehreren 74er 
Bausteinen, beispielsweise zwei uC-Pins die an einem 74* AND-Gatter 
angeschlossen sind, dessen Ausgang dann mit einem weiteren uC-Pin an 
einem 74* OR-Gatter hängt, und eventuell noch mehrere Bausteine 
dahinter. (Ja, ja, ich weiß, dass das in der Form quatsch ist. Es ist 
eine prinzipielle Frage.)
1
uC -\
2
     74*
3
uC -/   \
4
         74* --- Ausgang
5
uc -----/

Ich will nun verhindern, dass beim Einschalten irgendwelche 
undefinierten Zustände bei den Ausgängen auftreten. Wie macht man sowas? 
Den letzten der Bausteine in der Kette durch einen Transistor/FET 
verzögert einschalten?

Schöne Grüße,
grtu

Edit: Ganz vergessen, beim Einschalten werden alle uC-Pins so 
geschaltet, dass der Ausgang der 74er-Kette Low ist. Ich will speziell 
verhindern, dass beim Einschalten der Ausgang kurz High wird.
Gast
Was wäre denn z.B. ein undefinierter Zustand?
Das musst du anhand deiner konkreten Applikation entscheiden und kann 
m.E. nicht so pauschal beantwortet werden.
TTLs lassen sich unabhängig voneinander einschalten, da die Eingänge 
auch ohne Vcc 5,5V verkraften. Auf CMOS trifft das nicht zu, die müssen 
also gemeinsam eingeschaltet werden.

Im Verlauf des Einschaltens sind die Ausgänge undefiniert, egal ob TTL 
oder CMOS. Folglich gilt es, den Ausgang selbst bis zu einem stabilen 
Zustand abzutrennen, nicht die Versorgung des Bausteins.
A. G. schrieb:
> Ich will nun verhindern, dass beim Einschalten irgendwelche
> undefinierten Zustände bei den Ausgängen auftreten. Wie macht man sowas?

Da - in den meisten Fällen - die Reset-Zustände der MCU-Pins hochohmig 
sind bzw. als (floatende) Eingang geschaltet werden wird dort ein 
einfacher PullUp bzw. Pulldown (abhängig vom gewünschten 
"Default"-Verhalten) ausreichen.
OP
Max M. schrieb:
> A. G. schrieb:
>> Wie macht man sowas
>
> Man guckt ins DB des uC was nach einem Reset mit den I/O-Pins ist!

Es geht ja nicht nur um die uC Pins. Angenommen man hat eine verkettete 
Schaltung von vielen Bausteinen, teils invertierend. Ich würde erwarten, 
dass je nach Einschaltdauer der verschiedenen Bausteine kurzzeitig 
zufällige Signale am Ausgang landen können.
Gast
A. G. schrieb:
> Edit: Ganz vergessen, beim Einschalten werden alle uC-Pins so
> geschaltet, dass der Ausgang der 74er-Kette Low ist. Ich will speziell
> verhindern, dass beim Einschalten der Ausgang kurz High wird.

Wills du also die Zeit "überbrücken", die der uC benötigt, um seine 
Ports richtig einzustellen?
Dann mache es über Pull-Widerstände, wie bereits beschrieben.

Oder willst du Glitches vermeiden, die aufgrund der Gatterlaufzeiten in 
den 74ern entstehen können?
Gast
A. G. schrieb:
> Es geht ja nicht nur um die uC Pins. Angenommen man hat eine verkettete
> Schaltung von vielen Bausteinen, teils invertierend. Ich würde erwarten,
> dass je nach Einschaltdauer der verschiedenen Bausteine kurzzeitig
> zufällige Signale am Ausgang landen können.

Ahh zu spät gelesen..
es geht dir also um die Glitches.

Da musst du deine konkrete Logik anschauen, ob diese überhaupt Glitches 
erzeugen kann.
Falls ja, dann könntest du am Ende der Logikkette den Ausgang nochmal 
über ein AND mit einem uC Pin verknüpfen, der dann erst später den 
Ausgang frei gibt...

Eventuell reicht aber auch ein kleiner Kondensator am Ausgang (wenn 
deine Ausgangssignale nicht sehr schnell sein müssen)
(Firma: Funkenflug Industries)
Ich würde es so versuchen, daß ein Schaltungsteil ein Reset-Signal 
erzeugt, welches beim Einschalten der Betriebsspannung auch definitiv 
"low" bleibt und diesen Zustand nicht ohne eine bestimmte Abfolge von 
"Kommandos" verlässt.

Damit kann man die gesamte Schaltung in einem definierten Zustand und 
falls erforderlich Ausgänge von z.B. Treiberschaltkreisen gesperrt 
halten.

Die Schaltung läuft dann erst an, wenn dieser Reset (mit stabilisierter 
Betriebsspannung) gelöst wird. Könnte man z.B. einfach mit einer 
bestimmten Kombination aus µC-Pins machen (die sich ohne angelaufenes 
Programm alle gleich verhalten) und Zeitverzögerung, die den Anlauf des 
µCs überbrückt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.