CML Microcircuits CMX866 User manual

CMLMicrocircuits
COMMUNICATION SEMICONDUCTOR
S
CMX866
V.22 bis Modem
with AT Commands
©2008 CML Microsystems Plc
D/866/5 May 2008 Provisional Issue
Features Applications
•V.22 bis, V.22 and Bell 212A QAM/DPSK •Telephone Telemetry Systems
•V.23, Bell 202, V.21 and Bell 103 FSK •Remote Utility Meter Reading
•Integral AT Command Set with 'Fast Connect' •Security Systems
•V.23 and Bell 202 'Fast Turnaround' •Industrial Control Systems
•Support for Type 1 Caller Line Identification •Electronic Cash Terminals / ATMs
•DTMF/Programmable Tones: Transmit and Receive •Pay-Phones
•'Zero-Power' and Powersave Standby Modes •Cable TV Set-Top Boxes
•Low Power Operation •EPOS Terminals
1.1 Brief Description
The CMX866 is a multi-standard modem for use in telephone based information and telemetry systems.
Control of the device is via AT commands over a simple 9600b/s serial interface, compatible with most
types of host µController. An RS232 compatible interface can be created by the addition of a Level
Converter. The data transmitted and received by the modem is also transferred over the same serial
interface. The on-chip µController interprets these AT commands and controls an internal DSP, which
provides the modem and anciliary functions such as Ring Detection, Call Progress Detection, Hook
Switch control and DTMF autodialling. User-specific DSP functions are also available via the AT
command set.
Hardware support is provided for V.23 and Bell 202 Fast Turnaround and for rapid return to AT Command
mode. A Fast Connect mode has been implemented to reduce modem connection time. Flexible line
driver and receive hybrid circuits are integrated on chip, requiring only passive external components to
build a 2 or 4-wire line interface. Complete examples of 2-wire line interfaces to an external host µC and
to an RS232 interface, including the additional components required for Type 1 CLI, are provided.
The device features a Hook Switch relay drive output and a Ring Detector circuit that remain operational
when the CMX866 is in 'Zero-Power' or Powersave mode, providing an interrupt which can be used to
wake up an external host µC, as well as the CMX866, when line voltage reversal or ringing is detected.
The device is also able to detect off-hook parallel phones by monitoring voice activity on the line.
The CMX866 takes 5mA (typ.) from a single 2.7–5.5V supply and comes in 28-pin SSOP/SOIC packages.

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 2 D/866/5
CONTENTS
Section Page
1.1 Brief Description.................................................................................................1
1.2 Block Diagram.....................................................................................................3
1.3 Signal List............................................................................................................4
1.4 External Components.........................................................................................6
1.4.1 Ring Detector Interface .........................................................................8
1.4.2 Line Interface..........................................................................................9
1.4.3 Serial Interface .....................................................................................11
1.4.4 RESETN pin..........................................................................................12
1.5 General Description..........................................................................................13
1.5.1 Internal Structure.................................................................................13
1.5.2 Operating States and Data Flow.........................................................14
1.5.3 Functional Description........................................................................16
1.5.4 AT Command and Register Set..........................................................17
1.5.4.1 AT Command and S-Register Summary...............................17
1.5.4.2 General Description of AT Commands.................................19
1.5.4.3 AT Commands in Detail..........................................................20
1.5.4.4 Extended AT Commands .......................................................23
1.5.4.5 S-Registers..............................................................................26
1.5.4.6 Result Codes...........................................................................30
1.5.5 Tx USART..............................................................................................30
1.5.6 FSK and QAM/DPSK Modulators .......................................................32
1.5.7 Tx Filter and Equaliser ........................................................................33
1.5.8 DTMF/Tone Generator.........................................................................33
1.5.9 Tx Level Control and Output Buffer...................................................33
1.5.10 Rx DTMF/Tones Detectors..................................................................34
1.5.11 Rx Modem Filterering and Demodulation..........................................35
1.5.12 Rx Modem Pattern Detectors and Descrambler ...............................36
1.5.13 Rx Data Register and USART .............................................................36
1.6 Application Notes .............................................................................................38
1.6.1 Hardware Interface ..............................................................................38
1.6.2 Calling Modem AT Commands...........................................................43
1.6.3 Answering Modem AT Commands ....................................................43
1.6.4 RS232 Transaction Sequence ............................................................44
1.7 Performance Specification...............................................................................45
1.7.1 Electrical Performance........................................................................45
1.7.1.1 Absolute Maximum Ratings...................................................45
1.7.1.2 Operating Limits .....................................................................45
1.7.1.3 Operating Characteristics......................................................46
1.7.2 Packaging.............................................................................................52
It is always recommended that you check for the latest product datasheet version from the
Datasheets page of the CML website: [www.cmlmicro.com].

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 3 D/866/5
1.2 Block Diagram
Figure 1 Block Diagram

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 4 D/866/5
1.3 Signal List
CMX866
D1/D6 Signal Description
Pin No. Name Type
1 XTALN O/P The output of the on-chip Xtal oscillator inverter.
2 XTAL/CLOCK I/P The input to the oscillator inverter from the Xtal
circuit or external clock source.
3 N/C ~ Reserved for future use. Connect this pin to
DVSS.
4 N/C ~ Reserved for future use. Connect this pin to
DVSS.
5 RDRVN O/P
Relay drive output, low resistance pull down to
DVSS when active and medium resistance pull
up to DVDD when inactive.
6 DVSS Power
The negative supply rail for the digital on-chip
blocks.
7 RD I/P
Schmitt trigger input to the Ring signal detector.
Connect to DVSS if Ring Detector not used.
8 RT BI
Open drain output and Schmitt trigger input
forming part of the Ring signal detector. Connect
to DVDD if Ring Detector not used.
9 RESETN I/P Schmitt trigger input to an active-low reset pin.
Connect to DVDD if no external reset signal used
10 RXAFB O/P The output of the Rx Input Amplifier.
11 RXBN I/P
An alternative, switched inverting input to the Rx
Input Amplifier, used to increase the amplifier
gain for the detection of on-hook signals. If this
input is not required, leave the pin disconnected.
12 RXAN I/P
The inverting input to the Rx Input Amplifier
13 RXA I/P
The non-inverting input to the Rx Input Amplifier.
If this pin is to be connected to VBIAS then it
should also be decoupled to AVSS locally.
14 AVSS Power
The negative supply rail for the analogue on-
chip blocks.
15 VBIAS O/P Internally generated bias voltage of
approximately AVDD /2, except when the device
is in Powersave or 'Zero-Power' modes, when
VBIAS will discharge to AVSS. This pin should be
decoupled to AVSS by a capacitor mounted
close to the device pins.
16 TXAN O/P
The inverted output of the Tx Output Buffer.
17 TXA O/P
The non-inverted output of the Tx Output Buffer.

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 5 D/866/5
CMX866
D1/D6 Signal Description
18 AVDD Power The positive supply rail for the analogue on-chip
blocks. Levels and thresholds within the device
are proportional to this voltage.
19 DCDN O/P The inverted DCD signal used for an RS232
interface with a Level Converter.
20 DSRN O/P The inverted DSR signal used for an RS232
interface with a Level Converter.
21 CTSN O/P The inverted CTS signal used for an RS232
interface with a Level Converter.
22 DTRN I/P The inverted DTR signal used for an RS232
interface with a Level Converter.
23 RTSN I/P The inverted RTS signal used for an RS232
interface with a Level Converter.
24 TXD I/P The non-inverted TD signal used for an RS232
interface with a Level Converter. This pin
accepts data from the external host µC for
transmission over the phone line.
25 RXD O/P The non-inverted RD signal used for an RS232
interface with a Level Converter. This pin sends
data to the external host µC which was received
over the phone line.
26 ESC I/P An auxiliary pin to force the CMX866 into
Command Mode from Data Mode and remain
off-hook. The ATO command will return the
CMX866 to Data Mode. This pin should be
connected to DVSS if not required.
27 RIN O/P
The inverted RI signal used for an RS232
interface with a Level Converter. This is a 'wire-
ORable' output for connection to an external
host µC Interrupt Request input. This output is
pulled down to DVSS when active and is high
impedance when inactive. An external pullup
resistor is required (eg. R1 in Figure 2a).
28 DVDD Power The positive supply rail for the digital on-chip
blocks. Levels and thresholds within the device
are proportional to this voltage.
Notes:
I/P = Input
O/P = Output
BI = Bidirectional
T/S = 3-state Output
NC = No Connection

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 6 D/866/5
1.4 External Components
C1, C2 22pF C3, C4, C6 100nF
R1
100kΩC5, C7 10uF
X1 11.0592MHz L1, L2 100nH
(optional)
Resistors ±5%, capacitors ±20% unless otherwise stated.
Figure 2a Recommended External Components for Typical Application
This device is capable of detecting and decoding small amplitude signals. To achieve this DVDD, AVDD
and VBIAS should be decoupled and the receive path protected from extraneous in-band signals. It is
recommended that the printed circuit board is laid out with both AVSS and DVSS ground planes in the
CMX866 area, as shown in Figure 2b, with provision to make a link between them close to the CMX866.
To provide a low impedance connection to ground, the decoupling capacitors (C3 – C7) must be mounted
as close to the CMX866 as possible and connected directly to their respective ground plane. This will be
achieved more easily by using surface mounted capacitors.
VBIAS is used as an internal reference for detecting and generating the various analogue signals. It must
be carefully decoupled, to ensure its integrity. Apart from the decoupling capacitor shown (C3), no other
loads are allowed. If VBIAS needs to be used to set external analogue levels, it must be buffered with a
high input impedance buffer.
The DVSS connections to the Xtal oscillator capacitors C1 and C2 should also be of low impedance and
preferably be part of the DVSS ground plane to ensure reliable start up of the oscillator.

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 7 D/866/5
Figure 2b Recommended Power Supply Connections and De-coupling
ANALOGUE DIGITAL
C3, C6 100nF C4 100nF
C7 10uF C5 10uF
L2 100nH
(optional, see note)
L1 100nH
(optional, see note)
Note: The inductors L1 and L2 and the electrolytic capacitor C7 can be omitted without significantly
degrading the system performance.

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 8 D/866/5
1.4.1 Ring Detector Interface
Figure 3 shows how the CMX866 may be used to detect the large amplitude Ringing signal voltage
present on the 2-wire line at the start of an incoming telephone call.
The ring signal is usually applied at the subscriber's exchange as an ac voltage inserted in series with one
of the telephone wires and will pass through either C20 and R20 or C21 and R21 to appear at the top end
of R22 (point X in Figure 3) in a rectified and attenuated form.
The signal at point X is further attenuated by the potential divider formed by R22 and R23 before being
applied to the CMX866 RD input. If the amplitude of the signal appearing at RD is greater than the input
threshold (Vthi) of Schmitt trigger 'A' then the N transistor connected to RT will be turned on, pulling the
voltage at RT to DVSS by discharging the external capacitor C22. The output of the Schmitt trigger 'B' will
then go high, setting bit 14 (Ring Detect) of the DSP Status Register. The on-chip µController will then
respond by setting pin RIN low.
The minimum amplitude ringing signal that is certain to be detected is:
( 0.7 + Vthi x [R20 + R22 + R23] / R23 ) x 0.707 Vrms
where Vthi is the high-going threshold voltage of the Schmitt trigger A (see section 1.7.1).
With R20-22 all 470kΩas Figure 3, setting R23 to 68kΩwill guarantee detection of ringing signals of
40Vrms and above for DVDD over the range 3 to 5V.
R20, 21, 22 470kΩC20, 21 0.1μF
R23 See text C22
0.33μF
R24
470kΩD1-4 1N4004
Resistors ±5%, capacitors ±20%
Figure 3 Ring Signal Detector Interface Circuit

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 9 D/866/5
If the time constant of R24 and C22 is large enough then the voltage on RT will remain below the
threshold of the 'B' Schmitt trigger for the duration of a ring cycle. The time for the voltage on RT to
charge from DVSS towards DVDD can be derived from the formula:
VRT = DVDD x [1 - exp(-t/(R24 x C22)) ]
As the Schmitt trigger high-going input threshold voltage (Vthi) has a minimum value of 0.56 x DVDD, then
the Schmitt trigger B output will remain high for a time of at least 0.821 x R24 x C22 following a pulse at
RD. The values of R24 and C22 given in Figure 3 (470kΩand 0.33μF) give a minimum RT charge time of
100msec, which is adequate for ring frequencies of 10Hz or above.
Note that this circuit will also respond to a telephone line voltage reversal. The external host μC can
distinguish between a Ring signal and a line voltage reversal by measuring the time that pin RIN is low.
If the Ring detect function is not used then pin RD should be connected to DVSS and RT to DVDD.
1.4.2 Line Interface
A line interface circuit is needed to provide dc isolation and to terminate the line.
2-Wire Line Interface
Figure 4a shows a simplified interface for use with a 600Ω2-wire line. The complex line termination is
provided by R13 and C10, high frequency noise is attenuated by C10 and C11, while R11 and R12 set
the receive signal level into the modem. For clarity the 2-wire line protection circuits and the connection
to RXBN (for on-hook CLI applications) have not been shown.
R11 See text C3 See Figure 2
R12
100kΩC10 33nF
R13
600ΩC11 100pF
Resistors ±5%, capacitors ±20%
Figure 4a 2-Wire Line Interface Circuit

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 10 D/866/5
The transmit line signal level is determined by the voltage swing between the TXA and TXAN pins, less
6dB due to the line termination resistor R13, and less the loss in the line coupling transformer. Allowing
for 1dB loss in the transformer, then with the DSP Tx Mode Register set for a Tx Level Control gain of
0dB (S25 register set to 'xxxxx111') the nominal transmit line levels will be:
AVDD = 3.0V AVDD = 5.0V
QAM, DPSK and FSK Tx modes (no guard tone) -10dBm -5.5dBm
Single tone transmit mode -10dBm -5.5dBm
DTMF transmit mode -6 and -8 dBm -1.5 and -3.5 dBm
For a line impedance of 600Ω, 0dBm = 775mVrms. See also section 1.7.1.3
In the receive direction, the signal detection thresholds within the CMX866 are proportional to AVDD and
are affected by the Rx Gain Control gain setting in the DSP Rx Mode Register (as indicated by the value
held in the S26 register). The signal level into the CMX866 is affected by the line coupling transformer
loss and the values of R11 and R12 of Figure 4a.
Assuming 1dB transformer loss, the Rx Gain Control programmed to 0dB (S26 register set to 'xxxxx111')
and R12 = 100kΩ, then for correct operation (see section 1.7.1.3) the value of R11 should be equal to:
500 / AVDD kΩi.e. 160kΩat 3.0V, falling to 100kΩat 5.0V
When the RDRVN pin is high impedance (= on-hook = inactive) the auxiliary receive input pin RXBN is
internally connected to the RXAN pin. This can be used to increase the Rx gain (required for Type 1
Caller Line Identification reception) by reducing the effective value of R11, as shown in Figures 11 and 12.
When the RDRVN pin is low (= off-hook = active) the RXBN pin is not connected.
4-Wire Line Interface
Figure 4b shows an interface for use with a 600Ω4-wire line. The line terminations are provided by R10
and R13, high frequency noise is attenuated by C11 while R11 and R12 set the receive signal level into
the modem. Transmit and receive line level settings and the value of R11 are as for the 2-wire circuit.
R10, 13
600ΩC3 See Figure 2
R11 See text C11 100pF
R12
100kΩC12 33nF
Resistors ±5%, Capacitors ±20%
Figure 4b 4-Wire Line Interface Circuit

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 11 D/866/5
1.4.3 Serial Interface
The CMX866 is controlled by sending AT commands over the serial interface from an external host µC.
For simplicity, an asynchronous protocol has been adopted: 9600 baud, 8-bit words, no parity, 1 stop-bit.
Since this communications rate exceeds that over the phone line, it is necessary to use CTS flow control
to moderate the data rate, so that on average it equals the baud rate for the communications standard
adopted. The CTS flow control method provided on the CMX866 will also work with the RTS/CTS
handshake protocol used by some µControllers. AT commands and phone numbers need to be stored
for future use and the CMX866 provides four internal buffers for phone number and command storage
and for data buffering (see Figure 5a).
When the external host µC is ready to transmit AT commands or data it should take the Request To Send
signal active (RTSN pin goes low) and place the information to be sent on the Transmit Data (TXD) pin.
When the CMX866 is ready to accept this information from the external host µC it will take the Clear To
Send signal active (CTSN pin goes low). The information should be sent as 8-bit bytes, encapsulated by
a start bit (low) and a stop bit (high). The CMX866 should be presented with continuous mark (stop bits)
when the host µC has no information to send. As each byte is received it is stored in a 48-byte AT
command buffer when in Command mode or in a 16-byte receive data buffer when in Data Transfer
mode. The CMX866 will take the CTSN pin high when either buffer is full. The TXD pin must then be
taken high (continuous mark) until the on-chip µController in the CMX866 is ready to accept further data,
which it will signify by taking the CTSN pin low, providing the RTSN pin is already low. If the external host
µC does not have an Request To Send signal, the RTSN pin should be permanently wired low. When
RTSN is inactive high, CTSN follows RTSN and becomes inactive high, thus there is no data flow from
the host µC to the CMX866, but data flow from the CMX866 to the host µC is allowed and will take place if
data is received from the phone line. As the incoming AT command is being interpreted, any phone
number is identified and stored separately in the 24-byte phone number buffer.
When the CMX866 is in Data Transfer mode and it receives a signal from the phone line which exceeds
the minimum amplitude threshold, it will attempt to demodulate the signal and place the received data on
the RXD pin. At the same time it will make the Data Carrier Detected signal active (DCDN pin goes low).
Received data is presented to the RXD pin at 9600 baud (with the same protocol as for transmission,
regardless of the format that was used over the phone line), after a complete byte has been demodulated.
There is a 24-byte message buffer in the receive path but, as the received data always arrives at slower
than 9600 baud, there is no need for a flow control handshake in the receive path. It is assumed that the
external host µC will absorb all of the data presented to it without the need for flow control and will ignore
continuous mark (stop bits) when there is no received data. If the received signal is below the detection
threshold or the CMX866 is not in Data Transfer mode, the DCDN and RXD pins will be taken high.
If the CMX866 receives a RING signal on the RD and RT pins, such that the detection threshold is
exceeded, then the device will forward this condition to the external host µC by taking the RIN pin low.
This pin follows the output of the ring detector, so will go low for each burst of RING signal. If the
CMX866 is in a Powersave or 'Zero-Power' state, it will be woken up and the DSRN pin will go low once
the on-chip µController is ready to receive communications through the serial port. This wake up process
takes about 30ms from 'Zero-Power' state, as the VBIAS pin has to charge the external reservoir capacitor
and the crystal oscillator has to start up and stabilise before the CMX866 can initialise itself. From the
Powersave state this wake up process takes about 10µs, as the oscillator and the VBIAS pin are already
stable.
The DSRN and DTRN pins do not act as a handshake with the external host µC. The DSRN pin indicates
the operational status of the on-chip µController (low = ready to communicate with an external host µC).
The DTRN pin is used for taking the CMX866 out of a Powersave or 'Zero-Power' state. It acts as a
device wake up, in the same manner as the RING signal, and becomes active on the high to low
transition. A high to low transition on the DTRN pin is ignored if the device is already 'woken up'. If the
external host µC does not have a DTR signal, the DTRN pin should be permanently wired to the TXD pin.
When the CMX866 is in a Powersave or 'Zero-Power' state, the RXD, CTSN, DSRN, DCDN and RIN pins
will be permanently high. The condition of the TXD, RTSN and DTRN pins is not important.

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 12 D/866/5
Depending on the &Dn configuration, if the DTRN pin is taken high at any time whilst the CMX866 is in
Data Transfer mode, a fixed, 100ms timeout is started. On completion of the timeout, the CMX866 will
return to Command mode, enabling further AT commands to be sent. If the DTRN pin goes high whilst
the CMX866 is in Command mode, the action is ignored. AT commands can be sent providing CTSN and
RTSN are low (ie DTRN can be either high or low). A low to high transition on the ESC pin also has the
same effect of returning the CMX866 from Data Transfer mode to Command mode, but with immediate
effect. The &Dn command configures these options, see section 1.5.4.4 for more details.
If the RTSN pin is taken high at any time whilst the CMX866 is in Data Transfer mode, a timeout is started
whose value is set in the S28 register (0 = timeout disabled). On completion of the timeout, the CMX866
will return to Command mode and take CTSN high. If the RTSN pin goes high whilst the CMX866 is in
Command mode, the CTSN pin goes high and the action on the RTSN pin is ignored. Information
transfer can only restart when the RTSN pin is taken low again and the CMX866 responds by taking
CTSN low.
1.4.4 RESETN pin
The CMX866 has an internal power-up reset function which is activated whenever power is first applied to
the device. This reset function resets all of the on-chip µController registers, including the S-Register
settings, and then performs an initialisation sequence which resets the internal DSP and subsequently
places it in a powersave state, loads the factory default values into the S-Registers and places the on-
chip µController into an operating state. This internal power-up reset function is OR-ed with the RESETN
pin. The state of the CMX866, including its outputs, is undefined for approximately 4.7ms, until this reset
operation is complete.
When the RESETN pin is taken low, the on-chip µcontroller is reset and its program counter held at
address $0000. It remains in this condition until the RESETN pin is taken high, at which time the software
reset operation described above is performed. The RESETN pin must be held low for at least 5.0µs.
When the CMX866 first enters the operating state, it reports its configuration as follows:
• CMX866 waits for DTRN to go active (low)
• CMX866 takes the DSRN pin active (low) to indicate its readiness to
communicate with an external host µC
• CMX866 waits for RTSN to go active (low)
• CMX866 sends "CMX866" identification message to external host µC
(equivalent to the host µC issuing an ATI0 command)
• The on-chip µController now powers up the DSP part of the CMX866
• The DSP is automatically reset then requested to perform an internal diagnostic self-check,
which takes about 2.9ms to complete
• On successful completion, CMX866 sends "DSP checksum OK" identification message to
the external host µC. If not successful, CMX866 sends "DSP Error" message to the
external host µC. In the latter case, the CMX866 should be reset again by taking the
RESETN pin low
• The on-chip µController now powers down the DSP part of the CMX866
• The on-chip µController is now in the Command mode operating state and is ready to
accept AT commands from the serial interface, approximately 55ms after DTRN went low
• CMX866 takes the CTSN pin active (low) to indicate its readiness to
communicate with an external host µC
Note that the on-chip µController does not perform its own internal diagnostic self-check as this
is not considered necessary.

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 13 D/866/5
1.5 General Description
1.5.1 Internal Structure
Internally, the CMX866 consists of a dedicated DSP which is controlled by an on-chip µController. This
µController is preprogrammed to interpret the AT commands provided by the user into instructions for
controlling the dedicated DSP. It also handles the CMX866 power management and other functions. The
DSP is preprogrammed with algorithms to implement the various modem functions, but also has Tone
Generators and Detectors which are user programmable with AT commands, via the on-chip µController.
The CMX866's DSP transmit and receive operating modes are independently programmable by means of
AT commands which write values into the S-Registers. The on-chip µController then interprets the values
in these registers and programs the corresponding registers in the dedicated DSP.
The DSP transmit mode can be set to any one of the following:
• V.22 bis modem. 2400bps QAM (Quadrature Amplitude Modulation)
• V.22 and Bell 212A modem. 1200 bps DPSK (Differential Phase Shift Keying)
• V.21 modem. 300bps FSK (Frequency Shift Keying)
• Bell 103 modem. 300bps FSK
• V.23 modem. 1200 or 75 bps FSK
• Bell 202 modem. 1200 or 150 bps FSK
• DTMF transmit
• Single tone transmit (from a range of modem calling, answer and other tone frequencies)
• User programmed tone or tone pair transmit (programmable frequencies and levels)
• Disabled
The DSP receive mode can be set to any one of the following:
• V.22 bis modem. 2400bps QAM
• V.22 and Bell 212A modem. 1200 bps DPSK
• V.21 modem. 300bps FSK
• Bell 103 modem. 300 bps FSK
• V.23 modem. 1200 or 75 bps FSK
• Bell 202 modem. 1200 or 150 bps FSK
• DTMF detect
• 2100Hz and 2225Hz answer tone detect
• Call progress signal detect
• Dual alert tone pair detect (for Caller Line Identification)
• User programmed tone or tone pair detect
• Disabled
The CMX866 can also be set into 'Zero-Power' or Powersave states, which disable all circuitry except for
the Ring Detector. The S-Register settings and the CMX866's configuration are remembered when in
'Zero-Power' or Powersave states. The 'Zero-Power' state stops the crystal oscillator and removes power
from the VBIAS pin, for minimum power consumption. It takes about 30ms for the CMX866 to become
operational from the 'Zero-Power' state. The Powersave state stops the internal clock distribution, but
retains power to the crystal oscillator and VBIAS circuit. Consequently, the CMX866 can become
operational from this state in about 10µs. If the TXD pin is tied to the DTRN pin (to implement a reduced
RS232 interface) any activity on the TXD pin will also take the CMX866 into an operational state. In this
case, however, data may be corrupted until the CMX866 is fully operational.

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 14 D/866/5
1.5.2 Operating States and Data Flow
The following diagram shows the flow of data in the CMX866:
Figure 5a CMX866 Data Flow Diagram

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 15 D/866/5
The following state transition chart shows the various modes of operation for the CMX866:
Figure 5b CMX866 State Transition Chart

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 16 D/866/5
1.5.3 Functional Description
The CMX866 is a multi-functional integrated modem chip which requires simple telephone line and
RS232 interfaces to implement a complete, low-power modem that can be controlled by widely used AT
commands. A list of the main features of this product is given below:
Function Commands Registers
• Set modem line communication functions, software protocol
and control characters for AT commands
Bn, &Gn S2, S3, S4, S5, S10,
S23, S24, S27
• Select automatic or no fallback from V.22bis to V.22 Nn S24
• Select V.23 or Bell 202 fast turnaround RO S14, S24
• Return to Command mode by:
1) Issuing an escape sequence: <delay> +++ <delay>
2) Taking the DTRN pin high (active low)
3) Taking the ESC pin high (active high)
4) Taking the RTSN pin high (active low)
S12
S24
S14
S28
• Bypass the answertone detection sequence to give "Fast
Connect"
S14
• Set modem into answer or originate mode, independently of
whether a call is being initiated or answered
S14
• Detect dual alert tones or FSK whilst on-hook (for Type 1 CLI) @Rn, @RR,
@F8
• Place the CMX866 into either 'Zero-Power' or Powersave
states. When in these states, the CMX866 can be "woken-up"
by either:
1) activity on the DTRN pin (including transmitted data, if this
is also wired to the DTRN pin)
2) detection of a Ringing condition on the RD and RT pins
&Z0, &Z1 S21
• Make local and remote digital loopback connections and allow
remote modems to digitally loopback the CMX866. This
facilitates the provision of loopback tests by the external host
µController
&Tn S15, S16, S18, S21
• Automatically dial a directory number and monitor call progress
tones before entering the modem function
Dn, DTn, DL,
Hn, Xn
S6, S7, S8, S11,
S22, S29
• Automatically answer an incoming call A, Hn S0, S1, S17
• Independently set the Rx and Tx path gain S25, S26
• Perform internal confidence tests on the CMX866 and report
back the device revision, status and configuration
In, &V
• Perform miscellaneous line communications functions, such as
repeating the last command, selecting alphabetic or numeric
result codes, etc.
A/, En, Qn,
Vn
S14
• Restore the default 'factory profile', placing the CMX866 into a
known state without resetting the device
Z
• Set the serial interface (RS232) communications protocol and
CMX866 hardware configurations
&Cn, &Dn S24
• Enter Data mode from Command mode O, RO, &Tn

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 17 D/866/5
1.5.4 AT Command and Register Set
1.5.4.1 AT Command and S-Register Summary
AT Command Parameters Function Default
A Answer Command - Answer and establish a connection when off-hook
A/ Re-execute last command
Bn n = 0..9 Select Communications Standard n=0
Dn ... n n = 0..9, A..D, *,# Dial Command - DTMF dials the subsequent Directory Number
or DTn ... n , Dial Command Modifier - Delay during dialling - time in S8 register
! Dial Command Modifier- Send a line break - time in S29 register
; Dial Command Modifier - command mode after dialling, no handshake
DL Dial Command - Redial last number
En n = 0,1 Command echo, 0=off, 1=on n=1
Hn n = 0,1 Switch Hook Control, 0=on-hook, 1=off-hook n=0
In n = 0 Identification - Returns the modem's product identification
Nn n = 0,1 V.22bis Fallback to V.22 option, 0=none, 1=automatic n=1
O Go online in Data mode (from Command mode)
Qn n = 0,1 Enable(n=0)/Disable(n=1) return of modem result codes n=0
RO
Execute V.23 or Bell 202 turnaround if enabled (see S14 and S24)
then go online in Data mode
Sn? n = 0..29 S-Register "n" Read - Display specified S Register contents
Sn=x n = 0..29 S-Register "n" Write - Write to specified S Register
Vn n =0,1 Return result codes as numbers (n=0) or words (n=1) n=0
Xn n = 0..3 Calling and Response Characteristics n=3
Z Restore factory profile for CMX866
&Cn n = 0,1 DCD always on (n=0) or DCD follows carrier (n=1) n=1
&Dn n= 0..2 DTR signal procedure n=2
&Gn n = 0..2 Guard Tone Select - Disable (n=0), Enable 550Hz (n=1) or 1800Hz (n=2) n=0
&Tn n = 0,3..6 User accessible Loopback Tests and Diagnostics n=0
&V
Returns current configuration
&Zn n = 0,1 'Zero-Power' state (n=0) or Powersave state (n=1)
@Rn? n = 00..FF DSP Register "n" Read - Display specified DSP Register contents
@Rn=x n = 00..FF DSP Register "n" Write - Write to specified DSP Register
S Registers Parameters Function Default
S0 0…255
Number of rings before answering, 0 = Auto-answer disabled 2
S1 0…255 Number of rings received 0
S2 0-127 Escape character value +
S3 0-127 Carriage return character value CR
S4 0-127 Line feed character value LF
S5 0-127 Backspace character value BS
S6 2…255 Waiting time in seconds for dial tone or before blind dialling 4s
S7 2…255 Maximum waiting time in seconds for carrier 50s
S8 0...255 Pause time in seconds for "," dial modifier 2s
S9 1...255 Reserved
S10 1…255 Lost carrier to hang up delay in units of 100ms 700ms

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 18 D/866/5
S Registers Parameters Function Default
S11 5…255 DTMF tone duration and interdigit pause duration in units of 10ms 100ms
S12 0…255 Escape code guard time in units of 50ms 1s
S13 Reserved
S14 0…255 General Options $92
S15 0…255 Loopback carrier off time in units of 10ms 80ms
S16 0…255 Drop time for loopback in units of 10ms 60ms
S17 0…255 Handshake timeout (Answering) in seconds 30s
S18 0…255 Loopback timer (0= no timeout) in seconds 0s
S19 Reserved for test functions
S20 Reserved
S21 0…255 Loopback and Power states $10
S22 0…255 Calling and response characteristics selection $C0
S23 0…255 Guard tone selection $00
S24 0…255 Equaliser, DCD, DTR status and modulation fallback $A9
S25 0…255 TX Gain, TX data format $B0
S26 0…255 RX Gain, RX data format, overspeed (2.3% default) setting $30
S27 0…255 Communications Protocol $00
S28 0…255 RTSN Timeout for return to Command mode from Data mode in seconds 0s
S29 0…255 Timed Break Recall period in units of 10ms 300ms
Bn Register Parameter Communications Protocol Fallback
n (Mapped to S27 register)
0 V.22bis 2400bps QAM V.22
1 V.22 1200bps DPSK
2 V.23 Tx 75bps, Rx 1200bps (Master)
3 V.23 Tx 1200bps, Rx 75bps (Slave)
4 Reserved
5 V.21 300bps FSK
6 Bell 212A 1200bps DPSK
7 Bell 202 Tx 150bps Rx 1200bps
8 Bell 202 Tx 1200bps Rx 150bps
9 Bell 103 300bps FSK
Xn Register Parameter Calling and Response Characteristics
n (Mapped to S22 register)
0
Ignore dial tones and busy tones, return CONNECTxxxx or NO CARRIER
1 Ignore busy tone, wait for dial tone to dial. Return NO DIAL TONE or
CONNECT xxxx or NO CARRIER
2
Ignore dial tone. If busy tone detected, return BUSY. Return CONNECT xxxx
3
Return NO DIAL TONE, BUSY, CONNECT xxxx, or NO CARRIER

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 19 D/866/5
&Dn Register Parameter DTR action
n (Mapped to S24 register)
0 Ignore DTR signal
1 Go to command state when on to off transition occurs
2 Hang up and go to command state when on to off transition occurs
&Gn Register Parameter Guard Tone action
n (Mapped to S23 register)
0 Disabled
1 Enabled 550Hz
2 Enabled 1800Hz
&Tn Register Parameter Test function
n (Mapped to S21 register)
0
Terminate test
1
Reserved
2
Reserved
3
Local digital loopback
4
Enable remote request for digital loopback
5
Disable remote request for digital loopback
6
Request remote digital loopback & initiate
1.5.4.2 General Description of AT Commands
Only the AT commands listed above are supported. Valid commands will generate an 'OK' result code
(see section 1.5.4.6) and invalid commands will be rejected with an 'ERROR' result code, when command
echoing and word result codes are enabled. The on-chip µController will send a <LF> character directly
after a <CR> character to ensure compatibility with external host µControllers. Any commands which are
not fully implemented will return the result code ‘NYI’ (Not Yet Implemented). AT commands should not
be sent to the on-chip µController until the previous result code (if enabled) has been received.
Every line of commands (except for A/ and the escape sequence) must begin with the AT prefix and be
terminated with a carriage return <CR>. The on-chip µController waits to receive a complete AT
command line before processing it. Embedded spaces are ignored and the case (upper or lower) of
characters including the ‘AT’ does not matter. The command line must not exceed 48 characters
(excluding the ‘AT’ characters). The on-chip µController will ignore the command line and return an
'ERROR' result code if the line is not terminated correctly.
All characters in the AT command, including the ‘AT’ and <CR> terminator are echoed (if E1 is set) by the
CMX866 in the order in which they are sent by the external host µC.
If when entering an AT command, no command or register name suffix is supplied, a suffix of zero is
assumed. If when changing a register value, no value is supplied a value of zero or an empty string is
assumed: eg ATS0=<CR> is equivalent to ATS0=0<CR>.
Receipt of a back space will cause the CMX866 to send a "back space, space, back space" sequence of
characters to the external host µC, to allow any terminal which may be connected to the latter to clear its
screen of the last character. Also the last character received will be discarded unless the last characters
received were ‘AT’, ie the ‘AT’ is never deleted.

V.22 bis Modem with AT Commands CMX866
©2008 CML Microsystems Plc 20 D/866/5
The escape sequence ‘+++’ (with Guard Time = 1s [see S12 register] before and after the sequence) will
cause the CMX866 to enter Command mode from Data Transfer mode and to return an ‘OK’ response.
1.5.4.3 AT Commands in Detail
Command Description
A Answer Command
The CMX866 will go off-hook and attempt to answer an incoming call by
establishing a connection with a remote modem. The command is not valid if there
is no incoming call and it will return the 'ERROR' result code.
Syntax: ATA<CR>
A/ Re-Execute Previous Command Line
Re-executes the last issued command line. This command does not require the AT
prefix or a carriage return. If the last issued command line contained several AT
commands, each of these will be repeated.
Syntax: A/
Bn Select Communications Standard
Selects the communications standard specified by the parameter n.
Syntax: ATBn<CR>
Modifier Usage
n=0 Selects ITU-T V.22bis at 2400bps QAM (default).
n=1 Selects ITU-T V.22 at 1200bps DPSK.
n=2 Selects ITU-T V.23 with Tx 75bps and Rx 1200bps FSK.
n=3 Selects ITU-T V.23 with Tx 1200bps and Rx 75bps FSK.
n=4 Reserved for future use.
n=5 Selects ITU-T V.21 at 300bps FSK.
n=6 Selects Bell 212A at 1200bps DPSK.
n=7 Selects Bell 202 with Tx 150bps and Rx 1200bps FSK.
n=8 Selects Bell 202 with Tx 1200bps and Rx 150bps FSK.
n=9 Selects Bell 103 at 300bps FSK.
Dn
or DTn Dial Command
This command directs the CMX866 to go off-hook, dial the directory number
entered and attempt to establish a connection with a remote modem by going into
Data Transfer mode. The n represents an ASCII string composed of dial digits and
dial modifiers and must not exceed the 23 character buffer limit. The DTMF tone
dialling digits include 0 through 9, A, B, C, D, and the symbols # and *. Loop-
disconnect (pulse) dialling is not implemented.
For example: ATD9,01621875500<CR>
Modifier Usage
n=L Re-dial last number.
n=, Delay dial sequence (pause setting contained in S8 register).
n=! Send a timed break recall (duration in S29 register).
n=; Remain in command mode after dialling, no handshake.
This manual suits for next models
1
Table of contents