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 ;-(
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).
Such mal unter dem Stichwort "Bounce" oder "Bouncing". Arno
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
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
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.
@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 ;-)
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.