> >For encoding, there's a million PIC-based solutions on the net. > >I designed my own, using a different PIC (12HV615) to reduce > >extra components to minimal: it has a built-in voltage stabilizer > >(no 78L05 needed, just a resisitor), and using bitstream D/A > >so no external D/A network neccessary. > By "bitstream D/A" do you mean PWM? If so, how fast do you clock it & how > many serial bits do you use to create each "sample"?
I use the hardware PWM generator inside the 12HV615. With 20 MHz clock I get 156 kHz cycles, with 7 bits resolution. Which is plenty: my main concern is to do noise-shaping, a simple RC filter filters out the high-frequency stuff (which is all around 156 kHz, i.e. several decades away from the desired low-frequency CTCSS tones). Again, don't worry much about the number of D/A bits; even a square wave only has odd harmonics. It is unfortunate that none of these low-pin PICs make the output of their internal D/A converter (CVref) available externally; it's only available as input to a comparator. I experimented with using the comparator as a buffer to get the D/A signal (putting a RC filter between output and inverting input of the comparator inside the PIC), this did work but somehow having a free-oscillating high-speed converter didn't seem very desirable from an EMC point of view. > >For decoder, check out http://www.mcarcoh.org/ke8rv/photo-sd.html, > >specific the comments about his controller. > It's really mind-boggling what can be done with PICs. I see Don's using > the analog input of a fairly low-end PIC, but I'd think you could use a > digital input if the output of the LPF was limited via a very high gain > amp. stage, a la ComSpec. Did he implement an IIR filter in the 12F675? He implemented Goerzel using fixed-point DSP. One issue has been detection time. I still need to find time to experiment with this myself. 73, Geert Jan