I'm currently using an Intel 82C54 programmable timer/counter in an application. I'm using the version that can count up to 10 MHz.
It's looking like I might need to count even faster than that. Are there other counter chips, or even processors, that can count faster than 10 MHz? 100 MHz or more would be nice.
--
Many thanks,
Don Lancaster voice phone: (928)428-4073
Synergetics 3860 West First Street Box 809 Thatcher, AZ 85552
rss: http://www.tinaja.com/whtnu.xml email: don@tinaja.com
Please visit my GURU\'s LAIR web site at http://www.tinaja.com
I'm measuring the period of another wave by counting how many cycles of a 10 MHz oscillator occur during one cycle of the measured wave. 10 MHz doesn't quite give me the desired resolution for sufficient accuracy in my application.
You could easily count at > 100MHz in a CPLD or FPGA depending on how many bits in the counter. The parts are pretty cheap and the development tools are free.
Then that only leaves the solution Rob hinted: Use an external device, FPGA, fast counter plus serial readout, whatever. You could also take a look at ARM processors with higher clock speeds and at DSP. Some might offer timers that can be clocked higher.
But are you sure your clock oscillator is up to snuff WRT to your precision goals? To maintain a 10MHz clock to within 1 Hertz for any length of time is no small feat. Think about big, oven-stabilized, no vehicle traffic, no sneezing within 100ft and so on. You'd almost have to lock that to WWV and even then short term propagation jitters can throw you a curve.
Even if it's a Doppler application some of the above still applies.
Those are nice. But their tolerances are typically much higher than that. For example the Connor-Winfield Stratum 3 series (IIRC around $100 a pop) are over 4ppm in max tolerance. Aging alone can be 30ppb, per day.
I'd be surprised if the external counter input(s) on micros such as the PIC24H (made in 0.25u process) wouldn't count at >>100MHz typically. Older parts such as the 18F4550 will count at 50MHz guaranteed over temperature.
Best regards, Spehro Pefhany
--
"it\'s the network..." "The Journey is the reward"
speff@interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
Ancient_Hacker wrote: How about trying Don's idea: Put a 1/256 divider on your input.
I guess I don't understand what you guys mean. If my measured signal is, say, 5000 Hz and I divide it by 256 then I get 19 plus a remainder. Wouldn't that round-off error destroy my accuracy, or maybe I'm not understanding what you propose?
There is another trick if you still have a few port pins available: Get two fast four-bit counters, a fast four-bit or wider latch and a really, really good OCXO for 160MHz (that one is going to set you back a pretty penny). Use one counter to divide the 160MHz by 16 and feed that to the uC, or whatever clock it needs, but this must be synchronous to the clock of the 2nd counter.
Use the other counter and latch its value every time the timer finishes. Run the timer input off the tail which will be 10MHz pulses. Read in the latched values through four port pins. Those will now be your new least significant bits. If you are hard pressed for port pins you could serialize that.
Oh, I see. The problem is that the reason I picked this method in the first place is because I can get a fast reading. Otherwise I would be frequency-counting. I currently measure over 200 different waves by polling them all over and over and it takes about one or two seconds per pass. I can't wait a long time for each measurment since I'm constantly making adjustments based on this feedback.
And you can string them together to get a synchronous counter of essentially unlimited width capable of at least 500MHz - I could get that out of the MC100E016.
Putting proper 50R to -2V terminations on every single-ended counter output can introduce enough noise on the power rails to prevent the counter working at ful speed.
Higher resistance terminating resistors don't damp transmission lines nearly as fast, but if you can afford to waiit for a few nanoseconds after stoppping counting, the outputs will have time to settle.
Just take something like the 74VHC163 a 4-bit 180MHz counter and use the terminal count to ripple clock your 10MHz 82xx thing. At 100MHz, the
82xx only sees 100/16=6.25MHz. You don't need every little stage to have
100MHz capability. There might be the slightest little challenge of stretching the high speed terminal count to satisfy the minimum clock width requirements of the 82xx- but that's what engineers are for.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.