Si3210/Si3211
Rev. 1.61
41
Not
Recommended
fo
r N
ew
D
esi
gn
s
Figure 20. Simplified Tone Generator Diagram
2.3.2. Oscillator Frequency and Amplitude
Each of the two tone generators contains a two-pole
resonate
oscillator
circuit
with
a
programmable
frequency and amplitude, which are programmed via
indirect registers OSC1, OSC1X, OSC1Y, OSC2,
OSC2X, and OSC2Y. 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;
OSCn = coeffn x(2
15);
where desired Vrms is the amplitude to be generated;
OSCnY = 0,
n = 1 or 2 for oscillator 1 or oscillator 2, respectively.
For example, in order to generate a DTMF digit of 8, the
two required tones are 852 Hz and 1336 Hz. Assuming
the generation of half-scale values (ignoring twist) is
desired, the following values are calculated:
OSC1Y = 0
OSC2 = 0.49819 (215) = 16324 = 3FC4h
OSC2Y = 0
The above computed values would be 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.
2.3.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 OAT1 (direct
registers 36 and 37) for tone generator 1 and OAT2
(direct registers 40 and 41) for tone generator 2.
To enable automatic cadence for tone generator 1,
define the OAT1 and OIT1 registers and then set the
O1TAE bit (direct Register 32, bit 4) and O1TIE bit
(direct Register 32, bit 3). This enables each of the
timers to control the state of the Oscillator Enable bit,
O1E (direct Register 32, bit 2). The 16-bit counter will
begin counting until the active timer expires, at which
OZn
OSSn
*Tone Generator 1 Only
n = "1" or "2" for Tone Generator 1 and 2, respectively
Two-Pole
Resonance
Oscillator
16-Bit
Modulo
Counter
OATn
OITn
OITnE
OATnE
OSCn
OSCnY
OSCnX
Load
Logic
Zero
Cross
Logic
Signal
Routing
OnSO
to TX Path
to RX Path
INT
Logic
OnIP
OnIE
INT
Logic
OnAP
OnAE
REL*
Register
Load
Enable
8 kHz
Clock
Zero Cross
OnE
OAT
Expire
OIT
Expire
8 kHz
Clock
OSCnX
1
4
---
1
coeff
–
1
coeff
+
------------------------
2
15
1
–
Desired V
rms
1.11 V
rms
-------------------------------------
=
coeff
1
2
852
8000
-----------------
cos
0.78434
==
OSC1
0.78434 2
15
25701
6465h
=
==
OSC1X
1
4
---
0.21556
1.78434
---------------------
2
15
1
–
0.5
1424
590h
=
coeff
2
1336
8000
--------------------
cos
0.49819
==
OSC2X
1
4
---
0.50181
1.49819
---------------------
2
15
1
–
0.5
2370
942h
=