Vor allem eine theoretische Frage. Muss das Taktsignal zwischen Peeks und Trogs die gleiche Breite haben?
Ein normales Taktsignal mit Daten (unten):
Ein zufälliges Taktsignal mit Daten (die Daten sind immer noch mit der Uhr synchron) (unten):
Würde sich der Chip (irgendein Chip im Allgemeinen, aber als Beispiel ein serielles Parallel-Out-Schieberegister) mit einem zufälligeren Takt noch normal verhalten? Wenn nicht, warum nicht?
Auch hier nicht, dass ich dies vorhabe, aber gibt es theoretisch einen Grund, warum ich keinen Standard-Ausgangs-Pin am Raspberry Pi / Arduino als Uhr und einen anderen Pin als Daten verwenden könnte?
Beispiel Pseudocode:
fakeClockPin = 1;
dataPin = 2;
setPin(dataPin, HIGH);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms
setPin(dataPin, LOW);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms
setPin(dataPin, HIGH);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms
setPin(dataPin, LOW);
setPin(fakeClockPin, HIGH);
sleep(1); //1ms
setPin(fakeClockPin, LOW);
sleep(1); //1ms
Antworten:
Ihr Taktsignal löst eine Flanke aus, in Ihren Beispielen auf der positiven Flanke. Sie können erkennen, dass die Daten kurz vor der Taktflanke ( Rüstzeit ) stabil sein müssen. Wenn die Uhr an der fallenden Flanke einrastet, fällt dies mit der Änderung Ihrer Daten zusammen.
Mit Ausnahme der Einrichtungszeit gibt es nur wenige Einschränkungen: Die Uhr kann so lange hoch bleiben, wie sie möchte. Sie müssen jedoch vor der nächsten ansteigenden Flanke eine minimale niedrige Zeit haben.
quelle
Ein Chip verhält sich normal, solange Sie ihn innerhalb der im Datenblatt angegebenen "normalen Betriebsparameter" betreiben. Die meisten Chips haben nur Anforderungen an die Mindestzeit zwischen Taktflanken und die Rüstzeit (Daten stabil bis aktive Taktflanke). Weder werden durch Strecken der Uhr verletzt.
In der Praxis weist ein durch Software erzeugtes Taktsignal immer große zeitliche Schwankungen auf. Der wichtige Punkt ist, dass Sie die Dinge für den externen Chip nicht zu schnell erledigen. Das Timing eines typischen Schieberegisters wird jedoch in Zehnern von ns ausgedrückt, was einige Ordnungen schneller ist als die beobachteten 1 ms.
quelle
Einem einfachen Chip mit einem "Clock Pin" ist es egal, wann die Taktflanke eintrifft, nur dass dies der Fall ist. Selbst isochrone Impulse kommen eher Software oder komplexerer Hardware zugute, z. B. PLL-basierten Geräten.
quelle