Was bedeuten Flanken- und Pegelauslösung?

35

Ich studiere 8085 Mikroprozessor Architektur und das Wort Edge Triggered und Level Triggered verwirrt mich wirklich sehr. Kann mir das jemand mit Laienworten erklären?

Während ich die Interrupts von 8085 mit den Namen RST 7.5, RST 6.5, RST 5.5 und TRAP studierte, stieß ich auf diese Worte und sie verwirrten mich. Hier habe ich einen Dokumentlink angehängt, von dem ich gelesen habe, und ich habe meine Verwirrungsdiagramme erwähnt.

im Dokument RST 7.5 -> Flanke ausgelöst RST 5.5 -> Pegel ausgelöst. TRAP -> Flanke ausgelöst und Pegel ausgelöst. (Warum? Macht es einen Unterschied?).

die Dokumentverknüpfung

Trapaank
quelle
Das ist kein pdf.
Starblue
Ja, es ist ein Link zum PDF-Dokument. Ich habe die richtigen Änderungen vorgenommen.
Trapaank

Antworten:

34

Ich habe Ihr Dokument nicht wirklich gelesen, aber ich kann verstehen, warum Sie verwirrt sind. Aber es ist wirklich ein sehr einfaches Konzept. Lassen Sie mich erklären.

Auslösen: Dies bedeutet, dass ein Stromkreis aktiviert wird. Eine Schaltung aktiv zu machen bedeutet, der Schaltung zu erlauben, Eingaben zu nehmen und Ausgaben zu geben. Wie zum Beispiel angenommen, wir haben ein Flip-Flop. Wenn die Schaltung nicht getriggert wird, ändert sie weder die im Flip-Flop gespeicherten Daten noch den Ausgang Q oder Q ', selbst wenn Sie Eingangsdaten eingeben. Nun gibt es grundsätzlich zwei Arten der Auslösung. Die Auslösung erfolgt in Form eines Takt- oder Torsignals. Abhängig von der Art des verwendeten Auslösemechanismus wird die Schaltung bei bestimmten Zuständen des Taktimpulses aktiv.

  1. Pegel-Triggerung: Bei der Pegel-Triggerung wird die Schaltung aktiv, wenn sich das Tor oder der Takt auf einem bestimmten Pegel befindet. Diese Stufe wird vom Designer festgelegt. Wir können eine negative Pegelauslösung haben, bei der die Schaltung aktiv ist, wenn das Taktsignal niedrig ist, oder eine positive Pegelauslösung, bei der die Schaltung aktiv ist, wenn das Taktsignal hoch ist.

  2. Flankentriggerung: Bei Flankentriggerung wird die Schaltung bei negativer oder positiver Flanke des Taktsignals aktiv. Wenn die Schaltung zum Beispiel durch eine positive Flanke ausgelöst wird, wird sie genau zu dem Zeitpunkt eingespeist, zu dem das Taktsignal von niedrig auf hoch wechselt. Ebenso erfolgt die Eingabe genau zu dem Zeitpunkt, zu dem das Taktsignal bei der negativen Flankentriggerung von hoch auf niedrig wechselt. Denken Sie jedoch daran, dass nach der Eingabe die gesamte Zeit verarbeitet werden kann, bis die nächste Eingabe vorgenommen wird.

Das ist die allgemeine Beschreibung der Auslösemechanismen und gilt auch für die 8085-Interrupts.

Rick_2047
quelle
na ja, in Bezug auf die Flankentriggerung muss man normalerweise die Daten für eine kurze Zeit stabil halten (siehe Datenblätter) und sie für eine gewisse Zeit stabil halten (siehe Datenblätter) aber diese zeiten sind normalerweise ziemlich kurz.
JustJeff
Ich verstehe, was Sie erklären wollten, aber eine andere Frage, die ich erwähnt habe, ist in 8085 TRAP ist sowohl Edge-Triggered als auch Level-Triggered (siehe Dokument). Was ist also die Funktionalität in einem solchen Fall, wenn die Schaltung sowohl pegelsensitiv als auch flankengetriggert ist?
Trapaank
In diesem Fall soll die Kante auch ein bestimmtes Niveau überschreiten. Also brauchen wir etwas wie steigende Flanke und Pegel> 3V
Steven Goldade
7

Bei einem 8085 ist TRAP ein nicht maskierbarer Interrupt, der normalerweise zur Behandlung von Fehlern wie einem Stromausfall verwendet wird.

Wenn es levelgetriggert wäre, könnte sein Code niemals ausgeführt werden, da es sich um einen nicht maskierbaren Interrupt handelt. Der Handler würde mit der Ausführung beginnen, wenn er aktiv würde, aber er wäre immer noch aktiv, also würde der Handler mit der Ausführung beginnen, aber er wäre immer noch aktiv, also würde der Handler mit der Ausführung beginnen, usw. usw. Daher muss er flankengetriggert werden .

Die Flankentriggerung ist jedoch ein Problem, wenn die Linie möglicherweise Störungen aufweist. Glitches können dazu führen, dass der Handler mehrmals aufgerufen wird, wenn die Zeile glitcht. Es ist ein sehr großes Problem mit TRAP, da es nicht maskierbar ist und zu einer RST führt.

Als Kompromiss funktioniert die TRAP so, als wäre sie pegelgetriggert, mit der Ausnahme, dass sie nur erkannt wird, wenn sie seit dem letzten Erkennen niedrig war. Dadurch wird sichergestellt, dass der TRAP-Handler nur einmal aufgerufen wird.

Dies ist, was sie mit "Flanken- und Pegelauslösung" meinen.

D Krueger
quelle
2

* Auslösen * bedeutet, einen Schaltkreis zu aktivieren. In Pegeltriggerung die Schaltung aktiviert, wenn der Gating oder Taktimpuls auf einem bestimmten Niveau ist. Bei Flankentriggerung wird die Schaltung bei negativer oder positiver Flanke des Taktsignals aktiv.

Engr Hira Nasir
quelle
3
Dies ist so ziemlich das, was oben gesagt wurde.
Brian Carlton
-1

Golaž und vsz sagen es gut:

Es ist genau das, was gesagt wird.

Wenn die Flankenunterbrechung eingestellt ist, wird das ISR nur bei fallender / steigender Flanke eines Impulses ausgelöst. Wenn ein pegelsensitiver Interrupt (wie Sie sagen) eingestellt ist, wird der ISR jedes Mal ausgelöst, wenn ein Signal mit niedrigem / hohem Pegel an dem entsprechenden Pin anliegt.

Kurz gesagt, Flankenunterbrechungen werden nur bei sich ändernden Flanken ausgelöst, während Pegelunterbrechungen ausgelöst werden, solange der Impuls niedrig oder hoch ist.

Wenn Sie also einen Interrupt mit niedrigem Pegel eingestellt haben, führt die MCU das ISR so lange aus, wie der Pin niedrig ist.

Dies bedeutet, dass der ISR immer wieder verlassen und erneut betreten wird, solange der Pin niedrig ist.

Mein Eindruck ist, dass niemand wirklich geantwortet hat, was es bedeutet, sowohl flanken- als auch ebenengesteuert zu sein. Und das habe ich auch nicht.

D Die Antwort von Krüger erklärt richtig, was es bedeutet, sowohl pegel- als auch flankengesteuert zu sein. (Zumindest klingt seine Antwort für mich korrekt, auch wenn ich mit dem 8085 nicht vertraut bin.) In der Antwort von Golaz und vsz wird davon ausgegangen, dass der Interrupt maskiert ist. Ich bin mir immer noch nicht sicher, wie "außer dass es nur erkannt wird, wenn es seit dem letzten Mal, als es erkannt wurde, niedrig war". unterscheidet sich jedoch davon, flankengetriggert zu sein.

Josiah Yoder
quelle
Vielen Dank für Ihre Antwort, aber ich denke, OP ist zu etwas anderem übergegangen und hat wahrscheinlich eine Frau und Kinder, seitdem die Frage vor 5 Jahren gestellt und beantwortet wurde. Warum versuchst du nicht stattdessen, neue Fragen zu beantworten?
MaximGi
3
@ MaximGi: Ich bin anderer Meinung. Es ist nichts Falsches daran, alte Fragen zu beantworten. Foren sind nicht nur für Poster gedacht, sondern auch für andere, die hier auf der Suche nach Antworten auf die gleiche Frage sind. Die neuen Antworten müssen lediglich die bereits vorhandenen Informationen ergänzen.
Mister Mystère
1
@ MisterMystère Ich habe nie gesagt, dass etwas mit der Beantwortung alter Fragen nicht stimmt. Diese späte Antwort fügt jedoch keinen nützlichen Inhalt hinzu, die Frage wurde bereits richtig beantwortet. Auch die letzte Aussage ist falsch und verstößt gegen die Regeln.
MaximGi
@MaximGi Bei näherer Betrachtung sehe ich, dass Sie Recht haben: Meine letzte Aussage war falsch. Ich habe es korrigiert. Mein Zitat von Golaz und vsz kann für neue Benutzer hilfreich sein, die nicht wissen, was Edge- oder Level-Sensitive für sich bedeutet.
Josiah Yoder