Hallo, habe hier einen MAX II CPLD von Altera, dem ich einen kleinen SMD-Quarz zwischen zwei Pins gehängt habe. Dazu natürlich 1Meg parallel und die beiden 22pF-Kondensatoren gegen Masse. Im CPLD habe ich dann einen Inverter realisiert, den Eingang als Schmitt-Trigger definiert.
Leider schwingt das Ding nicht an. Durch das 1Meg in Kombination mit den
22pF schwingt das Teil als RC-Oszillator bei ca. 80kHz. Schaut man genau rein, sieht man die Quarzfrequenz (13MHz) mit ganz niedriger Amplitude (einige 10mV) überlagert. Lötet man einen größeren Quarz rein, schwingt das Ding auf seinen 13MHz an.Beim SMD-Quarz reicht manchmal anfassen, damit er anschwingt.
Tja, da ich bisher mit der Standardschaltung nie Probleme hatte, habe ich mich auch noch nie damit näher befasst. Nun habe ich mal ins Quarz-Kochbuch und mir den Pierce-Oszillator genauer angeschaut. Da steht nun, dass der 1Meg als Gegenkopplung dient, um das Gatter ein wenig zu linearisieren. Das löst bei mir nun doch Unbehagen aus, da ich erstens bisher davon ausging, dass der Oszillator nur wegen der Schmitt-Trigger-Eigenschaft schwingt und zweitens so ne Linearisierung bei einem CPLD-Gatter reichlich undefiniert sein kann.
Jedenfalls habe ich den Eingang nun als normalen CMOS-Eingang definiert und nun funktioniert das erstmal. Allerdings bin ich da jetzt sehr unsicher. Wie realisiert man nun wirklich einen zuverlässigen Quarzoszillator? Ist das mit dem CPLD, der ja keine extra dafür vorgesehenen XTAL-Pins hat, überhaupt zuverlässig machbar oder soll ich da lieber ein externes Single-Gatter spendieren, und wenn ja, welches?
Michael