Product description

The CMX860 is a flexible, low-power Telephone Signalling Transceiver IC, designed for use in a wide range of line-powered telephone equipment.

The IC combines the functions of a DTMF encoder and decoder, V.23 and Bell 202 modulator and demodulator plus call progress circuitry with analogue switching between line and phone interfaces.

Ring detection, local phone off-hook detection and a relay driver for line hook-switch operation are also provided under the control of ‘C-BUS’.

The ring and hook detectors operate whilst the remainder of the IC is powersaved, generating an interrupt to wake-up the host µC when further processing or signalling is required.

All on-chip functions and switching arrangements are controlled via the C-BUS command/data serial bus.
The CMX860 is designed to operate at 2.7V and utilises CML’s low power DTMF decoder and V.23 modem technology.

Read More

Devices are available through our distributors below:


Block diagram


Technical Portal

No additional information available.


  • V.23 1200/75 b/s FSK Tx/Rx
  • Bell 202 1200/150 b/s FSKTx/Rx
  • Tx/Rx DTMF Tones
  • Line and Phone Complimentary Drivers
  • Call Progress Decoder
  • Simple ‘C-BUS’ Serial Interface
  • Low Power Operation with Standby Mode


  • Least Cost Routers
  • Vending Machines
  • Internet Appliances
  • Home Management Systems
  • Remote Meter Reading
  • Alarm Systems
  • Cable System TV Set-Top Boxes

Power supply requirement

  • 2.7 to 5.5 V

Not quite sure what you’re looking for?
We can tailor an existing product to your unique requirements

Design resources


 Q. I want to use the hook detector provided in the CMX860 but there is no recommended application circuit in the data bulletin. How do I use the on-chip hook detector circuit?

A. The CMX860 internal hook detector circuitry is identical to the internal ring detector circuitry.

The purpose of the recommended ring detector external circuitry is to condition an incoming ring signal for presentation to the CMX860 ring detection circuit. The external circuitry rectifies and attenuates the signal so that it can be presented to the internal ring detector circuitry, which is effectively a threshold detector. The nature of checking hook switch status makes this type of external circuitry unsuitable for use with the CMX860 hook detector (e.g. blocking capacitors preclude differential DC voltage measurement).

The internal hook detector circuitry is designed to indicate (internal to the chip) when the input to the circuit has reached a certain threshold. If the tip/ring differential voltage is conditioned properly and presented to the hook detector input, the hook detector’s Schmitt trigger will trip when the tip/ring differential voltage falls to some predetermined level that corresponds to an off-hook condition. (Application dependant)

To use the CMX860 internal hook detector circuit to check the status of the hook switch (open or closed), external circuitry must be developed to:

1. Sense the differential voltage between “tip” and “ring” phone lines while observing on-hook impedance regulatory requirements.

2. Condition this signal for presentation to the CMX860 hook switch detector circuit.

Since the CMX860 hook detector trip threshold is known (as stated in the data sheet), and since the desired tip/ring differential voltage for hook switch status is known (application dependent), the required external circuitry can be developed for the particular application. No such external circuitry is provided in the data sheet for the hook detector circuit because there are multiple ways of accomplishing this functionality, and the desired method will be application dependent.

Customer feedback indicates that two reasonable approaches to CMX860 external hook detection circuitry are:

a. Use of a differential amplifier with suitable signal scaling and very high input impedance to develop the hook detector input signal.

b. A “window comparator” that allows the CMX860 hook detector trip threshold to be reached if the tip/ring differential amplifier reaches the trip point regardless of tip/ring polarity. For example, if the (tip-ring) voltage = 19V, or if the (ring-tip) voltage = -19V, the window comparator would create an output signal that would cause the hook detector circuit to reach its trip threshold.

In summary, the CMX860 hook detector circuit is a threshold comparator, and the tip/ring differential voltage must be conditioned so as to trip the CMX860 hook detector circuit when a suitable tip/ring differential voltage is reached.

Q. I have been trying to program the CMX860 Programming register, but it does not seem to work. What is the suggested method of writing to this register?

A. Writing to the Programming register is performed via the CML C-BUS.One register address is required for each data word; you must also ensure that the programming flag bit in the Status register is set before writing to the Programming Register.

The process is as follows:

  • Address for programming register $E8) senton Command Data line
  • First word for the programming register is loaded onto Command Data line
  • Check the Programming Bit Flag in the Status Register – b13 = 1; if true then continue
  • Address for programming register ($E8) sent on Command Data line
  • Second Word for the programming register is loaded onto Command Data line
  • Check the Programming Bit Flag in the Status Register – b13 = 1; if true then continue
  • Address for programming register ($E8) sent on Command Data line
  • Third Word for the programming register is loaded onto Command Data line
  • Continue

Note: If the latency between writes is long, typically greater than 150us it is not required to check the Status Register bit flag (please refer to the data sheet).

Q. How do I detect CAS on the CMX860, CMX867 or CMX868 ICs?

Q. Can I do Type 2 CID (Caller Identity) on the CMX860, CMX867 or CMX868?

A. The Programmable Tone Pair can detect the CAS tone required for type 2 CID but an unacceptable tendency to false is likely. This is because both filters are likely to ring due to the narrow bandwidth required. The CMX602B provides a very efficient CAS detector that can be interfaced through the CMX868, CMX867 and CMX860. The method described does not require any additional connections to the host microprocessor and very few additional components.

View Informative Diagram

The CMX602B input signal is derived from the same signal input as the CMX86x. The gain components around the CMX602B may need to be adjusted. See the CMX602B Data Sheet for more information.

The CMX602B Mode input is clamped to Vss so that its mode is selected by the state of the ZP input. When the CMX86x is powersaved or on-hook, the CMX602B will be powersaved. When the CMX86x goes off-hook the CMX602B will come out of powersave and go into CAS detect mode.

The CAS should be detected around 55ms after it starts and DET will go low. This will cause the CMX86x to detect a ring signal. The Ring Detect flag will go low and the CMX86x will generate an interrupt (provided this interrupt is un-masked). This method allows the CAS detector to be polled and the interrupt to be masked. Polling is necessary to measure the length of the CAS to qualify it.

The software must remember to differentiate between a genuine ring detect and a CAS detect.

CAS Detection Method

The CMX86x will be off-hook.

Approximately 55ms after the start of the CAS the CMX86x will signal a ring detect. Ring Detect will go high (Status Register ($E6) b14 = 1) and, if unmasked ((General Control Register ($E0) b5 = 1), an interrupt will be signalled.

The Interrupt should be masked and Ring Detect polled to confirm that the CAS is present for the expected period.

Following the CAS detect a short period of silence occurs during which the near end handset is muted. Any line activity can be confirmed by polling the Energy Detect flag (Status Register ($E6) b10). This is important to help reduce the incidence of false CAS detection.

The Ring Detect interrupt should be masked for the remainder of the CID transaction.

Please note the CML disclaimer notice for applications and FAQ information.

CMX86x and CMX850 Filter Coefficient Generator Program

This application note comprises the Filter Coefficient Generator program as an Excel spreadsheet as well as operational instructions.

CMX8xx: Short Message Service (SMS) Implementation using CML Products

This document aims to assist modem product designers using and understanding Short Message Service (SMS) applications. CML Microcircuits' (CML) integrated circuit devices (CMX85x and CMX86x) could be used to realize and achieve a Caller Line Identification (CLI), SMS or Low Rate Messaging Service (LRMS) data transfer within a wireline system.

CLI with the CMX860, CMX865/A, CMX867/A and CMX868/A

Caller Line ID (CLI) was originally developed for the US market but has become commonplace throughout the World because of its multitudinous applications. There are a number of CLI protocols to which telephone equipment manufacturers must comply. This document gives an overview of two types; BELL GR-30-CORE/SR-TSV-002476 (or ETSI 300 659-1 section 6.1.1) used in the USA and most of the world and Caller Line Identification Presentation (CLIP) BT SIN 227 (or ETSI ETS 300 659-1 section 6.1.2c) used in the UK.

CMX86x: Tone Generator Calculator spreadsheet.

An Excel spreadsheet that calculates the values required for the Programmable Tone Generators. Single tones and dual-tones are allowed. The spreadsheet predicts the actual frequency and amplitude of each tone.

C-BUS Guides

Guides to operation and interfacing

Package: D1

28-pin SOIC

Package: D6

28-pin SSOP

Package: E1

28-pin TSSOP

Ask a question

Request a quote