Forum: Mikrocontroller und Digitale Elektronik 74HC595 kaskadieren


von Jörg Günzel (Gast)


Lesenswert?

Hallo,
ich hatte vor, es so zu lösen, wie es auch in
http://wiki.mikrocontroller.net/Porterweiterung_mit_SPI.htm
beschrieben ist.
Im Datenblatt des 74HC595 ist nun aber Folgendes zu erkennen:
Wenn am Eingang der Takt jeweils in der Mitte des zu schiebenden Bits
von Low nach High wechselt (und das ist ja wünschenswert, weil an
diesem Übergang das Bit ausgewertet wird), dann liegt an Q7' (also dem
seriellen Eingang des nächsten 595) der Low->High-Übergang am Ende bzw.
Anfang des Bits, also an einer undefinierten Stelle. Müsste man nicht
für das 2. Register und alle folgenden geradzahligen einen zweite,
invertierte Clock benutzen?
Jörg

von A.K. (Gast)


Lesenswert?

Entscheidend ist hier, ob die erforderliche hold time (tH, 5ns)
eingehalten wird. Und das wird sie, wenn der das propagation delay
(tPHL/tPLH, <35ns) grösser. Und das darf hier wohl angenommen werden.

von Jörg Günzel (Gast)


Lesenswert?

Hallo A.K.,
ich habe Deine Erklärung leider nicht verstanden, aber trotzdem danke
der Mühe. Vielleicht kannst Du insbesondere den zweiten Satz nochmal
korrekt und auch ausführlicher schreiben. Hast Du denn meine Frage
verstanden? Es geht darum, dass das Einganssignal für das zweite
Register um 180 Grad phasenverschoben zum ursprünglichen Eingangsignal
liegt und deswegen dann am Low-High-Übergang der Clock das Bit gerade
wechselt. Mir ist schon klar, dass so Übergänge nicht mit unendlicher
Flankensteilheit vonstatten gehen, aber trotzdem ist es dann doch immer
Zufall, ob der gewünschte oder vorherige Bitwert genommen wird, oder?
Gruß Jörg

von A.K. (Gast)


Lesenswert?

Der Chip-Designer der ein Schieberegister definiert und diesem eigens
einen Ausgang für die Kaskadierung spendiert, dann aber ein Timing
entwickelt, mit dem eine Kaskadierung nicht funktioniert, der macht es
nicht lange in der Branche.

Ich hoffen das ich die Frage verstanden habe, ein bischen seltsam ist
sie indes schon formuliert. Beim Verweis auf das Wiki handelt es sich
ja um ganz simple Kaskadierung von Schieberegistern, kein Hexenwerk.

Entscheidend ist, wann genau der Daten-Eingang vom Schieberegister
genutzt wird. Dieser Eingang darf sich einige Nanosekunden um die
positive Taktflanke herum nicht ändern. Etwas vorher nicht (setup time)
und etwas nacher nicht (hold time). Das genau ist wichtig, nicht ob die
Flanke in der Mitte von irgendwas liegt oder mehr vorne oder hinten.
Der Ausgang wiederum reagiert auf das Taktsignal und maximal einige zig
nsec später kommt das neue Bit raus. Probleme gibt's aber nur, wenn
sich der Ausgang beispielsweise 5nsec nach dem Takt ändert, die nächste
Stufe ihnen Eingang aber noch 10nsec nach dem Takt braucht. So ist es
aber nicht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.