Programmierbarer Frequenzteiler 74HC192

Hallo Allerseits,

Ich stehe vor einem kleinen Problem. Für eine PLL-Schaltung wollte ich einen programmierbaren Frequenzteiler aufbauen.

Dazu habe ich mehrere 74HC192 kaskadiert (Uebertragsausgänge auf die Zähleingänge des nächsten verbunden). Die Oszillatorfrequenz (ca. 6 bis

9MHz) wird auf den Abwärtszähleingang gegeben und jeweils auf 1kHz heruntergeteilt.

Die Programmiereingänge hängen an je einem BCD-Kodierschalter, mit Pulldownwiderstand. Den letzten Abwärts-Uebertrag habe ich auf alle Load-Eingänge geführt. Somit sollte der Zähler die eingestellte Frequenz hinunterzählen und bei erreichen von 0 wieder die eingestellte Zahl laden.

Das funktioniert solange gut wie keiner der BCD-Schalter auf 0 steht. Ich kann also alle Frequenzen einstellen die keine Ziffer '0' enthalten. Sobald einer der Schalter auf 0 steht wird aber irgend eine falsche Frequenz eingestellt.

Kennt jemand das Problem? Habe ich einen Denkfehler gemacht? Oder spielen mir Spikes einen Streich? Das ganze ist auf einer Lochrasterplatine aufgebaut, jeder Zähler hat einen eigenen Stützkondensator.

Gruss, Stefan

--
http://www.heimers.ch/
Reply to
Stefan Heimers
Loading thread data ...

Am 14.02.2011 20:17, schrieb Stefan Heimers:

Schau mal hier:

formatting link
Vielleicht gibbet was erhellendes. Ansonsten Schaltung.jpg mal irgendwo ablegen.

Peter

Reply to
Peter Kern

Nachtrag: Mit 74LS192B1 anstatt 74HC192N jeweils and der Stelle wo eine Null eingestellt ist funktioniert die selbe Schaltung mit dem selben Aufbau. (Zum Glück habe ich Sockel eingelötet). Der höhere Stromverbrauch gefällt mir aber nicht.

Stefan

Reply to
Stefan Heimers

Am 14.02.2011 20:53, schrieb Stefan Heimers:

Kann es sein, dass Dir die Pulldowns da rein spielen?

Peter

Reply to
Peter Kern

so ticken die nicht. 74192 hat asynchrones Load. Heißt, beim kleinsten Huster beginnt der von vorne. Du hättest einen synchronen Zähler gebraucht. Also 74160 oder 74162. Respektive 74168, wenn er rückwärts können soll.

Mit Stellung 0 geht das Taktsignal direkt auf BO durch und der 74192 zählt nicht mehr, weil er ja ständig wieder eine 0 lädt.

Das wird kein Problem darstellen.

Du kannst höchstens versuchen mit einem RC-Glied einen Impulsgeber zu formen, der mit der fallenden Flanke vom letzten BO einen kurzen Load-Impuls formt. Bei der folgenden steigenden Flanke würde der Zähler dann gleich wieder Zählen.

Marcel

Reply to
Marcel Müller

Der kurze Impuls ist schon gegeben. Bei 00000 werden alle Zähler gleichzeitig gesetzt. Somit sind sie nicht mehr 0 und der Borrow am letzten wird automatisch inaktiv.

Ich vermute eher, dass der Zähler bei 0 während dem Load weiterzählt und dann wieder bei 9 weitermacht, anstatt gleich bei 0 zu bleiben und den nächsten anzusteuern. Vielleicht sollte ich den Oszillator über ein AND vom Eingang trennen während geladen wird. Aber das würde mir wieder geringfügig die Frequenz verschieben indem ein paar Impulse verloren gehen. Ich werde das bei Gelegenheit ausprobieren.

Stefan

Reply to
Stefan Heimers

Ausser wenn der vierte was langsamer war und das nicht hundertprozentig mitgekriegt hatte ...

Hast Du Carry nicht auf den Clock-Eingaeng des naechsten gegeben? Der reagiert nur auf low -> high Flanken (Transition) und m.W. ist die Transition zu high dann bereits gelaufen wenn der Load loslaesst.

[...]
--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Vermutlich ist einfach nur der Set-Impuls zu kurz. ->Mittels Monoflop verbreitern.

Reply to
Heiko Nocon

Ein Timingproblem kann ich mir gut vorstellen. Zumal es mit dem LS geht, nicht aber mit dem HC.

Doch, Carry habe ich jeweils mit dem nächsten UP-Eingang verbunden. Obwohl ich ja nur abwärts zählen will.

Stefan

Reply to
Stefan Heimers

Ich könnte ein Flip-Flop nehmen, das vom Borrow gesetzt und vom Takt wieder gelöscht wird. Was meinst Du?

Stefan

Reply to
Stefan Heimers

Stefan Heimers schrieb:

Hallo,

wenn die Schaltung mit 74LS192 funktioniert und mit 74HC192 nicht, dann probier mal eine deutlich niedrigere Eingangsfrequenz. Auch wenn der einzelne HC192 noch mit der Frequenz arbeitet, für 5 kaskadierte kann es eng werden. Warum hast Du denn die BCD-Schalter nicht mit Pullup statt Pulldown Widerständen beschaltet? Wenn Du eh Strom sparen willst müsstest Du Pulldown Widerstände vermeiden. Hast Du nachgerechnet ob mit den Pulldown Widerständen saubere CMOS Eingangspegel gewährleistet sind?

Bye

Reply to
Uwe Hercksen

Einen Versuch wäre es wert.

Reply to
Heiko Nocon

Stefan Heimers schrieb:

Hallo,

das könnte dazu führen das nicht durch das eingestellte n dividiert wird sondern durch n+1. Das Borrow kommt ja später als der Takt der es verursacht, evtl. löscht also erst der nächste Takt.

Bye

Reply to
Uwe Hercksen

Vermute ich auch. Muesste sich an einem Zweikanal-Scope sehen lassen. Aber auf Alternate schalten wenn es ein aelteres Modell ist.

Sorry, ich meinte Borrow. Ist am Ende aber Pott wie Deckel.

--
Gruesse, Joerg

http://www.analogconsultants.com/

"gmail" domain blocked because of excessive spam.
Use another domain or send PM.
Reply to
Joerg

Die BCD-Schalter sind reine ein-Schalter mit einem gemeinsamen Stromanschluss und einzelnen Ausgängen.

Mit Pluspol und Pulldown erhalte ich positive Logik, mit minus-pol und pullup negative Logik, geht also nicht. In beiden Fällen fliesst bei eingeschaltetem Schalter der selbe Strom, und für den symmetrischen, hochohmigen CMOS-Eingang sollte das keinen Unterschied machen, es geht immer sauber auf 5V oder 0V. Bei TTL könnte es einen Unteschied machen, aber das Problem habe ich bei CMOS, nicht bei TTL.

Stefan

Reply to
Stefan Heimers

Ich konnte das Problem jetzt lösen: Ich habe einfach einen 270pF Kondensator parallel zu den Load-Eingängen geschaltet, der den Impuls etwas breiter macht. Die Schaltung funktioniert jetzt mit den 74HC192.

Stefan

Reply to
Stefan Heimers

Hmm, ein Kondensator macht den Impuls nicht wirklich breiter, er verzögert ihn nur etwas und macht die Flanken ziemlich rund.

Schön, aber ich würde das mehr oder weniger für Zufall halten und dringend nochmal den Monoflop empfehlen, um eine wirklich zuverlässige Funktion sicherzustellen. Den Kondensator kannst du ja dafür sogar gleich recyclen. ;o)

Reply to
Heiko Nocon

Stefan Heimers schrieb:

Hallo,

die besseren BCD Schalter gab es früher in zwei Versionen, eine davon ergab auch mit Pullup Widerständen die richtigen Pegel.

Bye

Reply to
Uwe Hercksen

Heiko Nocon :

Och, Schaltflanken per RC-Glied zu verzoegern (oder zu differenzieren) ist eigentlich schon ueblich und halbwegs zuverlässig.

M.

Reply to
Matthias Weingart

Ja, nur wurde hier weder eine Verzögerung noch eine Differenzierung angestrebt, sondern eine Impulsverlängerung.

Die ergab sich aber nur als mehr oder weniger zufälliger Nebeneffekt des Integriergliedes durch die Verrundung der Flanken. Das kann man wohl nicht guten Gewissens als zuverlässige Lösung des Problems bezeichnen.

Reply to
Heiko Nocon

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.