When laying out board designs do you always feel that the crystal is in the way?
The HC49US style 5 Mhz crystal always hogs so much room when trying to fit parts and traces in on a board design. Wish I could use something half its size.... at a reasonable cost.

Comments
I've said this heaps of time for lots of different reasons but I use a 10MHz crystal as they are easier to get in SMD and cheap, under 50 cents 100 off. Have a look at this list here at Digikey.
http://forums.parallax.com/showthread.php/153753-i2c-Nothing-Works!!!?p=1242092&viewfull=1#post1242092
But I'm thinking of using SIlabs MEMs oscillators next time they are really small (2x2.5mm) and only around a buck each.
Thanks for the list.
I plan to place a Digi-Key order soon and I'll probably try the SIlabs oscillator.
Was the link to the 100MHz version on purpose? Do you use with a PLL multiplier of one?
Are there any crystals on the list of 10MHz crystals you linked to you like best?
Should I be concerned about the capacitance and ESR specs?
Like Don, I'd like to find a small crystal to use on my Propeller boards.
Thanks again for the links.
What load capacitance should be specified?
http://www.digikey.com/product-detail/en/7A-10.000MAAJ-T/887-1080-1-ND/2118957
Well if this one will work ok I'm sold on this one. Good price and size. Just need to adjust the PLL settings in spin...
With a 100 MHz input, the PLL's VCO would have to run at 1600 MHz!
-Phil
1.6 Gighz Propeller? Sweet!
+1 To Don's question.
I know it's possible to use 10MHz crystals with the Propeller but is this one a good option?
As an alternative, and if you're not doing video, consider using a ceramic resonator. They're small and cheap. They're just not as frequency-accurate as a crystal.
-Phil
Yes, the 18pF load capacitance is just right for the Prop although I have used others just as well. You may hear that the 10MHz crystal + PLL is "out-of-spec" but all that really means is that if you were trying to run the Prop at a lower voltage below zero at these extremes etc etc that it might not work. Everyone basically runs them at 3.3V and within fairly normal temperature range. The Hydra has always used 10MHz crystals and scores of my designs over the years have used 10MHz without any problems.
The Silabs parts are programmable and I just need to check to make sure that this is not just a factory program setting. I have programmed Silabs micros over the C2 interface from the Prop before so this shouldn't be much different. The Prop will work with a 100MHz input, no PLL of course, and once again this could be considered "out-of-spec" for the same reasons as mentioned above but for all practical purposes well within spec whereas Parallax guarantee 80MHz over a wide range of temperatures and voltages and from batch to batch.
BTW, as regards HC49s this is an excerpt from one of my posts:
-Phil
So to be clear if I set the clock to pll8x with the 10 Mhz crystal so that it runs at 80Mhz everything in the program that previously used a 5 Mhz crystal with pll16x will be no different?
Sorry for the dumb question but just want to clarify.
Thanks!
Don
The Si504 family are pre-programmed with a start-up default Fo, and they use a 1 wire interface to load a 4 byte real, and a 16 bit integer offset (optional) to set any new frequency.
The Si501 subset series are the same packages, an presets, but lack the 1 wire option to field-change Fo.
The Si501 pre-programmed seem to be a reasonable amount lower in price than then Si504 (as one might expect)
A PCB design could easily allow for both.
-Phil
Yes again, as per my previous post. I use these and even ones with far less load capacitance and run the serial port up to 3M baud but routinely at 230400 pars de probleme.
As regards the PLL setting PhiPi soted this out a long time ago with this snippet of code which I recently grafted into Tachyon to automatically select between 5 ot 10MHz crystals.
{ ┌──────────────────────────────────────────────────────────┐ │ CLKSET │ │(c) Copyright 2009 Philip C. Pilgrim (propeller@phipi.com)│ │ See end of file for terms of use. │ └──────────────────────────────────────────────────────────┘ This object determines whether a 5MHz or 10MHz crystal is being used and sets the PLL accordingly for 80MHz operation. The main program should use the following settings: CON _clkmode = xtal1 + pll8x _xinfreq = 10_000_000 OBJ clk : "clkset" Then clk.set should be called first in the toplevel program. If the crystal is determined to be 5MHz, the clkmode will be changed to xtal1 + pll16x. clkfreq will still return 80_000_000. Version History ─────────────── 2009.05.23: WARNING: Trial, tentative, very alpha release! } PUB set '' Automatically set the pll mode for a 5MHz or 10MHz crystal. cognew(@setpll, 0) DAT org 0 setpll movi ctra,#%0_00001_011 'Set ctra for pll on no pin at x1. movi frqa,#%0100_0000_0 'Set frqa for clk / 4 (= 20MHz w/ 10MHz crystal, i.e. too high). add x,cnt 'Give PLL time to lock (if it can) and stabilize. waitcnt x,#0 movi vcfg,#$40 'Configure video for discrete pins, but no pins enabled. mov vscl,#$10 'Set for 16 clocks per frame. waitvid 0,0 'Wait once to clear time. neg x,cnt 'Read -cnt. waitvid 0,0 'Wait 16 pll clocks = 64 processor clks. add x,cnt 'Compute elapsed time. cmp x,#$40 wz 'Is it really 64 clocks? if_z mov x,#$6f ' Yes: Crystal is 5MHz. Set clock mode to XTAL1 and PLL16X. if_z clkset x cogid x 'Stop the cog: we're done. cogstop x x long $1_0000 '65536 clks for pll to stabilize. {{ ┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ TERMS OF USE: MIT License │ ├──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤ │Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation │ │files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, │ │modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software│ │is furnished to do so, subject to the following conditions: │ │ │ │The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.│ │ │ │THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE │ │WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR │ │COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, │ │ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ }}It's not a dumb question, because the Prop data sheet is not well written in this area.
It states this
["Enables the PLL circuit. The PLL internally multiplies the XIN pin frequency by 16. OSCENA must be ‘1’ to propagate the XIN signal to the PLL. The PLL’s internal frequency must be kept within 64 MHz to 128 MHz – this translates to an XIN frequency range of 4 MHz to 8 MHz"]
- but then it also states OSC + PLL can be used via [CLKSEL2 CLKSEL1 CLKSEL0] for any of
XIN
I suspect this differentiation is a marketing strategy so I can easily experiment with the 100MHz versions and if I can't change them then I will just have to put up with 100MHz
Yes, from a program point of view you only need to change the PLL16x and tell it the crystal frequency or final clock rate.
Regarding the particular digikey crystal - as Peter says it should work, but if its going in a product you should satisfy yourself by running it over a temperature range exceeding what will be encountered in the field. Lots of us are running xtals outside the 4~8MHz datasheet range successfully, but we can't guarantee it for you
You seem set on that Digikey crystal. However if you put a 4 pad 5x3.2mm footprint down, with 3v3 and Vss, you can accept crystals (including Phil's), temperature compensated crystal oscillators (fox924), or the programmable oscillators (si501~4 etc) in the same industry standard footprint. Add a couple of solderable vias if you want to also accept Peter's can crystal. That would give you plenty of "small xtal" flexibility for your future designs.
hehe, whilst I agree "this differentiation is a marketing strategy'", you must be eternally optimistic if you believe that "marketing strategy" is not also backed by a fuse inside the part !! Let us know how you get on
I also note the 10MHz preset Si501 is 100@$0.74100 whilst the 100Mhz is 100@$0.90000,
seems they want a slight premium for getting to 100MHz.
When you get as high as 100Mhz in crystals and oscillators, your board might emit RFI and require more testing (expensive testing) to build.
By using 10Mhz and having the PLL multiply it within the Propeller less problems arise as the wiring is standard and the wire that might act as antenna are eliminated.
http://www.mouser.com/ProductDetail/ABRACON/AB308-5000MHZ/?qs=%2fha2pyFadujprIkuOBiS9w84YRrBm7CFlMXaK79Tlu8B9%252b1ggbCrVA%3d%3d
Dave,
Have you used those crystals with the Propeller?
Those look like they could be an easy way to reduce the size of a 5MHz crystal. The price sure seems good.
Thanks for the suggestion.
@Peter, Thanks for the reminder about Phil's code. It came in handy with a current project.
@Phil, Thanks for the writing and sharing the code.
Hey Duane, I haven't tried them with the Propeller yet, but that was the original reason why I bought them.
I agree, I've been using the 10MHz SMD form for some time now, too! (Now if only someone would commission a 6.25MHz or 12.5 MHz SMD xtal we'd be having even more fun! ;-)
I'll have to look into the MEMs oscillators (have you prototyped to prove they would work yet?)
-Stephen, KZ0Q
300-8347-1-ND (digikey part #)
PKS info:
http://www.rayslogic.com/Propeller/Products/PKS/PKS.htm
I think I actually meant to get a smaller version, but this one worked fine.
I'm pretty sure the smaller version will work too.
Can't remember if I tried NTSC output or not, that'd be a really good test of the crystal...
http://www.digikey.com/product-detail/en/CX5032GB10000H0PESZZ/478-4358-1-ND/1532111
on the bottom of the board with a via in the center of the prop (qfp) X pin through the center of one of the crystal's pin, and a short top trace to the inside to connect to the other via to the other crystal pad. Then pack the decoupling caps around it on the bottom. Then there is no interference at all with access to the prop pins from top or bottom.
I realize that it is recommended to place the decoup caps on top right at the pins, but I have had no problem with this at all.
(I DO use a 4 layer board, and make the bottom and top layers under the chip solid ground with many vias.)
That's one of the types I've used but I always try to keep things all on the one side for assembly except maybe card sockets etc. The reason I think that they say to use a cap on each side is mostly because of board layouts, a lot of them suffer from the lack of an effective ground plane etc as even with a 2 layer board I never have problems. With a 4 layer you should never have any problems as the four Vss and Vdd pins are about as electrically equal as they could be. Remember that the DIP40 only has two of each.
On some of these boards I've been using capnets (capacitor network array) in parallel as the pads footprint is narrower than an 0805. The 4in1 capnets are the same price as a single cap and I originally used these for MAX232 style devices.
I've used the watch crystals in the past as I like the small and tight pad footprint but bend the pins and soldering down the can is an extra hassle. The SMD just plonks down on the board and gets reflowed normally.