Simple FSK modulator enables data transmission over low-speed link
FSK (frequency-shift keying) is a type of signal modulation for transmitting digital data over an analog communication link. An FSK modulator comprises a digitally controlled sine-wave generator whose frequency shifts between two predetermined frequencies in response to the two logic levels of the digital data. The circuit in Figure 1 generates a sine wave by continuously sampling a single sine cycle. The output of IC2A is proportional to the currents through R1, R2, and R3. These resistors connect together at one end to the inverting input of IC2A, which is biased at VCC/2. The outputs GP0, GP1, and GP2 of microcontroller IC1 produce nonoverlapping pulse trains. When you set either output high or low, the others are off—that is, at high impedance. When you set an output high, the voltage across the resistor that connects to it is VCC/2. When you set the output low, the voltage across the resistor is –VCC/2.
Select the values of R1, R2, and R3 so that the current pulses have magnitudes proportional to samples of sin 30, 60, and 90°, respectively. Setting all the outputs of IC1 to off produces the sample of sin(0°), and no current flows through the resistors. Thus, starting with all outputs of IC1 at off and consecutively and periodically setting GP0, GP1, and GP2 to high and then, in reverse order, setting GP1 and GP0 high again generates the positive half of a sine wave. Repeating the process but setting the outputs to low generates the negative half of the waveform.
This scheme produces a sampled sine waveform with 12 samples per cycle. In addition to the desired frequency component, f0, this waveform contains higher-frequency components at (12k+1)f0 and (12k−1)f0, k=1,2,3, and so forth. The lowpass filter comprising IC2B, R7, R8, C3, and C4 easily filters out these undesired components of smaller amplitude. Listing 1 is the assembly-program code that implements the Bell 202 FSK standard. When the control input Data In is high, the output frequency is 1200 Hz; when the control is low, the output frequency is 2200 Hz. The transition from one frequency to the other occurs in a manner that retains phase continuity. Figure 2 shows the FSK-modulator output (CH1) in response to a modulating signal (CH2).