Line Powered Modem plus DAA
CMX878
1.6.2 Microcontroller Boot-up Routines
The microcontroller will normally be powered from the Regulated Supply. There are two main cases of
when power will be applied to the microcontroller causing it to jump to the start point in its program:
i.
When the application is first plugged into line power.
ii.
When the sleeping CMX878 is woken by the detection of a Ring, Line Reversal or the WAKE
input going high.
Both of these events will power up the regulated supply and the microcontroller must deal with both
cases. The following is an example of a suitable routine:
(Microcontroller powers up, program starts)
1.
Read CMX878 Status Register to clear any IRQ
2.
Read Line/Wakeup Event Register
3.
If Line/Wakeup Event Register Bit 5 is 0, a loss of Standby Supply had occurred making the
contents of the Standby Supply Registers invalid; begin programming CMX878 registers from
scratch, starting with the Configuration Register.
4.
Otherwise, consider the remaining Line/Wakeup Event bits to check for a Line
Reversal/Ring/WAKE input event – proceed accordingly.
5.
Otherwise, read back the Configuration Register. General Purpose bits 5-15 * may hold a value
representing a state which existed before the Regulated Supply failed then returned (e.g. the line
was in an off-hook state, when the Central Office generated a temporary line break). If this is the
case, proceed accordingly – perhaps returning to the previous state.
To take the line off-hook:
6.
Define the state of the system by writing a code to the General Purpose * bits of the
Configuration Register (these bits will survive a drop-out of the Regulated Supply).
7.
Take the line off-hook by setting high the gyrator output bit in the Line Control Register.
8.
The program can now proceed to power-up the MODEM & TONES PROCESSOR and
associated circuits, starting with the programming of the General Control Register.
* Note that the Supplementary Standby Register can also be used to store a code.
In common with many embedded systems, it is recommended that precautions are taken to minimise the
potential of the program crashing due to a software bug or a power supply disturbance. Watchdog timers
and brown-out detectors can be employed to assist with this. It is recommended that following such a
disturbance, a General Reset is issued to the CMX878 before proceeding to re-program it.
1.6.3 V.22bis Calling Modem Application
This section describes how the CMX878 can be used in a V.22bis Calling modem application, employing
V.25 automatic answering and the V.22bis recommended handshake sequence. This attempts to
establish a 2400bps connection but may fall back to 1200bps if the answering modem is not capable of
2400bps operation.
1. Ensure that the CMX878 is fully powered up. Set the Tx Mode Register to DTMF/Tones mode (set to
‘No Tone’ at this time), and the Rx Mode Register to Call Progress Detect mode.
2. Connect the line (go off hook) then dial the required number using the DTMF generator, monitoring for
call progress signals (dial tone, busy, etc). Change to Answer Tone Detect mode.
© 2002 Consumer Microcircuits Limited
49
D/878/2