Ansel Sermersheim wrote: >>>>>> "Peter" == Peter L Peres writes: > >> imho, you can obtain 20 usec loops relatively easily with a PIC at 4 >> MHz for transmission ( == 50 kHz), but for a decent receiver at that >> frequency you'd need to use a faster clock. What are your trying to >> modulate ? 4-bit voice can be passed through such a channel but >> don't tell me about the quality (you'd use crude ADPCM at 8 > >I'm using FSK to pass digital data. I'm only going to be using about >2400 bps, with two filters to receive. I can easily poll at 415 usec >to read that. > >However, it would be a lot easier if I don't have to rig something >similar to that for xmit. > >> Peter >-Ansel The piezo and film devices normal require a high voltage, but very little current. The current requirements from the raw supply normal requires you to use an off chip transistor (NPN or N-Channel MOSFET) to switch the current. Use this to drive a transformer single ended. Tune the transformer leakage inductance to be complementary to your capacitive piezo device at your center frequency, this can provide a large voltage boost at high effieciency. It is not hard to produce 600Vpp this way. If I was trying to receive FSK I would use a simple bandpass filter wide enough for both frequencies and then feed that into TMR0 or TMR1. Every 1/(3*2400) seconds read the change in the counter and just compare against the center frequency to determine if the input is a 0 or 1. To synchronize with the start pulse you would expect to see the mean frequency on the pulse which contains the edge, if it closer to the 1 level then shift your phase back in time, and if it is closer to the 0 level then shift it forward in time. Chip Weller