Forum: Mikrocontroller und Digitale Elektronik Frage zur Beschaltung 74HC393


von Otto J. (Gast)


Lesenswert?

Hallo

Ich hätte eine Frage zur Beschaltung des Dual 4Bit counters.

Und zwar wenn ich bsp. bis 125 zählen möchte, so muss ich ja die 
Ausgänge des ersten Counters mit dem clock des zweiten Counters 
verbinden.

Nun, muss ich nun ein AND Gatter verwenden um die Richtige Combination 
an den zweiten Counter weiter zu geben, oder geht das auch einfacher?

Bei den Ausgängen des zweiten Counters muss ich dann ja auch wieder mit 
einem AND Gatter arbeiten um die Richtige Zahl aus zu geben? Oder mach 
ich das zu kompliziert?

Ziel ist es eine Frequenz von einem 4Mhz Oszillator zu teilen.

Danke

: Verschoben durch Moderator
von Reinhard Kern (Gast)


Lesenswert?

Otto J. schrieb:
> Nun, muss ich nun ein AND Gatter verwenden um die Richtige Combination
> an den zweiten Counter weiter zu geben, oder geht das auch einfacher?

Hallo,

Ands brauchst du schon, aber um beim Zählerstand 125 einen Reset zu 
erzeugen. Die Ausgänge sind richtig so wie sie sind, wenn du von 0 bis 
124 zählen willst.

Gruss Reinhard

von Wilhelm F. (Gast)


Lesenswert?

Otto J. schrieb:

>Nun, muss ich nun ein AND Gatter verwenden um die Richtige
>Combination an den zweiten Counter weiter zu geben, oder geht
>das auch einfacher?

Zur Kaskadierung verbindet man den höchstwertigen Ausgang der ersten 
Stufe mit dem Zähleingang der zweiten Stufe.

>Bei den Ausgängen des zweiten Counters muss ich dann ja auch wieder
>mit einem AND Gatter arbeiten um die Richtige Zahl aus zu geben?
>Oder mach ich das zu kompliziert?

Den Zählerzustand, wo er rücksetzen und von vorne beginnen soll, muß man 
schon mit zusätzlichen Logikgattern detektieren, wenn es nicht exakt 
eine Zweierpotenz sein soll.

>Ziel ist es eine Frequenz von einem 4Mhz Oszillator zu teilen.

Da mußt du mal ins Datenblatt schauen, welche Frequenzen dieser Baustein 
verträgt. Der LS-Baustein ist mit 25MHz angegeben, das kommt bei HC etwa 
auch hin. Aber bitte nachschauen!

von Otto J. (Gast)


Lesenswert?

Ja das schon, aber ich brauche das geteilte Ausgangssignal welches dann 
auf einen OP zur Verstärkung geht. Sprich da ist keine 
Auswertintelligenz dahinter
D.h. ich brauche von den 4MHz nur den 125ten Teil. Also muss ich die 
counter resetten und geleichzeitig das Signal für den OP ausgeben.

Erreiche ich dadurch einen DutyCycle von ca. 50% wie vom Oszillator?

von Wilhelm F. (Gast)


Lesenswert?

Otto J. schrieb:

>D.h. ich brauche von den 4MHz nur den 125ten Teil. Also muss
>ich die counter resetten und geleichzeitig das Signal für den
>OP ausgeben.

Der Counter muß genau bei 125 asynchron resettet werden, d.h., er 
erreicht die 125 nur für eine verschwindend geringe Zeitdauer. Da ja die 
Null mitgezählt wird, zählt er dann richtig.

>Erreiche ich dadurch einen DutyCycle von ca. 50% wie vom Oszillator?

Nein, das wird dann etwas schwieriger. Den Duty-Cycle von 50% würdest du 
erreichen, wenn die Teilerrate genau auf einer Zweierpotenz liegt. 
Ansonsten nimmt man das erwünschte Signal vom höchstwertigen bit, es hat 
hier leider keine 50%.

von Wilhelm F. (Gast)


Lesenswert?

@Otto J.:

Hast du eigentlich keinen Digitalsimulator auf dem PC? Damit könntest du 
das alles mal problemlos testen.

Allerdings möchte ich etwas Einarbeitung da nicht verschweigen. Es lohnt 
sich aber, wenn man öfters mit solchen Dingen zu tun hat.

von Otto J. (Gast)


Lesenswert?

Hm das hatte ich befürchtet.

 Kann man den kurzen High Pegel des Reset irgendwie mit z.b. einem Latch 
zwischenspeichern oder mit einem anderen Logik IC damit ich auf einen DC 
von ca. 50% komme bei der Teilung? Ich möcht mit möglichst wenig 
Bauteilen auskommen.

Hat jemand eine Idee?

von Otto J. (Gast)


Lesenswert?

Nein einen Digitalsimulator habe ich nicht. Habe mich bis jetzt 
haupsächlich mit Analog Design befasst und noch keine Logik Gatter 
verwendet. Daher ist es ein wenig Neuland für mich.

Gibts da eine Freeware?

von (prx) A. K. (prx)


Lesenswert?

4MHz / 125 = 32000Hz. Dicht daneben gibt es Uhrenquarze mit 32768Hz - 
die werden gern aber ungenau als 32KHz Quarze bezeichnet. Wenn es diese 
Frequenz auch tut wird es einfacher.

von Peter D. (peda)


Lesenswert?

Otto J. schrieb:
> Ich möcht mit möglichst wenig
> Bauteilen auskommen.

Kannst Du C programmieren?

Dann nimm einen ATtiny13 und programmiere einen PWM-Ausgang auf 62/125.
Die Eingangsfrequenz darf max 20MHz betragen.


Peter

von (prx) A. K. (prx)


Lesenswert?

Fortsetzung: Und andersrum gibt es 4,096MHz Quarze, die durch 128 
geteilt 32000Hz ergeben. Auch dies ist deutlich einfacher.

Daher also: Was soll das eigentlich werden?

von Otto J. (Gast)


Lesenswert?

Können schon, möchte ich aber in diesem Fall aus vers. Gründen 
vermeiden.

Die Uhrenquarze kenn ich, jedoch habe ich mit meinem jetzigen 32khz 
Quarz ein problem mit dem zuverlässigen anschwingen. Ich hab schon einen 
anderen Typ bestellt zu Vergleichszwecken. Jedoch möchte ich noch eine 
Alternative im Ärmel halten.

von Otto J. (Gast)


Lesenswert?

A. K. schrieb:
> Fortsetzung: Und andersrum gibt es 4,096MHz Quarze, die durch 128
>
> geteilt 32000Hz ergeben. Auch dies ist deutlich einfacher.
>
>
>
> Daher also: Was soll das eigentlich werden?


Hm damit könnte ich das Problem mit dem Reset umgehen, richtig? Denn 
dann beginnt der Counter eh von vorn?!

Den 4MHz Oszillator hatte ich gerade hier zur Hand, deshalb. Aber den 
4.096MHz zu bestellen, wäre ja auch kein Prob.

von B e r n d W. (smiley46)


Lesenswert?

Bei 4 MHz:
Der Duty Cycle hätte bei einem Teiler von 128 genau 50%. Du teilst durch 
124, dann liegen an Bit6 51,6 : 48,4 Prozent Taktverhältnis an. Also 
wenn Du nicht wirklich mit den Takt-HÄLFTEN etwas genaues anfangen 
willst, dürfte das ausreichend genau sein.

Mfg.

von (prx) A. K. (prx)


Lesenswert?

Otto J. schrieb:

> Hm damit könnte ich das Problem mit dem Reset umgehen, richtig? Denn
> dann beginnt der Counter eh von vorn?!

Sozusagen. Der vorletzte Ausgang vom '393 teilt ohne weitere Beschaltung 
durch 128. Das lässt sich auch mittels 74HC4060 als kombinierter 
Oszillator/Teiler realisieren.

Aber wenn es dir egal ist, ob es 32768Hz sind (Uhrenquarz) oder 32000Hz 
(Thread), dann sind vielleicht auch 4MHz/128=31250Hz vertretbar.

von Otto J. (Gast)


Lesenswert?

Nein es müssen schon genau 32kHz mit ungefähr DC 50% sein.

Aber deine Idee mit dem 74HC4060 gefällt mir sehr gut!!! Denke damit 
bekomme ich ein genaues Ergebnis hin.:)

von Wilhelm F. (Gast)


Lesenswert?

>Aber den 4.096MHz zu bestellen, wäre ja auch kein Prob.

Bei glatter Teilerrate mit Zweierpotenzen gehen dann auch Quarze mit 
2,048MHz oder 1,024MHz.

von Otto J. (Gast)


Lesenswert?

Ja da hast du Recht. Das würde mir eine noch genauere Ausgangsfrequenz 
liefern wenn ich den Quarz verkleinere.

von (prx) A. K. (prx)


Lesenswert?

Otto J. schrieb:

> Das würde mir eine noch genauere Ausgangsfrequenz
> liefern wenn ich den Quarz verkleinere.

Wieso?

von Wilhelm F. (Gast)


Lesenswert?

>Ja da hast du Recht. Das würde mir eine noch genauere
>Ausgangsfrequenz liefern wenn ich den Quarz verkleinere.

Nein. Es senkt nur den Energieverbrauch. Frequenz und Energieverbrauch 
stehen bei CMOS etwa im proportionalen Verhältnis.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Peter Dannegger schrieb:

> Kannst Du C programmieren?

Und das von dir, Peter? :-)

> Dann nimm einen ATtiny13 und programmiere einen PWM-Ausgang auf 62/125.
> Die Eingangsfrequenz darf max 20MHz betragen.

Die paar Befehle dafür kann man ja schon fast mit der Hand als
Maschinencode tippen. ;-)  Das größte Problem dabei für Otto wäre
vermutlich, den ATtiny13 zu programmieren, zumal ja auch die Fuse
für die clock source geändert werden muss.

Falls das Ganze ein Einzelstück werden soll, kann ich mir aber
vorstellen, dass sich hier im Forum jemand findet, der das gegen
Aufwandserstattung für Otto vielleicht sogar mal in einen ATtiny13
programmiert.  Vermutlich wäre das in der Tat die Lösung mit dem
geringsten Bauteilaufwand.

Da sich der AVR dabei sowieso langweilt, könnte man sogar noch
die PWM abwechselnd bei jeder Periode zwischen 62/125 und 63/125
umschalten, dann wäre der kumulative duty cycle wirklich 50 %. :-)

von Otto J. (Gast)


Lesenswert?

Nein soll kein Einzelstück werden.

Ja das mit dem Energieverbrauch ist schon auch klar. Ich meinte, das. 
wenn z.b. 100ppm Genauigkeit bei beiden Quarzen angegeben ist, ist der 
mit der geringeren Frequenz genauer.

von (prx) A. K. (prx)


Lesenswert?

Otto J. schrieb:

> wenn z.b. 100ppm Genauigkeit bei beiden Quarzen angegeben ist, ist der
> mit der geringeren Frequenz genauer.

Nein. Denkfehler. 100ppm sind 0.01% egal bei welcher Frequenz.

von Otto J. (Gast)


Lesenswert?

Moment, absolut gesehen sind 0.01% bei einem 4MHz Quarz doch mehr wie 
bei einem 2MHz. Nämlich genau doppelt soviel "Herz". Wenn ich also einen 
mit geringerer Frequenz nehme habe ich bei gleicher Toleranz bei dem die 
kleiner Absolute Abweichung!? Oder bin ich jetzt total bekloppt:/

von (prx) A. K. (prx)


Lesenswert?

Otto J. schrieb:

> Moment, absolut gesehen sind 0.01% bei einem 4MHz Quarz doch mehr wie
> bei einem 2MHz. Nämlich genau doppelt soviel "Herz". Wenn ich also einen
> mit geringerer Frequenz nehme habe ich bei gleicher Toleranz bei dem die
> kleiner Absolute Abweichung!?

Immer noch Denkfehler.

100ppm bei 4MHz sind +/-400Hz.
100ppm bei 1MHz sind +/-100Hz.
100ppm bei 32000Hz sind +/-3,2Hz.
4MHz+/-400Hz / 125 = 32000+/-3,2Hz.
1MHz+/-100Hz / (125/4) = 32000+/-3,2Hz.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Otto J. schrieb:
> Oder bin ich jetzt total bekloppt:/

Das nicht, aber du hast einen Denkfehler. ;-)  Klar ist die absolute
Abweichung beim 4-MHz-Quarz dann größer, aber musst du den ja weiter
herunter teilen, um auf deine Zielfrequenz zu kommen.  Damit teilst
du auch die Abweichung weiter herunter.  Der Gesamtfehler bleibt der
gleiche.


> Nein soll kein Einzelstück werden.

Könntest du denn nun einen AVR programmieren oder nicht?

Wenn es außer auf minimale Anzahl von Bauteilen noch auf kleinsten
Flächenverbrauch ankommt, könntest du einen ATtiny10 benutzen. :-)
(SOT-23-6 als Gehäuse)  Allerdings besitzt der genauso wie der
ATtiny13 leider keinen eigenen Quarzoszillator, der kleinste AVR,
der sowas hat, ist ein ATtiny25.  Damit brauchst du für die Gesamt-
lösung: 1 Quarz, die üblichen Lastkondensatoren für den Quarz,
1 ATtiny25 (im SO-8- oder MLF-20-Gehäuse) und einen 100-nF-Kondensator
zum Abblocken der Betriebsspannung.

von Otto J. (Gast)


Lesenswert?

Ihr habt wie immer Recht:) Ich Seggl!

Wenn das Ergebnis mit dem neuen Quarz mich nicht zufrieden stellt, dann 
wäre ein Atiny evtl. noch eine elegante Variante. Der Aufwand zum prog. 
hält sich ja in Grenzen;)

Thx für den Support.

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
Noch kein Account? Hier anmelden.