TAS5504 Controls and Status
41
SLES123 October 2004
TAS5504
If MCLK or SCLK is stopped, the TAS5504 performs a bank switch operation. If the clocks should start up once
the manual bank switch command has been received, the bank switch operation is performed during the 5-ms
silent start sequence.
2.5.2 Automatic Bank Selection
To enable automatic bank selection, a value of 3 is written into in the bank selection bits of the bank control
register. Banks are associated with one or more sample rates by writing values into the Bank 1 or Bank 2 data
rate selection registers. The automatic base selection is performed when a frequency change is detected
according to the following scheme:
1. The system scans Bank 1 data rate associations to see if the Bank 1 is assigned for that data rate.
2. If Bank 1 is assigned, then the Bank 1 coefficients will be loaded.
3. If it is not then, the system scans the bank 2 to see if Bank 1 is assigned for that data rate.
4. If Bank 2 is assigned, then the Bank 2 coefficients will be loaded.
5. If it is not then, the system loads the Bank 3 coefficients.
The default is that all frequencies are enabled for Bank 1. This default is expressed as a value of all 1s in the
Bank 1 auto-selection byte and all 0s in the bank 2 auto-section byte.
2.5.2.1
Coefficients Write Operations While Automatic Bank Switch Is Enabled
In automatic mode if a write occurs to the Tone, EQ, DRC, or Loudness coefficients, the bank that is written
to is the current bank.
2.5.3 Bank Set
Bank set is used to provide a secure way to update the bank coefficients in both the manual and automatic
switching modes without causing a bank switch to occur. Bank set mode does not alter the current bank
register mapping. It simply enables any bank’s coefficients to be updated while inhibiting any bank switches
from taking place. In manual mode, this enables the coefficients to be set without switching banks. In automatic
mode this prevents a clock error or data rate change from corrupting a bank coefficient write.
To update the coefficients of a bank, a value of 4, 5, or 6 is written into in the bank selection bits of the bank
control register. This enables the Tone, EQ, DRC, and Loudness coefficient values of bank 1, 2, or 3 to be
respectively updated.
Once the coefficients of the bank have been updated, the bank selection bits are then returned to the desired
manual or automatic bank selection mode.
2.5.4 Bank Switch Timeline
After a bank switch is initiated (manual or automatic), no I2C writes to the TAS5504 should occur before a
minimum of 186 ms. This value is determined by the volume ramp rates for a particular sample rate.
2.5.5 Bank Switching Example 1
Problem: The audio unit containing a TAS5504 needs to handle different audio formats with different sample
rates. Format #1 requires Fs = 32 kHz, Format #2 requires Fs = 44.1 kHz, and Format #3 requires Fs = 48
kHz. The sample-rate dependent parameters in the TAS5504 require different coefficients and data
depending on the sample rate.
Strategy: Use the TAS5504 bank switching feature to allow for managing and switching three banks
associated with the three sample rates, 32 kHz (Bank 1), 44.1 kHz (Bank 2), and 48 kHz (Bank 3).
One possible algorithm is to generate, load, and automatically manage bank switching for this problem:
Generate bank-related coefficients (see above) for sample rates 32 kHz, 44.1 kHz, and 48 kHz and include
the same in the micro-based TAS5504 I2C firmware.