7.3728mhz crystal won't run at 16x, but would a faster one run at 8x?

P!-RoP!-Ro Posts: 1,190
edited 2010-06-12 - 01:53:23 in Propeller 1
I purchased a 7.37mhz crystal with the hopes that I could get the propeller running close to 120mhz, but it won't run the program at a clock rate of 16x, so it instead has to be run at 8x. So, if I were to purchase a crystal faster than that at 8x speed could I pass the barrier or is there something I'm missing?

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
90 * 2 = Pi

Comments

  • Mike HuseltonMike Huselton Posts: 746
    edited 2010-05-23 - 04:43:38
    You are pushing beyond the Prop clock limits. A 6.50 mhz speed is more to your limitations, inferring from your grammatical use of English and technical skill set. Please do not be offended - I am assuming much from little data. You are inexperienced in the use of the Prop, yes? That's all right - all of us began some place along the learning curve. Welcome!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH
  • Mike GreenMike Green Posts: 22,891
    edited 2010-05-23 - 04:58:09
    If you read the Propeller Manual or the Propeller's datasheet, you'll see that the maximum allowable crystal frequency is 8MHz. The PLL always multiplies this by 16x internally (to at most 128MHz), then divides it down to get the actual system clock value. The Propeller datasheet has a graph of maximum allowable clock speeds vs. ambient temperature and supply voltage. To get to 128MHz at a 3.3V supply voltage, you have to refrigerate the chip to -50C.
  • P!-RoP!-Ro Posts: 1,190
    edited 2010-05-23 - 05:19:22
    8mhz is the maximum only for xtal1, but in theory with xtal3 it can run off of an 80mhz crystal at PLL1x. I know there are members running the propeller at 120mhz and I know one has managed to get it up to 141mhz with tantalum capacitors and a crystal a little over 17mhz, but I don't know much more than that. All I know is a 6.4mhz crystal works fine right now but I would prefer to run the prop faster for when I start needing some number crunching.

    @Mike Huselton--thanks, I never liked English anyway. I'll take inexperienced as an answer though as I am only 17, but don't expect it to stay that way. BTW my avatar shows the prop I want to overclock.

    EDIT: found the link for the 141mhz prop. Turns out Coley accomplished it:
    http://forums.parallax.com/showthread.php?p=817374

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    90 * 2 = Pi

    Post Edited (pi'd) : 5/23/2010 5:27:22 AM GMT
  • AleAle Posts: 2,352
    edited 2010-05-23 - 11:59:40
    pi'd:

    The propeller, while able to withstand some overclock, is a multi-core uC, that means that if you parallelize the tasks you may not need to overclock. Remembre that a one-fits-all approach is generally a bad idea.
    If you do not use the PLL you can feed a clock up to 80 MHz, maybe more. Use good decoupling always but specially when you go over specifications.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Visit some of my articles at Propeller Wiki:
    MATH on the propeller propeller.wikispaces.com/MATH
    pPropQL: propeller.wikispaces.com/pPropQL
    pPropQL020: propeller.wikispaces.com/pPropQL020
    OMU for the pPropQL/020 propeller.wikispaces.com/OMU
    pPropellerSim - A propeller simulator for ASM development sourceforge.net/projects/ppropellersim
  • P!-RoP!-Ro Posts: 1,190
    edited 2010-05-23 - 16:18:53
    Ale said...


    The propeller, while able to withstand some overclock, is a multi-core uC, that means that if you parallelize the tasks you may not need to overclock.
    The reason I want it overclocked is because I hope to use sonar and possibly lasers to locate objects/angles and then use some trig to get x, y coordinates for graphing. I want to then buffer this data (somehow, I don't know yet) and save it to my SD card for future reference. Of course, the faster the prop runs, the faster this gets done so I may be able to run my robot closer to it's 30mph ability which is why I want it to be overclocked.

    Also, when you talk about decoupling are you referring to the capacitors? Right now I have four .1 uf capacitors on the power pins of my protoboard and hope to change it to 10uf tantalum later, assuming it will actually help my prop run faster.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    90 * 2 = Pi
  • LeonLeon Posts: 7,619
    edited 2010-05-23 - 16:47:33
    100 nF ceramic capacitors will be more effective than 10 uF tantalums.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Leon Heller
    Amateur radio callsign: G1HSM
    Leon Heller
    G1HSM
  • Mike GreenMike Green Posts: 22,891
    edited 2010-05-23 - 16:56:45
    It takes very careful PCB layout and generous use of SMD bypass capacitors to get a Prop to reliably function faster than 80MHz. It seems to be easy at 96MHz, harder at 104MHz, and quite difficult higher than that. It also depends somewhat on chance since different Prop chips seem to be more or less sensitive to overclocking and that's not unusual for ICs in general.

    There are all sorts of ways to speed up things like trig calculations. The Prop has tables in ROM for sine, log, and exponential calculations in fixed point arithmetic. Fixed point arithmetic using assembly language can be very very fast. It's not hard to make programs that very effectively mix assembly and Spin for very high speeds. I suggest you spend your time writing efficient code first and fine-tuning that at 80MHz where the Prop is very reliable, then do some speed measurements to see how much faster you need the Prop to run to accomplish your tasks.

    As Ale mentioned, you can also do multiple calculations in parallel. Even if you have to use floating point, you can run two separate copies of the floating point package so you can do two sets of computations at the same time, effectively doubling the speed.
  • Mike HuseltonMike Huselton Posts: 746
    edited 2010-05-24 - 00:56:40
    Mike,

    I couldn't say it more succinctly than you just did. You have a true gift for clarity, my friend.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    JMH
  • Cluso99Cluso99 Posts: 14,898
    edited 2010-05-24 - 04:43:10
    Well said Mike.

    Leon, the 10uF Tantalum is required for bulk capacitance for supplying the surges required by the prop when it switches.

    As for overclocking, the DIP part somehow seems to be better at overclocking even though the die is the same, just the package is different. Perhaps it is because the pcb has bigger tracks and ground planes and is easier to decouple. The distances to adjacent chips is further, etc, etc.

    Remember with overclocking there are a lot of variables that impact the overclocking. If you just run 1 cog, then it may run much faster that running 2 cogs. Then we have counters, etc that all come into play here.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • LeonLeon Posts: 7,619
    edited 2010-05-24 - 08:03:00
    He said he is changing the four 100 nF to 10 uF tantalum. He still needs the 100 nF capacitors.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Leon Heller
    Amateur radio callsign: G1HSM
    Leon Heller
    G1HSM
  • Cluso99Cluso99 Posts: 14,898
    edited 2010-05-24 - 08:57:09
    Yes, both are definately required. I use 4 x 100nF X7R, 1 x 10nF X7R and 1 x 10uF Tantalum for the prop chip on the RamBlade. I also have 1 x 100nF and 1 x 10uF Tantalum on the shared SD card and SRAM power connection. This maybe considered overkill but I am trying to extract the maximum overclocking ability possible. 104MHz is not it's limit. I have had the RamBlade run on a 14.31818MHz xtal xPLL8 but it has not been proven to run with all the ZiCog code. I ship a 13.5MHz xtal (108MHz) with RamBlade for possible later upgrade.

    RamBlade will not run with 15MHz xtal (120MHz) although TriBlade does run at this speed.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • P!-RoP!-Ro Posts: 1,190
    edited 2010-05-26 - 04:29:11
    Interesting reading all of this, but it seems that an IC running at such high speeds only to fluctuate based on outside factors wouldn't be very feasible in most environments. Maybe I was wrong in saying it would be better to have a higher computing speed?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    90 * 2 = Pi
  • Mike GreenMike Green Posts: 22,891
    edited 2010-05-26 - 04:45:48
    Remember that all digital ICs operate over a range of frequencies affected by ambient temperature and operating voltage. The Propeller is no different. Parallax has tested a sample of chips over the full military temperature range (-50C to 125C) and beyond and a supply voltage range from 3.0V to 3.6V. The actual conditions are described on page 31 of the Propeller datasheet.

    Parallax specifies the Propeller as operating at 80MHz over the full military temperature range and voltage range. To run the Propeller at other (faster) speeds, you have to restrict the temperature range and supply voltage or you have to test (and select) Propeller chips to make sure they work reliably under the conditions you want to use.
  • CarlBCarlB Posts: 2
    edited 2010-06-11 - 13:33:22
    Unfortunate that so many display applications require 80MHz (either as 5MHz * PLL_x16 or as 80 MHz directly) to obtain the full display resolution (ie: 80MHz for the 1280x1024 SVGA dot clock). I'm running with two processors on the same board (the Parallax chip controlling the output, a PIC24 controlling a USB link) and the PIC has to be fed at a multiple of 4MHz in order to generate the 48MHz clock for USB. Effectively, this means that instead of one crystal oscillator shared between the processors, I must supply 4MHz to the PIC's PLL and separately generate 5MHz for the P8X32A. While the Microchip product will accept a 20MHz "lowest common multiplier" as input and convert it to 4MHz then to the USB clock, the Parallax PLL isn't rated for any input above 8MHz - leaving 5MHz as the only value which will provide the 80MHz SVGA dot clock at this resolution.
  • HollyMinkowskiHollyMinkowski Posts: 1,398
    edited 2010-06-11 - 14:05:22
    Mike is right, 96mhz is easy. Just use a cheap 6.00xtal.
    100mhz is just a bit trickier using those 6.250xtals.

    Cranking the V up a bit may help at higher frequencies.
    I used a 317T variable regulator when I was playing with
    higher speeds.

    Maybe it is possible for the prop to adjust the V somehow
    of the 317T by switching a resistor in/out ? Never thought
    of that before. If it could you could run at a low speed until
    you needed 120mhz and then kick in the higher V and drop the
    V back down when you are done. This might make the prop
    last longer and keep if from being so stressed out.

    I wonder if the prop could somehow manage to switch between
    two different xtals? say a 5.00 and a 6.250
    [The Bug Stops Here]
  • Beau SchwabeBeau Schwabe Posts: 6,402
    edited 2010-06-11 - 15:46:46
    HollyMinkowski,

    Switching between two different xtals can be tricky (without latching up) ... essentially telling your processor to alter it's own heartbeat.

    What you might be able to do ... I've done it with other processors but haven't tried it with the Propeller ... You might be able to run in an RC mode most of the time, and then when you need deterministic timing and/or speed switch into a crystal or "turbo mode" through software.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    [url=mailto:bschwabe@parallax.com]Beau Schwabe[/url]

    IC Layout Engineer
    Parallax, Inc.


    Beau Schwabe -- Submicron Forensic Engineer
    www.Kit-Start.com - bschwabe@Kit-Start.com ෴෴ www.BScircuitDesigns.com - icbeau@bscircuitdesigns.com ෴෴

  • HollyMinkowskiHollyMinkowski Posts: 1,398
    edited 2010-06-11 - 17:41:30
    Beau, how about..

    Low speed xtal then
    switch to rc internal oscillator then
    switch to high speed xtal

    And reverse it to go back to low speed xtal.

    Making the proper V changes to match the speeds along the way, perhaps.
    [The Bug Stops Here]
  • Andrey DemenevAndrey Demenev Posts: 362
    edited 2010-06-12 - 01:53:23
    Basically, the ability to run the prop at frequencies above 100 MHz depends on moon phase and bananas cost on Borneo island [noparse]:)[/noparse]

    My personal records were 117,9648 MHz (7,3728 * 16) and 120 MHz (15000 * 8) - and the prop worked very unstable in both cases, simply connecting it to TV could feeze it. The practical limit is 100 MHZ - but only when you pay attention to board layout and power pins decoupling.
    Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!
Sign In or Register to comment.