![](http://datasheet.mmic.net.cn/330000/IDT821064_datasheet_16415949/IDT821064_13.png)
13
INDUSTRIAL TEMPERATURE RANGE
IDT821064 QUAD PROGRAMMABLE PCM CODEC WITH GCI INTERFACE
and the output bit is set to 0. In other cases, the latch, the SIB status
remains in their previous state without being changed. In this way, at
least six consecutive GK clocks with the debounce input remaining at
the same state to effect an output change.
Figure 7. Debounce Filters
D
Q
D
Q
D
Q
D
Q
E
D
Q
DSH3-DSH0
Debounce
Period
(0-30ms)
D
Q
GK3-GK0
Debounce
Interval
(0-30ms)
up/
down
Q
6 states
Up/down
Counter
7 bit Debounce
Counter
7 bit Debounce
Counter
= 0
1
0
GK
SIB
SIA
SI1
4kHz
SI2
RST
FSC/2
DUAL TONE AND RING GENERATION
Each channel of IDT821064 has two tone generators, Tone 0 generator
and Tone 1 generator, which can produce a gain-adjustable dual tone
signal and output it to VOUT pin. The tone generators can be used to
generate signals such as test tone, DTMF, dial tone, busy tone,
congestion tone and Caller-ID Alerting Tone etc.
The Tone 0 generator and Tone 1 generator of each channel can be
enabled or disabled independently by setting the TEN0 and TEN1 bits in
Local Command 5.
The tone generator is user-programmable, the frequency and
amplitude of the tone can be programmed by writing coefficient into the
Coe-RAM. The frequency coefficient and amplitude coefficient can be
calculated by the following formulas:
Frequency Coefficient = 32767
cos( f/8000
2π)
Amplitude Coefficient = A
32767
sin( f/8000
2 π)
Herein, ‘f ‘ is the desired frequency of the tone; ‘A’ is scaling parameter
for the amplitude of the tone. The range of ‘A’ is from 0 to 1:
A = 1, corresponding to the maximum amplitude, 1.57 V ;
A = 0, corresponding to minimum amplitude, 0 V.
It is a linear relationship between ‘A’ and amplitude, which means if
‘A’=
β ( 0< β< 1),
then the amplitude will be 1.57
β
(V).
The Frequency range is from 25 Hz to 3400 Hz. The frequency
tolerances are as the following:
25 Hz < f < 40 Hz, tolerance<
±
12
%
40 Hz < f < 60 Hz, tolerance<
±
5
%
60 Hz < f < 100 Hz, tolerance<
±
2.5
%
100Hz < f < 3400 Hz, tolerance<
±
1
%
The Frequency Coefficient and Amplitude Coefficient should be
converted to corresponding hexadecimal value before being written into
the Coe-RAM. Refer to Appendix for address of Tone-RAM.
Ring signal is a special signal generated by the dual tone generators.
When only one tone generator is enabled or both tone generators
produce the same tone, and frequency of the tone is set as ring signal
required (10 Hz to 100 Hz), the VOUT pin will output the Ring signal.
FSK SIGNAL GENERATION
The IDT821064 provides a FSK signal generator to send Caller-ID
messages. Generally, the procedure of sending Caller-ID messages by
FSK codes is as the following:
Step 1: Start, Send Seizure Signal;
Step 2: Send Mark Signal;
Step 3: Send one byte Caller-ID message, then send Flag Signal;
Step 4: If the messages to be sent are finished, stop;
otherwise, return to step 3.
Herein, the Seizure Signal is a string of '01' pairs to inform telephone
set that Caller-ID message will come; the Mark Signal is a string of '1',
which follows the Seizure Signal to inform telephone set that Caller-ID
message is coming; while the Flag Signal is a string of '1' sending between
two bytes of Caller-ID message, with this the telephone set can have
enough time to process the received byte.
According to the generic procedure of FSK signal sending, a
recommended programming flow chart for IDT821064 FSK generator
is shown in Figure 8.
To make it easy for users to understand the flow chart, several notes
is given below:
1. The FSK function block will be enabled when FSK On/Off bit (FO) in
Global Command 15 is set to '1'. After finishing sending the FSK signal,
the FO bit should be set to '0' to disable the generation function.
2. The FSK Start bit (FS) in Global Command 15 is used to indicate
the start of the FSK signal generation, when FS is '0' which means the
function block is idle, users can go on with the operation; when FS is '1'
which means FSK generator is busy, users should wait until it turns to '0'