Ich versuche, einige Grundlagen der digitalen Elektronik herauszufinden. Wir alle haben den quadratischen Graphen des Computertaktsignals gesehen:
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?
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.
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 .
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.
Jippie