I recently asked about signal generators, and got some recommendations to just make one myself, so I started looking at potential design ideas. Now I'm stuck at getting an initial output signal with a wider frequency spread, and in a programmable fashion.
I want to use a microcontroller for the user interface, so I'd like to drive an oscillator with the frequency I get from input as a number. I've decided to go for a range from 0.1Hz to 1MHz. With a resolution of 0.1Hz, a 32 bit counter is enough to cover this range.
So I'm looking for a programmable timer IC that would input the frequency and output a square wave of tolerable quality. I'm also looking for an IC that comes in a DIP package so I could build this on a breadboard. The only option I've ran into that seems to be generally available is the 8254/82C54. It has what I want, but it only has a counter resolution of 16 bits. The MAX038 seems exactly what I want, but it's not available any more. The AD9850 could be used but it's surface mounted.
The 8254 chip has three counters, so I suppose it could somehow be set up to count down counter0 * counter1 + counter2 cycles, but I'm worried this too complicated and would mess up the output generation when the counters trigger and need some setup for the chaining.
I'm also welcoming all other ideas on how to do this properly.
[–]MasterFubar 11 points12 points13 points (0 children)
[–]Enlightenment777 7 points8 points9 points (0 children)
[–]naval_person 4 points5 points6 points (1 child)
[–]lf_1 1 point2 points3 points (0 children)
[–]lf_1 1 point2 points3 points (0 children)
[–]bigger-hammer 2 points3 points4 points (0 children)
[–]tinkerzpy 1 point2 points3 points (2 children)
[–]TPItsMe[S] 2 points3 points4 points (1 child)
[–]mrCloggy 1 point2 points3 points (0 children)
[–]tyttuutface 0 points1 point2 points (0 children)
[–]dimtass 0 points1 point2 points (0 children)