CMX867 and CMX867A FAQs

Q. I see that both the CMX867 and CMX867A are now CML products. Can you tell me what the difference is and whether I would have problems migrating from my existing CMX867 design to an CMX867A based unit.

A. There are three major changes:
a The DTMF decoder performance has been improved to give greater compatibility with worldwide exchanges and with the DTMF encoders supplied by other manufacturers. The dynamic range has been increased to improve the compatibility with normal transmission conditions, particularly where lines are encountered. The acceptable twist has been increased to cope with low-cost DAAs and lines. Additionally the algorithm has been extensively modified to provide a high immunity to voice signals.

b The hybrid function has been improved to increase rejection of transmitted signals and harmonics and to reduce the number of components in the DAA, and to simplify the design of DC-coupled DAAs.

c A transmit output tri-state capability has been added where the outputs of the CMX867A are independently tri-stateable allowing the line and, hence, the receiver to be biased, without terminating the line.
Caller-ID signals flowing through a hook-switch bypass capacitor will see a high impedance termination, which gives a better match to the receiver input. This method offers the possibility of improved S/N performance over other low-cost approaches available.
A current design that uses the CMX867 can use the CMX867A, as the IC should be considered a drop-in replacement. The additional features should appear invisible to existing software and hardware designs.

Q. I see that the CMX867 datasheet / data bulletin has a paragraph that discusses the need for an additional 7dB of "trans-hybrid" loss.  What is this talking about, and why do I need it?

A. The trans-hybrid loss refers to attenuation of the Tx output signal that gets fed back into the Rx input path of the same device. If the 7dB trans-hybrid loss is not provided then the sensitivity in originate mode will be reduced from the minimum "must detect" value of -43dB. This reduction in sensitivity is due to 2400Hz carrier rejection in the receiver path being around 36dB. While the addition of 7dB of trans-hybrid loss will result in optimum performance, neglecting the additional 7dB of trans-hybrid loss will not prevent operation and may be acceptable in some applications.


Q. I am trying to send CID data with the CMX867.I am sending the Channel Seizure and Mark Signal synchronously (no start-stop bits), but I'm sending the SDMF/MDMF data asynchronously (with start-stop bits). The data isn't being received properly.What is the problem?

A. The process is to start a synchronous transmission of 'channel seize' pattern.

The IRQ will go low almost immediately after the FSK is enabled because the data buffer becomes empty; ignore the IRQ.After approx 7.5ms (9 bit periods) a Tx Underflow will occur. The data in the data buffer will re-circulate indefinitely because the device is in synchronous mode.After the period required for 'channel seize', the Data Buffer should be loaded with $FF; the device is still in sync mode here.The FSK transmission will change to continuous marks.Wait a few bit periods to allow the Tx Data Underflow bit to be set, and then select asynchronous mode. The underflow condition will still exist and so the UART will produce continuous marks. When the continuous marks period ends:

1. Load the data buffer with the first byte to be transmitted.

2. Read the Status Register to clear it and re-prime IRQN.

Service the IRQ as normal until all Caller ID data is processed.


Q. I have been trying to program the CMX867 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:

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

Q. What is the procedure for returning the CMX867/A to normal operation following Powersave mode?

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


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

A. The CMX867 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 CMX868, CMX867 or CMX860?

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

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.


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 have there own gain control which are totally independent of 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.


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