Line Powered Modem plus DAA CMX878
2002 Consumer Microcircuits Limited 26 D/878/2
1.5.12 C-BUS Interface
This block provides for the transfer of data and control or status information between the CMX878’s
internal registers and the µC over the C-BUS serial bus. Each transaction consists of a single Register
Address byte sent from the µC which may be followed by a one or more data byte(s) sent from the µC to
be written into one of the CMX878’s Write Only Registers, or a one or more byte(s) of data read out from
one of the CMX878’s Read Only Registers, as illustrated in Figure 9.
Data sent from the µC on the Command Data line is clocked into the CMX878 on the rising edge of the
Serial Clock input. Reply Data sent from the CMX878 to the µC is valid when the Serial Clock is high.
The CSN line must be held low during a data transfer and kept high between transfers. The C-BUS
interface is compatible with most common µC serial interfaces and may also be easily implemented with
general purpose µC I/O pins controlled by a simple software routine. Figure 15 gives detailed C-BUS
timing requirements.
For all C-BUS data transfers the regulated supply must be provided to AV DD and DVDD, powering
the C-BUS circuitry and the microcontroller. The C-BUS registers are split between those which
have their contents maintained by the Standby Supply (SBYVDD) and those which have their
contents maintained by the Regulated Supply (DVDD).
In a Line-powered application it is necessary to minimise the current drawn from the Line when in the on-
hook state. For this reason it is intended that power should be removed from the Regulated Supply when
it is not required. This will de-power the microcontroller and the functions of the CMX878 which are not
required in this mode, for example the crystal oscillator, the VBIAS generator, the MODEM & TONES
PROCESSOR block, the Line DAC and ADC, and the associated registers.
The Standby Supply operates independently of the Regulator and this powers the functions which must
remain present in the on-hook state. These functions are the Line Reversal / Ring detectors and the
WAKE input detector. It also powers the three ‘Standby Supply Registers’ – these are:
The Configuration Register. This is used to: enable the standby event detectors; to enable/disable
the Regulated Supply; and to define certain states. As an example, the microcontroller could program
this register to enable detection of a Line Reversal and de-power the Regulated Supply. This will remove
power from the microcontroller but will leave the Line Reversal detector enabled on the Standby Supply.
When a Line Reversal is later detected, power to the microcontroller will be restored and it will begin its
program.
The Supplementary Standby Register. A general purpose write/read register which can be used to
store any values that must survive a drop-out of the Regulated Supply.
The Line/Wakeup Event Register. This is read from in order to determine which detector events have
occurred and to check that the contents of the Standby Supply Registers are valid. (It also indicates the
output of the Line DAC, although this additionally requires the Regulated Supply to be present.)
The CMX878 will automatically power up the microcontroller (via the Regulated Supply) when:
i. The circuit is initially plugged into Line Power. The microcontroller should then read the
Line/Wakeup Event Register and will determine that the Standby Supply Registers have ‘INVALID’
contents. It will then proceed with programming the CMX878 registers.
ii. A Line Reversal, Ring, or WAKE input event has occurred (note that the Reversal and Ring
detectors must have been previously enabled in the Configuration Register for them to operate). The
microcontroller will read the Line/Wakeup Event Register, it will determine that the Standby Supply
Registers have ‘VALID’ contents, and it will determine and act upon the Event which has occurred.