
12
Lucent Technologies Inc.
User Manual
September 2000
T8531 and T8531A Tone Processing
Call Progress Tone Generation
The call progress tone (CPT) generation algorithm generates either one or two frequencies with configurable mag-
nitudes. Frequencies up to 4 kHz are supported with approximately a 4 Hz step resolution (the exact step value is
1/0.256). Therefore, the generated frequency may differ slightly from the desired frequency but the difference is
never greater then 2 Hz.
The host performs the following actions prior to configuring the RX ac routine control word for CPT Generation:
I
Writes the time-slot control number.
I
Writes two frequency deltas.
I
Writes two magnitudes of signals into the tone generation control area.
The host is required to poll the time-slot control number to determine if the CPT control area is available for new
data. If the value is 0xFFFF, the host can write the time-slot number (value: 0x0000, 0x0040, . . . 0x03C0), fre-
quency delta coefficients, and frequency magnitude coefficients. The host may change the RX ac routine for CPT
generation after the control words have been written.
Table 8. Call Progress Tone Generation Control Words
RAM Address
0x05EF
0x05F0
0x05F1
0x05F2
0x05F3
Size
(serves all 16 channels)
1 word
1 word
1 word
1 word
1 word
Function
Time-slot control number.
First signal frequency delta.
First signal magnitude.
Second signal frequency delta.
Second signal magnitude.
Frequency delta is defined as follows:
Equation 1
Output frequency delta for call progress tone genera-
tion.
delta = HEX(ROUND(FREQ * 0.256))
where:
FREQ is signal frequency [Hz].
ROUND is function which rounds towards the nearest
integer.
HEX is function for conversion of integer decimal value
into hexadecimal code.
example:
If FREQ = 350 Hz
then delta = 0x005A
Signal magnitude is defined as follows:
Equation 2
Output signal magnitude for call progress tone genera-
tion.
magnitude =
HEX(ROUND(11189 * (10^(OUT_LEVEL/20))))
where:
OUT_LEVEL is output signal level [+3.17 . . . –60 dBm].
ROUND is function which rounds towards the nearest
integer.
HEX is function for conversion of integer decimal value
into hexadecimal code.
example:
If OUT_LEVEL = –13 dBm
then magnitude = 0x09C9