Hallo! Ich bin auf der Suche nach einem schnellen Zähler Baustein 74x oder 4xxx, welcher die Adressierung für einen SRAM übernehmen soll. Ein Write Cycle benötigt lediglich 8ns und der Addressbus ist 15Bit lang. Ich würde gerne einen sehr schnellen Counter (bzw mehrere kaskadiert) anschließen um diesen SRAM auch optimal ausnutzen zu können. Der Zähler soll keinen Flaschenhals darstellen! Nun weis ich leider nicht genau, wo ich schauen soll. Ich hab das Forum gestern bereits durchsucht, konnte aber mit keinem zufriedenstellendem Ergebnis glänzen. Gibt es zufällig eine Seite, wo alle möglichen 74x, etc.. aufgezählt sind? Derzeit habe ich meine Suche durch EAGLE betrieben, indem ich dort in der Bibliothek geschaut habe, was alles ein binärer Zähler ist. Daraufhin habe ich dann dazugehörige Datenblätter gewälzt. Um ehrlich zu sein, weis ich nicht genau, wie ich das Datenblatt lesen soll. Muss ich mir die minimale Pulse Breite anschauen und demnach die maximale Zählfrequenz berechnen? Beim 4040 (schlechtes Beispiel da 5V, stimmt doch, oder?) ist Tw = 50ns(min) bzw 140ns(max) bei 5V. gemittelt ergibt das ganze 95ns, was etwa 10MHz entspricht. Laufen soll das ganze nachher mit 3.3V und nutzen will ich das ganze als simplen Logic Analyser. Für Hilfe wäre ich Dankbar!
Es gibt auch noch den 74HC4040, der um einiges schneller ist. Trotzdem ist und bleibt dies ein asynchroner Zähler, dessen Ausgänge zeitlich versetzt schalten, so daß man nach dem Zählpuls noch etwas warten muß, bevor man die Strobe-Leitung am SRAM zieht.
Unter anderem für einen Logic Analyzer hab ich schon die selben Überlegungen angestellt. Ein einfacher Zählbaustein ist der 74161, der eignet sich auch zum kaskadieren. Der 74LS161 hat ein propagation delay von max. 45ns (der Höchstwert aller im Datenblatt angegebenen Delays). Der Wert ist aber für ein clear, also uninteressant für's eigentliche zählen. Der nächstkleinere ist 38ns für clk -> Ausgang, von dem delay kannst du also beim Zählen ausgehen. Das Problem ist, das der nur 4 Bit zählt, musst also 4 Kaskadieren. Das Delay clk -> ripple carry (brauchst du um den nächsten loszählen zu lassen) beträgt auch max. 38ns, sprich 4 kaskadierte Zähler haben ein Delay von max. 152ns. Es gibt zB. auch Bausteine die dir nur die Carry Signale berechnen (das dann besonders schnell) damit die folgenden Zähler schon früher loslegen können, so kannst du das noch etwas optimieren. Die 74F161 sind schon recht schnell, da beträgt das Delay nur noch max. 15ns, mit 4 bist du dann bei 60ns. Weil das irgendwie alles murks ist, werd ich den Zähler von meinem Logic Analyzer mit einem GAL realisieren, hab einige mit 7.5ns da. Zusätzlich werd ich vielleicht noch multiplexen, die Werte werden in ein Schieberegister geschoben, alle 8 Takte werden die 8 parallelen Ausgänge dann in den Speicher geschrieben (macht halt ein 8bit SRAM pro Kanal).
>Die 74F161 sind schon >recht schnell, da beträgt das Delay nur noch max. 15ns, mit 4 bist du >dann bei 60ns. Wieso addieren sich die Zeiten clk->out bei SYNCHRONEN Zählern?? Asynchrone sind (hier) eh Murks
Matthias Lipinsky wrote:
> Wieso addieren sich die Zeiten clk->out bei SYNCHRONEN Zählern??
Wenn man sie falsch verschaltet, dann tun sie das.
Hmm... stimmt eigentlich, das enable vom nachfolgenden wird ja schon bei 0xF auf 1 gesetzt.
Danke für die Informationen! Wie ist das letzte jetzt zu verstehen? Wie lange brauchen 4Stk zusammengeschaltet?
Hallo DieNase, das meinst Du doch nicht ernst, oder? Wenn man heutzutage einen Logikanalysator für mittlere Geschwindigkeiten bauen will, dann nimmt man ein FPGA und realisiert das RAM durch RAM im FPGA. Alles andere ist total unwirtschaftlich. Und sowas kann man auch fertig kaufen: http://www.pctestinstruments.com/
74F161A: Zyklus mindestens 30ns (1x CP->TC, 2x CET->TC, 1x CET->CP).
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.