Page 1 of 1
Getting Crystals Made
Posted: Thu Apr 29, 2010 11:46 am
by ChuckT
I heard that it wasn't too expensive to get crystals made so I thought about getting them made for the 65C02 and WDC 65C816S and for other processors. What is the fastest speed recommended for both? What speeds do you recommend for a beginner and what speed do you recommend for someone who knows what they are doing?
www.quartslab.com/
http://www.icmfg.com/
Posted: Thu Apr 29, 2010 3:48 pm
by GARTHWILSON
When I first started in amateur radio, I started with a crystal-controlled transmitter that I made from a circuit in a magazine, and had a few crystals made by Jan Crystals (now http://www.jancrystals.com/ , although this was long before the internet Edit, later: Shucks—they've gone out of business). It's easier however to use stock crystals, or better yet, complete ready-made oscillators that fit into an IC socket, from one of the major distributors like Jameco, Mouser, Digi-Key, or so many others. A couple of the topics here where we discussed oscillators are here and here.
You can also make a variable-frequency oscillator (VFO) (or get one as a piece of workbench equipment). I have bench VFOs for up to 300MHz but not one suitable for a square-wave TTL (or 5V CMOS) levels beyond a couple of MHz, so I've made a couple. I made the second one (shown below) for an upcoming project where I wanted a maximum frequency higher than I could get with the first one which is of similar design.
This is a page from my 3x5 ring binder which is a quick-reference guide for all my workbench-computer-related stuff:

I initially had a little pin header for jumpers to select additional input capacitance for lower frequency ranges as shown in the upper-left corner of the drawing, but even with none of the jumpers installed, the tiny bit of capacitance between the top pins and ground was holding the maximum frequency down, so I cut the connection at point A (marked with the "X", near pin 9), and also shorted out R1, bringing the max up to 73MHz. After dividing it by two with a flip-flop, that makes for 36.5MHz which is at least 50% faster than I expect to get from a home-made 6502/816 project. There are 6502's that will do 200MHz, but they're part of a custom microcontroller that's for a specific use, and have memory and I/O onboard the same IC. Even if they were made a standard product, you wouldn't be able to get fast enough logic and memory for it or build suitably for running that fast.
The idea for using the VFO is to increase the frequency until the computer starts having problems, measure the frequency, back down a little bit, and then buy a standard crystal oscillator can for the result, whether that turns out to be 16MHz, 14MHz, or whatever.
The reason for connecting the unused sections of the hex Schmitt inverter to the power and ground planes as shown above is to effectively reduce the power-lead inductance for better behavior at high speeds, since 74xx DIPs' pinouts were set to be at the corners decades ago before designers could foresee rise times reaching such speeds that the lead inductance would be a problem.
Posted: Thu Apr 29, 2010 11:29 pm
by OwenS
One thing that strikes me - is shorting the outputs wise? Definitely do the inputs, but with CMOS logic the outputs should be driven hard enough to be a non-issue, and I'd rather not deal with the possibility of accidentally activating the device's clamp diodes.
Of course, the best option would be to, where possible, use the "Picogate" devices, which would mean none were left wasted

Posted: Fri Apr 30, 2010 1:55 am
by GARTHWILSON
One thing that strikes me - is shorting the outputs wise? Definitely do the inputs, but with CMOS logic the outputs should be driven hard enough to be a non-issue, and I'd rather not deal with the possibility of accidentally activating the device's clamp diodes.
Since it's an inverter, and CMOS gates basically pull the output all the way to one rail or the other anyway, I figure you're kind of giving it an extra power or ground connection through the output if you connect the input and output to opposite rails. The clamp diodes will only conduct if you take a pin outside the power supply range; and actually that will happen less if you reduce the ground bounce by providing these extra power and ground connections.
Posted: Fri Apr 30, 2010 7:15 am
by GARTHWILSON
Re: Getting Crystals Made
Posted: Fri Apr 30, 2010 1:11 pm
by PaulF
What is the fastest speed recommended for both? What speeds do you recommend for a beginner and what speed do you recommend for someone who knows what they are doing?
For beginners, start at 1 or 2 MHz - you can get away with long connections and lots of stray capacitance and not worry about access times and propagation delays and still have everything work when you run this slow.
More experienced constructors can run up to the maximum rated clock speed for the processor (14MHz with current WDC devices.) At this speed, propagation delays and memory access times become significant and you have to spend time adding them up and ensuring you don't exceed the CPU timings - this can get involved.
Really advanced constructors will exceed the maximum rated processor speed - but if you do this you have to be prepared for things to fail. A sign that you are exceeding the maximum safe clock speed is unexplained, random misbehaviour of your system.
Readily available crystals and oscillators cover the most commonly used clock speeds - it is certainally not worth the cost of having a crystal custom-made unless you need to run at some obscure frequency for timing reasons.
Posted: Sat May 01, 2010 10:50 pm
by ElEctric_EyE
Has anyone here in the forums used an Atmel IC for high speed, high resolution clock generation? (i.e. many multiple frequencies from a single clock source?) Dividers are obviously lacking resolution anywhere near the input clock speed... I remember reading about it in these forums awhile back how someone used an AVR for an excellent programmable clock source.
Posted: Sun May 02, 2010 1:23 am
by GARTHWILSON
Has anyone here in the forums used an Atmel IC for high speed, high resolution clock generation? (i.e. many multiple frequencies from a single clock source?)
I came across one of those in the topics I was looking up to link above. I don't remember if it was Atmel. It used an input of 80 or 100MHz and there might have been a PLL to generate a lot more frequencies than you could merely by changing a divisor. The problem with it was that the output speed was selected by a serial input; so if you boot up at a lower speed to read an EPROM for example, then increase the speed, and if the computer crashed at high speed, you wouldn't be able to get it going again, because it couldn't write a lower speed to re-start until it was workig. You could add a microcontroller for the purpose, I suppose.
Posted: Sun May 02, 2010 2:43 am
by Dimitri
Has anyone here in the forums used an Atmel IC for high speed, high resolution clock generation?
AVR's when used as a timed clock, you may see error. Circuit Cellar had a featureless clock project. Ed Nisley's project showed that with a Arduino packaged 16-mhz resonator, he got a error of 33 seconds over 138 minutes. Based on the national time clock signal.
May be okay for the task though.
Dimitri
Posted: Mon May 03, 2010 12:06 am
by ElEctric_EyE
Not intentionally hijacking this thread but... I've already figured out my clocks for EEPROM copy/ SRAM run modes, 1 fast & one slow, no variable frequency needed. I'm just trying to make my digital pulse width analyzer more useful than just analyzing automotive injectors, typically 500uS to 4mS on an 8 cyl engine. Not too much speed or even variation in desired clocks needed to clock 16 bit counters. These CPLDs are capable of 80+ MHz with what I've programmed them for....
Despite this, I have always been intrigued by digitally controlled clock generation, but PLLs were always above my understanding. I used to look at a CD4046 datasheet, I still remember the part # without looking it up!, and think how do I really make this thing work?!
ChuckT, there's a simple circuit I made here with a VCO good to many MHz above the 6502 capability, using a 74S124. It does get hot though, which means it is using quite abit of current (I think about 100mA). It does the job done for benching/prototyping with abit of jitter although it has not interfered with software execution @~10MHz.
9th post from the bottom.
viewtopic.php?t=1503&start=60
-EyE