PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 74HC590 Synchronzähler Probleme



hacker
29.11.2008, 11:12
Hallo zusammen,

irgendwie steh ich schon seit 2 Tagen total auf dem Schlauch:

Ich probiere ein einfachen synchron Zähler zum Laufen zu bekommen (74HC590). Jedoch scheitern bisher alle Versuche kläglich. Kaskadiert, aber auch einer alleine spuckt nichts an seinen Ausgängen aus. Dabei meine ich, alles richtig angeschlossen zu haben (ist ja eigentlich nicht so schwer):

G (Output Enable) an GND
RCK an GND
CCLR an +5V
CCKEN an GND

und CCK ist eben mein Rechtecksignal mit t_high = 100ms und t_low = 100ms von einem µC generiert.

an +5V und GND hängt noch ein 100n Kondensator.

An den Ausgängen sollte ich jetzt doch Teiler von der Eingangsfrequenz messen können?

Oder hab ich das DB total falsch verstanden? Was mir auch noch nicht ganz klar ist, was RCK für eine Funktion hat.

Muss der Zähler vielleicht irgendwie initialisiert werden?

Mehr Infos kann ich euch leider nicht geben, da das ganze im Prinzip ja total simple ist, aber irgendwie läufts halt nicht.


Vielleicht habt ihr eine spontane Idee, woran es liegen könnte?


Viele hoffnungsvolle Grüße,
hacker

Besserwessi
29.11.2008, 11:31
Der 590 er Zähler hat ein Flankengesterutes latch am Ausgang. Der Ausgang wird nur bei einer steigenden Flanke an RCK übernommen.
Man könnte versuchen das Eingangssignal auch an RCK anzulegen. Das Ergebnis ist dann immer um einen Rakt zu alt, aber besser als gar nichts.

Elefunty
29.11.2008, 12:32
oder man könnte das signal invertiert an rck geben, dann hat man nur n "halben" Takt verspätung

hacker
29.11.2008, 12:41
Vielen Danke für die schnelle Antwort!

Es funktioniert jetzt, man sollte vielleicht doch besser das Datenblatt lesen.

Dennoch hab ich noch ein paar praktische Fragen:

- Für was sind solche Latches am Ausgang in der Praxis gut? Weil wenn ich zählen will, aber mein Zählerstand nicht am Ausgang haben will, dann schalt ich doch die Ausgänge ab?

- Was ist die gängige Lösung, wenn ich mittels diesem Zähler schnell ein RAM adressieren will? Das Taktsignal einfach auch an RCK hängen, oder das Taktsignal invertiert auf RCK geben? Gibts evtl. Vor- bzw. Nachteile?


Über weitere Antworten würde ich mich sehr freuen.


Grüße,
hacker

/edit
Ich sehe gerade die zweite Antwort. Danke, dann lieg ich ja nicht ganz so falsch mit der Überlegung.

Was mich speziell noch interessiert, wie im allgemeinen vorgegangen wird, wenn ich mit solch einem Zähler ein RAM ansteuern will.

Besserwessi
29.11.2008, 12:51
Genau für das höchzählen von Ram Adressen ist es sinnvoll so einen Zähler zu verwenden. So kann nämlich sicher gestellt werden, das sich der Zählerstand nicht gerade zur faschen Zeit ändert.
Eine andere Anwendung sind Zeitmessungen ähnlich wie der Input Capture Funktion in den µCs.

Ob man nun den Takt direkt oder invertiert an RCK legt hängt macht nicht viel unterschied. Mit nicht invertiertem Takt sollte es etwas schneller gehen können.

FriLu
29.11.2008, 19:38
Hi,
kenne zwar das DB nicht (zu bequem nachzuschauen) aber sollte nicht die Laufzeit von 2 Gattern (doppelte invertierung von CCK) an RCK ausreichen, um den aktuellen Zählerstand anzuzeigen?
Das hätte noch den Vorteil, das man bei Bedarf den Zähler "einfrieren" kann-
sozusagen die ursprüngliche Funktion von RCK.
Lutz

hacker
24.12.2008, 10:05
Hallo zusammen,

der Zähler läuft momentan, jedoch ist ein neues Problem aufgetaucht, bei dem ich jetzt zweifel, ob der eingesetzte 590er überhaupt der richtige für mich ist. Und zwar geht es um den asynchronen Reset.

Ich habe 2 590er kaskadiert. Diese laufen über ihre volle 16bit Breite wunderbar. Jedoch brauche ich nur 15bit. Der Zähler muss aber vom Zustand "X111 1111 1111 1111" mit einem Taktimpuls direkt zu "X000 0000 0000 0000" umschalten.

Meine Idee zur Lösung dieses Problems war eine invertierung des 16. Bits und dann auf den Resetpin der beiden Zähler (active low). Da der Reset aber asynchron passiert, braucht es nochmal ein Takt bis der Reset überhaupt übernommen/registiert wird. Der darauffolgende Takt schaltet erst in den gewünschten "X000 0000 0000 0000" Zustand. Sprich ich habe diesen Zustand der 15 Bits zwei Takte lang anliegen. Das darf aber nicht sein.

Habt ihr eine Idee oder Vorschläge, wie man dieses Problem beheben könnte?


Frohe Weihnachten!


Viele Grüße,
hacker

PICture
24.12.2008, 17:31
Wenn es nicht extrem schnell seien muss, würde ich 74HC161 nehmen, die asynchronischen unabhängigen von Clock Reset haben.

Ausserdem bei den 74HC590 wenn du den 16 Bit nicht nutzts, nach dem "0111 1111 1111 1111" Stand kommt nach dem nächstem Clockimpuls "1000 0000 0000 0000" also die 15 Bits werden sowieso ohne Reset gelöcht.

MfG