74HC595 kaskadieren

Gast #153700
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
Gast #153701
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.
Gast #153702
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
Gast #153703
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren