
CMX866 Operation with Low-Level Commands
Page 3 of 7
value to the description of the CMX868 Receive Mode register indicates that the
following actions will occur:
DTMF/Programmable Tone Pair/Answer Tone/Call Progress detection mode
selected (b15-12=0001)
0dB internally provided Rx gain (b11-9=111)
DTMF Tones detection mode (b2-0=001)
(Note that b8-3 of the Receive Mode register are
“
don
’
t cares
”
for DTMF detection
mode.)
2.3 Programmable Tone Generation
After the CMX866 has been successfully powered up, both the CMX866 Transmit
Mode register (address $E1) and the CMX866 Programming Register (address $E8)
must be written to in order to generate user-defined tones. These registers are fully
described in Sections 1.5.10.3 and 1.5.10.8 of the CMX868 data sheet.
The CMX866 has the capability to generate single or dual user-defined tones. Four
transmit
“
tone pairs
”
are provided in the CMX866 for programmable tone generation;
TA, TB, TC, and TD. Information corresponding to the desired frequency and
amplitude must be supplied for each tone of each desired tone pair, so frequency
and amplitude information for eight different tones can be loaded into the CMX866.
Formulas for calculation of register contents for various frequencies and amplitudes
are provided in Section 1.5.10.8 of the CMX868 data sheet.
The CMX866 Programming Register should only be written to when the
Programming Flag bit of the CMX866 Status Register (address $E6) is 1. The act of
writing to the Programming Register clears the Programming Flag bit. When the
programming action is completed (normally within 150
μ
s after writing to the
Programming Register), the Programming Flag bit is set back to 1.
Please review
Section 1.5.10.8 of the CMX868 data sheet for more details concerning the
loading of values into the CMX866 programming register.
The CMX866 Status Register must be read to check the status of the Programming
Flag bit, and this can be done with the following AT command:
AT@RE6<CR>
A numeric result will be provided that represents the Status Register contents. The
format of this response (decimal or hex) is determined by bit 4 of the S14
“
S-register
”
in the CMX866.
The selected tone pair (determined by the CMX866 Transmit Mode register)
determines which tones are transmitted. When only one tone is to be generated, the
frequency and amplitude values for the other tone of the pair should be set to 0.
To summarize, the general approach is to:
Determine the amplitude and frequency of the tone(s) you want to generate.
Calculate the required coefficients to generate the tone(s) using the formulas in
Section 1.5.10.8 of the CMX868 data sheet.
Load those coefficients into the CMX866 Programming Register.