June
2000, Issue 107
Low-Cost
Software
Bell-202
Modem
AT
THE BLOCK LEVEL
The
modem design in Figure 1 uses the Scenix SX28AC, which runs at up to 50 MHz
and has a 50-MIPS data throughput rate. Although the
design accommodates connecting to a PC via an RS-232
connector, it can be changed to some other type of serial
interface.
The
modem functions can be downloaded from the Scenix web
site as virtual peripherals and stored in the on-chip
program memory. The virtual peripherals used in this
design are:
two 16-bit timersone for the power-on LED and
one for FSK and DTMF tone duration
DTMF detection
FSK detection via on-chip hardware comparator
DTMF generation
FSK generation
UART (1200 bps to 115.2 kbps)
Additional
features like caller ID, voice recognition, LCD drive,
and numerous types of I/O can be added by downloading
the appropriate virtual peripheral into the program
memory.
To
achieve the lowest implementation cost, the design uses
a component (rather than a module) approach for connecting
to the external world. For example, the cost of a DAA
module is typically about $4. But, a 1200-bps modem
doesnt need the sophisticated DAC, compression
and decompression, and other functions performed by
a DAA module.
Instead,
as you see from Figure 2, I used a configuration based on optoisolators and
a transformer to provide coupling to the telephone network,
which complies with the Bell-202 standard and makes
the cost of the components significantly less than that
of a DAA module.