CMX808A: CML Microcircuits
CMX808A: CML Microcircuits
CMX808A
Family Radio CTCSS ‘Type 2’
COMMUNICATION SEMICONDUCTORS Encoder and Decoder
D/808A/6 September 2003
1.0 Features
• Unique CTCSS ‘Type 2’ Operation • High Performance Encode/Decode
• Fast Decode on all Tones (140ms) • Flexible Multiple Decode Options
• Tones from 60Hz to 251Hz • Sub-Audio Tone Rejection Filter
• Tone Cloning • 48 Programmable CTCSS Tones
• Low Power Operation (1.3mA at 3.0V) • Compact 20-pin TSSOP Package
Applications
A unique feature of the device is its ability to look for 7 different CTCSS codes simultaneously. This allows
FRS designers to offer equipment which can look for personal, family or open channel codes at the same
time. For example a soccer team coach can call each of the 11 players individually or the team as a
group. Codes can be used as Paging codes, open chat mode codes as well as personal and family
codes. These features allow FRS designers to differentiate their products from that of the competition in
unique ways to gain market share in this highly competitive application. The CMX808A opens the way to
rapid development of new family radio applications.
CONTENTS
Section Page
3 3 SERIAL CLOCK I/P The "C-BUS" serial clock input. This clock,
produced by the µController, is used for transfer
timing of commands and data to and from the
device. See "C-BUS" Timing Diagram (Figure
4).
4 4 COMMAND DATA I/P The "C-BUS" serial data input from the
µController. Data is loaded into this device in
8-bit bytes, MSB (D7) first, and LSB (D0) last,
synchronised to the SERIAL CLOCK. See
"C-BUS" Timing Diagram (Figure 4).
13 15 RX AMP OUT O/P The output of the Rx input amplifier and the
input to the audio filter section.
Note: 1. R3, R4, C5 and C7 form the gain components for the Rx Input Amplifier. R4 should be
chosen as required by the signal level, using the following formula:
R3
Gain = −
R4
The CMX808A is a programmable CTCSS ‘Type 2’ encoder and decoder for Family Radio, see Figure 1.
The receiver of the CMX808A decodes a user-programmable set of up to 7 tones with minimum software
intervention; the band-pass filter is designed to filter out the CTCSS sub-audio tones. A high resolution
tone encoder performs accurate generation of CTCSS tones.
Each function, and the routing of signals, is flexible and may be configured or controlled by the user's
software.
Address/Commands
Instructions and data are transferred, via "C-BUS", in accordance with the timing information given
in Figure 6.
Instruction and data transactions to and from the CMX808A consist of an Address/Command
(A/C) byte which may be followed by either:
$01 GENERAL N/A N/A N/A N/A N/A N/A N/A N/A
RESET
CTCSS CTCSS DECODER BANDWIDTH CTCSS
$80 SUB-AUDIO TX DECODER MSB LSB 0 IRQ
CONTROL ENABLE ENABLE BIT 3 BIT 2 BIT 1 BIT 0 MASK
AUDIO ATTENUATION
$82 AUDIO TX BPF RX BPF BPF MSB LSB
CONTROL ENABLE ENABLE UN-MUTE BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
CTCSS TX ENABLE These two bits enable and disable the CTCSS decoder (Rx) or transmitter (Tx)
and DECODER according to the table below:
ENABLE
(Bits 7 and 6)
Tx Rx Function
Bit 7 Bit 6
0 0 Tx disabled, Rx disabled
0 1 Tx disabled, Rx enabled
1 0 Tx enabled, Rx disabled
1 1 Tx enabled, Rx enabled
CTCSS DECODER These four bits set the bandwidth of the CTCSS tone decoder according to the
BANDWIDTH table below:
(Bits 5, 4, 3 and 2)
BANDWIDTH
Bit 5 Bit 4 Bit 3 Bit 2 Will Will Not
Decode Decode
1 0 0 0 ±1.1% ±2.4%
1 0 0 1 ±1.3% ±2.7%
1 0 1 0 ±1.6% ±2.9%
1 0 1 1 ±1.8% ±3.2%
1 1 0 0 ±2.0% ±3.5%
1 1 0 1 ±2.2% ±3.7%
1 1 1 0 ±2.5% ±4.0%
1 1 1 1 ±2.7% ±4.2%
(Bit 1) Reserved for future use. This bit should be set to "0".
CTCSS IRQ MASK When this bit is set to "1" it enables the interrupt.
(Bit 0) When this bit is set to "0" the interrupt is masked.
RX BPF ENABLE When this bit is “1” the audio band-pass filter is enabled and the output of the
(Bit 6) filter is switched to RX AUDIO OUT. The output is then controlled by BPF UN-
MUTE. See Bit 5 below.
When this bit is “0” the audio band-pass filter is disabled (powersaved) and the
output of the filter is disconnected from RX AUDIO OUT, which is then in a high
impedance state.
BPF UN-MUTE When this bit is “1” and TX BPF ENABLE is “1” the audio band-pass filter output
(Bit 5) is switched to the TX AUDIO OUT pin. When this bit is “0” the output of the filter
is disconnected from TX AUDIO OUT, which is then in a high impedance state.
This control, along with TX BPF ENABLE, allows the filter to power up and settle
internally before switching the output on, when coming out of powersave.
When this bit is “1” and RX BPF ENABLE is “1” the audio band-pass filter output
is switched to the RX AUDIO OUT pin. When this bit is “0” the output of the
filter is disconnected from RX AUDIO OUT, which is then in a high impedance
state. This control, along with RX BPF ENABLE, allows the filter to power up
and settle internally before switching the output on, to avoid clicks when coming
out of powersave.
AUDIO ATTENUATION These five bits are used to set the attenuation of the audio volume control
(Bits 4, 3, 2, 1, and 0) according to the table below:
Bits Audio
4 3 2 1 0 Attenuation
0 0 0 0 0 Off (VBIAS)
0 0 0 0 1 48.0dB
0 0 0 1 0 46.4dB
0 0 0 1 1 44.8dB
0 0 1 0 0 43.2dB
0 0 1 0 1 41.6dB
0 0 1 1 0 40.0dB
0 0 1 1 1 38.4dB
0 1 0 0 0 36.8dB
0 1 0 0 1 35.2dB
0 1 0 1 0 33.6dB
0 1 0 1 1 32.0dB
0 1 1 0 0 30.4dB
0 1 1 0 1 28.8dB
0 1 1 1 0 27.2dB
0 1 1 1 1 25.6dB
1 0 0 0 0 24.0dB
1 0 0 0 1 22.4dB
1 0 0 1 0 20.8dB
1 0 0 1 1 19.2dB
1 0 1 0 0 17.6dB
1 0 1 0 1 16.0dB
1 0 1 1 0 14.4dB
1 0 1 1 1 12.8dB
1 1 0 0 0 11.2dB
1 1 0 0 1 9.6dB
1 1 0 1 0 8.0dB
1 1 0 1 1 6.4dB
1 1 1 0 0 4.8dB
1 1 1 0 1 3.2dB
1 1 1 1 0 1.6dB
1 1 1 1 1 0dB
fXTAL (Hz)
A=
16 x fTONE (Hz)
When Bit 7 (in the first 8 bits) is set to "1" the tone output is set at VBIAS or NOTONE without regard to the
number "A" programmed. When Bit 7 is "0" the programmed tone is set on the output. Programming bits
0 to 12 to "0" sets the output to VBIAS. Powersave is achieved by disabling the Tx (Bit 7 in the SUB-
AUDIO CONTROL register $80).
Each tone is identified by its address in Bits 6, 5 and 4 of byte (1). The remaining 12 bits contain the data
representing the tone frequency according to the formula below. If a tone is not required the 12 bits should
be set to zero.
Byte 1 Byte 2
Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit Bit
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0 0 0 0 <----------------------- N -----------------------> <----------------------- R ----------------------->
0 0 0 1
0 0 1 0 N is the binary representation of the R is the nearest 6-bit binary
0 0 1 1 following decimal number (n): representation of (r), where:
0 1 0 0
0 1 0 1 n = INT (948982 x fTONE / fXTAL) r = ((237245/fXTAL) - (n/(4 x fTONE))) x 8400
0 1 1 0
∴ N = 010111 (binary)
∴ R = 001111 (binary)
The Hex address represented by Bits 6, 5 and 4 in byte (1) is used as the code to indicate which tone has
been decoded. This code appears in Bits 2, 1 and 0 of the SUB-AUDIO STATUS register $81. The 7
programmed tones use Hex addresses $0 - $6. Address $7 should not be used.
HEX REGISTER BIT 7 BIT 6 BIT 5 BIT 4 BIT 3 BIT 2 BIT 1 BIT 0
ADDRESS/ NAME (D7) (D6) (D5) (D4) (D3) (D2) (D1) (D0)
COMMAND
CTCSS RX TONE
$81 SUB-AUDIO 0 0 0 0 TONE MSB LSB
STATUS DECODE BIT 2 BIT 1 BIT 0
This register is used to indicate the status of the device as described below:
(Bits 7, 6, 5 and 4) Reserved for future use. These will be set to "0" but should be ignored by user's
software.
TONE DECODE This bit indicates the status of the tone decoder. A "1" indicates a tone has been
(Bit 3) detected (TONE DECODE) and a "0" indicates the loss of the tone (NOTONE).
TONE DECODE means that a tone has been decoded and its characteristics are
defined by the bandwidth (see SUB-AUDIO CONTROL register $80, Bits 5, 4, 3
and 2) and the CTCSS RX TONE number (see SUB-AUDIO STATUS register
$81, Bits 2, 1 and 0).
When Bit 6 in the SUB-AUDIO CONTROL register $80 is set to "0" the TONE
DECODE Bit 3 will be set to "0".
CTCSS RX TONE These three bits hold a Hex number. Numbers $0 to $6 represent the address
(Bits 2, 1 and 0) of the CTCSS tone decoded according to the tones programmed in the CTCSS
RX PROGRAM register $84. The Hex number $7 indicates the presence of any
tone that is not described by CTCSS DECODER BANDWIDTH (Bits 5, 4, 3 and
2 in the SUB-AUDIO CONTROL register $80) and CTCSS FREQUENCY (Bits
11 to 0 in the CTCSS RX PROGRAM register $84).
The flow chart shows the decoder and transmitter modes of operation for the example below:
The flow chart shows the tone cloning routine. The first programmed tone set ($0-$6) will decode after
typically 140ms, subsequent tone sets will decode almost instantly (i.e. the information is available at the
Reply Data Output in less than 100µs).
Note: $8X and $9C is the Hex address/command.
1.6.1 General
The CMX808A is intended for use in radio systems where sub-audio signalling is required for functions
such as Family Radio Service (FRS) Handportables, Amateur Radio Equipment, General Mobile Radio
Service (GMRS) and Short Range Business Radio.
The facility to decode any of up to 7 programmed tones allows FRS designers to offer equipment which
can look for personal, family or open channel codes at the same time. Codes can be used as paging
codes, open chat mode codes as well as personal and family codes.
Adjustable decoder bandwidths permits certainty and signal to noise performance to be traded when
congestion or range limits the system performance.
1.6.2 Transmitter
The transmitter is enabled with Bit 7 in the SUB-AUDIO CONTROL register $80.
The Tx frequency is set using bits 0 to 12 in the CTCSS TX FREQUENCY register $83, using the formula
below:
fXTAL (Hz)
A=
16 x fTONE (Hz)
When Bit 7 (in the first 8 bits) is set to "1" the tone output is set at VBIAS or NOTONE without regard to the
number "A" programmed. When Bit 7 is "0" the programmed tone is set on the output. Programming bits
0 to 12 to "0" sets the output to VBIAS. Powersave is also achieved by disabling the Tx (Bit 7 in the SUB-
AUDIO CONTROL register $80).
The CTCSS IRQ MASK in the SUB-AUDIO CONTROL register $80 should also be set as required.
The CTCSS DECODER ENABLE in the SUB-AUDIO CONTROL register $80 should then be set to "1".
When the receiver detects a change in its present state an interrupt will be generated. The change that
occurred can be read from Bit 3 of the SUB-AUDIO STATUS register $81 and if a tone is indicated by
these bits then the number of that tone can be read from Bits 2, 1 and 0 of the same register. The
interrupt is cleared by reading the SUB-AUDIO STATUS register.
STANDARD TONES
Freq. Byte 1 Byte 2 Freq. Byte 1 Byte 2 Freq. Byte 1 Byte 2
(Hz) (Hex) (Hex) (Hz) (Hex) (Hex) (Hz) (Hex) (Hex)
67.0 0E 93 103.5 09 6F 162.2 06 05
69.3 0E 18 107.2 09 1C 167.9 05 D1
71.9 0D 95 110.9 08 CE 173.8 05 9E
74.4 0D 20 114.8 08 82 179.9 05 6E
77.0 0C AF 118.8 08 38 186.2 05 3F
79.7 0C 41 123.0 07 F1 192.8 05 11
82.5 0B D6 127.3 07 AC 203.5 04 CD
85.4 0B 6F 131.8 07 69 210.7 04 A3
88.5 0B 09 136.5 07 28 218.1 04 7A
91.5 0A AC 141.3 06 E9 225.7 04 54
94.8 0A 4D 146.2 06 AE 233.6 04 2E
97.4 0A 07 151.4 06 73 241.8 04 0A
100.0 09 C4 156.7 06 3B 250.3 03 E7
NON-STANDARD TONES
Freq. Byte 1 Byte 2 Freq. Byte 1 Byte 2 Freq. Byte 1 Byte 2
(Hz) (Hex) (Hex) (Hz) (Hex) (Hex) (Hz) (Hex) (Hex)
62.5 0F A0 183.5 05 52 199.5 04 E5
64.7 0F 18 189.9 05 24 206.5 04 BB
159.8 06 1C 196.6 04 F8 229.1 04 43
N.B. The values for byte 1 and 2 below apply to tone address 0 only. These values will vary depending
on the location they are programmed into.
STANDARD TONES
Freq. Byte 1 Byte 2 Freq. Byte 1 Byte 2 Freq. Byte 1 Byte 2
(Hz) (Hex) (Hex) (Hz) (Hex) (Hex) (Hz) (Hex) (Hex)
67.0 03 DC 103.5 06 0B 162.2 09 86
69.3 04 0D 107.2 06 48 167.9 09 CA
71.9 04 42 110.9 06 86 173.8 0A 43
74.4 04 52 114.8 06 C4 179.9 0A 88
77.0 04 87 118.8 07 03 186.2 0B 02
79.7 04 98 123.0 07 43 192.8 0B 48
82.5 04 CF 127.3 07 83 203.5 0C 03
85.4 05 06 131.8 07 C4 210.7 0C 4A
88.5 05 18 136.5 08 06 218.1 0C C7
91.5 05 50 141.3 08 48 225.7 0D 45
94.8 05 8B 146.2 08 8A 233.6 0D C4
97.4 05 C2 151.4 08 CD 241.8 0E 43
100.0 05 CF 156.7 09 42 250.3 0E C3
NON-STANDARD TONES
Freq. Byte 1 Byte 2 Freq. Byte 1 Byte 2 Freq. Byte 1 Byte 2
(Hz) (Hex) (Hex) (Hz) (Hex) (Hex) (Hz) (Hex) (Hex)
62.5 03 9C 183.5 0A C6 199.5 0B C3
64.7 03 CB 189.9 0B 41 206.5 0C 0A
159.8 09 4C 196.6 0B 87 229.1 0D 83
DC Parameters
At VDD = 3.0V
IDD (powersaved) 2 - 0.2 0.3 mA
IDD (Encoder or Decoder only Operating) 2 - 1.3 2.0 mA
At VDD = 5.0V
IDD (powersaved) 2 - 0.5 0.8 mA
IDD (Encoder or Decoder only Operating) 2 - 3.2 4.8 mA
"C-BUS" Interface
Input Logic "1" 70% - - VDD
Input Logic "0" - - 30% VDD
Input Leakage Current (Logic "1" or "0") -1.0 - 1.0 µA
Input Capacitance - - 7.5 pF
Output Logic "1" (IOH = 120µA) 90% - - VDD
Output Logic "0" (IOL = 360µA) - - 10% VDD
"Off" State Leakage Current (Vout = VDD) 3 - - 10.0 µA
AC Parameters
CTCSS Decoder
Sensitivity (Pure CTCSS Tone) 5 - -26.0 - dB
Response Time (Composite Signal) - 140 - ms
De-Response Time (Composite Signal) - 145 - ms
Frequency Range 60.0 - 251 Hz
CTCSS Encoder
Frequency Range 60.0 - 251 Hz
Tone Frequency Resolution - - 0.3 %
Tone Amplitude Tolerance 1 -1.0 0 +1.0 dB
Total Harmonic Distortion - 3.0 - %
Audio Attenuator
Nominal Adjustment Range 0 - 48 dB
Attenuation Accuracy -1.5 - 1.5 dB
Step Size - 1.6 - dB
Output Impedances
TX SUB-AUDIO OUT (Enabled) - 2.0 - kΩ
TX/RX AUDIO OUT (Enabled) - 600 - Ω
TX/RX AUDIO OUT (Disabled) - 500 - kΩ
VOLUME OUT (Enabled) 7 - 600 - Ω
Rx Amplifier
Open Loop Gain (I/P = 1mV at 100Hz) - 70.0 - dB
Unity Gain Bandwidth - 5.0 - MHz
Input Impedance (at 100Hz) 10.0 - - MΩ
Output Impedance (Open Loop) - 6.0 - kΩ
Xtal/Clock Input
Pulse Width ('High' or 'Low') 4 40.0 - - ns
Input Impedance (at 100Hz) 10.0 - - MΩ
Gain (I/P = 1mVrms at 100Hz) 20.0 - - dB
Notes: 1. At VDD = 5.0V only. Signal levels or currents are proportional to VDD.
2. Not including any current drawn from the device pins by external circuitry.
3. IRQN pin.
4. Timing for an external input to the XTAL/CLOCK pin.
5. With input gain components set as recommended in Figure 2.
6. See filter response (Figure 5).
7. Small signal impedance VDD = 5.0V and Tamb=25°C. A minimum load resistance of
6kΩ is suggested.
-5
-10
-15
-20
-25
-30
-35
-40
-45
-50
10 100 1,000 10,000 100,000
Frequency (Hz)
Timing Diagrams
Notes: 1. Depending on the command, 1 or 2 bytes of COMMAND DATA are transmitted to the
peripheral MSB (Bit 7) first, LSB (Bit 0) last. REPLY DATA is read from the peripheral MSB
(Bit 7) first, LSB (Bit 0) last.
2. Data is clocked into and out of the peripheral on the rising SERIAL CLOCK edge.
3. Loaded commands are acted upon at the end of each command.
4. To allow for differing µController serial interface formats "C-BUS" compatible ICs are able to
work with either polarity SERIAL CLOCK pulses.
1.7.2 Packaging
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.
www.cmlmicro.com
For FAQs see: www.cmlmicro.com/products/faqs/
Oval Park, Langford, 4800 Bethania Station Road, No 2 Kallang Pudding No. 218, Tian Mu Road
Maldon, Essex, Winston-Salem, Road, #09 to 05/06 West, Tower 1, Unit 1008,
CM9 6WG - England. NC 27105 - USA. Mactech Industrial Building, Shanghai Kerry Everbright
Singapore 349307 City, Zhabei,
Shanghai 200070,
China.
Tel: +44 (0)1621 875500 Tel: +1 336 744 5050, Tel: +65 6745 0426 Tel: +86 21 6317 4107
800 638 5577 +86 21 6317 8916
Fax: +44 (0)1621 875600 Fax: +1 336 744 5054 Fax: +65 6745 2917 Fax: +86 21 6317 0243
www.DatasheetCatalog.com