Si3220/25 Si3200/02
64
Rev. 1.3
Not
Recommended
fo
r N
ew
D
esi
gn
s
Figure 35. Tone Generator Diagram
3.20.2. Oscillator Frequency and Amplitude
Each of the two tone generators contains a two-pole
resonant
oscillator
circuit
with
a
programmable
frequency and amplitude, which are programmed via
RAM addresses OSC1FREQ, OSC1AMP, OSC1PHAS,
OSC2FREQ, OSC2AMP, and OSC2PHAS. The sample
rate for the two oscillators is 8000 Hz. The equations
are as follows:
coeffn =cos(2fn/8000 Hz),
where fn is the frequency to be generated;
OSCnFREQ = coeffn x (2
14);
where Desired Vrms is the amplitude to be generated;
OSCnPHAS = 0,
n = 1 or 2 for oscillator 1 or oscillator 2, respectively.
For example, to generate a DTMF digit of 8, the two
required tones are 852 Hz and 1336 Hz. Assuming we
want to generate half-scale values (ignoring twist), the
following values are calculated:
OSC1PHAS = 0
coeff2 =cos (21336 / 8000) = 0.49819
OSC2FREQ = 0.49819 (214) = 8162 = 0x1FE2
OSC2PHAS = 0
The preceding computed values are written to the
corresponding registers to initialize the oscillators. Once
the oscillators are initialized, the oscillator control
registers can be accessed to enable the oscillators and
direct their outputs.
FSK
frequency
coefficients,
FSKFREQ0/1
and
FSKAMP0/1,
are
calculated
from
the
oscillator
equations and changing the sample rate from 8000 Hz
to 24000 Hz.
3.20.3. Tone Generator Cadence Programming
Each of the two tone generators contains two timers,
one for setting the active period and one for setting the
inactive period. The oscillator signal is generated during
the active period and suspended during the inactive
period. Both the active and inactive periods can be
programmed from 0 to 8 seconds in 125 s steps. The
active period time interval is set using OSC1TA for tone
generator 1 and OSC2TA for tone generator 2.
ZEROENn
ENSYNCn
*Tone Generator 1 Only
n = "1" or "2" for Tone Generator 1 and 2, respectively
Two-Pole
Resonant
Oscillator
16-Bit
Modulo
Counter
OSCnTA
OSCnTI
OSCnTIEN
OSCnTAEN
OSCnFREQ
OSCnPHAS
OSCnAMP
Load
Logic
Zero
Cross
Logic
Signal
Routing
ROUTn
to TX Path
to RX Path
INT
Logic
OSnTIS
OSnTIE
INT
Logic
OSnTAS
OSnTAE
REL*
Register
Load
Enable
8 kHz
Clock
Zero Cross
OSCnEN
OSCnTA
Expire
OSCnTI
Expire
8 kHz
Clock
OSCnAMP
1
4
--- 1coeff
–
1coeff
+
------------------------
2
15
1
–
Desired Vrms
1.11 Vrms
----------------------------------------
=
coeff
1
2
852
8000
-----------------
cos
0.78434
==
OSC1FREQ
0.78434 2
14
12851
0x3233
=
==
OSC1AMP
1
4
--- 0.21556
1.78434
---------------------
2
15
1
–
0.5
1424
0x590
=
=
OSC2AMP
1
4
--- 0.50181
1.49819
---------------------
2
15
1
–
0.5
2370
0x942
=
=