"Übersprechen" innerhalb eines Latches !?

Gast #213974
Hallo,

ich benutze ein 8-Bit Latch 74ACT574 um asynchrone Daten zur
Weiterverarbeitung zu synchronisieren.
Das 8-Bit Latch wird mit 30 MHz getaktet. Wenn ich an D[0..7] einen
Zähler als Testgenerator anschließe, entstehen an den MSB (die gerade
auf LOW stehen) des Q[0..7] bei mehreren fallenden Flanken (z.b.
Übergang von 00011111 auf 00100000) Spikes dieser Form: ___-___.
Meistens dauern die Spikes ca 20% der CLK, manchmal, und das ist das
Problem, halten sie allerdings auch einen Takt lang.

Auf dem LogicAnalyser sieht der Q[7..0] z.B. so aus (11111110 ->
00000000 an D[0..7]):

0: --------_______
1: --------_______
2: --------_______
...
6: --------_______
7: ______-______  <- Spike! Wieso?

Was kann ich da machen? Die Stromversorgung ist einwandfrei,
Kondensator (10n, 100n) ebenfalls vorhanden, Versorgungsspannung exakt
5,00V.

Ich hoffe jemand kann mir einen Tip geben,
Vielen Dank, Jonas

PS: Das Problem tritt auch bei 100kHz, 1 MHz... auf ;-(
Gast #213975
Wenn bei einem Register oder Latch die Setup- und Hold-Time nicht
eingehalten werden, ist der Zustand vom Ausgang undefiniert.

Stichwort: Metastabilität (metastability).

Standardproblem. Manche Microcontroller haben daher an den Eingangen
mehrere Register/Latches hintereinander um die Wahrscheinlichkeit
minimieren (z.B. AVR Mega/Tiny).
Gast #213977
Wieso metastabil?
Metastabilität tritt doch auf, wenn CLK und D sich nahezu gleichzeitig
ändern.
An D[7] ändert sich aber nichts. Wieso gibt es dann an Q[7] den Spike?

Hier nochmal zur Veranschaulichung:

D0: --------_______
D1: --------_______
D2: --------_______
...
D6: --------_______
D7: _____________  <- ...dauerhaft LOW

CL: -_-_-_-_-_-_-  <- CLK, Übernahme an positiver Flanke

Q0: --------_______
Q1: --------_______
Q2: --------_______
...
Q6: --------_______
Q7: ______-______  <- Spike! Wieso?

Gruß + Vielen Dank
Jonas
Gast #213978
Weil Du eine Menge Ein- und Ausgänge gleichzeitig schaltest, treten an
den Induktivitäten der Zuleitungen inerhalb und ausserhalb des Chips
Spannungsspitzen auf und verursachen Verschiebungen der Bezugspunkte,
die zu Fehlschaltungen führen können. Der auslösende Faktor sind die
Anstiegs- und Abfallzeiten des Signals, weniger die Frequenz. Diesen
Effekt nennt man Bouncing.
Arno
Gast #213979
Ok, die Metastabilität ist's nicht (so ganz deutlich konnte ich die
Takt/Daten-Beziehung deinem Text nicht entnehmen).

Aber dafür fällt der 74ACT auf. Sind unangenehme Biester. Sehr schnell,
sehr schnelle Flankenwechsel, arge schnelle Stromspitzen. Und leiden
daher unter TIs alter Fehlentscheidung, die VCC/GND-Pins an die am
wenigsten dafür geeignete Stelle zu packen - die Ecken.

Besser geeignet: 74ACT11374. Gleiche Konfiguration aber besseres
Pinout. Mehr VCC/GND-Pins und die in der Mitte. Trotzdem ist die
Platine ebenso wichtig. Ich vermute, dass sich bei TI auch die eine
oder andere Application Note diesem Thema widmen wird.
Gast #213980
@A.K. Vielen Dank für den Tip mit dem anderen TI Baustein.
Habe bis jetzt den 574er von TI. Ein Motorola 574er hat nur kurze
Glitches, max. 10% der Taktlänge. Ich werde nun den 74ACT11374 testen.

Gruß Jonas

PS: Weitere Beiträge sind erwünscht ;-)
Gast #213981
Dem 11374 zwischen Saft und Masse von unten einen 0.1uF SMD-Kerko
gegenklatschen.
Dann sollte Ruhe sein.
Bedrahtete Caps haben eine zu hohe Serieninduktivität.

Gruss
Jadeclaw.
Gast #213982
Wenn der höhere Stromverbrauch keine Rolle spielt, nimm doch die
F-Serie, die sind gutmütiger, da noch in TTL-Technik (geringere
Stromspitzen).


Ob die VCC/GND-Pins an den Ecken oder in der Mitte sind, hat bei mir
bisher keine Auswirkungen gehabt, eine gute Leiterbahnführung aber sehr
wohl.

Bzw. bei langen Leitunge an den Ausgängen könne Serienwiderstände
(10..22 Ohm) ware Wunder wirken.
Die AC/ACT-Typen ziehen quasi an den geladenen Leitungskapazitäten
ihren eigenen GND hoch.


Peter

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.