Was ist wichtig im Signal von Computeruhren: Signalflanken oder Intervalle, wenn das Signal stabil ist? Kommt es zu einer mehrfachen Wertweitergabe?

Ich versuche, einige Grundlagen der digitalen Elektronik herauszufinden. Wir alle haben den quadratischen Graphen des Computertaktsignals gesehen:

Geben Sie hier die Bildbeschreibung ein

Ich habe mehrere Artikel im Internet gelesen und kann immer noch nicht herausfinden, ob der Moment des Signalwertwechsels (ich vermute auf der Grafik nur angenähert als Punkt) wichtig ist. Es würde bedeuten, dass es das Intervall darstellt, in dem eine Schaltung Einspeisungen von den Eingängen erhält und voraussichtlich die Werte an die Ausgänge weitergibt, während das Intervall und die Perioden des stabilen Signals für etwas anderes verwendet werden?

Oder sind die Flanken nicht wichtig, aber die Perioden des stabilen Signals und das Taktsignal könnte als nur ein zusätzlicher Schaltungseingang betrachtet werden, mit hoher oder niedriger Spannung eingestellt? Dies würde bedeuten, dass die Schaltung beginnt, z. B. auf andere Eingänge zu reagieren, wenn das Taktsignal auf 1 gesetzt ist, und es wird erwartet, dass sie irgendwo in diesem Taktzyklus Werte an den Ausgängen erhält - wenn das Taktsignal gleich danach 1 oder 0 ist?

Nur die zweite Option erscheint mir logisch, aber Internetautoren schreiben regelmäßig, dass etwas auf der steigenden Flanke erwartet wird und dass eine Schaltung ihre Ausgänge im Intervall erhalten sollte? Das ist nur ein Ausdruck dafür, dass das Signal jetzt zu hoch eingestellt ist?

Wenn die andere Option, die ich bevorzuge, wahr ist, schauen Sie sich zum Beispiel ein Zählerregister an, das aus einem einzelnen JK-Flipflop besteht, dessen invertierter Ausgang seinen J-Eingang speist. Es wird erwartet, dass es in jedem Zyklus von 0 auf 1 umschaltet. Wenn die Schaltung anfangen soll, auf ihre Eingänge zu reagieren, wenn das Taktsignal 1 wird, was ist, wenn das Ergebnis zu den Ausgängen propagiert wird, während das Taktsignal noch 1 ist, und es genug Zeit gibt, Werte noch einmal durch die gesamte Schaltung zu propagieren, während das Taktsignal ist immer noch 1 im selben Zyklus und den Zähler noch einmal umschalten? Ich sehe nichts in der Schaltung, das mehrere Ausbreitungen im gleichen Taktzyklus stoppen sollte, wenn die Schaltung schnell genug ist?

Antworten (4)

Du hast Recht. Flankentriggerung ist nur eine viel engere Form der Pegeltriggerung und hängt vom Timing ab. In einem flankengetriggerten Gerät wird die sich ändernde Taktflanke einfach in einen Impuls umgewandelt, der dazu führt, dass es die Eingaben akzeptiert: ein Pegeltrigger! Aber der Pegelauslöser ist sehr kurz. Er muss so kurz sein, dass sich die Ausgänge nicht zum Eingang zurück ausbreiten können, um in der Zeit, in der der flankengetriggerte Impuls erscheint und verschwindet, keinen Schaden anzurichten.

Die Flankentriggerung würde nicht funktionieren, wenn sich Signale sofort durch Drähte ausbreiten und unbegrenzte Anstiegsraten hätten.

Beachten Sie auch, dass Uhren in Phasen unterteilt werden können, um Probleme zu lösen, bei denen dies nicht schnell genug ist.

Ein Master-Slave-Flip-Flop ist ein Beispiel für Taktphaseneinstellung. Es teilt das Taktsignal in zwei Phasen auf, indem es sowohl auf steigende Flanken als auch auf fallende Flanken reagiert, jedoch unterschiedlich. Die Eingabe wird bei einer ansteigenden Flanke in einen Eingangslatch akzeptiert und dann bei einer abfallenden Flanke in einen zweiten Latch weitergeleitet, wo sie eine Ausgabe erzeugt.

Kaz, Ihre Antwort auf electronic.stackexchange.com/questions/65463/… hat mir fast alles gegeben, was ich brauchte. Tolle Antwort, ich sehe, dass viele Leute, die Hardwareforen besuchen, die Fakten, die Sie in der Antwort angegeben haben, nicht kennen, und ich konnte keine klare Antwort bekommen. Danke
Kaz, schauen Sie sich einfach eine einzelne JK-Flip-Flop-Ripple-Counter- Verbindung und nur die NAND-Schaltung direkt neben dem K-Eingang an. Aus dem Ripple-Counter-Diagramm sehe ich J und K
sind immer hoch . Also zurück zum NAND am K-Eingang eines einzelnen JK-Ripple-Zählers: Wenn er gerade flankengetriggert ist, sind alle drei Eingänge für die NAND-Schaltung hoch und er ändert seinen Wert auf Null. Aber bevor Null an den NAND-Ausgang weitergegeben wird, ist der Takt (der tatsächlich von dem Feld ausgegeben wird, das ein Nanosekunden-High-Signal für die steigende Flanke erhält) wieder auf Null, und diese Nanosekunde ist kürzer als das NAND, um die Werte weiterzugeben, wie Sie sagten. Würde es nicht den erwarteten NAND-Ausgang (Null) brechen? Dieses Nanosekunden-High-Signal reicht nicht aus
den Job in meinem Kopf auf keinen Fall.

Ich sehe nichts in der Schaltung, das mehrere Ausbreitungen im gleichen Taktzyklus stoppen sollte, wenn die Schaltung schnell genug ist?

Dies wird als Haltezeitverletzung bezeichnet und ist für eine Schaltung äußerst fatal. Es passiert nicht, weil ASIC-Entwickler teure Timing-Analysesoftware verwenden, um jeden einzelnen Pfad im Design zu überprüfen, um sicherzustellen, dass der Pfad nicht zu schnell ist, als dass sich der Eingangswert ändern könnte, bevor das Haltezeitfenster endet.

Im Allgemeinen führen Pfade durch genügend kombinatorische Zellen, und die Drähte haben genügend RC, so dass sich die Eingaben nicht ändern, bis lange nach Ablauf der Haltezeitdauer.

Sie können Wikipedia über Setup- und Hold-Zeiten für eine detailliertere Erklärung lesen .

Setup- und Hold-Zeitverletzungen passieren ständig in ASICs, aber wann, wo und wie sie passieren, wird sorgfältig kontrolliert. Es tritt garantiert immer dann auf, wenn eine asynchrone Eingabe vorhanden ist. Die meisten Reset-Eingänge zu Chips sind asynchron zum lokalen Takt und können daher Setup/Hold-Verletzungen aufweisen, die im Design behandelt werden müssen.

Was ist wichtig an einem Taktsignal? Alles natürlich! :)

Aber im Ernst, ein Taktsignal hat viele Aspekte und es ist schwierig, es auf nur ein paar Dinge zu beschränken. Es kommt auch sehr darauf an, was man damit macht. Im Folgenden nenne ich Ihnen einige Aspekte, die Sie berücksichtigen sollten:

Frequenz: Einige Anwendungen erfordern eine genauere Frequenz (und Periode) als andere. Eine Ethernet-Schnittstelle erfordert eine genauere Uhr als etwas, das einen Lüfter steuert. Es gibt viele Dinge, die die Frequenz beeinflussen können, aber es ist hauptsächlich auf Eigenschaften des Kristalls und/oder der PLL beschränkt.

Jitter: Ich definiere Jitter lose als eine Änderung der Frequenz/Periode im Laufe der Zeit. Um alte Plattenspieler als Analogie zu verwenden, ist Jitter wie Wow und Flattern. Die Jitter-Leistung ist normalerweise kein Problem, es sei denn, Sie betreiben Spread-Spectrum-Taktung oder Hochgeschwindigkeitskommunikation. Es gibt eine Vielzahl von Dingen, die Jitter beeinflussen können, darunter Rauschen, Leistung, die Eigenschaften von Taktpuffern, Signalführung, Signalintegrität und die Mondphase.

Flanken: Eine gute Taktflanke steigt/fällt schnell und monoton. Was ich mit monoton meine, ist, dass es nur ansteigt, wenn es ansteigt (keine Einbrüche oder Klingeln usw.). Wenn Sie einen TTL/LVTTL-Eingang speisen, kümmern wir uns nur um die logischen Eingangspegelschwellen von 0,8 V bis 2,0 V. Zwischen diesen beiden Pegeln sollte das Signal schnell und monoton ansteigen/fallen. Außerhalb dieses Spannungsfensters kann es im Rahmen des Zumutbaren herumspringen (dazu später mehr). Wenn Ihre Kanten nicht gut sind, kann es zu Doppeltaktung, übermäßigem Jitter, unvorhersehbarem Timing usw. kommen.

Signalintegrität: Hat das Signal viel Über- oder Unterschwingen? Gibt es ein Klingeln? Diese wirken sich zwar möglicherweise nicht direkt auf die Nützlichkeit der Uhr aus, können aber auf ernstere Probleme wie eine schlecht geroutete Taktspur oder einen falschen Signalabschluss hinweisen. Schlechte Signalintegrität bedeutet auch, dass Sie mehr HF-Rauschen ausstrahlen und empfangen, als Sie sollten, was dazu führt, dass Sie EMV-Tests nicht bestehen oder ein weniger als robustes Design haben.

Skew: Clock-Skew ist die Differenz der Ankunftszeiten der Uhren an zwei Geräten in der Schaltung. Angenommen, Sie haben eine Uhr und zwei Geräte, aber die Spur, die zu einem Gerät führt, ist 6 Zoll länger als die Spur zum anderen Gerät. In diesem Fall beträgt der Taktversatz etwa 1 ns, da sich Signale in einem Draht etwa 6 Zoll pro ns bewegen. Manchmal ist 1 ns keine große Sache, aber manchmal könnte es eine große Sache sein.

Arbeitszyklus: Die meisten Leute denken bei Uhren an einen 50/50-Arbeitszyklus, aber das stimmt nicht immer. Viele Dosenoszillatoren spucken ein Tastverhältnis von 60/40 aus, und viele Chips benötigen einen Takteingang von 55/45 (oder besser). Puffer, Signalrouting, Flankenraten, Leistung und andere Faktoren können sich ebenfalls negativ auf das Tastverhältnis auswirken. Laufende Takte als Differenzsignal können diesen Effekt deutlich reduzieren.

Hier bitteschön. Ich hoffe das hilft!

Das Intervall zwischen den Takten ermöglicht es den Signalen, sich vor der ansteigenden Flanke des nächsten Takts zu stabilisieren.

Zwischen aktiven Taktflanken kann es Logikbausteine ​​geben, die nicht taktsynchronisiert sind und einige Nanosekunden benötigen, um sich auf einen Ausgangswert einzustellen, bevor die nächste Taktflanke an den Logikbausteinen ankommt, die von den nicht synchronisierten Bausteinen gespeist werden.

Dies ist nur ein Beispiel und es gibt wahrscheinlich bessere Antworten darauf.

Auf Ihrem JK-Flip-Flop-Punkt kann dies passieren, wenn die Uhr langsam, laut und / oder nervös ist, aber Uhren sind nicht dazu bestimmt.

Aber schauen Sie sich diesen JK-Flip-Flop-Punkt an: Wie Sie im ersten Satz geschrieben haben, sollte die Schaltung vor der nächsten ansteigenden Taktflanke Werte an den Ausgängen übertragen haben. In Ihrem letzten Satz sagten Sie, dass eine Mehrfachausbreitung auftreten könnte, wenn die Uhr zu langsam ist - das bedeutet, dass sie schneller sein muss als die Ausbreitung - die Ausbreitung darf nicht stattfinden, während die Uhr in diesem Zyklus hoch ist? Daraus kann ich schließen, dass für jeden Stromkreis die Ausbreitung auf der niedrigen (Null-) Signalphase desselben Zyklus erfolgen muss? Denke ich richtig?
Wenn eine Uhr langsam ist und kein Rauschen in der Uhr oder Schaltung vorhanden ist, ändert der Flip-Flop-Ausgang an einem bestimmten Punkt den Zustand, ändert den Zustand jedoch nicht erneut, es sei denn, es gibt Rauschen auf der Uhr oder Jitter. Vielleicht, wenn ich Ihre Frage falsch verstehe, sollten Sie eine Zeichnung Ihrer Schaltung posten. Sie können auf einigen Websites im Internet posten und einen Link bereitstellen. Ich oder jemand anderes wird Ihr Diagramm in Ihre Frage einbetten.
Ich habe keine bestimmte Schaltung, ich habe nur Wikipedia über Flip-Flops und Zähler gelesen und über den einzelnen JK-Flip-Flop-Ripple-Zähler nachgedacht, der dort erwähnt, aber nicht grafisch dargestellt wird. Ich werde natürlich noch mehr lesen müssen, zB zu den Begriffen Rauschen und Jitter, die ich nicht kenne. Es sieht so aus, als hätte nur ich das Dilemma, dass die Computeruhr funktioniert, und der Rest von Ihnen kann problemlos eine digitale Schaltung mit Uhr in Ihrem Kopf betreiben, und es funktioniert für Sie. Danke