Ich bin auf der Suche nach einer Schaltung, die den Wert eines Quarzoszillators (1 MHz) dekadisch herunterrechnet. Die Frequenzwerte (1MHz, 100KHz, 10 KHz, 1KHz, 100Hz, 10 HZ und 1 Hz) sollen mittels Schalter (Dreh-) einstellbar sein. Was für eine Schaltung und was für einen IC bräuchte ich dafür? Ich bin absoluter Neuling in diesem Bereich und bräuchte dringend Hilfe.
eventuell helfen dir folgende Links: http://www.sn.schule.de/~gyfloeha/rt/lex07/lex0704.html http://www.elektronik-kompendium.de/sites/dig/0212221.htm
Als Teiler nimmst du am besten den 74HC(HCT)390. Da hast du gleich zwei Teiler /2 und 2 Teiler /5 in einem Gehäuse. Falls dein Oszillator CMOS-Pegel liefert, dann nimm den 74HC390. Der hat mehr Störabstand. 1. IC Eingang -->Teiler/5-->Teiler/2--> Ausgang/10 Ausgang/10 -->Teiler/5-->Teiler/2--> Ausgang/100 2. IC Ausgang/100 -->Teiler/5-->Teiler/2--> Ausgang/1000 Ausgang/1000 -->Teiler/5-->Teiler/2--> Ausgang/10000 u.s.w Mit den Ausgängen gehst du auf deinen Drehschalter(kurze Leitung!) Vom Drehschalter geht es zum Treiber-IC, z.B. 74HC244. Da schaltest du dann z.B. 4 der internen Gatter parallel um einen niedrigen Ausgangswiderstand zu bekommen. In Reihe zum Ausgang noch einen 47 Ohm Widerstand und dann zur BNC-Buchse, fallst du das so brauchst. Damit hättests du einen 50 Ohm Ausgang an den du beliebig lange BNC-Kabel anschließen kannst. Brauchst du das?
Der GANZ klassische '90 tuts auch dafuer, aber ist eben nur eine Dekade pro IC.
Die Schaltung soll dazu dienen ein unterschiedliches Clocksignal zu erzeugen, welches dann auf einen CPLD XC9572XL PC44 (Pin I/O GCK1) gehen soll. Der Oszillator ist aus dem Reichelt-Katalog (http://www.reichelt.de/?;ACTION=3;LA=444;GROUP=B42;GROUPID=3174;ARTICLE=13673;START=0;SORT=artnr;OFFSET=16;SID=28mlnnhqwQARwAAFKdeYU903fcae0ab1e3850cdf828b8e3c48736 , im Katalog S.519 )
@Tetraman: Das ist eine gute Idee den Takt variabel zu gestalten. Ich habe auf meinem CPLD-Experimentierboard den Taktgenerator auch (leider erst nachträglich) variabel gestaltet. Im CPLD sind sonst ganz schnell die Makrozellen alle, wenn man den Takt intern runterteilen möchte. Die Frage ist, was und zu welchem Zweck ihr in Eurem CPLD machen wollt. Für LED-Spielereien braucht man eher langsame Take (1-500 Hz), für SPI-Slaves eher schnelle (20MHz). Für Experimentalaufbauten ist es auch legitim, den Takt mit einem Funktionsgenerator zu erzweugen. Duke
Ziel der gesamten Aufgabe, die ich bewältigen muss: Ein Demoboard für den Boundary-Scan zu schaffen. Dabei soll ein CPLD XC9572XL PC44 und ein EPROM (2716) eingesetzt werden. Der Takt soll sowohl manuell (entprellter Schalter) als auch automatisch funktionieren (mittels Drehschalter). Eine 7-Segment-Anzeige und ein Lauflicht (wenn möglich mit 10 LEDs) sollen mit integriert werden.
Mir wurde jetzt als Tipp gegeben den 4029 oder den 4518 zu verwenden. Ist das der richtige Ansatz?
Tetraman schrieb: > Ist das der richtige Ansatz? Viele Wege führen nach Rom ;-) Jeder der angesprochenen Baustein kann deine Aufgabe lösen. Jeder auf seine Art. BTW: Ich würde nach wie vor ein CPLD nehmen...
Lothar Miller schrieb: > Tetraman schrieb: >> Ist das der richtige Ansatz? > Viele Wege führen nach Rom ;-) > Jeder der angesprochenen Baustein kann deine Aufgabe lösen. > Jeder auf seine Art. > > BTW: > Ich würde nach wie vor ein CPLD nehmen... Ich würde DAS CPLD nehemn welches er eh schon benutzt. Tetraman schrieb: > Ziel der gesamten Aufgabe, die ich bewältigen muss: Ein Demoboard für > den Boundary-Scan zu schaffen. Dabei soll ein CPLD XC9572XL PC44 und ein Nur das Teilen durch 10 würd ich durch Teilen durch 2/4/8/16... ersetzen.
Das Teilen durch 10 ist für den CPLD kein Ding, da der CPLD auf die Flanken des Signales Reagiert und die für den entsprechenden "Teiler" quasi nur hochzählen brauch und dann in Abhänigkeit von dem Wert einen Pin auf High oder Low setzen.
Stefan Kunz schrieb: > Das Teilen durch 10 ist für den CPLD kein Ding, da der CPLD auf die > Flanken des Signales Reagiert und die für den entsprechenden "Teiler" > quasi nur hochzählen brauch und dann in Abhänigkeit von dem Wert einen > Pin auf High oder Low setzen. Trozdem ist es efizienter ganzzahlige Potenzen von 2 zu teilen.
> das Teilen durch 10 würd ich durch Teilen durch 2/4/8/16... ersetzen. Menschen denken wegen ihrer zehn Finger nun mal dekadisch... Höchstens Schreiner und Sägewerker denken und rechnen oktal ;-) > Trozdem ist es efizienter ganzzahlige Potenzen von 2 zu teilen. Aber 10kHz und der Kehrwert davon sind für Menschen einfacher zu rechnen als irgendwas mit 16384Hz oder 8192Hz ;-)
Lothar Miller schrieb: > Höchstens Schreiner und Sägewerker denken und rechnen oktal ;-) outsch :( >> Trozdem ist es efizienter ganzzahlige Potenzen von 2 zu teilen. > Aber 10kHz und der Kehrwert davon sind für Menschen einfacher zu rechnen > als irgendwas mit 16384Hz oder 8192Hz ;-) Naja ich find binäres rechnen eigentlich einfacher als das dekadische :) Aber ich benutz ja auch 19,66 Mhz Quarze anstelle von 20 Mhz :D
Ich fand die Idee von Helmut S ganz gut und habe diese versucht umzusetzen. Guckt bitte mal drauf, ob ich alles richtig umgesetzt habe. Muss das Signal noch anschließend verstärkt werden, also bevor es an den CPLD geht ?
Tetraman schrieb: > Ich fand die Idee von Helmut S ganz gut und habe diese versucht > umzusetzen. Guckt bitte mal drauf, ob ich alles richtig umgesetzt habe. > > Muss das Signal noch anschließend verstärkt werden, also bevor es an den > CPLD geht ? 1. Beim Teler durch 5 muss man den Ausgang CT-2 nehmen. 2. Wenn du 50% Tastverhältnis willst(eventuell gar nicht notwendig in deiner Anwendung), dann musst du erst durch 5 und dann durch 2 teilen. 1MHz --> /5--/2-- 100kHz -- /5--/2 -- 10kHz ---- Mach deine Leitungen zum Schalter kurz und nimm dreiadrig-Flachband (Masse-Signal-Masse). Dann sollte das Signal auch am CPLD noch taugen.
Habs mal so weit geändert, dass als erstes 5 und dann durch 2 geteilt wird. Muss der CT=0 beschalten werden?
> Muss der CT=0 beschalten werden?
Grundsätzlich gilt:
a.) Unbenutzte Ausgänge bleiben offen / werden nicht angeschlossen.
b.) Unbenutzte Eingänge müssen (fast) immer auf einen definierten
Pegel gelegt werden.
Also musst Du CT=0 beschalten. Das ist ein Reset, der den Counter auf
Null setzt. Schau im Datenblatt nach und überlege Dir, welcher Pegel
(High oder Low) Du drauf geben musst.
also ich habe jetzt die Ausgänge nach deiner Regel so offen gelassen und den CT=0 auf Masse gelegt.
So sieht das schon recht gut aus. Ein kleiner "Schönheitsfehler" bleibt: Der Drehschalter prellt auch. D.h. wenn Du z.B. von Manuell-Takt auf 1 Hz umschaltest, kann und werden mehrere Impulse an das CPLD gegeben, u.U. auch so kurze, dass es zu Fehlern im CPLD kommen kann. D.h. sinnvoll umschalten kannst Du mit dem Drehschalter nur, wenn die Schaltung ausgeschaltet ist. Eine einfache Lösung um dieses Problem zu umgehen, fällt mir auf die Schnelle auch nicht ein.
Gibt es vielleicht entprellte Schalter oder auch zeitverzögerte Schalter, die ich evtl. während des Schaltens dazwischenschalten kann?
Wenn du mit dem Drehschalter nur gleichspannungen Schaltest, dann kann man den entprellen mit einfachen Tiefpässen... Wie man eine Schaltung realisieren könnte: ein dazu bräuchtest du noch sieben 2-fach &-Verknüpfungen. An einen Pin kommt der jeweilige Takt, an den anderen Pin kommt die Gleichspannung vom Drehschalter. So kann man Digitale Signale einfach schalten. SG Markus (ich weiss der Beitrag ist von 2009 und jetzt ist 2015. Vlt hilft es trotzdem jemandem)
markus schrieb: > ich weiss *der Beitrag ist von 2009* Und die Lösung mit dem Tiefpass greift zu kurz. Ein Tiefpass allein reicht nicht zur Entprellung. Da ist mindestens noch ein Schmitttrigger nötig. Und danach einfach mit UND-Gattern umzuschalten kann ganz hässliche Glitches mit sich bringen. Nicht umsonst braucht ein Taktumschalter im Taktmanager eines FPGAs wesentlich mehr Bauteile.
:
Bearbeitet durch Moderator
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.