CMLMICRO CMX644AD2

CMX644A
V.22 and Bell 212A
Modem
D/644A/6 June 2000
Provisional Issue
Features
Applications
•
V.22/Bell 212A Compatible Modem
•
Telephone Telemetry Systems
•
Integrated DTMF Encoder
•
Remote Utility Meter Reading
•
Call Progress/Accurate Answer Tone Detection
•
Security Systems/Cash Terminals
•
Line Reversal and Ringing Detector
•
Industrial Control Systems
•
Low Power Operation (2.7V)
•
Pay-Phones
•
Fully Integrated UART Functions
•
Cable TV Set-Top Boxes
1.1
Brief Description
The CMX644A V.22 modem is intended for use in any telephone based information and telemetry system with
low power requirements. Using V.22 signalling, fast call set up times and robust error resistant transmission
can be implemented by efficient low power circuits. The circuit can operate at 1200b/s full duplex over 2-or 4wire circuits. Control of the device is via a simple high speed serial bus and data may be optionally formatted
by the on-chip UART. This allows easy interfacing to a host µController. The data transmitted and received
by the modem is also transferred over the same high speed serial bus. In addition to V.22, support is included
to meet the Bell 212A standard. The integrated DTMF encoder can be used as part of the dial out function.
All 16 DTMF combinations are available along with a single tone ‘melody’ mode.
The answer tone generator/detector and call progress tone detectors included on the CMX644A make the setup of a telephone call a simple matter for the host µController.
In many data collection and telemetry systems low power consumption is important. The CMX644A features a
‘Zero Power’ standby mode. Whilst in standby, the device can still detect a ringing voltage or line voltage
reversal. The CMX644A can operate on a supply voltage between 3.0V and 5.5V across the full temperature
range of -40°C to +85°C. A low impedance pull down output is provided for a hook relay. The CMX644A is
pin compatible with the CMX624 V23/Bell 202 modem also from CML.
 2000 Consumer Microcircuits Limited
V22 and Bell 212A Modem
CMX644A
CONTENTS
Page
Section
1.1
Brief Description ..................................................................................1
1.2
Block Diagram......................................................................................3
1.3
Signal List ............................................................................................4
1.4
External Components ..........................................................................6
1.5
General Description.............................................................................7
1.5.1 ‘C-BUS’ Interface .....................................................................7
1.5.2
UART .......................................................................................8
1.5.3 Software Description.............................................................10
1.6
Application Notes ..............................................................................21
1.6.1 Line Interface.........................................................................21
1.6.2 Ring Detector Interface .........................................................23
1.6.3 Software Protocol for Transmitting PSK Data Bytes...........24
1.6.4 Software Protocol for Receiving PSK Data Bytes ...............25
1.6.5 Handling Underflow and Overflow Conditions....................25
1.7
Performance Specification ................................................................27
1.7.1 Electrical Performance..........................................................27
1.7.2 Packaging ..............................................................................32
 2000 Consumer Microcircuits Limited
2
D/644A/6
V22 and Bell 212A Modem
1.2
CMX644A
Block Diagram
Figure 1 Block Diagram
 2000 Consumer Microcircuits Limited
3
D/644A/6
V22 and Bell 212A Modem
1.3
CMX644A
Signal List
CMX644A
D2/D5/P4
Pin No.
Name
Type
1
XTALN
O/P
The inverted output of the on-chip oscillator.
2
XTAL/CLOCK
I/P
The input to the on-chip oscillator, for external
Xtal circuit or clock.
3
SERIAL CLOCK
I/P
The ‘C-BUS’ serial clock input. This clock,
produced by the µController, is used for the
transfer timing of commands to and from the
device.
4
COMMAND DATA
I/P
The ‘C-BUS’ serial data input from the
µController. Data is loaded into this device in 8bit bytes, MSB (B7) first, and LSB (B0) last,
synchronised to the SERIAL CLOCK.
5
REPLY DATA
T/S
The ‘C-BUS’ serial data output to the
µController. The transmission of REPLY DATA
bytes is synchronised to the SERIAL CLOCK
under control of the CSN input. This 3-state
output is held at high impedance when not
sending data to the µController.
6
CSN
I/P
The ‘C-BUS’ data loading control function: this
input is provided by the µController. Data
transfer sequences are initiated, completed or
aborted by the CSN signal.
7
IRQN
O/P
This output indicates an interrupt condition to the
µController by going to a logic ‘0’. This is a
‘wire-ORable’ output, enabling the connection of
up to 8 peripherals to 1 interrupt port on the
µController. This pin has a low impedance
pulldown to logic ‘0’ when active and a high
impedance when inactive. An external pull-up
resistor is required.
8
TOP
O/P
The output of the transmit gain control.
9
TXO
O/P
The output of the line driver amplifier.
10
TXN
I/P
The inverting input to the line driver amplifier.
11
TXON
O/P
The inverted output of the line driving amplifier.
Pins TXO and TXON provide symmetrical
outputs for use with a balanced load to give
sufficient Tx line signal levels even at low VDD.
Signal
 2000 Consumer Microcircuits Limited
Description
4
D/644A/6
V22 and Bell 212A Modem
1.3
CMX644A
Signal List (Continued)
CMX644A
D2/D5/P4
Signal
Description
Pin No.
Name
Type
12
VSS
POWER
13
VBIAS
O/P
A bias line for the internally circuitry, held at ½
VDD. This pin must be decoupled by a
capacitor mounted close to the device pins.
14
RLYDRV
O/P
An open-drain output for controlling a relay.
15
RXP
I/P
The non-inverting input of the receive op-amp.
16
RXN
I/P
The inverting input of the receive op-amp.
17
RXO
O/P
The output of the receive op-amp.
18
RT
BI
Open-drain output and Schmitt trigger input
forming part of the Ring or Line Polarity
Reversal detector. An external resistor to VDD
and a capacitor to VSS should be connected to
RT to filter and extend the RD input signal.
19
RD
I/P
Input to the Ring or Line Polarity Reversal
Detector.
20, 21,
22
-
N/C
No connections should be made to these pins.
23
ATODCAP
O/P
The reference voltage for the internal A to D of
the receiver. This pin must be decoupled by a
capacitor mounted close to the device pins.
24
VDD
POWER
The positive supply rail. Levels and thresholds
within the device are proportional to this
voltage. Should be decoupled to VSS by a
capacitor mounted close to the device pins.
Notes: I/P
O/P
N/C
B/I
T/S
=
=
=
=
=
The negative supply rail (ground).
Input
Output
No (external) Connections
Bidirectional
Tristate
This device is capable of detecting and decoding small amplitude signals. It is recommended that the printed
circuit board is laid out with a ground plane in the CMX644A area to provide a low impedance connection
between the VSS pin and the VDD and VBIAS decoupling capacitors. The receive path should be protected
as much as possible from extraneous signals.
 2000 Consumer Microcircuits Limited
5
D/644A/6
V22 and Bell 212A Modem
1.4
CMX644A
External Components
R1
X1
C1, C2
C3, C4
C5
100kΩ *
3.6864MHz, 7.372800MHz
or 11.0592MHz
18pF
0.1µF
1µF
Resistors ±1%, capacitors ±20% unless otherwise stated.
* R1 should be selected so that the IRQN pin has returned to its normal
(high) state before the CSN pin goes high.
Figure 2 Recommended External Components for Typical Application
Notes on Xtal Osc and Clock Dividers
Frequency and timing accuracy of the CMX644A is determined by the clock present at the XTAL/CLOCK pin.
This may be generated by the on-chip oscillator inverter using the external components C1, C2 and X1 of
Figure 2, or may be supplied from an external source to the XTAL/CLOCK input. If the clock is supplied from
an external source, C1, C2 and X1 should not be fitted.
The on-chip oscillator is turned off in the 'Zero-Power' mode.
If the clock is provided by an external source which is not always running, then the 'Zero-Power' mode must
be set when the clock is not available. Failure to observe this rule may cause a rise in the supply current
drawn by CMX644A.
 2000 Consumer Microcircuits Limited
6
D/644A/6
V22 and Bell 212A Modem
1.5
General Description
1.5.1
‘C-BUS’ Interface
CMX644A
This block provides for the transfer of data and control or status information between the CMX644A’s internal
registers and the µC over the ‘C-BUS’ serial bus. Each transaction, see Figure 3, consists of a single Register
Address byte sent from the µC which may be followed by a single data byte sent from the µC to be written into
one of the CMX644A’s Write Only Registers, or a single byte of data read out from one of the CMX644A’s
Read Only Registers.
Data sent from the µC on the Command Data line is clocked into the CMX644A on the rising edge of the
Serial Clock input. Reply Data sent from the CMX644A to the µC is valid when the Serial Clock is high. The
interface is compatible with the most common µC serial interfaces such as SCI, SPI and Microwire, and may
also be easily implemented with general purpose µC I/O pins controlled by a simple software routine. See
section 1.7.1 and Figure 9 for detailed ‘C-BUS’ timing requirements.
Figure 3 ‘C-BUS’ Transactions
 2000 Consumer Microcircuits Limited
7
D/644A/6
V22 and Bell 212A Modem
1.5.2
CMX644A
UART
This block connects the µC, via the ‘C-BUS’ interface, to the received data from the PSK Demodulator and to
the transmit data input to the PSK Modulator.
As part of this function, the block can be programmed to convert data to be transmitted from 7 or 8-bit bytes
to asynchronous data characters, adding Start and Stop bits and - optionally - a parity bit to the data before
passing it to the PSK Modulator. Similarly, in the receive direction it can extract data bits from asynchronous
characters coming from the PSK Demodulator, stripping off the Start and Stop bits and performing an optional
Parity check on the received data before passing the result over the ‘C-BUS’ to the µC. Bits 0-5 of the UART
MODE Register control the number of Stop and Data bits and the Parity options for both receive and transmit
directions.
Data to be transmitted should be loaded by the µC into the TX DATA BYTE Register when the Tx Data Ready
bit (bit 1) of the FLAGS Register goes high. It will then be treated by the Tx UART block in one of two ways,
depending on the setting of bit 5 of the UART MODE Register:
If bit 5 of the UART MODE Register is ‘0’ (‘Sync’ mode) then the 8 bits from the TX DATA BYTE
Register will be transmitted sequentially LSB (D0) first.
If bit 5 of the UART MODE Register is ‘1’ (‘Async’ mode) then the 7 or 8 bits will be transmitted as
asynchronous data characters according to the following format:
One Start bit (Space).
7 or 8 Data bits from the TX DATA BYTE Register (D0-D6 or D0-D7) as determined by bit 0
of the UART MODE Register. LSB (D0) transmitted first.
Optional Parity bit (even or odd parity) as determined by bits 1 and 2 of the UART MODE
Register.
Zero, One or Two Stop bits (Mark) as determined by bits 3 and 4 of the UART MODE
Register.
In both cases data will only be transmitted if bit 6 of the TX PSK MODE Register is set to ‘1’.
Failure to load the TX DATA BYTE Register with a new value when required will result in bit 2 (TX DATA
UNDERFLOW) of the FLAGS Register being set to ‘1’ and a continuous Mark (‘1’) signal will then be
transmitted until a new value is loaded into TX DATA BYTE Register.
Figure 4a Transmit UART Function (Async)
 2000 Consumer Microcircuits Limited
8
D/644A/6
V22 and Bell 212A Modem
CMX644A
Received data from the PSK Demodulator goes into the receive part of the UART block, where it is handled in
one of two ways depending on the setting of bit 5 of the UART MODE Register:
If bit 5 of the UART MODE Register is ‘0’ (‘Sync’ mode) then the receive part of the UART block will
simply take 8 consecutive bits from the Demodulator and transfer them to the RX DATA BYTE
Register (the first bit going into the D0 position).
If bit 5 of the UART MODE Register is ‘1’ (‘Async’ mode) then the received data output of the PSK
Demodulator is treated as asynchronous characters each comprising:
A Start bit (Space).
7 or 8 Data bits as determined by bit 0 of the UART MODE Register. These bits will be
placed into the RX DATA BYTE Register with the first bit received going into the D0 position.
An optional Parity bit as determined by bits 1 and 2 of the UART MODE Register. If Parity is
enabled (bit 2 of the UART MODE Register = ‘1’) then bit 7 of the FLAGS Register will be set
to ‘1’ if the received parity is incorrect.
Any number of Stop bits (Mark).
Bit 3 (RX DATA READY) of the FLAGS Register will be set to ‘1’ every time a new received value is loaded
into the RX DATA BYTE Register. If the previous contents of the RX DATA BYTE Register had not been read
out over the ‘C-BUS’ before the new value is loaded from the UART then bit 4 (RX DATA OVERFLOW) of the
FLAGS Register will also be set to ‘1’.
Figure 4b Receive UART Function (Async)
The C-BUS serial clock should be fast enough to ensure that an RX DATA READY interrupt is serviced
completely within a time which is less than 8 bit-times at 1200 baud, i.e. in less than 6.67ms.
 2000 Consumer Microcircuits Limited
9
D/644A/6
V22 and Bell 212A Modem
1.5.3
CMX644A
Software Description
Write-only ‘C-BUS’ Registers
HEX
ADDRESS/
COMMAND
BIT 7
(D7)
BIT 6
(D6)
BIT 5
(D5)
BIT 4
(D4)
BIT 3
(D3)
BIT 2
(D2)
BIT 1
(D1)
BIT 0
(D0)
$01
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
SET-UP
$E0
0
RELAY
DRIVE
DETECT
DET1
DETECT
DET0
LOOPBACK:
L1
LOOPBACK:
L0
XTAL
FRQ:
X1
XTAL
FRQ:
X0
TX
TONES
$E1
TONE
SEL
TONE /
NOTONE
DTMF /
SNGL
D3
D2
D1
D0
GAIN
BLOCKS
$E2
TXGAIN
TG3
TXGAIN
TG2
DTMF /
MODEM
TONES
TXGAIN
TG1
TXGAIN
TG0
RXGAIN
RG3
RXGAIN
RG2
RXGAIN
RG1
RXGAIN
RG0
TX DATA
BYTE
$E3
D7
D6
D5
D4
D3
D2
D1
D0
$E4
0
0
SYNC/
ASYNC
0
TXON
ENAB
SCRAMB
UNLOCK
PARITY
ODD/
EVEN
ENABLE
$E7
STOP
BITS
A
EQUAL
ET1
PARITY
ENABLE
TX PSK
MODE
STOP
BITS
B
SCRAMB
ENABLE
DATA
BITS
8/7
HI / LO
BAND
RX PSK
MODE
$E8
0
CPBW
SELECT
DESCRAMB
UNLOCK
EQUAL
ER1
EQUAL
ER0
ENABLE
IRQ
MASK BITS
$EE
RX
PARITY
RING
DETECT
DESCRAMB
ENABLE
RX DATA
OVERFLOW
RX
DATA
READY
TX DATA
UNDERFLOW
TX
DATA
READY
REGISTER
NAME
GENERAL
RESET
UART
MODE
DETECT
EQUAL
ET0
HI / LO
BAND
UN-SCRAM
MARK
Write-only Register Descriptions
GENERAL RESET ($01)
The reset command has no data attached to it. Application of the GENERAL RESET sets all write-only
register bits to ‘0’.
SET-UP Register ($E0)
(Bit 7)
Reserved for future use. This bit should be set to ‘0’.
RELAY DRIVE
(Bit 6)
This bit controls a low impedance pull-down transistor connected to the
RLYDRV pin to assist with the operation of an ‘off-hook relay’. When set
to ‘1’ the transistor acts as a pull-down and will sink current. When set
to ‘0’ the pin is in a high impedance state.
DETECT DET1 and DET0
(Bits 5 and 4)
These 2 bits control the operation of the receiver filter in order to facilitate
the detection of the following signals as shown in the table below:
DET1
Bit 5
DET0
Bit 4
Required Rx HI/LO Band Setting
(Register $E8, Bit 0)
Detection
Mode
0
0
As required for Rx PSK
PSK Carrier
0
1
LO = ‘0’
Call Progress
1
0
HI = ‘1’
Answer Tone
1
1
As required for Rx PSK
Detectors OFF
Rx PSK MODE register ENABLE bit should be set to ‘1’ for answertone
and call progress detection.
 2000 Consumer Microcircuits Limited
10
D/644A/6
V22 and Bell 212A Modem
LOOPBACK L1 and L0
(Bits 3 and 2)
XTAL FRQ X1 and X0
(Bits 1 and 0)
CMX644A
These 2 bits control internal signal paths such that loopback tests can
be performed. Function is according to the following table:
L1
Bit 3
0
0
L0
Bit 2
0
1
1
0
1
1
Normal Device Operation: no loopback.
Local Analogue Loopback: the output of the Tx
gain block is routed to the input of the receiver
gain block. (The connection between the receiver
op-amp and gain block is broken).
Local Digital Loopback: data is loaded into the
TX DATA BYTE register in the usual way via the
‘C-BUS’ when indicated by the TX DATA READY
flag. This digital data is internally retimed serially
to the modem bit-rate and is then clocked into the
receiver buffer. When the receiver buffer is full
the RX DATA READY flag will be set and the data
can then be read out of RX DATA BYTE register
via the ‘C-BUS’.
Reserved for future use.
These two bits control the internal primary clock dividers to allow for a
choice of 3 crystal frequencies. They can also be set to put the device
into ‘Zero Power’ mode: in this mode all functions are powersaved,
except for the ‘C-BUS’ and the Ring Detector. In ‘Zero Power’ the
crystal oscillator is disabled and the Bias resistor chain is disconnected
from the supplies.
Note: When the device is brought out of ‘Zero Power’ mode, the
software should allow at least 20ms for the crystal oscillator to re-start
and for the Bias capacitor to re-charge, before proceeding with any
further device functions. The function is given by the following table:
X1
Bit 1
0
0
1
1
 2000 Consumer Microcircuits Limited
X0
Bit 0
0
1
0
1
Crystal / Mode
‘Zero Power’
3.6864MHz crystal
7.3728MHz crystal
11.0592MHz crystal
11
D/644A/6
V22 and Bell 212A Modem
CMX644A
TX TONES Register ($E1)
This register is used to transmit both DTMF and modem progress tones.
TONESEL
(Bit 7)
This bit selects the “Answer Tone” frequency in the receive detector. A
‘0’ selects 2225Hz and a ‘1’ selects 2100Hz.
TONE/NOTONE
(Bit 6)
This bit should be used to begin and end the transmission of tones once
the required frequency has been programmed. When set to ‘1’ the tone
will be transmitted; when set to ‘0’ a Notone (Bias Voltage) will be
generated.
DTMF/MODEM TONES
(Bit 5)
When this bit is set to ‘1’ the device is configured for DTMF. When it is
set to ‘0’ the device is configured to transmit modem progress tones.
DTMF/SNGL
(Bit 4)
For normal DTMF operation this bit should be set to ‘0’. For test
purposes it can be set to ‘1’ in order to select the tone frequencies
individually.
The following table shows the settings required for transmitting DTMF (Bit 5 should be set to ‘1’. Bits 6 and 7
should be operated as described above).
D3
D2
D1
D0
Lower Freq. (Hz)
(setting Bit 4 = 0)
Upper Freq. (Hz)
(setting Bit 4 = 0)
Keypad
symbol
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
941
697
697
697
770
770
770
852
852
852
941
941
941
697
770
852
1633
1209
1336
1477
1209
1336
1477
1209
1336
1477
1336
1209
1477
1633
1633
1633
D
1
2
3
4
5
6
7
8
9
0
*
#
A
B
C
Single Tone Freq.
(Hz)
(setting Bit 4 = 1)
1633
1209
1336
1477
1209
1336
1477
1209
852
852
941
941
941
697
770
852
The following table shows the settings required for transmitting modem progress tones. (Set Bit 4 to ‘0’ and
Bit 5 to ‘0’. Bits 6 and 7 should be operated as described earlier).
D3
D2
D1
D0
Frequency (Hz)
0
0
0
0
0
0
0
0
0
1
0
0
1
1
0
0
1
0
1
0
550
1300
1800
2100
2225
 2000 Consumer Microcircuits Limited
12
Tone
Description
Guard
Calling
Guard
Answer
Answer
D/644A/6
V22 and Bell 212A Modem
CMX644A
GAIN BLOCKS Register ($E2)
Bits 0 to 3 (RG0 to RG3) control the levels of the receiver input gain block according to the following table:
RG3
(Bit 3)
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
RG2
(Bit 2)
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
RG1
(Bit 1)
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
RG0
(Bit 0)
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
GAIN (dB)
-4.70
-3.46
-2.12
-0.96
0.00
0.87
1.64
2.36
3.08
3.69
4.22
4.76
5.27
5.78
6.21
6.58
The gain should be set in a calibration procedure in order to trim out the effects of any component tolerances
which may give rise to a variation in the Carrier Detect Threshold levels.
Bits 4 to 7 (TG0 to TG3) control the levels of the transmit path gain block according to the following table:
TG3
(Bit 7)
TG2
(Bit 6)
TG1
(Bit 5)
TG0
(Bit 4)
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
 2000 Consumer Microcircuits Limited
13
GAIN (dB)
OFF
(o/p at Bias)
-5.6
-5.2
-4.8
-4.4
-4.0
-3.6
-3.2
-2.8
-2.4
-2.0
-1.6
-1.2
-0.8
-0.4
0.0
D/644A/6
V22 and Bell 212A Modem
CMX644A
TX DATA BYTE Register ($E3)
The bytes of data to be transmitted should be loaded into this register. It is double buffered, thus giving the
user up to 8 bit periods to load in the next 8 bits. Each byte represents 4 lots of 2 consecutive bits (dibits) with
the most significant dibit being loaded first (taking Bit 7 of this register as being the most significant). The
data is reversed so that it is transmitted least significant dibit first. These dibits represent a transmitted phase
change according to the following table:
Dibit values
00
01
11
10
Phase change
+ 90°
0°
+ 270°
+ 180°
Note that the left-hand digit of the dibit is
the one occurring first in the data stream
as it enters the modulator portion of the
modem after the scrambler.
UART MODE Register ($E4)
(Bit 7 and Bit 6)
Reserved for future use. These bits should be set to ‘0’.
SYNC/ASYNC
(Bit 5)
When this bit is ‘0’, data will be transmitted and received in normal 8 bit
mode without modification.
When this bit is ‘1’, data will be transmitted and received with one start
bit (‘0’) and 7/8 bits, odd/even parity, 0 or 1 or 2 stop bits according to
the remainder of the bits in this register.
Prior to handshaking the UART Mode register needs Bit 5 cleared for
synchronous operation. After the handshaking procedure has
completed Bit 5 the UART Mode register should be set for
asynchronous data transfer. The remaining bits of this register should
be configured to be compatible with the modem you are talking to.
The minimum number of stop bits only applies to the transmitter, the
receiver does not require any defined number of stop bits.
STOP BITS A and B
(Bits 4 and 3)
The minimum number of stop bits transmitted after each data byte plus
parity is defined by the table below.
Stop Bits
A
0
0
1
1
Stop Bits
B
0
1
0
1
Number of
Stop Bits
0
1
1
2
The receiver does not require any defined number of stop bits.
PARITY ENABLE
(Bit 2)
When this bit is ‘1’ an extra bit is added after the data to indicate the
parity of that data.
When set to ‘0’, parity is disabled. This bit affects both transmitter and
receiver.
PARITY ODD/EVEN
(Bit 1)
When this bit is ‘1’ the parity is set odd, and when this bit is ‘0’ the parity
is set even.
This bit affects both transmitter and receiver.
DATA BITS 8/7
(Bit 0)
When this bit is ‘1’ the data is set to transmit and receive 7 bits
i.e. bits 0 - 6.
When this bit is ‘0’ the normal 8 bits of data is programmed.
This bit affects both transmitter and receiver.
 2000 Consumer Microcircuits Limited
14
D/644A/6
V22 and Bell 212A Modem
CMX644A
TX PSK MODE Register ($E7)
(Bit 7)
Reserved for future use. This bit should be set to ‘0’.
TXON ENAB
(Bit 6)
This bit enables or powersaves the inverted output of the line driving
amplifier (TXON). When set to ‘1’ TXON is enabled; together with TXO
these outputs provide sufficient complementary output to drive a line
even at low VDD. When set to ‘0’ the TXON output is powersaved,
reducing the total supply current for applications in which a single-ended
output is sufficient.
SCRAMB UNLOCK
(Bit 5)
When this bit is set to ‘1’ the scrambler will check for sequences of 64
consecutive ones at its output (caused by scrambler lockup) and once
detected it will invert the next input to the scrambler. When this bit is
set to ‘0’ the lock-up prevention is disabled.
SCRAMB ENABLE
(Bit 4)
When this bit is set to ‘1’ the Tx data is passed through the scrambler.
When it is set to ‘0’ the scrambler is bypassed.
EQUAL ET1 and ET0
(Bits 3 and 2)
These 2 bits control the level of equalisation applied to the transmitted
signal according to the following table:
ET1
(Bit 3)
0
0
1
1
ET0
(Bit 2)
0
1
0
1
Transmitter
Equalisation
no equalisation
Low
Medium
High
See Figures 5a and 5b for the typical equaliser responses. The
equaliser is automatically powersaved when both ET1 and ET0 are set
to '0'.
ENABLE
(Bit 1)
When this bit is set to ‘1’ the internal output of the PSK modulator is
enabled. When it is set to ‘0’ the internal output of the PSK modulator is
set to VBIAS. Associated flags are only set when this bit is ‘1’.
HI/LO BAND
(Bit 0)
This bit determines whether the transmitted PSK signal should occupy
the low channel (900Hz - 1500Hz) or the high channel (2100Hz 2700Hz). When the bit is set to ‘0’ the low channel is selected. When it
is set to ‘1’ the high channel is selected.
 2000 Consumer Microcircuits Limited
15
D/644A/6
V22 and Bell 212A Modem
CMX644A
RX PSK MODE Register ($E8)
(Bit 7)
Reserved for future use. This bit should be set to ‘0’.
CPBW SELECT
(Bit 6)
When this bit is set to ‘1’ the Call Progress Detector bandwidth is
approximately 300Hz - 620Hz.
When this bit is set to ‘0’ the Call Progress Detector bandwidth is
approximately 400Hz - 620Hz.
DE-SCRAMB UNLOCK
(Bit 5)
When this bit is set to ‘1’ the de-scrambler will check for sequences of
64 consecutive ones at its input and once detected it will invert the next
output from the de-scrambler. When this bit is set to ‘0’ the all ones
detection is disabled - it should be set as such until the handshaking
sequence is complete.
DE-SCRAMB ENABLE
(Bit 4)
When this bit is set to ‘1’ the Rx data is passed through the descrambler. When it is set to ‘0’ the de-scrambler is bypassed.
EQUAL ER1 and ER0
(Bits 3 and 2)
These 2 bits control the level of equalisation applied to the received
signal according to the following table:
ER1
ER0
Receiver
(Bit 3)
(Bit 2)
Equalisation
0
0
no equalisation
0
1
Low
1
0
Medium
1
1
High
See Figures 5a and 5b for the typical equaliser responses. The equaliser is
automatically powersaved when ET1 and ET0 are set to
“no equalisation” (‘0’, ‘0’).
ENABLE
(Bit 1)
When this bit is set to ‘1’ the PSK receiver is enabled. When it is set to
‘0’ the receiver is disabled. Associated flags are only set when this bit is
‘1’.
HI/LO BAND
(Bit 0)
This bit determines whether the received PSK signal should be filtered
and derived from the low channel (900Hz - 1500Hz) or the high channel
(2100Hz - 2700Hz). When this bit is set to ‘0’ the low channel is
selected. When it is set to ‘1’ the high channel is selected.
 2000 Consumer Microcircuits Limited
16
D/644A/6
V22 and Bell 212A Modem
CMX644A
IRQ MASK BITS ($EE)
This register is used to control the interrupts (IRQs) as described below:
RX PARITY mask
(Bit 7)
When this bit is set to ‘1’ it enables an interrupt that occurs when the RX
PARITY flag (Bit 7, FLAGS Register, $EF) changes from ‘0’ to ‘1’ i.e.
there is an RX PARITY error. When this bit is ‘0’ the interrupt is
masked.
RING DETECT mask
(Bit 6)
When this bit is set to ‘1’ it enables an interrupt that occurs when RING
DETECT CHANGE flag (Bit 6, FLAGS Register, $EF) changes from ‘0’
to ‘1’. When this bit is ‘0’ the interrupt is masked.
DETECT mask
(Bit 5)
When this bit is set to ‘1’ it enables an interrupt that occurs when
DETECT flag (Bit 5, FLAGS Register, $EF) changes from ‘0’ to ‘1’.
When this bit is ‘0’ the interrupt is masked.
RX DATA OVERFLOW
mask (Bit 4)
When this bit is set to ‘1’ it enables an interrupt that occurs when RX
DATA OVERFLOW flag (Bit 4, FLAGS Register, $EF) changes from ‘0’
to ‘1’. When this bit is ‘0’ the interrupt is masked.
RX DATA READY mask
(Bit 3)
When this bit is set to ‘1’ it enables an interrupt that occurs when RX
DATA READY flag (Bit 3, FLAGS Register, $EF) changes from ‘0’ to ‘1’.
When this bit is ‘0’ the interrupt is masked.
TX DATA UNDERFLOW
mask (Bit 2)
When this bit is set to ‘1’ it enables an interrupt that occurs when TX
DATA UNDERFLOW flag (Bit 2, FLAGS Register, $EF) changes from
‘0’ to ‘1’. When this bit is ‘0’ the interrupt is masked.
TX DATA READY mask
(Bit 1)
When this bit is set to ‘1’ it enables an interrupt that occurs when TX
DATA READY flag (Bit 1, FLAGS Register, $EF) changes from ‘0’ to ‘1’.
When this bit is ‘0’ the interrupt is masked.
UNSCRAM MARK mask
(Bit 0)
When this bit is set to ‘1’ it enables an interrupt that occurs when
UNSCRAM MARK flag (Bit 0, FLAGS Register, $EF) changes from ‘0’
to ‘1’. When this bit is ‘0’ the interrupt is masked.
 2000 Consumer Microcircuits Limited
17
D/644A/6
V22 and Bell 212A Modem
CMX644A
Read Only ‘C-BUS’ Registers
REGISTER
NAME
HEX
ADDRESS/
COMMAND
BIT 7
(D7)
BIT 6
(D6)
BIT 5
(D5)
BIT 4
(D4)
BIT 3
(D3)
BIT 2
(D2)
BIT 1
(D1)
BIT 0
(D0)
$EA
D7
D6
D5
D4
D3
D2
D1
TONES
DETECT
$EC
1
RING
DETECT
CALL
PRGRSS
DETECT
CARRIER
DETECT
ANSWER
DETECT
0
0
FLAGS
$EF
RX
PARITY
RING
DETECT
CHANGE
RX DATA
OVERFLOW
RX
DATA
READY
TX DATA
UNDERFLOW
TX
DATA
READY
D0
UNSCRAM
MARK
DETECT
UNSCRAM
MARK
RX DATA
BYTE
DETECT
RX DATA BYTE Register ($EA)
This register contains the last byte of data received. It is updated every 8 bits at the same time as the RX
DATA READY flag is set. The RX DATA BYTE register is double buffered, thus giving the user up to 8 bit
periods to read the data before it is overwritten by the next byte. Each received phase change is decoded into
2 bits (a dibit). The incoming dibits fill this register starting at the most significant end (Bits 7 and 6).
Phase change
+ 90°
0°
+ 270°
+ 180°
Dibit values
00
01
11
10
Note that the left-hand digit of the dibit will be the more
significant of the 2 bits when located in this register.
TONES DETECT Register ($EC)
This register provides information as to the presence or absence of various signalling conditions detected by
the receiver. A logic ‘1’ indicates that the signalling condition is present; a logic ‘0’ indicates that it is absent.
(Bit 7)
This bit will be set to ‘1’.
RING DETECT
(Bit 6)
Indicates the status of the Ring/Line Polarity Reversal Detector circuit.
The logic level of this bit represents the level of the internal ‘RING
DETECT’ node (see Figure 1 Block Diagram).
CALL PRGRSS DETECT
(Bit 5)
Indicates the detection of call progress tones in the selected band.
(300Hz to 620Hz or 400Hz to 620Hz).
CARRIER DETECT
(Bit 4)
Indicates the detection of a carrier in the received channel.
ANSWER DETECT
(Bit 3)
Indicates the detection of an Answer Tone of 2100Hz or 2225Hz.
(Bits 2 and 1)
These bits will be set to ‘0’.
UNSCRAM MARK
DETECT (Bit 0)
Indicates the detection of unscrambled binary one in the received data
for a period of time of 160ms.
Note that DETECT bits 5, 4 and 3 are mutually exclusive and are enabled by the setting of the DETECT
DET1 and DET0 bits (SET-UP Registers Bits 5 and 4). All of the DETECT bits in the TONES DETECT
register - except for RING DETECT (Bit 6) - require the RX PSK MODE register ENABLE bit to be set
to ‘1’.
FLAGS Register ($EF)
The flags register is used to indicate when the device requires attention. When a flag becomes set to ‘1’ and
its corresponding mask bit is ‘1’ then an interrupt (IRQN) will be generated. Immediately after the flags
register has been read, all the bits will be reset to ‘0’ and consequently any interrupt will be cleared.
 2000 Consumer Microcircuits Limited
18
D/644A/6
V22 and Bell 212A Modem
CMX644A
RX PARITY flag
(Bit 7)
When this bit is ‘1’ the received parity is in error. When this bit is ‘0’ the
received parity is correct.
RING DETECT CHANGE
flag (Bit 6)
When RING DETECT (TONES DETECT Register, Bit 6) changes state,
this bit will be set to ‘1’.
DETECT flag
(Bit 5)
When any of the following bits - CALL PRGRSS DETECT, CARRIER
DETECT or ANSWER DETECT (TONES DETECT Register Bits 5, 4, 3)
- change state, this bit will be set to ‘1’.
RX DATA OVERFLOW
flag (Bit 4)
If received data is not read out of the device within the 8-bit window of
RX DATA READY going high, then this bit will be set to ‘1’ to indicate an
error condition.
RX DATA READY flag
(Bit 3)
When a full byte of data is received and is available in the RX DATA
BYTE register, this bit will be set to ‘1’. There is then an 8-bit window
during which the RX DATA BYTE register must be read.
TX DATA UNDERFLOW
flag (Bit 2)
If data is not loaded into the TX DATA BYTE register within the 8-bit
window of TX DATA READY going high, then this bit will be set to ‘1’ to
indicate an error condition.
TX DATA READY flag
(Bit 1)
When the Tx data buffer is ready to receive a new byte of data, this bit
will be set to ‘1’. There is then an 8-bit window for the loading of the TX
DATA BYTE register.
UNSCRAM MARK flag
(Bit 0)
When the UNSCRAM MARK DETECT bit (TONES DETECT Register
Bit 0) changes state, this bit will be set to ‘1’.
 2000 Consumer Microcircuits Limited
19
D/644A/6
V22 and Bell 212A Modem
CMX644A
2.0E-03
1.9E-03
1.8E-03
1.7E-03
1.6E-03
High
1.5E-03
Group delay (secs)
1.4E-03
1.3E-03
1.2E-03
1.1E-03
Medium
1.0E-03
9.0E-04
8.0E-04
7.0E-04
Low
6.0E-04
5.0E-04
4.0E-04
3.0E-04
2.0E-04
Lowband
1.0E-04
0.0E+00
600
700
800
900
1000
1100
1200
1300
1400
1500
1600
1700
1800
Frequency (Hz)
Figure 5a Transmit/Receive Equaliser Responses: Lowband
2.0E-03
1.9E-03
High
1.8E-03
1.7E-03
1.6E-03
1.5E-03
Group delay (secs)
1.4E-03
1.3E-03
Medium
1.2E-03
1.1E-03
1.0E-03
9.0E-04
Low
8.0E-04
7.0E-04
6.0E-04
5.0E-04
4.0E-04
3.0E-04
2.0E-04
Highband
1.0E-04
0.0E+00
1800
1900
2000
2100
2200
2300
2400
2500
2600
2700
2800
2900
3000
Frequency (Hz)
Figure 5b Transmit/Receive Equaliser Responses: Highband
The CMX644A utilises two internal equalisers - one is configured for the High Band, the other for the Low
Band. The Transmit and Receive paths will be internally switched through the equaliser appropriate to their
HI/LO BAND settings. In the event of both Transmit and Receive paths being set to the same band, both
equalisers will be bypassed.
 2000 Consumer Microcircuits Limited
20
D/644A/6
V22 and Bell 212A Modem
CMX644A
1.6
Application Notes
1.6.1
Line Interface
A line interface circuit is needed to provide dc isolation between the modem and the line, to perform line
impedance termination, and to set the correct transmit and receive signal levels.
4-Wire Line Interface
Figure 6a shows an interface circuit for use with a 600Ω 4-wire line. The line terminations are provided by R10
and R15, while R11 and R13 should be selected to give the desired transmit and receive levels.
When VDD = 5.0V, the gain of the receive input amplifier (R12/R11) should be 6dB (times 2.0) plus whatever
additional gain is required to compensate for the loss of the input transformer. At other values of VDD the
amplifier gain should be multiplied by the ratio VDD/ 5.0.
Thus for R12 = 100kΩ:
R11 = 100kΩ ∗ (5.0/VDD) / (Input transformer loss * 2.0)
where the ‘Input transformer loss’ = (Rx level on 4-wire line) / (level at point A of Figure 6a).
Assuming a transformer loss of about 1dB, R11 should be 47kΩ at VDD = 5.0V, and 68kΩ at 3.3V. The value
of the resistor R11 is optimised for the carrier detect level. Increasing the input gain (by reducing the value of
R11) will improve modem sensitivity.
Note Relay circuit, ac and dc loads and line protection are not shown for clarity.
R10
R11
R12
R13
600Ω
See text
100kΩ
See text
R14
R15
100kΩ
600Ω
C10
C11
C12
C13
100nF
330pF
330pF
100nF
Resistors ±1%, capacitors ±20%.
Figure 6a 4-Wire Line Interface Circuit
 2000 Consumer Microcircuits Limited
21
D/644A/6
V22 and Bell 212A Modem
CMX644A
In the transmit direction, the level on the 4-wire line is determined by the level at the TOP pin, the gain of the
Output Buffer Amplifier, a loss of nominally 6dB due to the line termination resistor R15, and the loss in the
transformer.
The TOP pin signal level is proportional to VDD and is also affected by the setting of the transmitter
programmable gain block.
Assuming that the Tx programmable gain block is set to -2dB (giving a PSK signal level of -4dB wrt
775mVrms at the TOP pin when VDD = 5.0V) and that there is 1dB loss in the transformer, then:
Tx PSK 4-wire line level = -(4 +6 +1) + 20 ∗ LOG10(2 ∗ R14/R13) + 20 ∗ LOG10(VDD / 5.0) dBm
For example, to generate a nominal Tx FSK line level of -10dBm, R13 should be 180kΩ when
VDD = 5.0V, falling to 120kΩ at 3.3V.
2-Wire Line Interface
Figure 6b shows an interface circuit suitable for connection to a 600Ω 2-wire line. The circuit also shows how
a relay may be driven from the RLYDRV pin. Note that when the CMX644A is powered from less than 5.0V,
buffer circuitry will be required to drive a 5V relay.
Note: ac and dc loads and line protection are not shown for clarity
R11
R12
R13
R14
See text
100kΩ
See text
100kΩ
R15
R16
R17
600Ω
120kΩ
100kΩ
C11
C12
C13
C14
330pF
330pF
10nF
100nF
Resistors ±1%, capacitors ±20%
Figure 6b 2-Wire Line Interface Circuit
This circuit includes a 2-wire to 4-wire hybrid circuit, formed by R11, R15, R16, R17, C13 and the impedance
of the line itself, which ensures that the modem receive input and transmit output paths are both coupled
efficiently to the line, while minimising coupling from the modem’s transmit signal into the receive input. The
values of R11 and R13 should be calculated in the same way as for the 4-wire interface circuit of Figure 6a.
Note that the component values R17 and C13 depend on the transformer characteristics and should be
adjusted to achieve a flat frequency response measured at the RXO pin.
 2000 Consumer Microcircuits Limited
22
D/644A/6
V22 and Bell 212A Modem
1.6.2
CMX644A
Ring Detector Interface
Figure 7 shows how the CMX644A may be used to detect the large amplitude Ringing signal received 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 7) 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 CMX644A 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 VSS by discharging the external capacitor C22. The output of the Schmitt trigger 'B' will then
go high, setting bit 6 (RING DETECT) of the TONES DETECT register.
The minimum amplitude ringing signal that is certain to be detected is
( 0.7 + Vthi ∗ [R20 + R22 + R23] / R23 ) ∗ 0.707 Vrms
where Vthi is the high-going threshold voltage of the Schmitt trigger A
With R20 - 22 all 470kΩ as Figure 7, then setting R23 to 68kΩ will guarantee detection of ringing signals of
40Vrms and above for VDD over the range 3.0 to 5.5V.
R20,21,22
R23
R24
C20,21
C22
D1 - 4
470kΩ
See text
470kΩ
0.1µF
0.33µF
1N4004
Resistors ±1%, capacitors ±20%
Figure 7 Ring Signal Detector Interface Circuit
 2000 Consumer Microcircuits Limited
23
D/644A/6
V22 and Bell 212A Modem
CMX644A
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 VSS towards VDD can be derived from the formula
VRT = VDD ∗ [1 - exp(-t/(R24 x C22)) ]
As the Schmitt trigger high-going input threshold voltage (Vthi) has a minimum value of 0.56 x VDD, 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 7 (470kΩ and 0.33µF) give a minimum RT charge time of
100 msec, which is adequate for ring frequencies of 10Hz or above.
Note that the circuit will also respond to a telephone line voltage reversal. If necessary the µC can distinguish
between a Ring signal and a line voltage reversal by measuring the time that bit 6 of the TONES DETECT
register (RING DETECT) is high.
1.6.3
Software Protocol for Transmitting PSK Data Bytes
In order to transmit PSK data, the following steps should be followed. For clarity, not all bit settings are
described here (but HI/LO Band, Equalisation, Guard Tones, Number of Stop Bits etc. should be set as
appropriate).
1.
Program SETUP register for correct crystal frequency. Wait at least 20ms if device was previously in
‘Zero Power’ mode before proceeding.
2.
Set Tx Gain Block (GAIN BLOCKS Register $E2) to required gain. Set UART mode.
3.
Load first data byte into TX DATA BYTE Register ($E3).
4.
Read FLAGS Register ($EF) in order to clear it.
5.
Set IRQ MASK BITS Register ($EE Bits 2 and 1) to allow appropriate interrupts (TX DATA
UNDERFLOW and TX DATA READY). Note: If an underflow occurs, continuous mark (‘1’) will be
transmitted.
6.
Set ENABLE bit (TX PSK MODE Register $E7) to ‘1’. The first byte of data will now be transmitted by
the device.
7.
Wait for a TX DATA READY generated interrupt (read FLAGS to check and clear the IRQ).
8.
Load next TX DATA BYTE.
9.
Go to 7.
Note that the transmission should be terminated by setting the ENABLE bit (TX PSK MODE Register) to ‘0’.
 2000 Consumer Microcircuits Limited
24
D/644A/6
V22 and Bell 212A Modem
1.6.4
CMX644A
Software Protocol for Receiving PSK Data Bytes
1. With the device out of ‘Zero Power’ mode, set up all receiver-related functions: Gain, HI/LO Band,
Equalisation, UART mode, etc.
2. Perform a dummy read of the Rx DATA BYTE Register ($EA) and discard the result.
3. Read FLAGS Register ($EF) in order to clear it.
4. Set IRQ MASK BITS Register ($EE Bits 7, 4 and 3) to allow appropriate interrupts (RX PARITY,
RX DATA OVERFLOW and RX DATA READY).
5. Set ENABLE bit (RX PSK MODE Register $E8) to ‘1’.
6. Wait for an RX DATA READY generated interrupt (read FLAGS to check and clear the IRQ).
7. Read RX DATA BYTE ($EA).
8. Go to 5.
1.6.5
Handling Underflow and Overflow Conditions
If the RX DATA BYTE Register has not been read before the next byte of Rx data is received, then the RX
DATA OVERFLOW flag will be set and the RX DATA BYTE Register will hold the most recent byte of
received data. The RX DATA READY flag will remain set if the FLAGS Register is not read before the
overflow condition occurrs. Both RX DATA READY and RX DATA OVERFLOW flags are reset upon reading
the FLAGS Register, and are not set again until after the RX DATA BYTE Register has been read (ie the
overflow condition has been cleared).
If the TX DATA BYTE Register is not written to before the last byte of Tx data is sent, then the TX DATA
UNDERFLOW flag will be set and the Tx data will then consist of continuous mark ("1"), which will normally
be scrambled, until new data is loaded into the TX DATA BYTE Register. The TX DATA READY flag will
remain set if the FLAGS Register is not read before the underflow condition occurrs. Both TX DATA READY
and TX DATA UNDERFLOW flags are reset upon reading the FLAGS Register, and are not set again until
after the TX DATA BYTE Register has been loaded with new data (ie the underflow condition has been
cleared).
C-BUS transactions to handle underflow and overflow conditions are shown in the timing daigram of Figure 8.
Note that allowance should be made for C-BUS latency (TDEL and TLOAD) when changing register settings. eg
To change the number of Tx stop bits transmitted with all subsequent data (STOP BITS A and B), first wait
until the TX DATA READY flag is set. If this check is not made, then the number of stop bits in the Tx data
byte which is currently being sent will be changed.
 2000 Consumer Microcircuits Limited
25
D/644A/6
V22 and Bell 212A Modem
CMX644A
Figure 8 ASYNC MODE (Rx and Tx)
 2000 Consumer Microcircuits Limited
26
D/644A/6
V22 and Bell 212A Modem
1.7
Performance Specification
1.7.1
Electrical Performance
CMX644A
1.7.1.1 Absolute Maximum Ratings
Exceeding these maximum ratings can result in damage to the device.
Min.
-0.3
-0.3
-50
0
-20
Max.
7.0
VDD + 0.3
+50
+50
+20
Units
V
V
mA
mA
mA
D2 Package
Total Allowable Power Dissipation at Tamb = 25°C
... Derating
Storage Temperature
Operating Temperature
Min.
-55
-40
Max.
800
13
+125
+85
Units
mW
mW/°C
°C
°C
D5 Package
Total Allowable Power Dissipation at Tamb = 25°C
... Derating
Storage Temperature
Operating Temperature
Min.
-55
-40
Max.
550
9
+125
+85
Units
mW
mW/°C
°C
°C
P4 Package
Total Allowable Power Dissipation at Tamb = 25°C
... Derating
Storage Temperature
Operating Temperature
Min.
-55
-40
Max.
800
13
+125
+85
Units
mW
mW/°C
°C
°C
Max.
5.5
+85
+100
Units
V
°C
ppm
Supply (VDD - VSS)
Voltage on any pin to VSS
Current into or out of VDD and VSS pins
Current sink into RLYDRV pin
Current into or out of any other pin
1.7.1.2 Operating Limits
Correct operation of the device outside these limits is not implied.
Nominal Xtal frequencies are 3.6864MHz, 7.372800MHz, 11.0592MHz.
Min
2.7
-40
-100
Supply (VDD - VSS)
Operating Temperature
Xtal Frequency
 2000 Consumer Microcircuits Limited
27
D/644A/6
V22 and Bell 212A Modem
CMX644A
1.7.1.3 Operating Characteristics
For the following conditions unless otherwise specified:
VDD = 2.7V at Tamb = 25°C and VDD = 3.0V to 5.5V at Tamb = -40 to +85°C.
0dBm corresponds to 775mVrms.
DC Parameters
IDD (‘Zero Power’)
IDD (Operating at VDD = 3.0V and Tamb =
25°C)
IDD (as above, but with equalisation enabled)
Logic ‘1’ Input Level
Logic ‘0’ Input Level
Logic Input Leakage Current (Vin = 0 to VDD),
(excluding XTAL/CLOCK input)
Output Logic ‘1’ Level (IOH = 360µA)
Output Logic ‘0’ Level (IOL = 360µA)
IRQN O/P ‘Off’ State Current (Vout = VDD)
Schmitt trigger input high-going threshold
(Vthi) (see Figure 8)
Schmitt trigger input low-going threshold
(Vtlo) (See Figure 8)
Relay Driver pull-down on resistance
(VDD = 5.0V, 50mA maximum load
current)
Notes
Min.
Typ.
Max.
Units
2
2
-
1
3.2
4.0
µA
mA
2
-
-
4.6
mA
5
5
70%
-1.0
-
30%
+1.0
VDD
VDD
µA
VDD -0.4
0.56VDD
-
0.44VDD -0.6V -
Xtal/Clock Input
Pulse Width (‘High’ or ‘Low’)
Input impedance (at 100Hz)
Gain (I/P = 1mV rms at 1kHz)
V
0.4
V
1.0
µA
0.56VDD+0.6V V
0.44VDD
V
-
37.0
-
Ω
40
10
20
-
-
ns
MΩ
dB
-0.25
-3.0
-6.0
-
+0.25
dB
dB
%
1, 4,8
-3.0
-
-2.0
2.0
-1.0
5.0
dBm
%
1, 4
4
-2.0
-
-1.0
2.0
2.0
-
0
5
+0.25
dBm
dB
%
%
3
AC Parameters
Transmitter (at TOP pin)
Guard Tones
Level (below PSK) of 550Hz
Level (below PSK) of 1800Hz
Frequency Accuracy
PSK Output
Transmitted level
Distortion
DTMF Output
Transmitted level: high group
Twist (high group - low group levels)
Distortion
Frequency Accuracy
 2000 Consumer Microcircuits Limited
-0.25
28
D/644A/6
V22 and Bell 212A Modem
CMX644A
Notes
Min.
Typ.
Max.
Units
-
45
-
dB
1, 6
1, 6
7
-48
-
2.0
20
20
-43
50
50
dBm
dBm
dB
ms
ms
1, 6
1, 6
-48
2.0
-
20
20
-
-43
50
50
6.0
dBm
dBm
ms
ms
%
%
9
1, 6
1, 6
300/400
-48
-
20
20
620
-43
50
50
Hz
dBm
dBm
ms
ms
-4.70
-
+6.58
dB
-0.5
-
+0.5
dB
-5.6
-0.2
0.4
-
0.0
+0.2
dB
dB
dB
Receiver
Dynamic Range (VDD = 5.0V)
Carrier Detect
Threshold: Will Decode
Threshold: Will Not Decode
Hysteresis
Response Time (Delay)
De-Response Time (Hold)
Answer Tone Detector
Threshold: Will Decode
Threshold: Will Not Decode
Response Time (Delay)
De-Response Time (Hold)
Decode Bandwidth (must decode)
Decode Bandwidth (must not decode)
Call Progress Detector
Effective Bandwidth
Threshold: Will Decode
Threshold: Will Not Decode
Response Time (Delay)
De-Response Time (Hold)
Programmable Gain Blocks
Rx Gain Block
Nominal Range
(Step Size: see Register Description)
Step Accuracy
Tx Gain Block
Nominal Range
Step Size
Step Accuracy
Notes:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
At VDD = 5.0V only. Signal levels or currents are proportional to VDD.
Not including any current drawn from the modem pins by external circuitry.
Timing for an external input to the CLOCK/XTAL pin.
Tx Gain Block set to 0dB and measured with a pure tone or DTMF tone pair, without
equalisation.
Excluding RD, RT and XTAL/CLOCK pins.
Rx Gain Block nominally set to 0dB but adjusted if necessary for component tolerances.
Measurement point for threshold levels is prior to receive input amplifier circuit (point A on
Figure 6a), with external components setting gain to 9dB. Detector levels measured with a
pure tone.
Hysteresis may be increased, if required, by adding one step (increasing the gain of) to the Rx
Gain Block when a signal is detected and by removing this step when the signal is no longer
detected.
Measured with a 511-bit pseudorandom sequence.
Depending on the setting of the CPBW SELECT bit in the RX PSK MODE Register.
Measured without equalisation.
 2000 Consumer Microcircuits Limited
29
D/644A/6
V22 and Bell 212A Modem
CMX644A
3.5
3
2.5
2
V in
1.5
1
V thi
V tlo
0.5
0
2.5
3
3.5
4
4.5
5
5.5
Vdd
Figure 9 Typical Schmitt Trigger Input Voltage vs. VDD
Tx Timings (See Figure 4a)
Tx Delay from Tx data
loaded (TDEL)
Notes
Min.
Typ.
Max.
Units
10
0
-
0.833
ms
10
0
-
8.33
ms
10
Notes
0
Min.
Typ.
1.667
Max.
Units
10
-
1.667
-
ms
Tx Output to Tx reload
signal (TLOAD)
Tx Parity to Tx Underflow
flag set (TUFL)
Rx Timings (See Figure 4b)
Parity to Rx Data
Ready flag set (TRDY)
 2000 Consumer Microcircuits Limited
ms
30
D/644A/6
V22 and Bell 212A Modem
CMX644A
1.7.1.3 Operating Characteristics (continued)
‘C-BUS’ Timings (See Figure 10)
Notes
Min.
Typ.
Max.
Units
tCSE
CSN-Enable to Clock-High time
100
-
ns
tCSH
Last Clock-High to CSN-High time
100
-
ns
tLOZ
Clock-Low to Reply Output enable time
0
-
ns
tHIZ
CSN-High to Reply Output 3-state time
-
1.0
µs
tCSOFF
CSN-High Time between transactions
1.0
-
µs
tNXT
Inter-Byte time
200
-
ns
tCK
Clock-Cycle time
200
-
ns
tCH
Serial Clock-High time
100
-
ns
tCL
Serial Clock-Low time
100
-
ns
tCDS
Command Data Set-Up time
75
-
ns
tCDH
Command Data Hold time
25
-
ns
tRDS
Reply Data Set-Up time
75
-
ns
tRDH
Reply Data Hold time
0
-
ns
Note:
These timings are for the latest version of the ‘C-BUS’ as embodied in the CMX644A, and allow faster
transfers than the original ‘C-BUS’ timings given in CML Publication D/800/Sys/3 July 1994.
Figure 10 ‘C-BUS’ Timing
 2000 Consumer Microcircuits Limited
31
D/644A/6
V22 and Bell 212A Modem
1.7.2
CMX644A
Packaging
Figure 11a 24-pin SOIC (D2) Mechanical Outline: Order as part no. CMX644AD2
Figure 11b 24-pin SSOP (D5) Mechanical Outline: Order as part no. CMX644AD5
 2000 Consumer Microcircuits Limited
32
D/644A/6
V22 and Bell 212A Modem
CMX644A
Figure 11c 24-pin DIL (P4) Mechanical Outline: Order as part no. CMX644AP4
Handling precautions: This product includes input protection, however, precautions should be taken to prevent device damage from
electro-static discharge. CML does not assume any responsibility for the use of any circuitry described. No IPR or circuit patent
licences are implied. CML reserves the right at any time without notice to change the said circuitry and this product specification. CML
has a policy of testing every product shipped using calibrated test equipment to ensure compliance with this product specification.
Specific testing of all circuit parameters is not necessarily performed.
Oval Park - LANGFORD
MALDON - ESSEX
CM9 6WG - ENGLAND
Telephone: +44 (0)1621 875500
Telefax:
+44 (0)1621 875600
e-mail:
sales@cmlmicro.co.uk
http://www.cmlmicro.co.uk
CML Microcircuits
COMMUNICATION SEMICONDUCTORS
CML Product Data
In the process of creating a more global image, the three standard product semiconductor
companies of CML Microsystems Plc (Consumer Microcircuits Limited (UK), MX-COM, Inc
(USA) and CML Microcircuits (Singapore) Pte Ltd) have undergone name changes and, whilst
maintaining their separate new names (CML Microcircuits (UK) Ltd, CML Microcircuits (USA)
Inc and CML Microcircuits (Singapore) Pte Ltd), now operate under the single title CML Microcircuits.
These companies are all 100% owned operating companies of the CML Microsystems Plc
Group and these changes are purely changes of name and do not change any underlying legal
entities and hence will have no effect on any agreements or contacts currently in force.
CML Microcircuits Product Prefix Codes
Until the latter part of 1996, the differentiator between products manufactured and sold from
MXCOM, Inc. and Consumer Microcircuits Limited were denoted by the prefixes MX and FX
respectively. These products use the same silicon etc. and today still carry the same prefixes.
In the latter part of 1996, both companies adopted the common prefix: CMX.
This notification is relevant product information to which it is attached.
Company contact information is as below:
CML Microcircuits
(UK)Ltd
CML Microcircuits
(USA) Inc.
CML Microcircuits
(Singapore)PteLtd
COMMUNICATION SEMICONDUCTORS
COMMUNICATION SEMICONDUCTORS
COMMUNICATION SEMICONDUCTORS
Oval Park, Langford, Maldon,
Essex, CM9 6WG, England
Tel: +44 (0)1621 875500
Fax: +44 (0)1621 875600
uk.sales@cmlmicro.com
www.cmlmicro.com
4800 Bethania Station Road,
Winston-Salem, NC 27105, USA
Tel: +1 336 744 5050,
0800 638 5577
Fax: +1 336 744 5054
us.sales@cmlmicro.com
www.cmlmicro.com
No 2 Kallang Pudding Road, 09-05/
06 Mactech Industrial Building,
Singapore 349307
Tel: +65 7450426
Fax: +65 7452917
sg.sales@cmlmicro.com
www.cmlmicro.com
D/CML (D)/1 February 2002