
FGEN Digital Pulse Generator
Figure 2.1
PIC then changes Port-B to output and sequentially presents the new 256 waveform values on Port-
B while incrementing the 74HC4040 ripple counter and toggling the Output RAM’s Write pin.
After the new waveform is written to the Output RAM, Port-
B is returned to a high-impedance input, the Output RAM is
put back in Read-mode with output enabled, and the NCO is
reconnected to the NCO output pin.
Converting the Output RAM’s byte wide output to an
analog signal requires a digital-to-analog-converter, or DAC.
Because the FGEN1 goes to 20 kHz with 256 phase values
per cycle, the DAC needs to operate at 5.12 MHz. Finding an
inexpensive high-speed single-supply 8-bit DAC in a DIP
package was difficult. The few parts available all used
current switches feeding an R-2R network. R-2R networks
are fast, reliable and inexpensive; see:
https://www.electronics-tutorials.ws/combination/r-2r-dac.ht
ml. As it turns out, the CMOS outputs of a 6116 static RAM
make decent current switches; see Figure 2.1. In fact, the
current switches don’t need to be perfect, going from 5V to
0V, as long as all eight span the same range. Thus, it is
possible to use the 6116's outputs as inputs to the R-2R DAC
network. The R-2R network is realized as a thick-film
resistor network in a 10-pin SIP. The R-2R network feeds
inverting amplifier U8.1 which is offset to analog ground -
one-half of the +5 volt analog supply.
2.4 Filter Bank
Schematic sheet 3 shows the filter bank circuitry. The block diagram (Fig. 2.0) shows the
relation of the filter bank to the rest of the FGEN circuitry. Appendix G shows the internal functions
of the filter bank and the design specifications of the filters.
Any DAC output requires some lowpass filtering to remove its “stair step” output. Some
waveforms can be heavily filtered because the waveform itself has low harmonic content - such as a
sine wave. Other waveforms - such as a sawtooth wave - have high order harmonics that, if filtered
out, would distort the desired waveform. To accommodate different filtering requirements, the
FGEN has six second-order Bessel lowpass filters that ratio metrically span the FGEN’s output
range, these are Filter Banks 0-5. The signal from the waveform generation circuitry feeds a six
Filter Banks in parallel. The outputs of Filter Banks 0-5 go to inputs 0-5, respectively, of the
74HC4051 (U9), 8:1 analog multiplexor. The last two inputs to the analog MUX are the unfiltered
waveform, on input 6, and analog ground on input 7.
There is a single order lowpass filter (U8.3), known as the Common Filter, on the output of
the analog MUX.
There are three different quad op-amps used in the Filter Banks and other analog circuitry.
To reduce costs, the gain-bandwidth-product (GBP) of the op-amps was matched to the bandwidth
requirements of the circuitry. The MCP6004 (U6) is used for DC voltages and the lowest frequency
Filter Bank. The MCP604 (U7) is used for the middle frequency Filter Banks. The MCP6024 (U8)
is used for the highest frequency Filter Bank and all op-amps through which the waveform signal
(C) Lucid Technologies 6