Fork me on GitHub

Project Notes

#248 PierceGateOscillator

Build and test a 4.27 MHz Pierce Gate Oscillator circuit using a 74LS14 schmitt inverter.

Build

Notes

The Pierce oscillator is named for its inventor, George W. Pierce (1872-1956). It is a derivative of the Colpitts oscillator, and can be implemented using a minimum of components, typically: a digital inverter, one resistor, two capacitors, and a quartz crystal.

The term “Pierce Gate Oscillator” generally refers to circuits where the digital inverter is implemented as a CMOS gate (inverter or NOR). This is a very common arrangement, and is used with microcontroller chips to provide the external clock source.

I have a 4.273MHz crystal resonator, and 74LS14 schmitt inverter on hand, so my objective here is to make a Pierce Gate Oscillator with them.

Component Selection - Theory

The Pierce-Gate Crystal Oscillator, an introduction application note provides thorough explaination of the theory.

  • C1, C2, and Rs define the gain of the inverter loop. Gain must be >=1 at the desired frequency
    • reducing C1, C2 Rs produce higher gain
    • reducing Rs produces higher gain

At 4.273MHz, and C1=C2=33pF, Rs should be around 1/2πfC = 1.1kΩ

The feedback resistor Rf is there to linearize the CMOS inverter. For 4.273MHz, an Rf in the order of 1-5MΩ would be expected.

Component Selection - Practice

So I wired that all up on a breadboard .. and no oscillation, even with moderate changes in the component values. I’m blaming the 74LS14, as other examples I’ve seen documented use the better performing 74HC14.

After much experimentation, I was able to get it to perform - but only once I’d reduced the feedback resistor all the way down to 2.2kΩ. At this level, the circuit is operating more like a classic SchmittOscillator, which would have an expected frequency of around 5.7MHz.

However, the crystal is doing its job, locking in the oscillation at the resonant frequency of bang on 4.273MHz.

Here’s a scope trace:

scope

Construction

Breadboard

Schematic

The circuit worked on a breadboard - where I selected component values - then I put on protoboard for a more stable signal:

PierceGateOscillator_protoboard_layout

Under test…

PierceGateOscillator_test

Credits and References

About LEAP#248 OscillatorsCrystal
Project Source on GitHub Project Gallery Return to the LEAP Catalog

This page is a web-friendly rendering of my project notes shared in the LEAP GitHub repository.

LEAP is just my personal collection of projects, usually involving an Arduino or other microprocessor in one way or another. Some are full-blown projects, while many are trivial breadboard experiments, intended to learn and explore something interesting (IMHO!).

The projects are usually inspired by things found wild on the net, or ideas from the sources such as:

Feel free to borrow liberally, and if you spot any issues do let me know. See the individual projects for credits where due. There are even now a few projects contributed by others - send your own over in a pull request if you would also like to add to this collection.