Shop OBEX P1 Docs P2 Docs Learn Events
When laying out board designs do you always feel that the crystal is in the way? — Parallax Forums

When laying out board designs do you always feel that the crystal is in the way?

Don MDon M Posts: 1,652
edited 2014-04-01 03:35 in Propeller 1
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.
«1

Comments

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-03-23 11:17
    Don M wrote: »
    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.

    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.
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-03-23 12:38
    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.
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-03-23 12:42
    I often place the crystal under the DIP propeller chip, sometimes even on the bottom of the PCB (under the chip).
    Don M wrote: »
    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.
  • Don MDon M Posts: 1,652
    edited 2014-03-23 13:13
    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.

    What load capacitance should be specified?
  • Don MDon M Posts: 1,652
    edited 2014-03-23 13:16
  • Don MDon M Posts: 1,652
    edited 2014-03-23 13:36
    Don M wrote: »

    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...
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2014-03-23 14:37
    Duane Degn wrote:
    Was the link to the 100MHz version on purpose? Do you use with a PLL multiplier of one?
    No. You never use a PLL if the input frequency is above spec (8 MHz), above 10 MHz, or above the VCO's free-running, frequency / 16 (~14 MHz).

    With a 100 MHz input, the PLL's VCO would have to run at 1600 MHz!

    -Phil
  • cavelambcavelamb Posts: 720
    edited 2014-03-23 16:00
    No. You never use a PLL if the input frequency is above spec (8 MHz), above 10 MHz, or above the VCO's free-running, frequency / 16 (~14 MHz).

    With a 100 MHz input, the PLL's VCO would have to run at 1600 MHz!

    -Phil

    1.6 Gighz Propeller? Sweet!
  • Don MDon M Posts: 1,652
    edited 2014-03-23 16:01
    So will it work with the 10 mhz crystal ?
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-03-23 16:41
    Don M wrote: »

    +1 To Don's question.

    I know it's possible to use 10MHz crystals with the Propeller but is this one a good option?
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2014-03-23 16:57
    The Propeller Backpack uses a 10 MHz crystal, and I don't know of any problems it has caused. Just be sure to use pll8x.

    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
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-03-23 16:58
    Don M wrote: »

    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:
    The other issue I have with many designs is the insistence in using big gull wing HC49 crystals, this is the most sensitive part of any design and it's hung out like a mainsail. There are plenty of cheap cylindrical and proper SMD crystals that do not cause this problem.
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2014-03-23 17:02
    This crystal is the one used by the Backpack.

    -Phil
  • Don MDon M Posts: 1,652
    edited 2014-03-23 17:12
    Sorry to sound paranoid here but just confirming- I want to use the crystal I posted about above from DigiKey in a product that I'm finishing up the pc board for tonight. The product uses serial communications with Full Duplex serial. No video. I like the footprint of this part compared to the previous designs in which I used the 5 Mhz HC49US footprint. Nothing else special in the design. B+ @ 3.3V

    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
  • jmgjmg Posts: 15,173
    edited 2014-03-23 17:20
    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 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 Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2014-03-23 17:22
    Don M wrote:
    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?
    That's correct.

    -Phil
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-03-23 17:26
    Don M wrote: »
    Sorry to sound paranoid here but just confirming- I want to use the crystal I posted about above from DigiKey in a product that I'm finishing up the pc board for tonight. The product uses serial communications with Full Duplex serial. No video. I like the footprint of this part compared to the previous designs in which I used the 5 Mhz HC49US footprint. Nothing else special in the design. B+ @ 3.3V

    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

    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.                         │
    └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
    }}
    
  • jmgjmg Posts: 15,173
    edited 2014-03-23 17:26
    Don M wrote: »
    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.

    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
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-03-23 17:29
    jmg wrote: »
    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.

    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 :)
  • TubularTubular Posts: 4,703
    edited 2014-03-23 17:31
    Don M wrote: »
    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?

    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.
  • jmgjmg Posts: 15,173
    edited 2014-03-23 17:33
    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 :)

    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.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2014-03-24 06:53
    I suspect that 100Mhz is not in as high demand, thus a bit more costly.

    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.
  • vanmunchvanmunch Posts: 568
    edited 2014-03-24 12:45
    I ended up not using these, but I bought a few of these 5MHz "watch" crystals a few years ago to save space. They're TH, but you can then have it lay over your traces.
    http://www.mouser.com/ProductDetail/ABRACON/AB308-5000MHZ/?qs=%2fha2pyFadujprIkuOBiS9w84YRrBm7CFlMXaK79Tlu8B9%252b1ggbCrVA%3d%3d
  • Duane DegnDuane Degn Posts: 10,588
    edited 2014-03-24 14:08
    vanmunch wrote: »
    I ended up not using these, but I bought a few of these 5MHz "watch" crystals a few years ago to save space. They're TH, but you can then have it lay over your traces.
    http://www.mouser.com/ProductDetail/ABRACON/AB308-5000MHZ/?qs=%2fha2pyFadujprIkuOBiS9w84YRrBm7CFlMXaK79Tlu8B9%2b1ggbCrVA%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.
  • vanmunchvanmunch Posts: 568
    edited 2014-03-25 13:00
    Duane Degn wrote: »
    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.

    Hey Duane, I haven't tried them with the Propeller yet, but that was the original reason why I bought them.
  • Stephen MoracoStephen Moraco Posts: 316
    edited 2014-03-25 16:15
    ... I use a 10MHz crystal as they are easier to get in SMD and cheap, under 50 cents 100 off. ...<snip>...
    But I'm thinking of using SIlabs MEMs oscillators next time they are really small (2x2.5mm) and only around a buck each.

    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
  • RaymanRayman Posts: 14,659
    edited 2014-03-25 16:42
    I used this watch crystal for PKS:
    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...
  • rabaggettrabaggett Posts: 96
    edited 2014-03-25 16:56
    As far as board design goes, I put this:
    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.)
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2014-03-25 18:45
    rabaggett wrote: »
    As far as board design goes, I put this:
    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.
  • RaymanRayman Posts: 14,659
    edited 2014-03-26 03:35
    You can reflow the particular watch crystal that I mentioned. Datasheet describes how.
Sign In or Register to comment.