CMX882 FAQs and Applications – Information Document Available from this link
Q. I have noticed that when I inject a high level signal into the Tx signal path of the CMX88x that the audio sounds very poor, however I have the Tx limiter enabled and always thought that the limiter eliminate high level signal distortion.
A. The first thing to point out here is that there are two functions on the CMX88x that can affect maximum signal amplitude (excluding variable gain/attenuation functions) but they do it in very different ways. These functions are the Soft Limiter and the Compressor (compander).
Soft Limiter
The limiters role is to ensure that a transmitted signal can never be greater than a pre-programmed limit.
It is vital to be able to do this in radios as it means that a transmitted signal can never over deviate the
RF section and thereby spread energy across adjacent radio channels.
The limiter achieves this by clipping the signal at a pre-programmed level (pkpk). However simply clipping (hard limit) such a signal will generate large amounts of unwanted in-band and out of band harmonics. In most traditional radios the out of band noise was attenuated by the use of a low pass (splatter) filter.
The CMX88x uses a more sophisticated soft limiting approach that ensures that a signal is not cut off abruptly but is progressively attenuated as the limit point is approached. In this instance no splatter filter is required.
However the limiting effect should be considered as a last resort as the audio when it starts to get limited will become progressively more distorted. More the soft limiter is required the poorer the perceived audio quality.
In a typical radio system the limiter is normally set to limit slightly lower than the maximum estimated deviation allowed. Nominal deviation is considered at 60%, maximum at 100% and minimum deviation at 10%.
Compressor
Like the soft limiter the compressor affects signal amplitude.
Unlike the soft limiter however it does this by progressively reducing the gain to a signal as the signals amplitude is increased
(across the entire signal range).
The idea of such a process is to maximise a voice signals dynamic range within a fixed deviation.
In essence the compressor (with the expander at the receive side) is designed to make audio sound better for a given bandwidth
(typical compression of 2:1).
It should not add distortion to the audio use and in fact should improve the audio quality as the available bandwidth is maximised.
The link below will take you to an illustration demonstrating a typical level set-up that should not trigger the soft limiter; the compander (compressor/expander) and pre/de-emphasis are also used.
Diagramatic ExplanationQ. The Aux ADC Monitor Low does not get flagged when the monitored signal goes below the Low Threshold set in the ADC Auxiliary ADC Thresholds. I do not get an interrupt either.
A. The interrupt will not occur unless the Aux ADC Monitor High flag gets set. This will not happen unless the signal crosses the high threshold first. To get the Auxiliary ADC Threshold to be detected successfully:
1. Determine a level that the monitored signal will always reach.
2. Determine the highest, low-level that must be detected.
3. Set the High Threshold, AUX ADC Thresholds ($B2), B15..8, to a level midway between the levels determined in 1 and 2.
4. Set the Low Threshold, AUX ADC Thresholds ($B2), B7..0, to the level determined in 2.
5. Mask the High Threshold if this indication is not required.
Also note that the ADC must be disabled when the AUX ADC Thresholds are being written or they will not function. Power Down Control ($C0), b1 = 0 to disable.
Q. I have need to use DCS codes that are not included in the DCS look up table shown in the FX828 data sheet, can you tell me how to calculate a DCS code?
A. The following link takes you to a downloadable self-extracting .exe file that
can be used to calculate DCS codes. The DCS Calculator uses an algorithm to generate the DCS codes from 3 decimal (or 9
bit binary) digits; it involves a conversion using a polynomial system based on
a Golay (23,12) code.
This Golay algorithm is used to generate 11 parity bits that are then appended to the
original binary digits (as well as 100b) to create a 23 bit DCS code. For 24 bit codes bit 23 (MSb) can be added
later.
The CMX88x and FX828 devices allow the creation of user defined DCS codes by
allowing a 6 character hex number to be written to a Cbus Register.
The DCS Calculator can be used with all
these devices. Please refer to each device’s data sheet should be read in conjunction with the .exe
file.
Q. I am starting out my design with a CMX88x device, are there any suggestions in how best to handle interrupts and Status Register flags?
A, The CMX88x series of devices are very complete and functionally dense devices, to allow
this many functions the Status register must be checked at an appropriate time
by the users code.
In most CML devices both polling of the Status Register and a full interrupt driven scheme are
suitable; however due to the added complexity within the CMX88x, polling of the
Status Register, without first ensuring that an IRQN has been generated, must
not be performed.
Q. I see that I can adjust the "Fine Output Gain 1 and Fine Output Gain 2" in the Programming Register. Where are these individual gain stages in the device block diagram?
A. Fine Output Gain 1 corresponds to MOD_1 attenuator and the Audio attenuator, and Fine
Output Gain 2 corresponds to MOD_2 attenuator.
Please note that these sections must be enabled in the POWER DOWN CONTROL register in
order for their gain settings to have any meaning.
Q. What do the "O/P Coarse Gain 1 and 2" bits in the POWER DOWN CONTROL register actually enable?
A. O/P Coarse Gain 1 enables/disables the MOD_1 attenuator, and O/P Coarse Gain 2 enables/disables the MOD_2 attenuator.
Q. The crystal oscillator recommended in the data sheet looks different; the
crystal connects between a single pin and ground.
Do I need a special crystal for this circuit?
A. No, a standard AT-cut parallel resonant crystal is recommended for this and all CML XTAL/CLK input pins. This circuit looks different than the crystal oscillator circuits recommended for previous CML devices because most of the external components have been integrated on chip.
Q. Are there are any simple recommendations when writing to the CMX88x programming register; I am using interrupts.
A. There are a few recommendations and suggestions when reading and writing to the CMX88x registers.
Firstly when writing to the programming register is to disable all functions that can cause
interrupts and to mask all interrupts other than the programming write flag
whilst writing to the programming register.
This is to remove the small possibility that an unrelated interrupt is
misread and is being mistaken as the programming flag being set. Additionally both the Tx and Rx modes must
be disabled and the register writes must always be written to in the order they
are presented within the data sheet.
Q. In my system I am transmitting a CTCSS tone followed by an in-band signal, any recommendations?
A. To avoid possible software conflicts it is strongly recommended that if an in-band tone or FFSK/MSK data packet follows a sub-audio tone (CTCSS/DCS) that at least 250ms of neither tone (or data) is present.
Q. When using the CMX88x range of devices is there anything to be aware of when passing analogue signals through the device with functions such as pre-emphasis or companding enabled (CMX882 and CMX883)?
A. As with all
CML devices like the CMX881, CMX882 and CMX883 they are capable of handling
analogue signals with large dynamic ranges, however care is needed in ensuring
that signals are kept within data sheet limits.
The functionality included in these devices can make this
difficult to calculate but there a few basic rules that can be followed:
For a device working from a 3.3V ±10% supply, the maximum signal level which can be accommodated
without distortion is nominally 800mV rms (proportional to Vdd), assuming a
sine wave signal.
Compared to the reference level of 308mV rms, this is a signal of over +8dB. It should not be exceeded
at any stage.
Transmit Path:
For the maximum signal out of the MOD1 and MOD2 attenuators, the signal level at the output of
the Analogue Routing block should not exceed +8dB; it is assumed both Fine and
Coarse output attenuators are set to 0dB.
The sub-audio level is normally set to 31mV rms ±1.0dB, which means that
the output from the soft limiter must not exceed 803mV rms.
If pre-emphasis is used, an output signal at 3000Hz will have three times the amplitude of a
signal at 1000Hz, so the signal level before pre-emphasis should not exceed
268mV rms.
If the compressor is also used, its 'knee' is at 100mV rms, which would allow a signal into the
compressor of 718mV rms, which is less than the maximum signal level.
The Fine Input Gain adjustment has a maximum attenuation of 3.5dB and no gain, whereas the
Coarse Input Gain adjustment has a variable gain of up to +22.4dB and no
attenuation.
If the highest gain setting were used, then the maximum allowable input signal level at the MicFB
pin would be 54mV rms. With the lowest gain setting (0dB), the maximum allowable input signal level at the MicFB pin
would be 718mV rms.
Receive Path:
For the maximum signal out of the AUDIO attenuator, the signal level at the output of the
Analogue Routing block should not exceed +8dB; it is assumed that both Fine and
Coarse output attenuators are set to 0dB.
In this case, there is no sub-audio signal to be added, so the maximum signal
level remains at 838mV rms.
If de-emphasis is used, an output signal at 300Hz will have three and a third times the amplitude
of a signal at 1000Hz, so the signal level before de-emphasis should not exceed
251mV rms.
If the expander is also used, its 'knee' is at 100mV rms, which would allow a signal into the expander of
158mV rms.
The Fine Input Gain adjustment has a maximum attenuation of 3.5dB and no gain, whereas the
Coarse Input Gain adjustment has a variable gain of up to +22.4dB and no
attenuation.
If the highest gain setting were used, then the maximum allowable input signal level at the DiscFB pin
would be 12.0mV rms.
With the lowest gain setting (0dB), the maximum allowable input signal level at the DiscFB pin
would be 158mV rms.
Finally, it must be remembered that the signal level of +8dB (838mV rms) is an absolute maximum which is not be exceeded anywhere in the signal processing chain, if severe distortion is to be avoided.
Please note the CML disclaimer notice for applications and FAQ information.