|Which to use?|
The ATmega will work just fine with either, and both require little external components. In reading up on them, here is what I have summarized:
- Crystals are MUCH more accurate, like 100x more so. (0.0005% vs 0.5%)
- Resonators are little less costly. (Often see them used in mass volume applications)
- Resonators typically have biasing capacitors built in, further reducing costs.
- Crystals are more fragile, subject to vibration.
- Resonators are better able to withstand ESD
- Resonators are often (but not always) physically smaller
Perhaps the largest number of conversation seems to focus around costs. At least in very high volume deployments. A ceramic resonator is a little less costly then a crystal and when combined with them often including the bias capacitors in the same package this gives further savings. Availabity in smaller packages can give further savings via PCB space.
But resonators are oh so more less accurate then crystals. And with regards to costs: looking at Mouser.com, there really is very little cost delta between them and resonators in the small volumes I am playing with. Pennies.
One thing stood out to me though, and it was kind of buried when searching the web: Resonators are physically more tough. In fact, searching for 'crystal automotive' and you will find a few new 'hybrid' devices out there just being brought to market - in an attempt to get the higher accuracy of crystals for more demanding automotive applications. Currently in cars: resonators are king.
Plus, the Arudino Uno uses a resonator - so I guess it is OK for accuracy. . . .
Bottom line: I will be revising the design to use a Ceramic Resonator in the next revision. Both for this as well as for the integrated controller. And it was the toughness that swayed me. And fwiw, am also going to use the through-hole 'tear-drop' style (as pictured above). Reviewing the datasheets for the small SMT resonators reveled they are not sealed, and as such can not be conformal coated...
BTW: Another question I did some research on was the at times appearance of a 1M resister between XTL1 and XTL2 on the ATmega CPUs. Most puzzling was I could find no reference to such in the Atmel datasheet, and yet the Arduino UNO has one installed.
Bottom line: a feedback resister is needed to 'kick-start' things (Negative feedback), and it does not matter if a crystial or resonator is used - one is needed. However the ATmega CPUs already has one built in. Adding an extra 1M external does not help anything, and in fact can reduce operating noise margin..
More details in this app note: