PDA

View Full Version : Idea for a multiple crystal hack



Oldbitcollector (Jeff)
05-14-2008, 10:04 AM
With the arrival of my 6mhz crystals (mentioned earlier) and the playing with the 14.318 stuff,
I've become truly addicted to speed and am considering a method of replacing my single crystal
setup with a small perfboard/switch with all three crystals, but perhaps there is a more elegant
way to handle this?

Is there a solution which might allow one to toggle an I/O pin to make the selection, and still
have it stay in selected position after the reboot? Ideas from those more EE inclined?

Also, as I understand it, the distance between crystal and cpu are a consideration, the closer the better?

Has anyone tried switching the crystal while power was applied?

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Getting started with the Protoboard? - Propeller Cookbook 1.4 (http://ucontroller.com/Propeller%20Protoboard%20Designs%20for%20the%20Beg inner.pdf)
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us (http://propeller.warrantyvoid.us)
Got an SD card? - PropDOS (http://www.orrtech.net/propdos/)
Need a part? Got spare electronics? - The Electronics Exchange (http://warrantyvoid.us/exchange/)

hippy
05-14-2008, 10:14 AM
I considered / asked similar a while ago. The conclusion there was AFAIR to use oscillator modules and some multiplexing. A micro with some Data Eeprom could remember the setting, would be possible for the Propeller to do the same ( write variable's setting back to Eeprom ready for next boot ).

I've used a simple SPDT switch and two XTAL's on other processors - the switch shorts out one or the other. Not tried it with the Prop nor switching it while running.

Mine's still happily running at 118MHz but would be handy to switch back to 80MHz without having to physically swap crystals.

Oldbitcollector (Jeff)
05-14-2008, 10:18 AM
I might be on to a software solution, at least as far as PropDOS is concerned.
I have a version of PropDOS compiled for 80Mhz running at 96Mhz with exception to
the screen output, it is running and playing music (a little faster) correctly.
Perhaps a held-key at boot and passing some data to the AiGeneric driver I'm using
to adjust the video settings would be a step in the right direction.

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Getting started with the Protoboard? - Propeller Cookbook 1.4 (http://ucontroller.com/Propeller%20Protoboard%20Designs%20for%20the%20Beg inner.pdf)
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us (http://propeller.warrantyvoid.us)
Got an SD card? - PropDOS (http://www.orrtech.net/propdos/)
Need a part? Got spare electronics? - The Electronics Exchange (http://warrantyvoid.us/exchange/)

Oldbitcollector (Jeff)
05-14-2008, 10:40 AM
Duh!!! I'd already written the functionality needed in PropDOS.

Compiled a version of PropDOS for the higher speed crystals.
(adjusting the TV driver and sound timing)
Saved it to my SD as propdosh.bin then adjusted the 80mhz
version in the eeprom to start that version if ESC is held down.
(Around line 187 in PropDOS 1.6)

All I need to do now is create a switchable board to plug into
the crystal socket.

It might be getting late.. I'm discovering new features in my own
software.. sigh... :)

OBC

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
New to the Propeller?

Getting started with the Protoboard? - Propeller Cookbook 1.4 (http://ucontroller.com/Propeller%20Protoboard%20Designs%20for%20the%20Beg inner.pdf)
Updates to the Cookbook are now posted to: Propeller.warrantyvoid.us (http://propeller.warrantyvoid.us)
Got an SD card? - PropDOS (http://www.orrtech.net/propdos/)
Need a part? Got spare electronics? - The Electronics Exchange (http://warrantyvoid.us/exchange/)

Drone
05-14-2008, 03:34 PM
Hi OBC,

Why not use a clock synthesizer? Have a look at Cypress Semiconductor or Silicon Labs just to name a couple. There are tons of them out there, all support SPI and/or I2C. I would get one that has some volatile registers to program frequency so you don't wear-out on-part EEPROM. The best solution would have both volatile and non-volatile options. I'm partial to the SiLabs Si570/Si571 part, it has amazingly low jitter. But alas, the Si57X generator's lowest output frequency is 10MHz, but you could easily divide this down in hardware.

There's a carrier board for the Si570 available here:

www.wb6dhw.com/Si570/Si570.html

That page also includes a link to a group-buy for Si570's here:

http://www.softrockradio.org/si570

The Si57X parts come in two stability options, 20ppm and 50ppm check your part numbers carefully. The LVDS version has better jitter performance and only costs a buck more, use it with a cheap Fairchild Semiconductor FIN1002 LVDS/CMOS converter.

Another alternative that "might" work is to use a 7414 Schmitt trigger, one resistor and one capacitor to form an astable oscillator. Lousy jitter performance but should variable to over 10MHz with an 74HC14 part. See attached schematic, use a pot or trimmer to change the frequency.

Regards, David