BANK SWITCHING
26-Bit 3.23 Number Format
2
Bit
–23
S_xx.xxxx_xxxx_xxxx_xxxx_xxxx_xxx
2
Bit
–5
2
Bit
–1
2 Bit
0
SignBit
2 Bit
1
M0125-01
SLOS605 – JANUARY 2009............................................................................................................................................................................................... www.ti.com
The TAS5710 uses an approach called bank switching together with automatic sample-rate detection. All
processing features that must be changed for different sample rates are stored internally in the TAS5710. The
TAS5710 has three full banks storing information, one for 32-48 kHz, one for 16-24 kHz, and one for all other
data rates. Combined with the clock-rate autodetection feature, bank switching allows the TAS5710 to detect
automatically a change in the input sample rate and switch to the appropriate bank without any MCU
intervention.
An external controller updates the three banks (see the I2C register mapping table for bankable locations) during
the initialization sequence.
If the autobank switch is enabled (register 0x50, bits 2:0) , then the TAS5710 automatically swaps the
coefficients for subsequent sample rate changes, avoiding the need for any external controller intervention for a
sample rate change.
By default, bits 2:0 have the value 000; that means the bank switch is disabled. In that state, any update to
locations 0x29–0x3F and 0x58–0x5F go into the DAP. A write to register 0x50 with bits 2:0 being 001, 010, or
011 brings the system into the coefficient-bank-update state update bank1, update bank2, or update bank3,
respectively. Any subsequent write to locations 0x29-0x3F and 0x58–0x5F updates the coefficient banks stored
outside the DAP. After updating all the three banks, the system controller should issue a write to register 0x50
with bits 2:0 being 100; this changes the system state to automatic bank update. In automatic bank update, the
TAS5710 automatically swaps banks based on the sample rate.
Command sequences for initialization can be summarized as follows:
1.
Enable factory trim for internal oscillator: Write to register 0x1B with a value 0x00.
2.
Update coefficients: Coefficients can be loaded into DAP RAM using the manual bank mode.
OR
Use automatic bank mode.
a.
Enable bank-1 mode: Write to register 0x50 with 0x01. Load the 32 kHz coefficients.
b.
Enable bank-2 mode: Write to register 0x50 with 0x02. Load the 48 kHz coefficients.
c.
Enable bank-3 mode: Write to register 0x50 with 0x03. Load the other coefficients.
d.
Enable automatic bank switching by writing to register 0x50 with 0x04.
3.
Bring the system out of all-channel shutdown: Write 0 to bit 6 of register 0x05.
4.
Issue master volume: Write to register 0x07 with the volume value (0 db = 0x30).
All mixer gain coefficients are 26-bit coefficients using a 3.23 number format. Numbers formatted as 3.23
numbers means that there are 3 bits to the left of the decimal point and 23 bits to the right of the decimal point.
Figure 35. 3.23 Format
28
Copyright 2009, Texas Instruments Incorporated