CMX860

Q. What is the correct procedure to follow after power is applied to the CMX860?

Q. What is the procedure for returning the CMX860 to normal operation following Powersave mode?

A. The algorithm, "Recommended Start-up and Powersave procedure for the CMX860" shows how to manage the CMX860 after powering it on or bringing it out of Powersave mode.


Q. I am having problems getting the coefficient spreadsheet to give me the values for the response I need. Do you have any recommendations for using the spreadsheet, such as optimal values?

A. The gain adjustment of the PTPD (Programmable Tone Pair Detector) is an absolute value. The filter coefficient generator support document, figure 1, shows a filter shape that has a 0dB gain at the pole frequency. There is no specific rule of thumb in the use of the filter gain but there are a few points that the user should be aware of.

1. The two biquads A and B each have there own gain control which is totally independent of the each other. So for example if Biquad 1 is set to gain 3dB and Biquad 2 is set to 0dB (providing the pole frequency is the same for both) then the total gain for the combined filter shape will be 3dB (0dB + 3dB).  Or:

Gain Biquad A + Gain Biquad B = Total Gain                        (where Pole Freq A = Pole Freq B)

If the pole frequencies are not the same then this argument does not apply. The resultant gain when different poles frequencies are used is difficult to determine just by looking, it will involve tweaking the coefficients using the Filter Coefficient Generator.

Please remember that there are two pairs of Biquads so under normal circumstances the pole frequencies will be the same for Biquad A and B. So for the example CAS tone detection, the spreadsheet would be used twice, Biquad A and B for 2130Hz and then again for 2750Hz.

2. Gain is important as it directly affects the apparent sensitivity of the detectors following the biquads. However the user must also consider that there is a further gain adjust included in the CMX86n family of devices, Rx Mode Register b11-9: Rx level.

The same rules apply as comment 1 above, however as the combined gains from the PTPD and the Rx Gain adjust can be summed. This bit is easier though as this gain block can be considered flat.

3 The coefficient generator support document also mentions the FRSF (Fixed Receive Signal Filtering), where figure 4 shows the attenuation across the audio band.

Or total gain = Gain of PTPD + Rx Gain + Gain of external components - FRSF Gain

To begin designing a filter to detect a specific tone, first select the 'optimum' filter shape (application dependent), adding an allowance for the FRSF profile, with the combined gain nominally selected to 0dB.Then use the Rx level adjust (internal to the device) to optimise the total gain so that the tone detector works effectively in a particular application.

Designing filter shapes is not an exact science, so an element of trial and error is required.


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:

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. What is the correct procedure to follow after power is applied to the CMX860?

Q. What is the procedure for returning the CMX860 to normal operation following Powersave mode?

A. The algorithm, "Recommended Start-up and Powersave procedure on the CMX860" shows how to manage the CMX868 after powering it on or bringing it out of Powersave mode.


Q. The CMX860 includes a programmable IIR based filter which can be used to detect the frequencies not included as standard, is there a description of tool that can help me use this function?

A. The CMX860 IIR filter is a similar design to that included with the related CMX868 V.22bis modem IC.A Microsoft Excel based Application Note is available that describes how the 2 biquad IIR filter functions and how the coefficients for the filter can be programmed.The application note can be downloaded from the website via the following link: WirelineFL_1.htm.


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 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.