DAC
2.4.5 DAC Special Functions
2.4.5.1
Beep Generation
A special function has also been included in the processing block PRB_P25 for generating a digital sine-
wave signal that is sent to the DAC. This is intended for generating key-click sounds for user feedback. A
default value for the sine-wave frequency, sine burst length, and signal magnitude is kept in the Tone
Generator Registers Page 0 / Registers 71 through 79. The sine wave generator is very flexible, and is
completely register programmable via 9 registers of 8 bits each to provide many different sounds.
Two registers are used for programming the 16-bit, two's-complement, sine-wave coefficient (Page 0 /
Registers 76 and 77). Two other registers program the 16-bit, two's-complement, cosine-wave coefficient
(Page 0 / Registers 78 and 79). This coefficient resolution allows virtually any frequency of sine wave in
the audio band to be generated up to DAC_FS/2.
Three registers are used to control the length of the sine burst waveform which are located on Page 0 /
Registers 73, 74, and 75. The resolution (bit) in the registers of the sine burst length is one sample time,
so this allows great control on the overall time of the sine burst waveform. This 24-bit length timer
supports 16,777,215 sample times. (For example if DAC_FS is set at 48kHz, and the registers combined
value equals 96000d (01770h), then the sine burst would last exactly two seconds.)
Two registers are used to independently control the Left sine-wave volume and the Right sine-wave
volume. The 6-bit digital volume control allows level control of 0dB to –63dB in one dB steps. The left-
channel volume is controlled by writing to Page 0 / Register 71, Bits D5-D0. The right-channel volume is
controlled by Page 0 / Register 72, Bits D5-D0. A master volume control for the left and right channel of
the beep generator can be set up using Page 0 / Register 72, Bits D7-D6. The default volume control
setting is 0dB, the tone generator maximum-output level.
For playing back the sine wave, the DAC must be configured with regards to clock setup and routing. The
sine wave gets started by setting the Beep Generator Enable Bit (Page 1 / Register 71, Bit D7=1). After
the sine wave has played for its predefined time period this bit will automatically set back to 0. While the
sine wave is playing, the parameters of the beep generator cannot be changed. To stop the sine wave
while it is playing set the Beep Generator Enable Bit to 0.
2.4.5.2
Digital Auto Mute
The TLV320DAC3203 also incorporates a special feature, in which the DAC channel is auto-muted when
a continuous stream of DC-input is detected. By default, this feature is disabled. It can be enabled by
writing a non-000 value into Page 0 / Register 64, Bits D6-D4. The non-zero value controls the duration of
continuous stream of DC-input before which the auto-mute feature takes effect. This feature is especially
helpful for eliminating high-frequency-noise power being delivered into the load even during silent periods
of speech or music.
2.4.5.3
Adaptive Filtering
When the DAC is running, the user-programmable filter coefficients are locked and cannot be accessed
for either read or write.
However the TLV320DAC3203 offers an adaptive filter mode as well. Setting Register Page 44,Reg 1, Bit
D2=1 will turn on double buffering of the coefficients. In this mode, filter coefficients can be updated
through the host, and activated without stopping and restarting the DAC. This enables advanced adaptive
filtering applications.
In the double-buffering scheme, all coefficients are stored in two buffers (Buffers A and B). When the DAC
is running and adaptive filtering mode is turned on, setting the control bit Page 44 / Register 1, Bit D0=1
switches the coefficient buffers at the next start of a sampling period. This bit is set back to 0 after the
switch occurs. At the same time, the flag Page 44 / Reg 1, Bit D1) toggles.
The flag in Page 44 / Register 1, Bit D1) indicates which of the two buffers is actually in use.
Page 44 / Register 1, Bit D1=0: Buffer A is in use by the DAC engine, Bit D1=1: Buffer B is in use.
While the device is running, coefficient updates are always made to the buffer not in use by the DAC,
regardless to which buffer the coefficients have been written.
47
SLAU434 – May 2012
TLV320DAC3203 Application
Copyright © 2012, Texas Instruments Incorporated