Ich baue gerade ein kleines Z80-Mikroprozessorsystem und benötige eine Art Takterzeugung. Es ist nicht mein erstes Design: Früher habe ich einen Arduino-Pin verwendet, der eine langsame Uhr oder einen 555-Timer erzeugt. Frühere Designs enthielten jedoch nur den Z80 und etwas RAM und ROM.
Jetzt möchte ich darauf aufbauen und Peripheriegeräte einbeziehen. Deshalb habe ich mich für einen 3686,4 kHz Quarz entschieden, damit ich ihn später über einen Frequenzteiler teilen kann, um nicht nur meinen Prozessortakt, sondern auch meinen UART-Takt zu erzeugen.
Ich habe im Internet recherchiert, einige Bücher und Schaltpläne gelesen und herausgefunden, dass die meisten einen Pierce-Oszillator oder einen Serienresonanzoszillator verwenden. Für mein Design möchte ich einfache 74xx- oder 74LSxx-Chips verwenden, weil ich sie herum habe und einsatzbereit bin. Glücklicherweise wurden die meisten Bücher für den Z80 und Websites auch mit 74xx-Chips erstellt. Also habe ich versucht, sie nachzubauen. Mein Pierce-Design funktionierte überhaupt nicht, also änderte ich mein Setup schnell auf einen Serienresonanzoszillator.
Für meinen Oszillator verwende ich einen einzelnen 7404-Wechselrichter mit einem 100-nF-Entkopplungskondensator, der zwischen 5 V und GND angeschlossen ist. Dann habe ich einfach die Schaltung von "Build Your Own Z80 Computer" Seite 94 kopiert und eingefügt. Ich habe den Kondensator hinzugefügt, nachdem ich ihn auf vielen Schaltplänen gesehen hatte, und ohne ihn fing er sowieso nicht an zu schwingen. Ich habe mein Schema unten angehängt (es zeigt nicht den Entkopplungskondensator zwischen 5 V und GND)
Wenn ich jetzt etwas Spannung an diesen Schaltkreis anlege, beginnt er tatsächlich zu schwingen. Allerdings ist die Frequenz überhaupt nicht stabil, scheint 200 kHz unter der angegebenen zu liegen und der Duty Cycle beträgt keinesfalls 50%. Sie können die Ausgabe meines Logikanalysators unten sehen.
Während der logische High-Zustand ziemlich stabil zu sein scheint, mit einem instabilen Zyklus, der am rechten Ende des Diagramms zu sehen ist, variiert der Aus-Zustand ziemlich stark.
Ehrlich gesagt weiß ich nicht, wie ich das beheben soll, da ich nicht viel Erfahrung mit Oszillatoren habe. Ich habe jedoch das Gefühl, dass der Kondensator einen ziemlichen Einfluss hat. Als ich es von 100 pf auf 22 pf änderte, war die Frequenz völlig instabil. Als ich es auf einen höheren Wert änderte, sah ich überhaupt keinen großen Unterschied. Ich habe auch versucht, den 7404 gegen einen 74LS04 auszutauschen, da einige Schaltpläne ihn verwenden, aber das hat nichts geändert.
Wenn mich jemand auf meinen Fehler hinweisen könnte, wäre ich sehr froh.
Zusatzinfo: Im Datenblatt der Quarzrufe steht CL=20pf und Rr < 120 Ohm.
Etwas, auf das Sie bei der Verwendung des Saleae-Geräts achten müssen, ist, dass es Proben nimmt , keine kontinuierlichen Messungen. Bei 24 MHz nimmt es ungefähr alle 41 ns eine Probe. Die Periode für Ihren 3,686-MHz-Takt beträgt 271 ns. Ich würde Aliasing erwarten, da das Verhältnis zwischen den beiden 6,6:1 beträgt.
Ein Oszilloskop wäre eine bessere Testoption.
Dies soll Ihnen nur beibringen, warum Ihr TTL-Oszillator in diesem Resonanzmodus der Pierce-Serie versagt. Sie müssen sehen, wie TTL funktioniert.
Die Impedanz von 100 pF ist zu hoch und = 1 k bei 3,5 MHz, sodass Sie zweimal eine schlechte Phasenverschiebung von 45 erhalten und die nicht invertierende Schleife nicht mehr in Phase ist, um das Barkhausen-Kriterium zu erfüllen, um zu oszillieren. (Av> 1 bei 0 Grad .)
Dies ist das Design des TTL-Wechselrichters 7404 mit 2 Widerständen am Eingang und an der Koppelkappe.
Sie haben die Ströme, Widerstandswerte und Bias-Methoden später mit Schottky-Dioden geändert, aber die Stromverhältnisse waren immer 10: 1 und die Eingangsschwelle war / ist immer 2 Diodenabfälle oder Vbe-Abfälle = 1,5 V +/- 0,1, abhängig von Bias-Strom und Temperatur .
Parallelresonanz-XTAL-OSCs oder -XOs werden am besten mit CMOS bis zu 20 MHz und Reihenresonanztransistor-XOs über diesem f verwendet, um eine Empfindlichkeit gegenüber Streukapazitäten zu vermeiden.
Sie haben einen Serienresonanzoszillator, und der Kristall soll mit einem Parallelresonanzoszillator verwendet werden, da er eine Lastkapazität von 20 pF erfordert. Wechseln Sie entweder zu einem Parallelresonanzoszillator oder ändern Sie den Kristall zu einem, der für Serienresonanz bestimmt ist.
Ich habe einen 2-MHz-Quarz und einen 4-MHz-Quarz, nicht Ihren 3.ungerade MHz. Mit ungeraden Kontakten auf einem Steckbrett konnte ich Ihre Schaltung zuerst nicht zum Laufen bringen, aber ich habe eine, die fast wie Ihre ist, indem ich nur diesen Kondensator ganz entfernt habe. Und es funktioniert jedes Mal perfekt ohne diesen Kondensator.
Wenn ich Sie 100 pF verwende, bekomme ich ein sehr schmutziges Signal auf den 2 MHz. Wenn ich die Kapazität auf 10 nF erhöhe, wie jemand vorgeschlagen hat, sieht es besser aus. Aber je höher die Kapazität dort ist, desto mehr nähert es sich bei MHz-Frequenzen an, überhaupt keine Kapazität zu haben.
Einer, der unter meiner früheren Version dieser Antwort kommentiert wurde, sagte, meine Schaltung hier funktioniert nicht, aber ich hatte nur meine analogen Oszilloskopeinstellungen falsch, also habe ich eine viermal höhere Frequenz gemessen. Aber das war nur ein Bedienungsfehler eines Anfängers.
Ehrlich gesagt sehe ich keinen Sinn in all dem zusätzlichen Zeug, wenn das hier viel zuverlässiger und einfacher funktioniert. Keine Kondensatoren, um sich über die Frequenz Gedanken zu machen.
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Ich weiß nicht, warum alle die komplexeren und schwieriger zu handhabenden Schaltpläne zeigen. Möglicherweise hat es etwas mit der Abnutzung des Kristalls zu tun.
crj11
jonk
jonk
Trunyx
jonk
Quark
Trunyx