Shop OBEX P1 Docs P2 Docs Learn Events
Doubling the clock speed on the Bs24p - A hacker's dream — Parallax Forums

Doubling the clock speed on the Bs24p - A hacker's dream

LoopyBytelooseLoopyByteloose Posts: 12,537
edited 2004-12-21 16:03 in BASIC Stamp
I see the BasicStamp24p has a Ubicom processor (rated at 50 mHZ), but it is being driven at 20 mHZ.

I know that it would require more power (Ubicom's documents mention that the faster the speed, the more power consumed),
but couldn't I just double the resonator speed to 40mHZ a still have a functioning unit at twice the speed?

The resonator chip is likely the easiest chip to swap (It is fairly large and has only three connections)

Maybe I would have to by-pass on board voltage regulator due to the power drain, but all the serial ports would just be running at twice the speed - so the software would seem to still be functional.· Just multiply everything by a factor of two.

Of course, this begs the question of why isn't their a 40mHZ BS24p if a hacker can do it?yeah.gif

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
G. Herzog in Taiwan

Comments

  • BeanBean Posts: 8,129
    edited 2004-12-20 14:48
    I suspect that current draw is the reason.
    Bean.
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2004-12-20 15:03
    That's exactly it. The BS2sx uses a 50 MHz clock and is a current hog. For the BS2p we reduced the clock speed to 20 MHz and switched to the Turbo mode of the SX -- the result is less current draw than the BS2sx and faster execution speed.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
    Dallas Office
  • Bruce BatesBruce Bates Posts: 3,045
    edited 2004-12-20 15:07
    Kramer -

    It may only be using a 20 MHz resonator, but it's operating in Turbo Mode. You may want to check the Ubicomm documentation to see what the final speed is using Turbo Mode. Often newer microprocessors use speed multiplier facilities within the chip to boost the nternal speed beyond the speed of the external clock device. Generally they operate as 2X, 4X, 8X, etc times the external clock.

    Regards,

    Bruce Bates
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2004-12-20 17:13
    Also, depending on how the interpreter was written, changing the clock speed could theoretically affect time-dependant instructions, such as PULSOUT, PULSIN, SEROUT, SERIN, etc.



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage

    Knight Designs
    324 West Main Street
    P.O. Box 97
    Montour Falls, NY 14865
    (607) 535-6777

    Business Page:·· http://www.knightdesigns.com
    Personal Page:··· http://www.lightlink.com/dream/chris
    Designs Page:··· http://www.lightlink.com/dream/designs
    ·
  • Tracy AllenTracy Allen Posts: 6,658
    edited 2004-12-20 18:42
    If you try it, let us know how it turns out. Hacking the clock speed of microcontrollers and PCs is a time honored tradition, along with the extra fans and software patches it entails.

    Another possible problem is the clock drive selection in the SX chip. It has level HS1 for ~20 mhz operation and level HS2 for higher frequencies. I don't really know what drive level Parallax selected for the operation, however, if it is HS1 it might not oscillate reliably at 40mhz (over the full temperature range), The capacitor values recommended for HS2 ops are also different.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Tracy Allen
    www.emesystems.com
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited 2004-12-21 15:34
    Actually, I am afraid to try it.
    I usually destroy whatever I am doing on the first try wink.gif

    First, it is really a tiny object to de-solder and re-solder [noparse][[/noparse]and I don't know what kind of solder was used as the normal technique is to 'reflow' a special paste].

    Second, I have a whole tube full of SX-28s and SX-18s to program at 50mHZ in assembly language.

    I am saving my BS-24p for more use as a highly flexible centralized high-level language hub and trying to create add-ons that use the SX-28s and the SX-18s[noparse][[/noparse]like a 16 key input, an LCD output, a two stepper motor driver, etc.] for more dedicated functions.

    So, I would rather not risk a $79 unit for something I have available in a $5 unit. I just thought that there might be a more experience 'micro hacker' out there.
    The current hog thing is really a problem. It would seem that you might have to change the regulator too or find another work around. I have not read the power consumption specs on all the components on board, but it would be easy to weigh them against the regulators top output.

    The TURBO mode runs instructions back to back through an 'input pipeline' rather than waiting for one instruction to clear before another is input. Occasionally, the processor has to restart the pipeline when a jump calls for new input that is not already in the pipeline, but it runs the instructions nearly 4x the speed of waiting all the time.

    We are somewhat comparing apples to oranges, but regular mode is a consistent divide-the-clock-by-4 and TURBO is no division [noparse][[/noparse]almost] but has that pipeline restart. The PIC microcontroller always has to divide by 4 and runs with much slower oscillators than the SX. So, you really already have a speed demon.

    Because I chose a doubling the clock [noparse][[/noparse]20 to 40 mHZ], I think that the change in clock speed would not significantly affect programing [noparse][[/noparse]all the calculations are eventually converted to binary & twice the speed would divide timing error margins in half, a tighter specification would be available when running the serial port at slower baud]. Am I right on this?

    Tracy Allen makes the best point for not doing it.
    The software/firmware requests that you designate the range of your oscillator so that it can maintain whatever the microcontroller needs to maintain (accuracy? additional current allocation?). More than likely, one would be running the microcontroller with the wrong FUSE setting [noparse][[/noparse]as I think the spec changes at 25mHZ].

    Parallax doesn't have to tell us which FUSE setting it is using [noparse][[/noparse]but I would guess that they use the right one for 20mHZ - no reason not to] and we may not find out by hacking because the SX series has the ability to scrabble its code from invasion by hackers. There is other proprietary code on board, but only one locking system. It is a really nice feature for any and all that dream of creating the perfect algorhytm and taking it to market. Copyright law only helps you win the lawsuit after someone stole your design, but with this you can keep a trade secret forever.

    IN SUM, I am really being greedy and pushng the envelope.
    But, if we all get really good at using the BX-24p and need the speed - there is a way to go faster and Parallax can do it best.

    We will have to wait and see who is willing to reverse engineer the power limitations and do the actual hacking. By the way, where would one get one of those 40 mHZ surface mount resonators anyway?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    G. Herzog in Taiwan
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2004-12-21 16:03
    You've presented your own best argument for NOT doing it: "I usually destroy whatever I am doing on the first try." If you want more performance, we've given you a great tool in SX/B. Yes, the language is not as developed as PBASIC, but the inclusion of assembly instructions and allowing true interrupts gives you a whole bunch of power to take advantage of.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
    Dallas Office
Sign In or Register to comment.