TI TAS5504

TM
TAS5504
4 Channel Digital Audio PWM Processor
Data Manual
2004
DAV−Digital Audio/Speaker
SLES123
IMPORTANT NOTICE
Texas Instruments Incorporated and its subsidiaries (TI) reserve the right to make corrections, modifications,
enhancements, improvements, and other changes to its products and services at any time and to discontinue
any product or service without notice. Customers should obtain the latest relevant information before placing
orders and should verify that such information is current and complete. All products are sold subject to TI’s terms
and conditions of sale supplied at the time of order acknowledgment.
TI warrants performance of its hardware products to the specifications applicable at the time of sale in
accordance with TI’s standard warranty. Testing and other quality control techniques are used to the extent TI
deems necessary to support this warranty. Except where mandated by government requirements, testing of all
parameters of each product is not necessarily performed.
TI assumes no liability for applications assistance or customer product design. Customers are responsible for
their products and applications using TI components. To minimize the risks associated with customer products
and applications, customers should provide adequate design and operating safeguards.
TI does not warrant or represent that any license, either express or implied, is granted under any TI patent right,
copyright, mask work right, or other TI intellectual property right relating to any combination, machine, or process
in which TI products or services are used. Information published by TI regarding third-party products or services
does not constitute a license from TI to use such products or services or a warranty or endorsement thereof.
Use of such information may require a license from a third party under the patents or other intellectual property
of the third party, or a license from TI under the patents or other intellectual property of TI.
Reproduction of information in TI data books or data sheets is permissible only if reproduction is without
alteration and is accompanied by all associated warranties, conditions, limitations, and notices. Reproduction
of this information with alteration is an unfair and deceptive business practice. TI is not responsible or liable for
such altered documentation.
Resale of TI products or services with statements different from or beyond the parameters stated by TI for that
product or service voids all express and any implied warranties for the associated TI product or service and
is an unfair and deceptive business practice. TI is not responsible or liable for any such statements.
Following are URLs where you can obtain information on other Texas Instruments products and application
solutions:
Products
Amplifiers
Applications
amplifier.ti.com
Audio
www.ti.com/audio
Data Converters
dataconverter.ti.com
Automotive
www.ti.com/automotive
DSP
dsp.ti.com
Broadband
www.ti.com/broadband
Interface
interface.ti.com
Digital Control
www.ti.com/digitalcontrol
Logic
logic.ti.com
Military
www.ti.com/military
Power Mgmt
power.ti.com
Optical Networking
www.ti.com/opticalnetwork
Microcontrollers
microcontroller.ti.com
Security
www.ti.com/security
Telephony
www.ti.com/telephony
Video & Imaging
www.ti.com/video
Wireless
www.ti.com/wireless
Mailing Address:
Texas Instruments
Post Office Box 655303 Dallas, Texas 75265
Copyright  2004, Texas Instruments Incorporated
Contents
Contents
Section
1
2
Page
Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1
TAS5504 Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1
Audio Input/Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2
Audio Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3
PWM Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.4
General Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2
Physical Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1
Terminal Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.2
Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3
Terminal Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3
TAS5504 Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.1
Power Supply . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.2
Clock, PLL, and Serial Data Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3.3
I2C Serial Control Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.4
Device Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3.5
Digital Audio Processor (DAP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4
TAS5504 DAP Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.1
TAS5504 DAP Architecture Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.4.2
I2C Coefficient Number Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.5
Input Crossbar Mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6
Biquad Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.7
Bass and Treble Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.8
Volume, Auto Mute, and Mute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.8.1
Auto Mute and Mute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.9
Loudness Compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.9.1
Loudness Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.10.2
Compression/Expansion Coefficient Computation Engine Parameters . . . . . . . . . . . . . . 25
1.11
Output Mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.12
PWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
1.12.1
DC Blocking (High Pass Enable/ Disable) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.12.2
De-Emphasis Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.12.3
Power Supply Volume Control (PSVC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.12.4
AM Interference Avoidance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
TAS5504 Controls and Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1
I2C Status Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1.1
General Status Register (0x01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.1.2
Error Status Register (0x02) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2
TAS5504 Pin Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.1
Reset (RESET) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.2.2
Power Down (PDN) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2.3
Backend Error (BKND_ERR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2.2.4
Speaker/Headphone Selector (HP_SEL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.2.5
Mute (MUTE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3
Device Configuration Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.1
Channel Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3.2
Headphone Configuration Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
October 2004
SLES123
iii
Contents
3
4
5
6
iv
2.3.3
Audio System Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.4
Recovery from Clock Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.5
Power Supply Volume Control Enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.6
Volume and Mute Update Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.7
Modulation Index Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.8
Inter-channel Delay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4
Master Clock and Serial Data Rate Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4.1
PLL Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5
Bank Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.1
Manual Bank Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.2
Automatic Bank Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.3
Bank Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.4
Bank Switch Timeline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.5
Bank Switching Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5.6
Bank Switching Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2
Dynamic Performance (At Recommended Operating Conditions at 25°C) . . . . . . . . . . . . . . . . . . . .
3.3
Recommended Operating Conditions (over 0°C to 70°C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4
Electrical Characteristics Over Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . .
3.5
PWM Operation at Recommended Operating Conditions Over 0°C to 70°C . . . . . . . . . . . . . . . . . . .
3.6
Switching Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.1
Clock Signals Over Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.2
Serial Audio Port . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.3
I2C Serial Control Port Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.4
Reset Timing (RESET) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.5
Power-Down (PDN) Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.6
Backend Error (BKND_ERR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.7
MUTE Timing—MUTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.8
Headphone Select (HP_SEL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6.9
Volume Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7
Serial Audio Interface Control and Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.1
I2S Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.2
Left Justified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7.3
Right Justified . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I2C Serial Control Interface (Slave Address 0x36) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1
General I2C Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2
Single and Multiple Byte Transfers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3
Single Byte Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4
Multiple Byte Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5
Incremental Multiple Byte Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.6
Single Byte Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7
Multiple Byte Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serial Control I2C Register Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serial Control Interface Register Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1
Clock Control Register (0x00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2
General Status Register 0 (0x01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.3
Error Status Register (0x02) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.4
System Control Register 1 (0x03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SLES123
38
38
38
38
39
39
39
40
40
40
41
41
41
41
42
43
43
43
43
44
44
44
44
45
46
47
47
48
48
49
50
50
50
51
52
53
53
53
54
54
54
55
55
57
63
63
63
63
64
October 2004
Contents
7
6.5
System Control Register 2 (0x04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6
Channel Configuration Control Register (0x05−X0C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.7
Headphone Configuration Control Register (0x0D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.8
Serial Data Interface Control Register (0x0E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.9
Soft Mute Register (0x0F) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.10
Automute Control Register(0x14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.11
Automute PWM Threshold and Backend Reset Period (0x15) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.12
Modulation Index Limit Register (0x16) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.13
Interchannel Channel Delay Registers (0x1B − 0x22) and Offset Register (0x23) . . . . . . . . . . . . . .
6.14
Bank Switching Command (0x40) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.15
Input Mixer Registers (0x41, 0x42, 0x47, 0x48, Channels 1−4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.16
Bass Management Registers (0x49–0x50) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.17
Biquad Filters Register (0x51 – 0x88) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.18
Bass and Treble Bypass Register (0x89 – 0x90, Channels 1 − 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.19
Loudness Registers (0x91 – 0x95) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.20
DRC1 Control (0x96, Channels 1−3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.21
DRC2 Control (0x97, Channel 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.22
DRC1 Data Registers (0x98 – 0x9C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.23
DRC2 Data Registers (0x9D – 0xA1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.24
DRC Bypass Registers (0xA2, 0xA3, 0xA8, 0xA9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.25
4x2 Output Mixer Registers (0xAA and 0xAB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.26
4x3 Output Mixer Registers (0xB0 – 0xB1) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.27
Volume Biquad Register (0xCF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.28
Volume Treble and Bass Slew Rates (0xD0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.29
Volume Registers (0xD1, 0xD2, 0xD7, and 0xD8) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.30
Bass Filter Set Register (0xDA) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.31
Bass Filter Index Register (0xDB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.32
Treble Filter Set Register (0xDC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.33
Treble Filter Index (0xDD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.34
AM Mode Register (0xDE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.35
PSVC Range Register (0xDF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.36
General Control Register (0xE0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.37
Incremental Multiple Write Append Register (0xFE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TAS5504 Example Application Schematic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
October 2004
SLES123
64
64
65
65
66
66
67
68
68
69
70
72
72
73
73
74
74
75
76
77
77
78
80
80
80
81
82
83
84
84
85
85
85
87
v
List of Illustrations
List of Illustrations
Figure
Title
Page
1−1 TAS5504 Functional Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−2 TAS5504 DAP Architecture With I2C Registers (Fs ≤ 96 kHz) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−3 TAS5504 Architecture With I2C Registers (Fs = 176.4 kHz or Fs = 192 kHz) . . . . . . . . . . . . . . . . . . . .
1−4 TAS5504 Detailed Channel Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−5 5.23 Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−6 Conversion Weighting Factors—5.23 Format to Floating Point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−7 Alignment of 5.23 Coefficient in 32-Bit I2C Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−8 25.23 Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−9 Alignment of 5.23 Coefficient in 32-Bit I2C Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−10 Alignment of 25.23 Coefficient in Two 32-Bit I2C Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−11 TAS5504 Digital Audio Processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−12 Input Crossbar Mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−13 Biquad Filter Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−14 Auto Mute Threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−15 Loudness Compensation Functional Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−16 Loudness Example Plots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−17 DRC Positioning in TAS5504 Processing Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−18 Dynamic Range Compression (DRC) Transfer Function Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−19 TAS5504 Attack and Decay Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−20 Output Mixers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−21 De-emphasis Filter Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−22 Power Supply and Digital Gains (Log Space) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−23 Power Supply and Digital Gains (Linear Space) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1−24 Block Diagrams of Typical Systems Requiring TAS5504 Automatic AM Interference
Avoidance Circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−1 Slave Mode Serial Data Interface Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−2 SCL and SDA Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−3 Start and Stop Conditions Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−4 Reset Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−5 Power-Down Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−6 Error Recovery Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−7 Mute Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−8 HP_SEL Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−9 I2S Format 64 Fs Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−10 Left Justified 64 Fs Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3−11 Right Justified 64 Fs Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4−1 Typical I2C Sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4−2 Single Byte Write Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4−3 Multiple Byte Write Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4−4 Single Byte Read Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4−5 Multiple Byte Read Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi
SLES123
1
11
11
12
12
13
13
14
14
15
15
16
17
19
20
21
23
23
25
28
29
30
30
31
45
46
46
47
47
48
48
49
50
51
52
53
54
54
55
55
October 2004
List of Tables
List of Tables
Table
Title
Page
1−1 Serial Data Formats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1−2 TAS5504 Audio Processing Feature Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1−3 Contents of One 20-Byte Biquad Filter Register (Default = All-Pass) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1−4 Bass and Treble Filter Selections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1−5 Linear Gain Step Size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1−6 Default Loudness Compensation Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1−7 Loudness Function Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1−8 DRC Recommended Changes From TAS5504 Defaults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2−1 Device Outputs During Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2−2 Values Set During Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2−3 Device Outputs During Power Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
2−4 Device Outputs During Backend Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2−5 Description of the Channel Configuration Registers (0x05, 0x06, 0x0B, 0x0C) . . . . . . . . . . . . . . . . . . . . . . . 37
2−6 Recommended TAS5504 Configurations for Texas Instruments Power Stages . . . . . . . . . . . . . . . . . . . . . . . 37
2−7 Audio System Configuration (General Control Register 0xE0) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
2−8 Volume Ramp Rates in ms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2−9 Inter-Channel Delay Default Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6−1 Clock Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6−2 General Status Register (0x01) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6−3 Error Status Register (0X02) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6−4 System Control Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6−5 System Control Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6−6 Channel Configuration Control Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
6−7 Headphone Configuration Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6−8 Serial Data Interface Control Register Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
6−9 Soft Mute Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6−10 Automute Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
6−11 Automute PWM Threshold and Backend Reset Period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
6−12 Modulation Index Limit Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6−13 Interchannel Channel Delay Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6−14 Channel Offset Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
6−15 Bank Switching Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6−16 Input Mixer Registers Format (Channels 1−4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6−17 Bass Management Registers Format (0x49 – 0x50) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6−18 Biquad Filters Registers Format (0x51 – 0x88) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
6−19 Contents of One 20-Byte Biquad Filter Register Format (Default = All-pass) . . . . . . . . . . . . . . . . . . . . . . . . 73
6−20 Bass and Treble Bypass Register Format (0x89−0x90) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6−21 Loudness Registers Format (0x91 – 0x95) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
6−22 DCR1 Control (0x96, Channels 1−3) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6−23 DRC2 Control (0x97, Channel 4) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
6−24 DRC1 Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
6−25 DRC2 Data Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
6−26 DRC Bypass Registers Format (0xA2−0xA9) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6−27 Output Mixer Control Register Format (Upper 4 Bytes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6−28 Output Mixer Control (Lower 4 Bytes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6−29 Output Mixer Control (Upper 4 Bytes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6−30 Output Mixer Control (Middle 4 Bytes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
October 2004
SLES123
vii
List of Tables
6−31
6−32
6−33
6−34
6−35
6−36
6−37
6−38
6−39
6−40
6−41
6−42
6−43
6−44
6−45
6−46
6−47
6−48
6−49
Output Mixer Control (Lower 4 Bytes) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Volume Biquad Register Format (Default = All-pass) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Volume Gain Update Rate (Slew Rate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Treble and Bass Gain Step Size (Slew Rate) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Volume Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Master and Individual Volume Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Channel 4 Sub Woofer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Channel 3, 2, 1 (Center, Right Front, and Left Front) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bass Filter Index Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bass Filter Index Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Channel 4 Sub Woofer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Channel 3, 2, 1 (Center, Right Front, and Left Front) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Treble Filter Index Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Treble Filter Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AM Mode Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AM Tuned Frequency Register in BCD Mode (Lower 2 Bytes of 0xDE) . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AM Tuned Frequency Register in Binary Mode (Lower 2 Bytes of 0xDE) . . . . . . . . . . . . . . . . . . . . . . . . . . .
PSVC Range Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Control Register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
viii
SLES123
79
80
80
80
80
81
81
82
82
82
83
83
84
84
84
85
85
85
85
October 2004
Introduction
1
Introduction
The TAS5504 is a four channel digital pulse width modulator (PWM) that provides both advanced performance
and a high level of system integration. The TAS5504 is designed to interface seamlessly with most audio digital
signal processors. The TAS5504 automatically adjusts control configurations in response to clock and data
rate changes and idle conditions. This enables the TAS5504 to provide an easy to use control interface with
relaxed timing requirements.
The TAS5504 can drive four channels of H-bridge power stages. Texas Instruments H-bridge parts TAS5111,
TAS5112, or TAS5182 + FETs are designed to work seamlessly with the TAS5504. The TAS5504 supports
both single-ended or bridge tied load configurations. The TAS5504 also provides a high performance
differential output to drive an external differential input analog headphone amplifier (such as the TPA112).
The TAS5504’s uses an AD modulation operating at a 384-kHz switching rate for 48-, 96-, and 192-kHz data.
The 8x over sampling combined with the 5th order noise shaper provides a broad flat noise floor and excellent
dynamic range from 20 Hz to 20 kHz.
The TAS5504 is clock slave only device. The TAS5504 receives MCLK, SCLK and LRCLK from other system
components. The TAS5504 accepts master clock rates of 128, 192, 256, 384, 512, and 768 Fs. The TAS5504
accepts a 64-Fs bit clock.
AVSS
AVDD
DVSS
DVDD
VRD_PLL
VRA_PLL
VBGAP
AVDD_REF
AVSS_PLL
AVDD_PLL
VR_PLL
The TAS5504 allows for extending the dynamic range by providing a power supply volume control (PSVC)
output signal.
Power Supply
MCLK
SDA
SCL
Serial
Control
I/F
/RESET
/PDN
/MUTE
/HP_SEL
/BKND_ERR
Control
0
7
Soft
Det Biquads Tone
Soft
Vol
Loud
Comp
DRC
0
7
Soft
Det Biquads Tone
Soft
Vol
Loud
Comp
DRC
0
7
Soft
Det Biquads Tone
Soft
Vol
Loud
Comp
DRC
0
7
Soft
Det Biquads Tone
Soft
Vol
Loud
Comp
4
8
5
2
Volume
Control
4
DRC
2
2
PWM_HPPL
PWM_HPML
DC
Block
De− Interpo−
SRC
Emph late
NS
PWM
DC
Block
De− Interpo−
SRC
Emph late
NS
PWM
DC
Block
De− Interpo−
SRC
Emph late
NS
PWM
DC
Block
De− Interpo−
SRC
Emph late
NS
PWM
4
PWM_P_1
PWM_M_1
Output Control
SDIN2
SDIN3
SDIN4
PWM_HPPR
PWM_HPMR
PWM Section
4 X 2 Crossbar Mixer
SDIN1
8 X 4 Crossbar Mixer
SCLK
LRCLK
DAP Control
OSC_CAP
PWM Control
PLL_FLTP
Digital Audio Processor
System Control
XTL_IN
PLL_FLTM
Clock, PLL, and
Serila Data I/F
XTL_OUT
PWM_P_2
PWM_M_2
PWM_P_3
PWM_M_3
PWM_P_4
PWM_M_4
4
VALID
PSVC
PSVC
Figure 1−1. TAS5504 Functional Structure
SLES123 − October 2004
TAS5504
1
Introduction
1.1
TAS5504 Features
1.1.1 Audio Input / Output
•
Automatic Master Clock Rate and Data Sample Rate Detection
•
Four Serial Audio Input Channels
•
Four PWM Audio Output Channels
•
Headphone PWM Output to Drive an External Differential Amplifier Like the TPA112
•
PWM Outputs Support Single Ended and Bridge Tied Loads
•
32-, 38-, 44.1-, 48-, 88.2-, 96-, 176.4-, and 192-kHz Sampling Rates
•
Data Formats: 16-, 20-, or 24-bit input Data Left, Right and I2S,
•
64 x Fs Bit Clock Rate
•
128, 192, 256, 384, 512, and 768 x Fs Master Clock Rates (Up to a Maximum of 50 MHz)
1.1.2 Audio Processing
2
•
48-Bit Processing Architecture With 76 bits of Precision for Most Audio Processing Features
•
Volume Control Range +36 dB to – 127 dB
−
Master Volume Control Range of +18 dB to –100 dB
−
Four Individual Channel Volume Control Range of +18-dB to −127-dB
•
Programmable Soft Volume and Mute Update Rates
•
Four Bass and Treble Tone Controls with ±18-dB Range, Selectable Corner Frequencies, and 2nd Order
Slopes
−
L, R, and C
−
LS, RS
•
Configurable Loudness Compensation
•
Two Dynamic Range Compressors With Two Thresholds, Two Offsets, and Three Slopes
•
Seven Bi-quads Per Channel
•
8x4 Input Crossbar Mixer. Each Signal Processing Channel Input Can Be Any Ratio of the Eight Input
Channels
•
4x2 Output Mixer – Channels 1 and 2. Each Output Can Be Any Ratio of Any Two Signal Processed
Channels
•
4x3 Output Mixer – Channels 3 and 4. Each Output can be Any Ratio of Any Three Signal Processed
Channels
•
Three Coefficient Sets Stored on the Device Can be Selected Manually or Automatically (Based on
Specific Data Rates)
•
DC Blocking Filters
•
Able to Support a Variety of Bass Management Algorithms
TAS5504
SLES123 − October 2004
Introduction
1.1.3 PWM Processing
•
32-Bit Processing PWM Architecture With 40 Bits of Precision
•
8x Oversampling With 5th Order Noise Shaping at 32 – 48 kHz, 4x Oversampling at 88.2 kHz, and 96 kHz
and 2x Oversampling at 176.4 kHz and 192 kHz
•
>102-dB Dynamic Range
•
THD+N < 0.1%
•
20 – 20-kHz Flat Noise Floor for 44.1-, 48-, 88.2-, 96-, 176.4-, and 192-kHz Data Rates
•
Digital De-emphasis for 32-, 44.1-, and 48-kHz Data Rates
•
Flexible Automute Logic With Programmable Threshold and Duration for Noise Free Operation
•
Intelligent AM Interference Avoidance System Provides Clear AM Reception
•
Power Supply Volume Control (PSVC) Support for Enhanced Dynamic Range in High Performance
Applications
•
Adjustable Modulation Limit
1.1.4 General Features
•
Automated Operation With an Easy to Use Control Interface
•
I2C Serial Control Slave Interface
•
Integrated AM Interference Avoidance Circuitry
•
Single 3.3-V Power Supply
•
64-Pin TQFP Package
•
5-V Tolerant Inputs
SLES123 − October 2004
TAS5504
3
Introduction
1.2
Physical Characteristics
1.2.1 Terminal Assignments
RESERVED
MCLK
PWM_HPPR
PWM_HPMR
PWM_HPPL
PWM_HPML
NC
NC
NC
NC
DVDD_PWM
DVSS_PWM
PWM_P_4
PWM_M_4
PWM_P_3
PWM_M_3
TQFP PACKAGE
(TOP VIEW)
64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49
VRA_PLL
PLL_FLT_RET
PLL_FLTM
PLL_FLTP
AVSS
AVSS
VRD_PLL
AVSS_PLL
AVDD_PLL
VBGAP
RESET
HP_SEL
PDN
MUTE
DVDD
DVSS
1
48
2
47
3
46
4
45
5
44
6
43
7
42
8
41
9
40
10
39
11
38
12
37
13
36
14
35
15
34
16
33
VR_PWM
NC
NC
NC
NC
PWM_P_2
PWM_M_2
PWM_P_1
PWM_M_1
VALID
DVSS
BKND_ERR
DVDD
DVSS
DVSS
VR_DIG
VR_DPLL
OSC_CAP
XTL_OUT
XTL_IN
RESERVED
RESERVED
RESERVED
SDA
SCL
LRCLK
SCLK
SDIN4
SDIN3
SDIN2
SDIN1
PSVC
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
1.2.2 Ordering Information
TA
PLASTIC 64-PIN PQFP (PN)
0°C to 70°C
TAS5504PAG
1.2.3 Terminal Descriptions
TERMINAL
NO.
4
NAME
I/O
5-V
TOLERANT
TERMINATION
DESCRIPTION
1
VRA_PLL
2
PLL_FLT_RET
AO
PLL external filter return
3
PLL_FLTM
AO
PLL negative input. Connected to PLL_FLT_RTN via an RC network
4
PLL_FLTP
AI
PLL positive input. Connected to PLL_FLT_RTN via an RC network
5
AVSS
P
Analog ground
6
AVSS
P
Analog ground
TAS5504
Voltage reference for PLL analog supply 1.8 V. A pin-out of the internally regulated
1.8-V power used by PLL logic. A 0.1-µF low ESR capacitor should be connected
between this terminal and AVSS_PLL. This terminal must not be used to power
external devices.
SLES123 − October 2004
Introduction
TERMINAL
NO.
NAME
I/O
5-V
TOLERANT
TERMINATION
DESCRIPTION
7
VRD_PLL
P
Voltage reference for PLL digital supply 1.8 V. A pin-out of the internally regulated
1.8-V power used by PLL logic. A 0.1-µF low ESR capacitor should be connected
between this terminal and AVSS_PLL. This terminal must not be used to power
external devices.
8
AVSS_PLL
P
Analog ground for PLL. This terminal should reference the same ground as power
terminal DVSS, but to achieve low PLL jitter; ground noise at this terminal must be
minimized. The availability of the AVSS terminal allows a designer to use
optimizing techniques such as star ground connections, separate ground planes,
or other quiet ground distribution techniques to achieve a quiet ground reference
at this terminal.
9
AVDD_PLL
P
3.3-V analog power supply for PLL This terminal can be connected to the same
power source used to drive power terminal DVSS, but to achieve low PLL jitter, this
terminal should be bypassed to AVSS_PLL with a 0.1-µF low-ESR capacitor.
10
VBGAP
P
Band gap voltage reference. A pin-out of the internally regulated 1.2-V reference.
Typically has a 1-nF low ESR capacitor between VBGAP and AVSS_PLL. This
terminal must not be used to power external devices.
11
RESET
DI
5V
Pull up
System reset input, active low. A system reset is generated by applying a logic low
to this terminal. RESET is an asynchronous control signal that restores the
TAS5504 to its default conditions, sets the valid output low, and places the PWM
in the hard mute (M) state. Master volume is immediately set to full attenuation.
Upon the release of RESET, if PDN is high, the system performs a 4−5 ms. device
initialization and set the volume at mute.
12
HP_SEL
DI
5V
Pull up
Headphone in/out selector. When a logic low is applied, the headphone is selected
(speakers are off). When a logic high is applied, speakers are selected –
headphone is off.
13
PDN
DI
5V
Pull up
Power down, active low. PDN powers down all logic and stops all clocks whenever
a logic low is applied. The internal parameters are preserved through a power down
cycle, as long as a RESET is not active. The duration for system recovery from
power down is 100 ms.
14
MUTE
DI
5V
Pull up
Soft mute of outputs, active low (Muted signal = a logic low, normal operation = a
logic high) The mute control provides a noiseless volume ramp to silence.
Releasing mute provides a noiseless ramp to previous volume.
15
DVDD
P
Digital power 3.3-V supply for digital core and most of I/O buffers
16
DVSS
P
Digital ground for digital core and most of I/O buffers
17
VR_DPLL
P
Voltage reference for digital PLL supply 1.8 V. A pin-out of the internally regulated
1.8-V power used by digital PLL logic. A 0.1−µF low ESR capacitor should be
connected between this terminal and DVSS_CORE. This terminal must not be
used to power external devices.
18
OSC_CAP
AO
Oscillator capacitor
19
XTL_OUT
AO
XTL_OUT and XTL_IN are the only LVCMOS terminals on the device. They
provide a reference clock for the TAS5504 via use of an external fundamental mode
crystal. XTL_OUT is the 1.8-V output drive to the crystal. See Note 4 for the
recommended crystal type.
20
XTL_IN
AI
XTL_OUT and XTL_IN are the only LVCMOS terminals on the device. They
provide a reference clock for the TAS5504 via use of an external fundamental mode
crystal. XTL_IN is the 1.8-V input port for the oscillator circuit. See Note 4 for the
recommended crystal type.
21
RESERVED
Connect to digital ground
22
RESERVED
Connect to digital ground
23
RESERVED
Connect to digital ground
24
SDA
DIO
5V
I2C serial control data interface input / output
25
SCL
DI
5V
I2C serial control clock input output
26
LRCLK
DI
5V
Serial audio data left / right clock (sampling rate clock)
27
SCLK
DI
5V
Serial audio data clock (shift clock) SCLKIN is the serial audio port (SAP) input data
bit clock that is supplied to the serial bit clock to other I2S bus.
SLES123 − October 2004
TAS5504
5
Introduction
TERMINAL
NO.
6
NAME
I/O
5-V
TOLERANT
TERMINATION
DESCRIPTION
28
SDIN4
DI
5V
Pulldown
Serial audio data 4 input is one of the serial data input ports. SDIN4 supports four
discrete (stereo) data formats and is capable of inputting data at 64 Fs.
29
SDIN3
DI
5V
Pulldown
Serial audio data 3 input is one of the serial data input ports. SDIN3 supports four
discrete (stereo) data formats and is capable of inputting data at 64 Fs.
30
SDIN2
DI
5V
Pulldown
Serial audio data 2 input is one of the serial data input ports. SDIN2 supports four
discrete (stereo) data formats and is capable of inputting data at 64 Fs.
31
SDIN1
DI
5V
Pulldown
Serial audio data 1 input is one of the serial data input ports. SDIN1 supports four
discrete (stereo) data formats and is capable of inputting data at 64 Fs.
32
PSVC
O
Power supply volume control PWM output
33
VR_DIG
P
Voltage reference for digital core supply 1.8 V. A pin-out of the internally regulated
1.8-V power used by digital core logic. A 0.47-µF low ESR capacitor should be
connected between this terminal and DVSS. This terminal must not be used to
power external devices
34
DVSS
P
Digital ground
35
DVSS
P
Digital ground
36
DVDD
P
3.3-V digital power supply
37
BKND_ERR
DI
38
DVSS
P
39
VALID
DO
Output indicating validity of PWM outputs active high
40
PWM_M_1
DO
PWM 1 output (differential −)
41
PWM_P_1
DO
PWM 1 output (differential +)
42
PWM_M_2
DO
PWM 2 output (differential −)
43
PWM_P_2
DO
PWM 2 output (differential +)
44
NC
No connection
45
NC
No connection
46
NC
No connection
47
NC
No connection
48
VR_PWM
P
49
PWM_M_3
DO
PWM 3 Output (differential −)
50
PWM_P_3
DO
PWM 3 Output (differential +)
51
PWM_M_4
DO
PWM 4 Output (differential −)
52
PWM_P_4
DO
PWM 4 Output (differential +)
53
DVSS_PWM
P
Digital ground for PWM
54
DVDD_PWM
P
3.3-V digital power supply for PWM
55
NC
No connection
56
NC
No connection
57
NC
No connection
58
NC
No connection
59
PWM_HPML
DO
PWM left channel headphone (differential −)
60
PWM_HPPL
DO
PWM left channel headphone (differential +)
61
PWM_HPMR
DO
PWM right channel headphone (differential −)
62
PWM_HPPR
DO
PWM right channel headphone (differential +)
TAS5504
Pull up
Active low. A backend error sequence is generated by applying logic low to this
terminal. The BKND_ERR results in all system parameters unaffected, while all
H-bridge drive signals going to a hard mute (M) state.
Digital ground
Voltage reference for digital PWM core supply 1.8 V. A pin-out of the internally
regulated 1.8-V power used by digital PWM core logic. A 0.1-µF low ESR capacitor
should be connected between this terminal and DVSS_PWM. This terminal must
not be used to power external devices.
SLES123 − October 2004
Introduction
TERMINAL
NO.
NAME
63
MCLK
64
RESERVED
I/O
5-V
TOLERANT
TERMINATION
DI
5V
Pulldown
DESCRIPTION
MCLK is a 3.3-V clock master clock input. The input frequency of this clock can
range from 4 MHz to 50 MHz.
Connect to digital ground
NOTES: 1. Type: A = analog; D = 3.3-V digital; P = power / ground / decoupling; I = input; O = output
2. All pullups are 200-µA weak pullups and all pulldowns are 200-µA weak pull downs. The pullups and pulldowns are included to assure
proper input logic levels if the terminals are left unconnected (pullups => logic 1 input; pulldowns => logic 0 input). Devices that drive
inputs with pull ups must be able to sink 200 µA, while maintaining a logic 0 drive level. Devices that drive inputs with pulldowns must
be able to source 200 µA, while maintaining a logic ‘1’ drive level.
3. If desired, low ESR capacitance values can be implemented by paralleling two or more ceramic capacitors of equal value. Paralleling
capacitors of equal value provide an extended high frequency supply decoupling. This approach avoids the potential of producing
parallel resonance circuits that have been observed when paralleling capacitors of different values.
4. 13.5-MHz crystal (HCM49)
1.3
TAS5504 Functional Description
Figure 1−2 shows the TAS5504 functional structure. The next sections describe the TAS5504 functional
blocks:
•
Power Supply
•
Clock, PLL, and Serial Data Interface
•
Serial Control Interface
•
Device Control
•
Digital Audio Processor (DAP)
•
Pulse Width Modulation (PWM) Processor
1.3.1 Power Supply
The power supply section contains supply regulators that provide analog and digital regulated power for
various sections of the TAS5504. The analog supply supports the analog PLL, while digital supplies support
the digital PLL, the digital audio processor (DAP), the pulse width modulator (PWM), and the output control
(reclocker). The regulators can also be turned off when terminals RESET and PDN are both low.
1.3.2 Clock, PLL, and Serial Data Interface
The TAS5504 is a clock slave only device and it requires the use of an external 13.5 MHz crystal. It accepts
MCLK, SCLK, and LRCLK as inputs only.
The TAS5504 uses the external crystal to provide a time base for:
•
Continuous data and clock error detection and management
•
Automatic data rate detection and configuration
•
Automatic MCLK rate detection and configuration (automatic bank switching)
•
Supporting I2C operation/ communication while MCLK is absent
The TAS5504 automatically handles clock errors, data rate changes, and master clock frequency changes
without requiring intervention from an external system controller. This feature significantly reduces system
complexity and design.
SLES123 − October 2004
TAS5504
7
Introduction
1.3.2.1
Serial Audio Interface
The TAS5504 operates as a slave only / receive only serial data interface in all modes. The TAS5504 has four
PCM serial data interfaces to permit eight channels of digital data to be received though the SDIN1, SDIN2,
SDIN3, and SDIN4 inputs. The serial audio data is in MSB first, two’s complement format.
The serial data input interface of the TAS5504 can be configured in right justified, I2S, or left-justified modes.
The serial data interface format is specified using the I2C data interface control register. The supported formats
and word lengths are shown in Table 1−1.
Table 1−1. Serial Data Formats
RECEIVE SERIAL DATA
INTERFACE FORMAT
WORD LENGTHS
Right justified
16
Right justified
20
Right justified
24
I2S
16
I2S
20
I2S
24
Left Justified
16
Left Justified
20
Left Justified
24
Serial data is input on SDIN1, SDIN2, SDIN3, and SDIN4. The TAS5504 accepts 32-, 38-, 44.1-, 48-, 88.2-,
96-, 176.4-, and 192-kHz serial data in 16-, 20-, or 24-bit data in left, right, and I2S serial data formats using
a 64-Fs SCLK clock and a 128, 192, 256, 384, 512, or 768 x Fs MCLK rates (up to a maximum of 50 MHz).
The parameters of this clock and serial data interface are I2C configurable.
1.3.3 I 2C Serial Control Interface
The TAS5504 has an I2C serial control slave interface (address 0x36) to receive commands from a system
controller. The serial control interface supports both normal-speed (100 kHz) and high-speed (400 kHz)
operations without wait states. Since the TAS5504 has a crystal time base, this interface operates even when
MCLK is absent.
The serial control interface supports both single byte and multi-byte read / write operations for status registers
and the general control registers associated with the PWM. However, for the DAP data processing registers,
the serial control interface also supports multiple byte (4 byte) write operations.
The I2C supports a special mode which permits I2C write operations to be broken up into multiple data write
operations that are multiples of 4 data bytes. These are 6 byte, 10 byte, 14 byte, 18 byte ... etc write operations
that are composed of a device address, read/write bit, and subaddress and any multiple of 4 bytes of data.
This permits the system to incrementally write large register values without blocking other I2C transactions.
In order to use this feature, the first chunk of data is written to the target I2C address and each subsequent
chunk of data is written to a special append register (0xFE) until all the data is written and a stop bit is sent.
An incremental read operation is not supported.
1.3.4 Device Control
The TAS5504 control section provides the control and sequencing for the TAS5504. The device control
provides both high and low level control for the serial control interface, clock and serial data interfaces, digital
audio processor, and pulse width modulator sections.
8
TAS5504
SLES123 − October 2004
Introduction
1.3.5 Digital Audio Processor (DAP)
The DAP arithmetic unit is used to implement all audio processing functions – soft volume, loudness
compensation, bass and treble processing, dynamic range control, channel filtering, input and output mixing.
Figure 1−4 shows the TAS5504 DAP architecture.
The DAP accepts 24-bit data signal from the serial data interface and outputs 32-bit data to the PWM section.
The DAP supports two configurations, one for 32-kHz – 96-kHz data and one for 176.4-kHz to 192-kHz data.
1.3.5.1
TAS5504 Audio Processing Configurations
The 32 − 96 kHz configuration supports four channels of data processing.
The 176.4 − 192 kHz configuration supports three channels of signal processing with one channel passed
though (or derived from the three processed channels).
To efficiently support the processing requirements of both multi-channel 32 – 96-kHz data and the two channel
176.4 and 192-kHz data, the TAS5504 supports separate audio processing features for 32 –96-kHz data rates
and for 176.4 and 192 kHz. See Table 2 for a summary of TAS5504 processing feature sets.
1.3.5.2
TAS5504 Audio Signal Processing Functions
The DAP provides 10 primary signal processing functions.
1. The data processing input has an 8x4 input crossbar mixer. This enables each input to be any ratio of the
eight input channels.
2. Two I2C programmable threshold detectors in each channel support auto mute.
3. Seven biquads per channel
4. Four soft bass and treble tone controls with ±18 dB range, programmable corner frequencies, and 2nd
order slopes. In 4-channel mode, bass and treble controls are normally configured as follows:
−
Bass and Treble 1: Channel 1 (Left), Channel 2 (Right), and Channel 3 (Center)
−
Bass and Treble 2: Channel 4 (Subwoofer)
5. Individual channel and master volume controls. Each control provides an adjustment range of +18 dB to
–127 dB. This permits a total volume device control range of +36 dB to –127 dB plus mute. The DAP soft
volume and mute update interval is I2C programmable. The update is performed at a fixed rate regardless
of the sample rate.
6. Programmable loudness compensation that is controlled via the combination of the master and individual
volume settings.
7. Two dual-threshold dual-rate dynamic range compressors (DRCs). The volume gain values are provided
used as input parameters using the maximum RMS (master volume x individual channel volume).
8. 4x2 output mixer (channels 1 and 2). Each output can be any ratio of any two signal processed channels.
9. 4x3 output mixer (channels 3 and 4). Each output can be any ratio of any three signal processed channels.
10. The DAP maintains three sets of coefficient banks that are used to maintain separate sets of sample rate
dependent parameters for the biquad, tone controls, loudness, and DRC in RAM. These can be set to be
automatically selected for one or more data sample rates or can be manually selected under I2C program
control. This feature enables coefficients for different sample rates to be stored in the TAS5504 and then
select when needed.
SLES123 − October 2004
TAS5504
9
Introduction
Table 1−2. TAS5504 Audio Processing Feature Sets
FEATURE
32 − 96 kHz FOUR CHANNEL FEATURE SET
176.4 AND 192 kHz THREE CHANNEL
FEATURE SET
Signal processing channels
4
3
N/A
1
One for four channels
One for three channels
4
3
Two bass and treble tone controls with ±18-dB range,
programmable corner frequencies, and 2nd order slopes
L, R, and C (Ch 1, Ch 2, and Ch 3)
Two bass and treble tone controls with
±18-dB range, programmable corner
frequencies, and 2nd order slopes
Sub (Ch 4)
L and R (Ch 1 and Ch 2)
Pass through channels
Master volume
Individual channel volume
controls
Bass and treble tone controls
Sub (Ch 4)
Biquads
28
21
Dynamic range compressors
One for three satellites and one for sub
One for two satellites and one for sub
Input output mapping/mixing
Each of the four signal processing channels input can be
any ratio of the eight input channels.
Each of the three signal processing channels
or the one pass though channels inputs can
be any ratio of the eight input channels.
Each of the four outputs can be any ratio of any two
processed channels.
DC blocking filters
(implemented in the PWM
Section)
Digital de-emphasis
(implemented in the PWM
Section)
Four channels
Four channels for 32 kHz, 44.1 kHz, and 48 kHz
N/A
Four channels
Three channels
Loudness
Number of coefficient sets
stored
1.4
Each of the four outputs can be any ratio of
any of the three processed or one bypass
channels.
Three additional coefficient sets can be stored in memory
TAS5504 DAP Architecture
1.4.1 TAS5504 DAP Architecture Diagrams
Figure 1−2 shows the TAS5504 DAP architecture for Fs = 96 kHz. Note the TAS5504 bass management
architecture shown in channels 1, 2, 3, and 4. Note that the I2C registers are shown to help the designer
configure the TAS5504.
Figure 1−3 shows the TAS5504 architecture for Fs = 176.4 kHz or Fs = 192 kHz. Note that only channels 1,
2, and 4 contain all the features. Channel 3 is pass-through except for master volume control.
Figure 1−4 shows TAS5504 detailed channel processing. The output mixer is 4X2 for channels 1−2 and 4X3
for channels 3 and 4.
10
TAS5504
SLES123 − October 2004
Introduction
Default Input is BOLD
SDIN1−L(L)
A
A
B
B
C
C
D
D
E
E
F
G
F
H
G
H
SDIN1−R (R)
SDIN2−L (LS)
SDIN2−R (RS)
SDIN3−L (LBS)
SDIN3−R (RBS)
SDIN4−L (C)
SDIN4−R (LFE)
SDIN1−L(L)
A
A
B
B
C
C
D
D
E
E
F
G
F
H
G
H
SDIN1−R(R)
SDIN2−L (LS)
SDIN2−R (RS)
SDIN3−L (LBS)
SDIN3−R (RBS)
SDIN4−L (C)
SDIN4−R (LFE)
A
A
B
B
C
C
D
D
E
E
F
G
F
H
G
H
SDIN4−L(C)
SDIN4−R (LFE)
7 DAP2
BQ
(0x58−
0x5E)
IP Mixer 2
(I2C 0x42)
Coeff = 0 (lin)
(I2C 0x4E)
SDIN1−L(L)
SDIN1−R(R)
SDIN2−L(LS)
SDIN2−R (RS)
SDIN3−L (LBS)
SDIN3−R(RBS)
7 DAP1
BQ
(0x51−
0x57)
IP Mixer 1
(I2C 0x41)
Bass &
Treble 1
(0xDA−
0xDD)
Bass &
Treble 1
(0xDA−
0xDD)
Max Vol
DAP1
Volume
(0xD1)
Loud−
ness
(0x91−
0x95)
Master Vol
(0xD9)
Max Vol
DAP2
Volume
(0xD2)
Loud−
ness
(0x91−
0x95)
Master Vol
(0xD9)
Max Vol
DAP3
Volume
(0xD7)
Loud−
ness
(0x91−
0x95)
Master Vol
(0xD9)
Max Vol
DAP4
Volume
(0xD8)
Loud−
ness
(0x91−
0x95)
DRC1
(0x96−
0x9C)
OP Mixer 1
(I2C 0xAA)
4X2 Output
Mixer
L to
PWM1
DRC1
(0x96−
0x9C)
OP Mixer 2
(I2C 0xAB)
4X2 Output
Mixer
R to
PWM2
DRC1
(0x96−
0x9C)
OP Mixer 3
(I2C 0xB0)
4X2 Output
Mixer
C to
PWM3
DRC2
(0x9D−
0xA1)
OP Mixer 4
(I2C 0xB1)
4X2 Output
Mixer
Sub to
PWM4
Coeff = 0 (lin)
(I2C 0x4B)
Coeff = 1 (lin)
(I2C 0x4D)
IP Mixer 3
(I2C 0x47)
Master Vol
(0xD9)
5 DAP3
BQ
(0x7D−
0x81)
2 DAP3
BQ
(0x7B−
0x7C)
Bass &
Treble 1
(0xDA−
0xDD)
Coeff = 0 (lin)
(I2C 0x4C)
Coeff = 0 (lin)
(I2C 0x49)
SDIN1−L(L)
SDIN1−R(R)
SDIN2−L(LS)
SDIN2−R (RS)
SDIN3−L (LBS)
SDIN3−R(RBS)
SDIN4−L (C)
SDIN4−R(LFE)
A
A
B
B
C
C
D
D
E
E
F
G
F
H
G
H
IP Mixer 4
(I2C 0x48)
2 DAP4
BQ
(0x82−
0x83)
Coeff = 0 (lin)
(I2C 0x4A)
(I2C 0x50)
Coeff = 1 (lin)
5 DAP4
BQ
(0x84−
0x88)
Bass &
Treble 4
(0xDA−
0xDD)
Coeff = 0 (lin)
(I2C 0x4F)
Figure 1−2. TAS5504 DAP Architecture With I2C Registers (Fs ≤ 96 kHz)
SDIN1−Lt (L)
SDIN1−Rt (R)
SDIN2−Lt (LS)
SDIN2−Rt (RS)
SDIN3−Lt (LBS)
SDIN3−Rt (RBS)
SDIN4−Lt (C)
SDIN4−Rt (LFE)
A
A
B
B
C
C
D
D
E
E
F
G
F
H
G
H
SDIN1−Lt (L)
SDIN1−Rt (R)
SDIN2−Lt (LS)
SDIN2−Rt (RS)
SDIN3−Lt (LBS)
SDIN3−Rt (RBS)
SDIN4−Lt (C)
SDIN4−Rt (LFE)
A
A
B
B
C
C
D
D
E
E
F
G
F
H
G
H
SDIN1−Lt (L)
SDIN1−Rt (R)
SDIN2−Lt (LS)
SDIN2−Rt (RS)
SDIN3−Lt (LBS)
SDIN3−Rt (RBS)
SDIN4−Lt (C)
SDIN4−Rt (LFE)
A
A
B
B
C
C
D
D
E
E
F
G
F
H
G
H
SDIN1−Lt (L)
SDIN1−Rt (R)
SDIN2−Lt (LS)
SDIN2−Rt (RS)
SDIN3−Lt (LBS)
SDIN3−Rt (RBS)
SDIN4−Lt (C)
SDIN4−Rt (LFE)
A
A
B
B
C
C
D
D
E
E
F
G
F
H
G
H
IP Mixer 1
(I2C 0x41)
IP Mixer 2
(I2C 0x42)
7 DAP1
BQ
(0x51−
0x57)
7 DAP2
BQ
(0x58−
0x5E)
Bass &
Treble 1
(0xDA−
0xDD)
Bass &
Treble 1
(0xDA−
0xDD)
Master Vol
(0xD9)
Max Vol
DAP1
Volume
(0xD1)
Loud−
ness
(0x91−
0x95)
Master Vol
(0xD9)
Max Vol
DAP2
Volume
(0xD2)
Loud−
ness
(0x91−
0x95)
DRC1
(0x96−
0x9C)
OP Mixer 1
(I2C 0xAA)
4X2 Output
Mixer
L to
PWM1
DRC1
(0x96−
0x9C)
OP Mixer 2
(I2C 0xAB)
4X2 Output
Mixer
R to
PWM2
OP Mixer 3
(I2C 0xB0)
4X3 Output
Mixer
C to
PWM3
OP Mixer 4
(I2C 0xB1)
4X3 Output
Mixer
Sub to
PWM4
Master Vol
(0xD9)
IP Mixer 3
(I2C 0x47)
IP Mixer 4
(I2C 0x48)
7 DAP4
BQ
(0x82−
0x88)
Bass &
Treble 4
(0xDA−
0xDD)
Master Vol
(0xD9)
Max Vol
DAP4
Volume
(0xD8)
Loud−
ness
(0x91−
0x95)
DRC2
(0x9D−
0xA1)
Figure 1−3. TAS5504 Architecture With I2C Registers (Fs = 176.4 kHz or Fs = 192 kHz)
SLES123 − October 2004
TAS5504
11
Introduction
Master
Volume
A_to_ipmix
Left
SDIN1
Right
Channel
A
B
Volume
Bass and Treble
Bypass
B_to_ipmix
C_to_ipmix
Left
C
Right D
SDIN2
Left
SDIN3
Right
Left
SDIN4
Right
7 Biquads
in Series
E
F
Output
Gain
Bass and
Treble
Bass and Treble
In-Line
PreVolume
F_to_ipmix
G_to_ipmix
DRC
Bypass
Loudness
Input Mixer
D_to_ipmix
E_to_ipmix
Max
Volume
PostVolume
DRC
G
H
Output Mixer Sums
Any Two Channels
32-Bit
Trunc
DRC
In-Line
1 Other
Channel Output
From 7 Available
PWM
Proc
PWM
Output
Volume
H_to_ipmix
Figure 1−4. TAS5504 Detailed Channel Processing
1.4.2 I 2C Coefficient Number Formats
The architecture of the TAS5504 is contained in ROM resources within the TAS5504 and cannot be altered.
However, mixer gain, level offset, and filter tap coefficients, which can be entered via the I2C bus interface,
provide a user with the flexibility to set the TAS5504 to a configuration that achieves the system level goals.
The firmware is executed in a 48-bit signed fixed-point arithmetic machine. The most significant bit of the 48-bit
data path is a sign bit, and the 47 lower bits are data bits. Mixer gain operations are implemented by multiplying
a 48-bit signed data value by a 28-bit signed gain coefficient. The 76-bit signed output product is then truncated
to a signed 48-bit number. Level offset operations are implemented by adding a 48-bit signed offset coefficient
to a 48-bit signed data value. In most cases, if the addition results in overflowing the 48-bit signed number
format, saturation logic is used. This means that if the summation results in a positive number that is greater
than 0x7FFF_FFFF_FFFF (the spaces are used to ease the reading of the hexadecimal number), the number
is set to 0x7FFF_FFFF_FFFF. If the summation results in a negative number that is less than
0x8000_0000_0000 0000, the number is set to 0x8000_0000_0000 0000.
1.4.2.1
28-Bit 5.23 Number Format
All mixer gain coefficients are 28-bit coefficients using a 5.23 number format. Numbers formatted as 5.23
numbers means that there are 5 bits to the left of the decimal point and 23 bits to the right of the decimal point.
This is shown in the Figure 1−5.
2−23 Bit
2−4 Bit
2−1 Bit
20 Bit
23 Bit
Sign Bit
S_xxxx.xxxx_xxxx_xxxx_xxxx_xxx
Figure 1−5. 5.23 Format
12
TAS5504
SLES123 − October 2004
Introduction
The decimal value of a 5.23 format number can be found by following the weighting shown in Figure 1−6. If
the most significant bit is logic 0, the number is a positive number, and the weighting shown yields the correct
number. If the most significant bit is a logic 1, then the number is a negative number. In this case every bit must
be inverted, a 1 added to the result, and then the weighting shown in Figure 1−6 applied to obtain the
magnitude of the negative number.
23 Bit
22 Bit
20 Bit
2−1 Bit
2−4 Bit
2−23 Bit
(1 or 0) x 23 + (1 or 0) x 22 + … + (1 or 0) x 20 + (1 or 0) x 2−1 + … + (1 or 0) x 2−4 + … + (1 or 0) x 2−23
Figure 1−6. Conversion Weighting Factors—5.23 Format to Floating Point
Gain coefficients, entered via the I2C bus, must be entered as 32-bit binary numbers. The format of the 32-bit
number (4-byte or 8-digit hexadecimal number) is shown in Figure 1−7.
Fraction
Digit 6
Sign
Bit
Integer
Digit 1
u
u
u
u
Coefficient
Digit 8
S
x
x
x
Coefficient
Digit 7
Fraction
Digit 1
x. x
x
x
Coefficient
Digit 6
Fraction
Digit 2
x
x
x
x
Coefficient
Digit 5
Fraction
Digit 3
x
x
x
x
Coefficient
Digit 4
Fraction
Digit 4
x
x
x
x
Coefficient
Digit 3
Fraction
Digit 5
x
x
x
x
Coefficient
Digit 2
0
x
x
x
x
Coefficient
Digit 1
u = unused or don’t care bits
Digit = hexadecimal digit
Figure 1−7. Alignment of 5.23 Coefficient in 32-Bit I2C Word
As Figure 1−7 shows, the hex value of the integer part of the gain coefficient cannot be concatenated with the
hex value of the fractional part of the gain coefficient to form the 32-bit I2C coefficient. The reason is that the
28-bit coefficient contains 5 bits of integer, and thus the integer part of the coefficient occupies all of one hex
digit and the most significant bit of the second hex digit. In the same way, the fractional part occupies the lower
3 bits of the second hex digit, and then occupies the other five hex digits (with the eighth digit being the
zero-valued most significant hex digit).
1.4.2.2
48-Bit 25.23 Number Format
All level adjustment and threshold coefficients are 48-bit coefficients using a 25.23 number format. Numbers
formatted as 25.23 numbers means that there are 25 bits to the left of the decimal point and 23 bits to the right
of the decimal point. This is shown in Figure 1−8.
SLES123 − October 2004
TAS5504
13
Introduction
2−23 Bit
2−10 Bit
2−1 Bit
20 Bit
216 Bit
222 Bit
223 Bit
Sign Bit
S_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx.xxxx_xxxx_xxxx_xxxx_xxxx_xxx
Figure 1−8. 25.23 Format
Figure 1−9 shows the derivation of the decimal value of a 48-bit 25.23 format number.
223 Bit
222 Bit
20 Bit
2−1 Bit
2−23 Bit
(1 or 0) x 223 + (1 or 0) x 222 + … + (1 or 0) x 20 + (1 or 0) x 2−1 + … + (1 or 0) x 2−23
Figure 1−9. Alignment of 5.23 Coefficient in 32-Bit I2C Word
Two 32-bit words must be sent over the I2C bus to download a level or threshold coefficient into the TAS5504.
The alignment of the 48-bit, 25.23 formatted coefficient in the 8-byte (two 32-bit words) I2C word is shown in
Figure 1−10.
14
TAS5504
SLES123 − October 2004
Introduction
Integer
Digit 4
(Bits 23 − 21)
Sign
Bit
Integer
Digit 1
u
u
u
u
Coefficient
Digit 16
u
u
u
u
u
Coefficient
Digit 15
u
u
u
Coefficient
Digit 14
u
u
u
u
Coefficient
Digit 13
S
x
x
x
Coefficient
Digit 12
Integer
Digit 2
x
x
x
x
Coefficient
Digit 11
Integer
Digit 3
x
x
x
x
Coefficient
Digit 10
x
x
Word 1
(Most
Significant
Word)
x
Coefficient
Digit 9
Integer
Digit 4
(Bit 20)
Fraction
Digit 6
Integer
Digit 5
x
x
x
x
x
Coefficient
Digit 8
Integer
Digit 6
x
x
x
x
Fraction
Digit 1
x. x
Coefficient
Digit 7
x
x
Coefficient
Digit 6
Fraction
Digit 2
x
x
x
x
Coefficient
Digit 5
Fraction
Digit 3
x
x
x
x
Coefficient
Digit 4
Fraction
Digit 4
x
x
x
x
Coefficient
Digit 3
Fraction
Digit 5
x
x
x
x
Coefficient
Digit 2
0
x
x
x
x
Word 2
(Least
Significant
Word)
Coefficient
Digit 1
u = unused or don’t care bits
Digit = hexadecimal digit
Figure 1−10. Alignment of 25.23 Coefficient in Two 32-Bit I2C Words
1.4.2.3
TAS5504 Audio Processing
The TAS5504 digital audio processing is designed such that noise produced by filter operations is maintained
below the smallest signal amplitude of interest, as shown in Figure 1−11. The TAS5504 achieves this by
increasing the precision of the signal representation substantially above the number of bits that are absolutely
necessary to represent the input signal.
Ideal Input
Possible Outputs
Maximum Signal
Amplitude
Overflow
Filter
Operation
Signal bits
input
Desired Output
Values retained by
overflow bits
Reduced
SNR signal
output
Signal bits
output
Noise Floor with no
additional precision
Noise Floor as a
result of additional
precision
Figure 1−11. TAS5504 Digital Audio Processing
SLES123 − October 2004
TAS5504
15
Introduction
Similarly, the TAS5504 carries additional precision in the form of overflow bits to permit the value of
intermediate calculations to exceed the input precision without clipping. The TAS5504 advanced digital audio
processor achieves both of these important performance capabilities by using a high performance digital audio
processing architecture with a 48-bit data path, 28-bit filter coefficients, and a 76-bit accumulator.
1.5
Input Crossbar Mixer
The TAS5504 has a full 8x4 input crossbar mixer. This mixer permits each signal processing channel input
to be any ratio of any of the eight input channels. The control parameters for the input crossbar mixer are
programmable via the I2C interface. See the Input Mixer Register (0x41−0x48, channels 1−8) section.
Gain Coefficient
28
Input 1
48
Gain Coefficient
28
48
Input 2
48
48
Gain Coefficient
28
SUM
48
Input 8
48
Figure 1−12. Input Crossbar Mixer
1.6
Biquad Filters
For 32-kHz to 96-kHz data, the TAS5504 provides 28 biquads across the four channels (seven per channel)
For 176.4-kHz and 192-kHz data, the TAS5504 has 21 biquads across the three channels (seven per
channel). All of the biquad filters are second order direct form I structure.
The direct form I structure provides a separate delay element and mixer (gain coefficient) for each node in the
biquad filter. Each mixer output is a signed 76-bit product of a signed 48-bit data sample (25.23 format number)
and a signed 28-bit coefficient (5.23 format number). The 76-bit ALU in the TAS5504 allows the 76-bit
resolution to be retained when summing the mixer outputs (filter products).
The five 28-bit coefficients for the each of the 28 biquads are programmable via the I2C interface. See
Table 1−3.
16
TAS5504
SLES123 − October 2004
Introduction
b0
48
X
b1
Z−1
48
48
28
X
b2
Z−1
28
28
X
76
∑
76
48
Magnitude
Truncation
a1
76
76
X
a2
76
76
28
X
28
Z−1
48
Z−1
48
Figure 1−13. Biquad Filter Structure
All five coefficients for one biquad filter structure are written to one I2C register containing 20 bytes (or five
32-bit words). The structure is the same for all biquads in the TAS5504. Registers 0x51 – 0x88 show all the
biquads in the TAS5504. Note that u(31:28) bits are unused and default to 0x0.
Table 1−3. Contents of One 20-Byte Biquad Filter Register (Default = All-Pass)
INITIALIZATION GAIN COEFFICIENT VALUE
DESCRIPTION
REGISTER FIELD CONTENTS
DECIMAL
HEX
bo Coefficient
u(31:28), b0(27:24), b0(23:16), b0(15:8), b0(7:0)
1.0
0x00, 0x80, 0x00, 0x00
b1 Coefficient
u(31:28), b1(27:24), b1(23:16), b1(15:8), b1(7:0)
0.0
0x00, 0x00, 0x00, 0x00
b2 Coefficient
u(31:28), b2(27:24), b2(23:16), b2(15:8), b2(7:0)
0.0
0x00, 0x00, 0x00, 0x00
a1 Coefficient
u(31:28), a1(27:24), a1(23:16), a1(15:8), a1(7:0)
0.0
0x00, 0x00, 0x00, 0x00
a2 Coefficient
u(31:28), a2(27:24), a2(23:16), a2(15:8), a2(7:0)
0.0
0x00, 0x00, 0x00, 0x00
1.7
Bass and Treble Controls
From 32-kHz to 96-kHz data, the TAS5504 has four Bass and Treble tone controls. Each control has a ±18-dB
control range with selectable corner frequencies and 2nd order slopes. These controls operate four channel
groups:
•
L, R & C (Channels 1, 2, and 3)
•
Sub (Channel 4)
For 176.4 kHz and 192 kHz data, the TAS5504 has two Bass and Treble tone controls. Each control has a
±18-dB I2C control range with selectable corner frequencies and 2nd order slopes. These controls operate
two channel groups:
•
L&R
•
Sub
The bass and treble filters utilize a soft update rate that does not produce artifacts during adjustment.
SLES123 − October 2004
TAS5504
17
Introduction
Table 1−4. Bass and Treble Filter Selections
3-dB CORNER FREQUENCIES
FS
(kHz)
FILTER
SET 1
FILTER
SET 1
FILTER
SET 2
FILTER
SET 2
FILTER
SET 3
FILTER
SET 3
FILTER
SET 4
FILTER
SET 4
FILTER
SET 5
FILTER
SET 5
BASS
TREBLE
BASS
TREBLE
BASS
TREBLE
BASS
TREBLE
BASS
TREBLE
32
42
917
83
1833
125
3000
146
3667
167
4333
38
49
1088
99
2177
148
3562
173
4354
198
5146
44.1
57
1263
115
2527
172
4134
201
5053
230
5972
48
63
1375
125
2750
188
4500
219
5500
250
6500
88.2
115
2527
230
5053
345
8269
402
10106
459
11944
96
125
2750
250
5500
375
9000
438
11000
500
13000
176.4
230
5053
459
10106
689
16538
804
20213
919
23888
192
250
5500
500
11000
750
18000
875
22000
1000
26000
The I2C registers that control Bass and Treble are:
1.8
•
Bass and Treble By-Pass Register (0x89 – 0x90, channels 1−8)
•
Bass and Treble Slew Rates (0xD0)
•
Bass Filter Sets 1−5 (0xDA)
•
Bass Filter Index (0xDB)
•
Treble Filter Sets 1−5 (0xDC)
•
Treble Filter Index (0xDD)
Volume, Auto Mute, and Mute
The TAS5504 provides individual channel and master volume controls. Each control provides an adjustment
range of +18.0618 dB to –100 dB in 0.25 dB increments. This permits a total volume device control range of
+36 dB to –100 dB plus mute.
The TAS5504 has a master soft mute control that can be enabled by a terminal or I2C command. The device
also has individual channel soft mute controls that can are enabled via I2C.
The soft volume and mute update rates are programmable. The soft adjustments are performed using a soft
gain linear update with an I2C programmable linear step size at a fixed temporal rate. The linear soft gain step
size can be varied from 0.5 to 0.003906.
Table 1−5. Linear Gain Step Size
0.5
0.25
0.125
0.0625
0.03125
0.015625
0.007813
0.003906
Time to go from 36.124 db to −127 dB in ms
STEP SIZE (GAIN)
10.67
21.33
42.67
85.34
170.67
341.35
682.70
1365.4
Time to go from 18.062 db to −127 dB in ms
1.33
2.67
5.33
10.67
21.33
42.67
85.33
170.67
Time to go from 0 db to −127 dB in ms
0.17
0.33
0.67
1.33
2.67
5.33
10.67
21.33
18
TAS5504
SLES123 − October 2004
Introduction
1.8.1 Auto Mute and Mute
The TAS5504 has individual channel automute controls that are enabled via the I2C interface. There are two
separate detectors used to trigger the automute:
•
Input Auto Mute: All channels are muted when all 8 inputs to the TAS5504 are less in magnitude than the
input threshold value for a programmable amount of time.
•
Output Auto Mute: A single channel is muted when the output of the DAP section is less in magnitude than
the input threshold value for a programmable amount of time.
The detection period and thresholds for these two detectors are the same.
This time interval is selectable via I2C to be from 1 ms. to 110 ms. The increments of time are 1, 2, 3, 4, 5, 10,
20, 30, 40, 50, 60, 70, 80, 90, 100, and 110 ms. This interval is independent of the sample rate. The default
value is mask programmable.
The input threshold value is an unsigned magnitude that is expressed as a bit position. This value is adjustable
via I2C. The range of the input threshold adjustment is from below the LSB (bit position 0) to below bit position
12 in a 24 bit input data word (bit positions 8 to 20 in the DSPE). This provides an input threshold that can be
adjusted for 12 to 24 bits of data. The default value is mask programmable.
DVD Data Range
CD Data Range
24-Bit Input
32-Bit in DSPE
Representation
23 22 21 20 19 18 17 16 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
Threshold Range
Figure 1−14. Auto Mute Threshold
The auto mute state is exited when the TAS5504 receives one sample that is greater that the output threshold.
The output threshold can be one of two values:
•
Equal to the input threshold
•
6 dB (one bit position) greater than the input threshold
The value for the output threshold is selectable via I2C. The default value is mask programmable.
The system latency enables the data value that is above the threshold to be preserved and output.
A mute command initiated by automute, master mute, individual I2C mute, the AM interference mute
sequence, or the bank switch mute sequence overrides an unmute command or a volume command. While
a mute command is activated, the commanded channels transition to the mute state. When a channel is
unmuted, it goes to the last commanded volume setting that has been received for that channel.
1.9
Loudness Compensation
The loudness compensation function compensates for the Fletcher-Munson loudness curves. The TAS5504
loudness implementation tracks the volume control setting to provide spectral compensation for weak low or
high frequency response at low volume levels. For the volume tracking function both linear and log control laws
can be implemented. Any biquad filter response can be used to provide the desired loudness curve. The
control parameters for the loudness control are programmable via the I2C interface.
SLES123 − October 2004
TAS5504
19
Introduction
The TAS5504 has a single set of loudness controls for the four channels. The loudness control input uses the
Maximum individual master volume (V) to control the loudness that is applied to all channels. In 192-kHz and
176.4-kHz modes, the loudness function is active only for channels 1, 2, and 4.
V
+
Audio In
x
Loudness
Biquad
H(Z)
x
Audio Out
x
Loudness Function = f (V)
V
Figure 1−15. Loudness Compensation Functional Block Diagram
Loudness Function = f (V) = G x [2 [(Log V) x LG + LO]] + O
or alternatively,
Loudness Function = f (V) = G x [V LG x 2LO] + O
For example, for the default values LG = −0.5, LO = 0.0, G = 1.0, and O = 0.0 then:
Loudness Function = 1 / SQRT (V) which is the recommended transfer function for loudness. So,
Audio Out = (Audio In) x V + H (Z) x SQRT (V). Other transfer functions are possible.
Table 1−6. Default Loudness Compensation Parameters
LOUDNESS
TERM
20
DESCRIPTION
USAGE
DATA
FORMAT
I2C
SUB-ADD
SUB
ADD
RESS
DEFAULT
HEX
FLOAT
V
Max volume
Gains audio
5.23
NA
NA
NA
Log V
Log2 (max volume)
Loudness function
5.23
NA
00000000
0.0
H (Z)
Loudness biquad
Controls shape of
Loudness curves
5.23
0x95
b0 = 0000D513
b1 = 00000000
b2 = 0FFF2AED
a1 = 00FE5045
a2 = 0F81AA27
b0 = 0.006503
b1 = 0
b2 = −0.006503
a1 = 1.986825
a2 = −0.986995
LG
Gain (log space)
Loudness function
5.23
0x91
FFC00000
−0.5
LO
Offset (log space)
Loudness function
25.23
0x92
00000000
0
G
Gain
Switch to enable
Loudness (ON = 1,
OFF = 0)
5.23
0x93
00000000
0
O
Offset
Provides offset
25.23
0x94
00000000
0
TAS5504
SLES123 − October 2004
Introduction
1.9.1 Loudness Example
Problem: Due to the Fletcher-Munson phenomena, we want to compensate for low frequency attenuation near
60 Hz. The TAS5504 provides a loudness transfer function with EQ gain = 6, EQ center frequency = 60 Hz,
and EQ bandwidth = 60 Hz.
Solution: Using Texas Instruments ALE TAS5504 DSP tool, Matlab, or other signal-processing tool, develop
a loudness function with following parameters:
Table 1−7. Loudness Function Parameters
EXAMPLE VALUES
DATA
FORMAT
I2C
SUBADDRESS
HEX
FLOAT
5.23
0x95
b0 = 00008ACE
b1 = 00000000
b2 = FFFF7532
a1 = FF011951
a2 = 007EE914
b0 = 0.004236
b1 = 0
b2 = −0.004236
a1 = −1.991415
a2 = 0.991488
Loudness function
5.23
0x91
FFC00000
−0.5
Loudness function
25.23
0x92
00000000
0
Gain
Switch to Enable
Loudness (ON = 1,
OFF = 0)
5.23
0x93
00800000
1
Offset
Offset
25.23
0x94
00000000
0
LOUDNESS
TERM
DESCRIPTION
USAGE
H (Z)
Loudness Biquad
Controls shape of
loudness curves
LG
Loudness Gain
LO
Loudness Offset
G
O
See Figure 1−16 for the resulting loudness function at different gains.
Figure 1−16. Loudness Example Plots
SLES123 − October 2004
TAS5504
21
Introduction
1.10 Dynamic Range Control (DRC)
The DRC provides both compression and expansion capabilities over three separate and definable regions
of audio signal levels. Programmable threshold levels set the boundaries of the three regions. Within each
of the three regions a distinct compression or expansion transfer function can be established and the slope
of each transfer function is determined by programmable parameters. The offset (boost or cut) at the two
boundaries defining the three regions can also be set by programmable offset coefficients. The DRC
implements the composite transfer function by computing a 5.23 format gain coefficient from each sample
output from the rms estimator. This gain coefficient is then applied to a mixer element, whose other input is
the audio data stream. The mixer output is the DRC-adjusted audio data.
There are two distinct DRC blocks in the TAS5504. DRC1 services channels 1−3. This DRC computes rms
estimates of the audio data streams on all channels that it controls. The estimates are then compared on a
sample-by-sample basis and the larger of the estimates is used to compute the compression/expansion gain
coefficient. The gain coefficient is then applied to appropriate channels audio stream. DRC2 services only
channel 4. This DRC also computes an rms estimate of the signal level on channel 4 and this estimate is used
to compute the compression/expansion gain coefficient applied to the channel 4 audio stream.
All of the TAS5504 default values for DRC can be used except for the DRC1 decay and DRC2 decay. Table 1−8
shows the recommended time constants and their HEX values. If the user wants to implement other DRC
functions, Texas Instruments recommends using the automatic loudspeaker equalization (ALE) tool available
from Texas Instruments. The ALE tool allows the user to select the DRC transfer function graphically. It will
then output the TAS5504 hex coefficients for download to the TAS5504.
Table 1−8. DRC Recommended Changes From TAS5504 Defaults
I2C
SUBADDRESS
0x98
REGISTER FIELDS
RECOMMENDED TIME
CONSTANT (MS)
DRC1 energy
5
RECOMMENDED
HEX VALUE
DRC1 (1 – energy)
0x9C
DRC1 attack
5
DRC1 (1 – attack)
DRC1 decay
2
DRC1 (1 – decay)
0x9D
DRC2 energy
5
DRC2 (1 – energy)
0xA1
DRC2 attack
5
DRC2 (1 – attack)
DRC2 decay
2
DRC2 (1 – decay)
DEFAULT HEX
0000883F
0000883F
007F77C0
007F77C0
0000883F
0000883F
007F77C0
007F77C0
0001538F
000000AE
007EAC70
007FFF51
0000883F
0000883F
007F77C0
007F77C0
0000883F
0000883F
007F77C0
007F77C0
0001538F
000000AE
007EAC70
007FFF51
Recommended DRC set-up flow if the defaults are used:
•
After power up, load the recommended hex value for DRC1 and DRC2 decay and (1 – decay). See
Table 1−8.
•
Enable either the pre-volume or post-volume DRC
Recommended DRC set-up flow if the DRC design uses values different from the defaults:
•
After power up, load all DRC coefficients per the DRC design.
•
Enable either the pre-volume or post-volume DRC
Figure 1−17 shows the positioning of the DRC block in the TAS5504 processing flow. As seen, the DRC input
can come from either before or after soft volume control and loudness processing.
22
TAS5504
SLES123 − October 2004
Introduction
Master
Volume
Channel
Volume
Max
Volume
DRC
By-Pass
Bass & Treble
By-Pass
Loudness
From Input Mixer
7 Biquads
in Series
To Output
Mixer
Bass and
Treble
Bass & Treble
In-Line
DRC
PreVolume
PostVolume
In-Line
DRC
Figure 1−17. DRC Positioning in TAS5504 Processing Flow
Figure 1−18 illustrates a typical DRC transfer function.
DRC − Compensated Output
Region
0
Region
1
Region
2
k2
k1
1:1 Transfer Function
Implemented Transfer Fucntion
k0
O2
O1
T1
T2
DRC Input Level
Figure 1−18. Dynamic Range Compression (DRC) Transfer Function Structure
The three regions shown in Figure 1−18 are defined by three sets of programmable coefficients:
•
Thresholds T1 and T2—define region boundaries.
•
Offsets O1 and O2—define the DRC gain coefficient settings at thresholds T1 and T2 respectively.
•
Slopes k0, k1, and k2—define whether compression or expansion is to be performed within a given region.
The magnitudes of the slopes define the degree of compression or expansion to be performed.
The three sets of parameters are all defined in logarithmic space and adhere to the following rules:
•
The maximum input sample into the DRC is referenced at 0 dB. All values below this maximum value then
have negative values in logarithmic (dB) space.
•
The samples input into the DRC are 32-bit words and consist of the upper 32 bits of the 48-bit word format
used by the digital audio processor (DAP). The 48-bit DAP word is derived from the 32-bit serial data
received at the serial audio receive port by adding 8 bits of headroom above the 32-bit word and 8 bits
of computational precision below the 32-bit word. If the audio processing steps between the SAP input
and the DRC input result in no accumulative boost or cut, the DRC would operate on the 8 bits of headroom
and the 24 MSBs of the audio sample. Under these conditions, a 0-dB (maximum value) audio sample
(0x7FFFFFFF) is seen at the DRC input as a –48-dB sample (8 bits x −6.02 dB/bit = −48 dB).
SLES123 − October 2004
TAS5504
23
Introduction
•
Thresholds T1 and T2 define, in dB, the boundaries of the three regions of the DRC, as referenced to the
rms value of the data into the DRC. Zero valued threshold settings reference the maximum valued rms
input into the DRC and negative valued thresholds reference all other rms input levels. Positive valued
thresholds have no physical meaning and are not allowed. In addition, zero valued threshold settings are
not allowed.
Although the DRC input is limited to 32-bit words, the DRC itself operates using the 48-bit word format of the
DAP. The 32-bit samples input into the DRC are placed in the upper 32 bits of this 48-bit word space. This
means that the threshold settings must be programmed as 48-bit (25.23 format) numbers.
CAUTION: Zero valued and positive valued threshold settings are not allowed and
cause unpredictable behavior if used.
•
Offsets O1 and O2 define, in dB, the attenuation (cut) or gain (boost) applied by the DRC-derived gain
coefficient at the threshold points T1 and T2 respectively. Positive offsets are defined as cuts, and thus
boost or gain selections are negative numbers. Offsets must be programmed as 48-bit (25.23 format)
numbers.
•
Slopes k0, k1, and k2 define whether compression or expansion is to be performed within a given region,
and the degree of compression or expansion to be applied. Slopes are programmed as 28-bit (5.23 format)
numbers.
1.10.1 DRC Implementation
The three elements comprising the DRC: (1) an rms estimator, (2) a compression/expansion coefficient
computation engine, and (3) an attack/decay controller. DRC1 applies to channels 1 −3 and DRC2 applies
only to channel 4. DRC1 uses I2C register 0x98 − 0x9C and DRC2 uses I2C registers 0x9D − 0xA1.
•
RMS estimator—This DRC element derives an estimate of the rms value of the audio data stream into
the DRC. For DRC1 (Ch 1−3), the individual channel estimates are computed. The outputs of the
estimators are then compared, sample-by-sample, and the larger valued sample is forwarded to the
compression/expansion coefficient computation engine.
Two programmable parameters (I2C 0x98), E and (1 – E), set the effective time window over which the rms
estimate is made. For the DRC1 block, the programmable parameters apply to all rms estimators. The
time window over which the rms estimation is computed can be determined by:
t
window
+
*1
F ȏn(1 * E)
S
•
Compression/expansion coefficient computation—This DRC element converts the output of the rms
estimator to a logarithmic number, determines the region that the input resides, and then computes and
outputs the appropriate coefficient to the attack/decay element. Seven programmable parameters—T1,
T2, O1, O2, k0, k1, and k2—define the three compression/expansion regions implemented by this
element.
•
Attack/decay control—This DRC element controls the transition time of changes in the coefficient
computed in the compression/expansion coefficient computation element. Four programmable
parameters define the operation of this element. Parameters D and 1 − D set the decay or release time
constant to be used for volume boost (expansion). Parameters A and 1 − A set the attack time constant
to be used for volume cuts. The transition time constants can be determined by:
ta +
*1
F ȏn(1 * A)
S
*1
t +
d
F ȏn(1 * D)
S
Figure 1−19 shows how the TAS5504 attack and decay are defined. Note that this is opposite of some
definitions of attack and decay.
24
TAS5504
SLES123 − October 2004
Introduction
t + * 1ńFs
d
ȏ (1 * D)
N
ȏ (1 * A)
N
Attack
t a + * 1ńFs
Signal Amplitude
Decay
Time
Figure 1−19. TAS5504 Attack and Decay Definition
1.10.2
Compression/Expansion Coefficient Computation Engine Parameters
There are seven programmable parameters assigned to each DRC block: two threshold parameters - T1 and
T2, two offset parameters - O1 and O2, and three slope parameters - k0, k1, and k2. The threshold parameters
establish the three regions of the DRC transfer curve, the offsets anchor the transfer curve by establishing
known gain settings at the threshold levels, and the slope parameters define whether a given region is a
compression or an expansion region.
The audio input stream into the DRC must pass through DRC-dedicated programmable input mixers. These
mixers are provided to scale the 32-bit input into the DRC to account for the positioning of the audio data in
the 48-bit DAP word and the net gain or attenuation in signal level between the SAP input and the DRC. The
selection of threshold values must take the gain (attenuation) of these mixers into account. The DRC
implementation examples that follow illustrate the effect these mixers have on establishing the threshold
settings.
T2 establishes the boundary between the high-volume region and the mid-volume region. T1 establishes the
boundary between the mid-volume region and the low-volume region. Both thresholds are set in logarithmic
space, and which region is active for any given rms estimator output sample is determined by the logarithmic
value of the sample.
Threshold T2 serves as the fulcrum or pivot point in the DRC transfer function. O2 defines the boost (> 0 dB)
or cut (< 0 dB) implemented by the DRC-derived gain coefficient for an rms input level of T2. If O2 = 0 dB, the
value of the derived gain coefficient is 1.0 (0x00, 80, 00, 00 in 5.23 format). k2 is the slope of the DRC transfer
function for rms input levels above T2 and k1 is the slope of the DRC transfer function for rms input levels below
T2 (and above T1). The labeling of T2 as the fulcrum stems from the fact that there cannot be a discontinuity
in the transfer function at T2. The user can, however, set the DRC parameters to realize a discontinuity in the
transfer function at the boundary defined by T1. If no discontinuity is desired at T1, the value for the offset term
O1 must obey the following equation.
SLES123 − October 2004
TAS5504
25
Introduction
O1
No Discontinuity
+ |T1 * T2|
k1 ) O2 For ( |T1| w |T2| )
T1 and T2 are the threshold settings in dB, k1 is the slope for region 1, and O2 is the offset in dB at T2. If the
user chooses to select a value of O1 that does not obey the above equation, a discontinuity at T1 is realized.
Going down in volume from T2, the slope k1 remains in effect until the input level T1 is reached. If, at this input
level, the offset of the transfer function curve from the 1:1 transfer curve does not equal O1, there is a
discontinuity at this input level as the transfer function is snapped to the offset called for by O1. If no
discontinuity is wanted, O1 and/or k1 must be adjusted so that the value of the transfer curve at the input level
T1 is offset from the 1:1 transfer curve by the value O1. The examples that follow illustrate both continuous
and discontinuous transfer curves at T1.
Going down in volume from T1, starting at the offset level O1, the slope k0 defines the compression/expansion
activity in the lower region of the DRC transfer curve.
1.10.2.1 Threshold Parameter Computation
For thresholds,
TdB = −6.0206TINPUT = −6.0206TSUB_ADDRESS_ENTRY
If, for example, it is desired to set T1 = -64 dB, then the subaddressaddress entry required to set T1 to -64 dB
is:
T1
SUB_ADDRESS_ENTRY
+
*64 + 10.63
*6.0206
T1 is entered as a 48-bit number in 25.23 format. Therefore:
T1 = 10.63 = 0_1010.1010_0001_0100_0111_1010_111
= 0x00000550A3D7 in 25.23 format
1.10.2.2 Offset Parameter Computation
The offsets set the boost or cut applied by the DRC-derived gain coefficient at the threshold point. An
equivalent statement is that offsets represent the departure of the actual transfer function from a 1:1 transfer
at the threshold point. Offsets are 25.23 formatted 48-bit logarithmic numbers. They are computed by the
following equation.
O
INPUT
+
O
) 24.0824 dB
DESIRED
6.0206
Gains or boosts are represented as negative numbers; cuts or attenuation are represented as positive
numbers. For example, to achieve a boost of 21 dB at threshold T1, the I2C coefficient value entered for O1
must be:
O1
INPUT
+ –21 dB ) 24.0824 dB + 0.51197555
6.0206
+ 0.1000_0011_0001_1101_0100
+ 0x00000041886A in 25.23 format
More examples of offset computations are included in the following examples.
26
TAS5504
SLES123 − October 2004
Introduction
1.10.2.3 Slope Parameter Computation
In developing the equations used to determine the subaddress of the input value required to realize a given
compression or expansion within a given region of the DRC, the following convention is adopted.
DRC Transfer = Input Increase : Output Increase
If the DRC realizes an output increase of n dB for every dB increase in the rms value of the audio into the DRC,
a 1:n expansion is being performed. If the DRC realizes a 1 dB increase in output level for every n dB increase
in the rms value of the audio into the DRC, a n:1 compression is being performed.
For 1:n expansion, the slope k can be found by:
k=n−1
For n:1 compression, the slope k can be found by: k + 1
n –1
In both expansion (1:n) and compression (n:1), n is implied to be greater than 1. Thus, for expansion:
k = n −1 means k > 0 for n > 1. Likewise, for compression, k + 1
n –1 means −1 < k < 0 for n > 1. Thus, it appears
that k must always lie in the range k > −1.
The DRC imposes no such restriction and k can be programmed to values as negative as −15.999. To
determine what results when such values of k are entered, it is first helpful to note that the compression and
expansion equations for k are actually the same equation. For example, a 1:2 expansion is also a 0.5:1
compression.
0.5 Compression å k + 1 –1 + 1
0.5
1 : 2 Expansion å k + 2–1 + 1
As can be seen, the same value for k is obtained either way. The ability to choose values of k less than −1 allows
the DRC to implement negative slope transfer curves within a given region. Negative slope transfer curves
are usually not associated with compression and expansion operations, but the definition of these operations
can be expanded to include negative slope transfer functions. For example, if k = −4
1
Compression Equation : k + *4 + 1
n *1 å n + – 3 å *0.3333 : 1 compression
Expansion Equation : k + *4 + n–1 å n + –3 å 1 : *3 expansion
With k = −4, the output decreases 3 dB for every 1 dB increase in the rms value of the audio into the DRC.
As the input increases in volume, the output decreases in volume.
1.11 Output Mixer
The TAS5504 provides an 4x2 output mixer for channels 1 and 2. For channels 3 and 4, the TAS5504 provides
an 4x3 output mixer. These mixers allow each output to be any ratio of any two (three) signal processed
channels. The control parameters for the output crossbar mixer are programmable via the I2C interface.
SLES123 − October 2004
TAS5504
27
Introduction
Gain Coefficient
28
Select
Output
N
48
Gain Coefficient
28
Select
Output
N
48
Output
1 or 2
48
48
Gain Coefficient
28
Select
Output
N
48
Gain Coefficient
28
Select
Output
N
48
Output
3 or 4
48
48
Gain Coefficient
28
Select
Output
N
48
48
Figure 1−20. Output Mixers
1.12 PWM
The TAS5504 has four channels of high performance digital PWM modulators that are designed to drive
switching output stages (backends) in both single-ended (SE) and H-bridge (bridge tied load) configuration.
The TAS5504 device uses noise-shaping and sophisticated error correction algorithms to achieve high power
efficiency and high-performance digital audio reproduction. The TAS5504 uses an AD1 PWM modulation
combined with a 5th order noise shaper to provide a 102-dB SNR from 20 to 20 kHz.
The PWM section accepts 32-bit PCM data from the DAP and outputs four PWM audio output channels.
The TAS5504 PWM section output supports both single-ended and bridge-tied loads.
The PWM section provides a headphone PWM output to drive an external differential amplifier like the
TPA112. The headphone circuit uses the PWM modulator for channels 1 and 2. The headphone will not
operate while the backend drive channels are operating. The headphone will be enabled via a headphone
select terminal or I2C command.
The PWM section has individual channel dc blocking filters that can be enabled and disabled. The filter cutoff
frequency is less than 1 Hz.
The PWM section has individual channel de-emphasis filters for 32, 44.1, and 48 kHz that can be enabled and
disabled.
The PWM section also contains the power supply volume control (PSVC) PWM.
The interpolator, noise shaper, and PWM sections provide a PWM output with the following features:
•
28
Up to 8x over sampling.
−
8x at FS = 44.1 kHz, 48 kHz, 32 kHz, 38 kHz
−
4x at FS = 88.2 kHz, 96 kHz
−
2x at FS = 176.4 kHz, 192 kHz
•
5th order noise shaping
•
102-dB dynamic range 0 – 20 kHz (TAS5504 + TAS5111 system measured at speaker terminals)
TAS5504
SLES123 − October 2004
Introduction
•
THD < 0.01%
•
Adjustable maximum modulation limit of 93.8% to 99.2%
•
3.3-V digital signal
1.12.1
DC Blocking (High Pass Enable/ Disable)
Each input channel incorporates a first order digital high-pass filter to block potential dc components. The filter
–3 dB point is approximately 0.89-Hz at 44.1-kHz sampling rate. The high-pass filter can be enabled and
disabled via the I2C interface.
1.12.2
De-Emphasis Filter
For audio sources that have been pre-emphasized, a precision 50 µs/15 µs de-emphasis filter is provided to
support the sampling rates of 32 kHz, 44.1 kHz, and 48 kHz. Figure 1−21 shows a graph of the de-emphasis
filtering characteristics. De-emphasis is set using two bits in the system control register.
Response − dB
0
−10
3.18 (50 µs)
10.6 (15 µs)
Frequency − kHz
Figure 1−21. De-emphasis Filter Characteristics
1.12.3
Power Supply Volume Control (PSVC)
The TAS5504 supports volume control by both conventional digital gain / attenuation and by a combination
of digital and analog gain / attenuation. Varying the H-bridge power supply voltage performs the analog volume
control function. The benefits of using powers supply volume control (PSVC) are reduced idle channel noise,
improved signal resolution at low volumes, increased dynamic range, and reduced radio frequency emissions
at reduced power levels. The power supply volume control (PSVC) is enabled via I2C. When enabled the
PSCV provides a PWM output that is filtered to provide a reference voltage for the power supply. The power
supply adjustment range can be set for −12.04, −18.06, or −24.08 dB, to accommodate a range of variable
power supply designs.
Figure 1−22 and Figure 1−23 show how power supply and digital gains can be used together.
The volume biquad (0xCF) can be used to implement a low-pass filter in the digital volume control to match
the PSVC volume transfer function.
SLES123 − October 2004
TAS5504
29
Introduction
Power Supply Volume Control
Digital & Power Supply Gain − dB
30
20
10
0
Digital Gain
−10
−20
Power Supply Gain
−30
−40
−50
30
20
10
0
−10
−20
−30
−40
−50
−60
−70
−80
−60
Desired Gain − dB
Figure 1−22. Power Supply and Digital Gains (Log Space)
Power Supply Volume Control
Digital & Power Supply Gain
100
10
1
Digital Gain
0.1
Power Supply Gain
0.01
0.001
0.0001
0.00001
0.0001
0.001
0.01
0.1
1
10
100
Desired Gain (Linear)
Figure 1−23. Power Supply and Digital Gains (Linear Space)
1.12.4
AM Interference Avoidance
Digital amplifiers can degrade AM reception as a result of their RF emissions. Texas Instruments patented AM
interference avoidance circuit provides a flexible system solution for a wide variety of digital audio
architectures. During AM reception, the TAS5504 adjusts the radiated emissions to provide an emission clear
zone for the tuned AM frequency. The inputs to the TAS5504 for this operation are the tuned AM frequency,
the IF frequency, and the sample rate. The sample rate is automatically detected.
30
TAS5504
SLES123 − October 2004
Introduction
Analog
Receiver
ADC
PCM1802
Audio
DSP
TAS5504
TAS5111
TAS5111
TAS5111
Audio DSP provides the master
and bit clocks
Digital
Receiver
Audio
DSP
TAS5504
TAS5111
TAS5111
TAS5111
TAS5111
TAS5111
The Digital Receiver or the Audio
DSP provides the Master and Bit
clocks
Figure 1−24. Block Diagrams of Typical Systems Requiring TAS5504 Automatic AM Interference
Avoidance Circuit
SLES123 − October 2004
TAS5504
31
TAS5504 Controls and Status
2
TAS5504 Controls and Status
The TAS5504 provides control and status information from both the I2C registers and device pins.
This section describes some of these controls and status functions. The I2C summary and detailed register
descriptions are contained in sections at the end of this document.
2.1
I2C Status Registers
The TAS5504 has two status registers that provide general device information. These are the General Status
Register 0 (0x01) and the Error Status Register (0x02).
2.1.1 General Status Register (0x01)
•
•
•
Device identification code
Clip indicator – The TAS5504 has a clipping indicator. Writing to the register clears the indicator.
Bank switching is busy
2.1.2 Error Status Register (0x02)
2.2
•
No internal errors (the valid signal is high)
•
A clock error has occurred – These are sticky bits that are cleared by writing to the register.
− LRCLK error – When the number of MCLKs per LRCLK is incorrect
− SCLK error – When the number of SCLKS per LRCLK is incorrect
− Frame slip – When the number of MCLKs per LRCLK changes by more than 10 MCLK cycles
− PLL phase-lock error
•
This error status register is normally used for system development only.
TAS5504 Pin Controls
The TAS5504 provide a number of terminal controls to manage the device operation. These controls are:
•
•
•
•
•
RESET
PDN
BKND_ERR
HP_SEL
MUTE
2.2.1 Reset (RESET)
The TAS5504 is placed in the reset mode by setting the RESET terminal low or by the power up reset circuitry
when power is applied.
RESET is an asynchronous control signal that restores the TAS5504 to the hard mute state (M). Master
volume is immediately set to full attenuation (there is no ramp down). Reset initiates the device reset without
an MCLK input. As long as the RESET terminal is held low, the device is in the reset state. During reset, all
I2C and serial data bus operations are ignored.
Table 2−1 shows the device output signals while RESET is active.
Table 2−1. Device Outputs During Reset
SIGNAL
SLES123 − October 2004
SIGNAL STATE
Valid
Low
PWM P-outputs
Low (M-State)
PWM M-outputs
Low (M-State)
SDA
Signal Input (not driven)
TAS5504
33
TAS5504 Controls and Status
Because RESET is an asynchronous signal, clicks and pops produced during the application (the leading
edge) of RESET cannot be avoided. However, the transition from the hard mute state (M) to the operational
state is performed using a quiet start up sequence to minimize noise. This control uses the PWM reset and
unmute sequence to shut down and start up the PWM. A detailed description of these sequences is contained
in the PWM section. If a completely quiet reset or power down sequence is desired, MUTE should be applied
before applying RESET.
The rising edge of the reset pulse begins device initialization before the transition to the operational mode.
During device initialization, all controls are reset to their initial states. Table 2−2 shows the default control
settings following a reset.
Table 2−2. Values Set During Reset
CONTROL
34
TAS5504
SETTING
Clock register
Not valid
High pass
Disabled
Unmute from clock error
Hard unmute
PSVC high Z
Disabled
Post DAP detection automute
Enabled
Four Ch PreDAP detection automute
Enabled
De-emphasis
De-emphasis disabled
Channel configuration control
Configured for the default setting
Headphone configuration control
Configured for the default setting
Serial data interface format
I2S 24 bit
Individual channel mute
No channels are muted
Automute delay
5 ms
Automute threshold 1
< 8 bits
Automute threshold 2
Same as automute threshold 1
Modulation limit
Maximum modulation limit of 97.7%
Slew rate limit
Disengaged for all channels
Interchannel delay
−32, 0, –16, 16, –24, 8, –8, −24
Shutdown PWM on error
Enabled
Volume and mute update rate
Volume ramp 85 ms
Treble and bass slew rate
Update every 1.31 ms
Bank switching
Manual bank selection is enabled
Auto bank switching map
All channels use Bank 1
Biquad coefficients (TAS5504)
Set to All pass
Input mixer coefficients
Input N −> Channel N, no attenuation
Output mixer coefficients
Channel N −> Output N, no attenuation
Subwoofer sum into Ch1 and Ch2
(TAS5504)
Gain of 0
Ch1 and Ch2 sum in subwoofer (TAS5504)
Gain of 0
Bass and treble bypass
Gain of 1
Bass and treble Inline
Gain of 0
DRC bypass (TAS5504)
Gain of 1
DRC inline (TAS5504)
Gain of 0
DRC (TAS5504)
DRC disabled, default values
Master volume
Mute
Individual channel volumes
0 dB
All bass and treble Indexes
0x12 neutral
Treble filter sets
Filter Set 3
Bass filter sets
Filter Set 3
SLES123 − October 2004
TAS5504 Controls and Status
CONTROL
SETTING
Loudness (TAS5504)
Loudness disabled, default values
AM interference enable
Disabled
AM interference IF
455
AM interference select sequence
1
Tuned freq and mode
0000 , BCD
Subwoofer PSVC control
Enabled
PSVC and PSVC range
Disabled / 0 dB
After the initialization time, the TAS5504 starts the transition to the operational state with the Master volume
set at mute.
Since the TAS5504 has an external crystal time base, following the release of RESET, the TAS5504 sets the
MCLK and data rates and perform the initialization sequences. The PWM outputs are held at a mute state until
the master volume is set to a value other than mute via I2C.
2.2.2 Power Down (PDN)
The TAS5504 can be placed into the power down mode by holding the PDN terminal low. When power down
mode is entered, both the PLL and the oscillator are shut down. Volume is immediately set to full attenuation
(there is no ramp down). This control uses the PWM mute sequence that provides a low click and pop transition
to the hard mute state (M). A detailed description of the PWM mute sequence is contained in the PWM section.
Power down is an asynchronous operation that does not require MCLK to go into the power down state. To
initiate the power-up sequence requires MCLK to be operational and the TAS5504 to receive 5 MCLKs prior
to the release of PDN.
As long as the PDN terminal is held low the device is in the power down state with the PWM outputs in a hard
mute (M) state. During power down, all I2C and serial data bus operations are ignored. Table 2−3 shows the
device output signals while PDN is active.
Table 2−3. Device Outputs During Power Down
SIGNAL
SIGNAL STATE
Valid
Low
PWM P-outputs
M-state = low
PWM M-outputs
M-state = low
SDA
Signal input
PSVC
M-state = low
Following the application of PDN, the TAS5504 does not perform a quiet shutdown to prevent clicks and pops
produced during the application (the leading edge) of this command. The application of PDN immediately
performs a PWM stop. A quiet stop sequence can be performed by first applying MUTE before PDN.
When PDN is released, the system goes to the end state specified by MUTE and BKND_ERR pins and the
I2C register settings.
The crystal time base allows the TAS5504 to determine the CLK rates. Once these rates are determined, the
TAS5504 unmutes the audio.
2.2.3 Backend Error (BKND_ERR)
Backend error is used to provide error management for backend error conditions. Backend error is a level
sensitive signal. Backend error can be initiated by bringing the BKND_ERR terminal low for a minimum 5
MCLK cycles. When BKND_ERR is brought low, the PWM sets all channels into the PWM backend error state.
This state is described in the PWM section. Once the backend error sequence is initiated, a delay of 5 ms is
performed before the system starts the output re−initialization sequence. After the initialization time, the
TAS5504 begins normal operation. Backend error does not affect other PWM modulator operations
SLES123 − October 2004
TAS5504
35
TAS5504 Controls and Status
When BKND_ERR is low, the TAS5504 brings the PWM outputs 1−6 to a backend error state, while not
affecting any other internal settings or operations. Table 2−4 shows the device output signal states during
backend error.
Table 2−4. Device Outputs During Backend Error
SIGNAL
SIGNAL STATE
Valid
Low
PWM P-outputs
M-State − low
PWM M-outputs
M-State − low
HPPWM P-outputs
M-State − low
HPPWM M-outputs
M-State − low
SDA
Signal Input (not driven)
2.2.4 Speaker / Headphone Selector (HP_SEL)
The HP_SEL terminal enables the headphone output or the speaker outputs. The headphone output receives
the processed data output from DAP and PWM channels 1 and 2.
When low, the headphone output is enabled. In this mode the speaker outputs are disabled. When high, the
speaker outputs are enabled and the headphone is disabled.
Changes in the pin logic level results in a state change sequence using soft mute to the hard mute (M) state
for both speaker and headphone followed by a soft unmute.
When HP_SEL is low, the configuration of channels 1 and 2 are defined by the headphone configuration
register. When HP_SEL is high, the channel 1 and 2 configuration registers define the configuration of
channels 1 and 2.
2.2.5 Mute (MUTE)
The mute control provides a noiseless volume ramp to silence. Releasing mute provides a noiseless ramp
to previous volume. The TAS5504 has both a master and individual channel mute commands. A terminal is
also provided for the master MUTE. The low active master Mute I2C register and the MUTE terminal are
logically Or’ed together. If either is set to low, a mute on all channels is performed. The master mute command
operates on all channels.
When MUTE is invoked, the PWM output stops switching and then goes to an idle state.
The master Mute terminal is used to support a variety of other operations in the TAS5504, such as setting the
inter-channel delay, the biquad coefficients, the serial interface format, and the clock rates. A mute command
by the master mute terminal, individual I2C mute, the AM interference mute sequence, the bank switch mute
sequence, or automute overrides an unmute command or a volume command. While a mute is active, the
commanded channels will be placed in a mute state. When a channel is unmuted, it goes to the last
commanded volume setting that has been received for that channel.
2.3
Device Configuration Controls
The TAS5504 provides a number of system configuration controls that are set at initialization and following
a reset.
•
•
•
•
•
•
36
Channel Configuration
Headphone Configuration
Audio System Configurations
Recovery from Clock Error
Power Supply Volume Control Enable
Volume and Mute Update Rate
TAS5504
SLES123 − October 2004
TAS5504 Controls and Status
•
Modulation Index Limit
•
Inter-channel Delay
•
Master Clock and Data Rate Controls
•
Bank Controls
2.3.1 Channel Configuration Registers
In order for the TAS5504 to have full control of the power stages, registers 0x05, 0x06, 0x0B, and 0x0C must
be programmed to reflect the proper power stage and how each one should be controlled. Channel
configuration registers consist of four registers, one for each channel.
The primary reason for using these registers is that different power stages require different handling during
start up, mute/unmute, shutdown, and error recovery. The TAS5504 must select the sequence that gives the
best click and pop performance and insure that the bootstrap capacitor is charged correctly during start up.
This sequence depends on which power stage is present at the TAS5504 output.
Table 2−5. Description of the Channel Configuration Registers (0x05, 0x06, 0x0B, 0x0C)
BIT
DESCRIPTION
D7
Enable/disable error recovery sequence. In case the BKND_RECOVERY pin is pulled low, this register determines if this channel is
to follow the error recovery sequence or to continue with no interruption.
D6
Determines if the power stage needs the TAS5504 VALID pin to go low to reset the power stage. Some power stages can be reset
by a combination of PWM signals. For these devices, it is recommended to set this bit low, since the VALID pin is shared for power
stages. This provides better control of each power stage.
D5
Determines if the power stage needs the TAS5504 VALID pin to go low to mute the power stage. Some power stages can be muted
by a combination of PWM signals. For these devices, it is recommended to set this bit low, since the VALID pin is shared for power
stages. This provides better control of each power stage.
D4
Inverts the PWM output. Inverting the PWM output can be an advantage if the power stage input pin are opposite the TAS5504 PWM
pinout. This makes routing on the PCB easier. To keep the phase of the output the speaker terminals must also be inverted.
D3
The power stage TAS5182 has a special PWM input. To ensure that the TAS5504 has full control in all occasions, the PWM output
must be remapped.
D2
Can be used to handle click and pop for some applications.
D1
This bit is normally used together with D2. For some power stages, both PWM signals must be high to get the desired operation of
both speaker outputs to be low. This bit sets the PWM outputs high-high during mute.
D0
Not used
Table 2−6 lists the optimal setting for each output stage configuration. Note that the default value is applicable
in all configurations except the TAS5182 SE/BTL configuration.
Table 2−6. Recommended TAS5504 Configurations for Texas Instruments Power Stages
DEVICE
ERROR RECOVERY
CONFIGURATION
D7
D6
D5
D4
D3
D2
D1
D0
Default
RES
BTL
1
1
1
0
0
0
0
0
BTL
1
1
1
0
0
0
0
0
SE
1
1
1
0
0
0
0
0
BTL
0
1
1
0
0
0
0
0
SE
0
1
1
0
0
0
0
0
BTL
1
1
0
0
0
0
0
0
RES
TAS5111
AUT
RES
TAS5112
AUT
TAS5182
RES
SE
1
1
0
0
0
0
0
0
BTL
0
1
0
0
0
0
0
0
SE
0
1
0
0
0
0
0
0
BTL
1
1
1
0
1
0
0
0
SE
1
1
1
0
1
0
0
0
RES: The output stage requires VALID to go low to recover from a shutdown.
AUT: The power stage can auto recover from a shutdown.
BTL: Bridge tied load configuration
SLES123 − October 2004
TAS5504
37
TAS5504 Controls and Status
SE: Single-ended configuration
2.3.2 Headphone Configuration Registers
The headphone configuration controls are identical to the speaker configuration controls. The headphone
configuration control settings are used in place of the speaker configuration control settings for channels 1
and 2 when the headphones are selected. In reality however, there is only one used configuration setting for
headphones and that is the default setting.
2.3.3 Audio System Configurations
The TAS5504 can be configured to comply with various audio systems.
The audio system configuration is set in the General Control Register (0xE0). Bits D31 – D4 must be zero and
D0 is don’t care.
D3
Determines if SUB is to be controlled by PSVC
D2
Enable/Disable power supply volume control
D3−D1 must be configured as the following according to the audio system in the application:
Table 2−7. Audio System Configuration (General Control Register 0xE0)
AUDIO SYSTEM
D31−D4
D3
D2
D1
D0
DEFAULT
0
0
0
0
X
3.1 channels NOT using PSVC
0
0
0
1
X
4 channels using PSVC
0
0
1
1
X
3.1 channels using PSVC
0
1
1
1
X
2.3.4 Recovery from Clock Error
The TAS5504 can be set to either perform a volume ramp up during the recovery sequence of a clock error
or to simply come up in the last state (or desired state if a volume or tone update was in progress). This feature
is enabled via I2C system control register 0x03.
2.3.5 Power Supply Volume Control Enable
The power supply volume control (PSVC) can be enabled and disabled via I2C register 0xE0. The subwoofer
PWM output can configured to be controlled by the PSVC or digitally attenuated when PSVC is enabled (for
powered subwoofer configurations). Note that PSVC cannot be simultaneously enabled along with unmute
outputs after clock error feature.
2.3.6 Volume and Mute Update Rate
The TAS5504 has fixed soft volume and mute ramp durations. The ramps are linear. The soft volume and mute
ramp rates are adjustable by programming the I2C register 0xD0 for the appropriate number of steps to be
512, 1024, or 2048. The update is performed at a fixed rate regardless of the sample rate.
•
In normal speed, the update rate is 1 step every 4 / Fs seconds.
•
In double speed, the update is 1 step every 8 / Fs seconds.
•
In quad speed, the update is 1 step every 16 / Fs seconds.
Because of processor loading, the update rate can increase for some increments by +1/Fs to +3/Fs. However,
the variance of the total time to go from +18 dB to mute is less than 25%.
38
TAS5504
SLES123 − October 2004
TAS5504 Controls and Status
Table 2−8. Volume Ramp Rates in ms
NUMBER OF STEPS
SAMPLE RATE (kHz)
44.1, 88.2, 176.4
32, 48, 96, 192
512
46.44 ms
42.67 ms
1024
92.88 ms
85.33 ms
2048
185.76 ms
170.67 ms
2.3.7 Modulation Index Limit
PWM modulation is a linear function of the audio signal. When the audio signal is 0, the PWM modulation is
50%. When the audio signal increases towards full scale, the PWM modulation increases towards 100%. For
negative signals, the PWM modulations fall below 50% towards 0%.
However, there is a limit to the maximum modulation possible. During the off-time period, the power stage
connected to the TAS5504 output needs to get ready for he next on-time period. The maximum possible
modulation is then set by the power stage requirements. A modulation index of 97.7% is the default setting
of the TAS5504. Default settings can be changed in the Modulation Index Register (0x16).
Note that no change should be made to this register when using Texas Instruments power stages.
2.3.8 Inter-channel Delay
An 8-bit value can be programmed to each of the four PWM inter-channel delay registers to add a delay per
channel from 0 to 255 clock cycles. The delays correspond to cycles of the high-speed internal clock, DCLK.
The default values are shown in Table 2−9.
Table 2−9. Inter-Channel Delay Default Values
I2C SUB-ADDRESS
CHANNEL
INTER-CHANNEL DELAY DEFAULT (DCLK PERIODS)
−24
0x1B
1
0x1C
2
0
0x21
3
−8
0x22
4
+24
This delay is generated in the PWM and can be changed at any time through the serial control interface I2C
registers 0x1B – 0x22. The absolute offset for channel 1 is set in I2C sub-address 0x23.
NOTE:If used correctly, setting the PWM channel delay can optimize the performance of a
pure path digital amplifier system. The setting is based upon the type of backend power device
that is used and the layout. These values are set during initialization using the I2C serial
interface. Unless otherwise noted, use the default values given in Table 2−9.
2.4
Master Clock and Serial Data Rate Controls
The TAS5504 function only as a receiver of the MCLK (master clock), SCLK (shift clock), and LRCLK (left/right
clock) signals that controls the flow of data on the four serial data interfaces. The 13.5-MHz external crystal
allows the TAS5504 to automatically detect MCLK and the data rate.
The MCLK frequency can be 64 x Fs, 128 x Fs, 196 x Fs, 256 x Fs, 384 x Fs, 512 x Fs, or 768 x Fs.
The TAS5504 operates with the serial data interface signals LRCLK and SCLK synchronized to MCLK.
However, there is no constraint as to the phase relationship of these signals. The TAS5504 accepts a 64 x
Fs SCLK rate and a 1 x Fs LRCLK.
If the phase of SCLK or LRCLK drifts more than ±10 MCLK cycles since the last RESET, the TAS5504 performs
a clock error and resynchronize the clock timing.
The clock and serial data interface have several control parameters:
SLES123 − October 2004
TAS5504
39
TAS5504 Controls and Status
•
MCLK Ratio 64 Fs, 128 Fs, 196 Fs, 256 Fs, 384 Fs, 512 Fs, or 768 Fs) − I2C parameter
•
Data Rate 32, 38, 44.1,48, 88.2, 96, 176.4, 192 kHz − I2C parameter
•
AM Mode Enable / Disable − I2C parameter
During AM interference avoidance, the clock control circuitry utilizes three other configuration inputs:
•
Tuned AM Frequency (for AM interference avoidance) (550 − 1750 kHz) − I2C parameter
•
Frequency Set Select (1−4) − I2C parameter
•
Sample Rate − I2C parameter or auto detected
2.4.1 PLL Operation
The TAS5504 uses two internal clocks generated by two internal phase-locked loops (PLLs), the digital PLL
(DPLL) and the analog PLL (APLL). The analog PLL provides the reference clock for the PWM. The digital
PLL provides the reference clock for the digital audio processor and the control logic.
The master clock MCLK input provides the input reference clock for the APLL. The external 13.5-MHz crystal
provides the input reference clock for the digital PLL. The crystal provides a time base to support a number
of operations, including the detection of the MCLK ratio, the data rate, and clock error conditions. The crystal
time base provides a constant rate for all controls and signal timing.
Even if MCLK is not present, the TAS5504 can receive and store I2C commands and provide status.
2.5
Bank Controls
The TAS5504 permits the user to specify and assign sample rate dependent parameters for Biquad,
Loudness, DRC, and Tone in one of three banks that can be manually selected or selected automatically
based upon the data sample rate. Each bank can be enabled for one or more specific sample rates via I2C
bank control register 0x40. Each bank set holds the following values:
•
Coefficients for Seven Biquads (7X5 = 35 coefficients) for Each of the four Channels (Registers 0X51 –
0x88)
•
Coefficients for One Loudness Biquad (Register 0x95)
•
DRC1 Energy and (1 – Energy) Values (Register 0x98)
•
DRC1 Attack, (1 − Attack), Decay, (1 – Decay) Values (Register 0x9C)
•
DRC2 Energy and (1 – Energy) Values (Register 0x9D)
•
DRC2 Attack, (1 − Attack), Decay, (1 – Decay) Values (Register 0xA1)
•
Five Bass Filter-Set Selections (Register 0xDA)
•
Five Treble Filter-Set Selections (Register 0xDC)
The default selection for bank control is manual bank with bank 1 selected. Note that if bank switching is used,
Bank 2 and Bank 3 must be programmed on power up since the default values are all zeroes. If bank switching
is used and Bank 2 and Bank 3 are not programmed correctly, then the output of the TAS5504 could be muted
when switching to those banks.
2.5.1 Manual Bank Selection
The three bank selection bits of the bank control register allow the appropriate bank to be manually selected
(000 = Bank 1, 001 = Bank 2, 010 = Bank 3). In the manual mode, when a write occurs to the Biquad, DRC,
or Loudness coefficients, the current selected bank is updated. If audio data is streaming to the TAS5504,
during a manual bank selection, the TAS5504 first performs a mute sequence, then performs the bank switch,
and finally restores the volume using an un-mute sequence.
A mute command initiated by the bank switch mute sequence overrides an un−mute command or a volume
command. While a mute is active, the commanded channels are muted. When a channel is unmated, the
volume level goes to the last commanded volume setting that has been received for that channel.
40
TAS5504
SLES123 − October 2004
TAS5504 Controls and Status
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.
SLES123 − October 2004
TAS5504
41
TAS5504 Controls and Status
•
•
On TAS5504 power up or reset, the micro runs the following TAS5504 Initialization code:
−
Update Bank 1 (Write 0x00048040 to register 0x40).
−
Write bank-related I2C registers with appropriate values for Bank 1.
−
Write Bank 2 (Write 0x00058040 to register 0x40).
−
Load bank-related I2C registers with appropriate values for Bank 2.
−
Write Bank 3 (Write 0x00068040 to register 0x40).
−
Load bank-related I2C registers with appropriate values for Bank 3.
−
Select automatic bank switching (write 0x00038040 to register 0x40)
Now when the audio media changes, the TAS5504 automatically detects the incoming sample rate and
automatically switches to the appropriate bank.
In this example any sample rates other then 32 kHz and 44.1 kHz will use Bank 3. If other sample rates are
used, then the banks need to be set−up differently.
2.5.6 Bank Switching Example 2
Problem: The audio system uses all of the sample rates supported by the TAS5504. How can the automatic
bank switching be set up to handle this situation?
Strategy: Use the TAS5504 bank switching feature to allow for managing and switching three banks
associated with sample rates as follows:
•
Bank 1: Coefficients for 32 kHz, 38 kHz, 44.1 kHz, and 48 kHz
•
Bank 2: Coefficients for 88.2kHz and 96 kHz
•
Bank 3: Coefficients for 176.4 kHz and 192 kHz
One possible algorithm is to generate, load, and automatically manage bank switching for this problem:
•
Generate bank-related coefficients for sample rates 48 kHz (Bank 1), 96 kHz (Bank 2), and 192 kHz (Bank
3) and include the same in the micro-based TAS5504 I2C firmware.
•
On TAS5504 power−up or reset, the micro runs the following TAS5504 Initialization code:
•
42
−
Update Bank 1 (Write 0x0004F00C to register 0x40).
−
Write bank-related I2C registers with appropriate values for Bank 1.
−
Write Bank 2 (Write 0x0005F00C to register 0x40).
−
Load bank-related I2C registers with appropriate values for Bank 2.
−
Write Bank 3 (Write 0x0006F00C to register 0x40).
−
Load bank-related I2C registers with appropriate values for Bank 3.
−
Select automatic bank switching (Write 0x0003F00C to register 0x40)
Now when the audio media changes, the TAS5504 automatically detects the incoming sample rate and
automatically switches to the appropriate bank.
TAS5504
SLES123 − October 2004
Electrical Specifications
3
Electrical Specifications
3.1
Absolute Maximum Ratings{
UNITS
Supply voltage, DVDD and DVD_PWM
−0.3 V to 3.6 V
Supply voltage, AVDD_PLL
−0.3 V to 3.6 V
3.3-V digital input
Input voltage
−0.5 V to DVDD + 0.5 V
5 V tolerant(2) digital input
−0.5 V to 6 V
1.8 V LVCMOS(3)
−0.5 V to VREF(1) + 0.5 V
Input clamp current, IIK (VI < 0 or VI > 1.8 V
±20 mA
Output clamp current, IOK (VO < 0 or VO > 1.8 V)
±20 mA
Operating free air temperature
0°C to 70°C
Storage temperature range, Tstg
−65°C to 150°C
†
Stresses beyond those listed under “absolute maximum ratings” may cause permanent damage to the device. These are stress ratings only and
functional operation of the device at these or any other conditions beyond those indicated under “recommended operating conditions” is not
implied. Exposure to absolute-maximum-rated conditions for extended periods may affect device reliability.
NOTES: 1. VREF is a 1.8-V supply derived from regulators internal to the TAS5504 chip. VREF is on terminals VRA_PLL, VRD_PLL, VR_DPLL,
VR_DIG, and VR_PWM. These terminals are provided to permit use of external filter capacitors, but should not be used to source
power to external devices.
2. 5-V tolerant inputs are RESET, PDN, MUTE, HP_SEL, SCLK, LRCLK, MCLK, SDIN1, SDIN2, SDIN3, SDIN4, SDA, and SCL.
3. VRA_PLL, VRD_PLL, VR_DPLL, VR_DIG, VR_PWM
DISSIPATION RATING TABLE (High-k Board, 1055C Junction)
3.2
PACKAGE
TA ≤ 255C
POWER RATING
DERATING FACTOR
ABOVE TA = 255C
TA = 705C
POWER RATING
PAG
1869 mW
23.36 mW/°C
818 mW
Dynamic Performance (At Recommended Operating Conditions at 255C)
PARAMETER
Dynamic range 32 kHz to 192 kHz
Total harmonic distortion
Frequency response
3.3
TEST CONDITIONS
MIN
TAS5504 + TAS5111 A-weighted
NOM
MAX
102
TAS5111 A at 1 W
UNITS
dB
0.1%
TAS5504 ouput
0.01%
32-kHz to 96-kHz sample rates
±0.1
176.4, 192-kHz sample rates
±0.2
dB
Recommended Operating Conditions (over 05C to 705C)
Digital supply voltage, DVDD and DVDD_PWM
Analog supply voltage, AVDD_PLL
High-level
High
level input voltage, VIH
NOM
MAX
3
3.3
3.6
V
3
3.3
3.6
V
3.3 V
2
5-V tolerant(4)
2
1.8-V LVCMOS (XTL_IN)
Low-level
Low
level input voltage, VIL
MIN
UNITS
V
1.26
3.3 V
0.8
5-V tolerant(4)
0.8
1.8-V (XTL_IN)
0.54
Operating ambient air temperature range, TA
−20
Operating junction temperature range, TJ
−20
25
V
70
°C
105
°C
NOTE 4: 5-V tolerant inputs are SDA, SCL, RESET, PDN, MUTE, HP_SEL, SCLK, LRCLK, MCLK, SDIN1, SDIN2, SDIN3, and SDIN4.
SLES123 − October 2004
TAS5504
43
Electrical Specifications
3.4
Electrical Characteristics Over Recommended Operating Conditions (Unless
Otherwise Noted)
PARAMETER
VOH
High level output voltage
High-level
VOL
Low level output voltage
Low-level
IOZ
High-impedance output current
IIL
Low-level
Low
level input current
High-level
High
level input current
TYP
MAX
1.8-V LVCMOS (XTL_OUT)
IOH = − 0.55 mA
3.3-V TTL and 5 V(6) tolerant
IOL = 4 mA
0.5
1.8-V LVCMOS (XTL_OUT)
IOL = 0.75 mA
0.5
2.4
±20
3.3-V TTL
VI = VIL
±1
1.8-V LVCMOS (XTL_IN)
VI = VIL
±1
VI = 0 V DVDD = 3 V
±1
3.3-V TTL
VI = VIH
±1
1.8-V LVCMOS (XTL_IN)
VI = VIH
±1
tolerant(5)
tolerant(5)
VI = 5.5 V DVDD = 3 V
Digital supply voltage,
voltage DVDD
Input supply current
voltage AVDD
Analog supply voltage,
UNITS
V
1.44
3.3-V TTL
5V
IDD
MIN
IOH = −4 mA
5V
IIH
TEST CONDITIONS
3.3 V TTL and 5 V(6) tolerant
V
µA
µA
µA
±20
Fs = 48 kHz
140
Fs = 96 kHz
150
Fs = 192kHz
155
Power down
8
Normal
mA
20
Power down
mA
2
NOTES: 5. 5-V tolerant inputs are SDA, SCL, RESET, PDN, MUTE, HP_SEL, SCLK, LRCLK, MCLK, SDIN1, SDIN2, SDIN3, and SDIN4.
6. 5-V tolerant outputs are SCL and SDA
3.5
PWM Operation at Recommended Operating Conditions Over 05C to 705C
PARAMETER
Output sample rate 1X – 8 x over sampled
3.6
TEST CONDITIONS
MODE
VALUE
UNITS
384
kHz
8, 4, and 2 x sample rate
352.8
kHz
8, 4, and 2 x sample rate
384
kHz
32-kHz data rate ±4%
12 x sample rate
44.1-, 88.2-, 176.4-kHz data rate ±4%
48, 96, 192 kHz data rate ±4%
Switching Characteristics
3.6.1 Clock Signals Over Recommended Operating Conditions (Unless Otherwise
Noted)
3.6.1.1
PLL Input Parameters and External Filter Components{
PARAMETER
TEST CONDITIONS
MIN
fXTALI
Frequency, XTAL IN
fMCLKI
Frequency, MCLK (1 / tcyc2)
Only use 13.5-MHz crystal ≤1000 ppm
2
MCLK duty cycle duty cycle
40%
TYP
MAX
13.5
MHz
50
50%
UNITS
MHz
60%
MCLK minimum high time
≥2-V MCLK = 49.152 MHz, Within the min
and max duty cycle constraints
5
ns
MCLK minimum low time
≤0.8-V MCLK = 49.152 MHz,
Within the min and max duty cycle constraints
5
ns
LRCLK allowable drift before LRCLK reset
10
MCLKs
External PLL filter cap C1
SMD 0603 Y5V
100
nF
External PLL filter cap C2
SMD 0603 Y5V
External PLL filter resistor R
SMD 0603, metal film
200
10
nF
Ω
External VRA_PLL decoupling
SMD, Y5V
100
nF
See the TAS5504 Example Application Schematic section.
44
TAS5504
SLES123 − October 2004
Electrical Specifications
3.6.2 Serial Audio Port
3.6.2.1
Serial Audio Ports Slave Mode Over Recommended Operating Conditions (Unless
Otherwise Noted)
PARAMETER
TEST CONDITIONS
MIN
CL = 30 pF
TYP
2.048
MAX
Frequency, SCLK 64 x fs
tsu1
Setup time, LRCLK to SCLK rising edge
10
ns
th1
Hold time, LRCLK from SCLK rising edge
10
ns
tsu2
Setup time, SDIN to SCLK rising edge
10
ns
th2
Hold time, SDIN from SCLK rising edge
10
ns
LRCLK frequency
12.288
UNITS
fSCLKIN
32
48
192
SCLK duty cycle
40%
50%
60%
LRCLK duty cycle
40%
50%
60%
kHz
64
64
SCLK
edges
−1/4
1/4
SCLK
period
SCLK rising edges between LRCLK rising edges
LRCLK clock edge with respect to the falling edge of SCLK
MHz
SCLK
(Input)
th1
tsu1
LRCLK
(Input)
th2
tsu2
SDIN1
SDIN2
SDIN3
Figure 3−1. Slave Mode Serial Data Interface Timing
SLES123 − October 2004
TAS5504
45
Electrical Specifications
3.6.3 I 2C Serial Control Port Operation
3.6.3.1
Timing Characteristics for I2C Interface Signals Over Recommended Operating
Conditions (Unless Otherwise Noted)
PARAMETER
TEST CONDITIONS
MIN
No wait states
MAX
UNITS
400
kHz
fSCL
Frequency, SCL
tw(H)
Pulse duration, SCL high
0.6
tw(L)
Pulse duration, SCL low
1.3
tr
Rise time, SCL and SDA
300
ns
tf
Fall time, SCL and SDA
300
ns
tsu1
Setup time, SDA to SCL
th1
Hold time, SCL to SDA
t(buf)
tsu2
µs
µs
100
ns
0
ns
Bus free time between stop and start condition
1.3
µs
Setup time, SCL to start condition
0.6
µs
th2
Hold time, start condition to SCL
0.6
µs
tsu3
Setup time, SCL to stop condition
0.6
CL
Load capacitance for each bus line
µs
400
tw(L)
tw(H)
tr
pF
tf
SCL
tsu1
th1
SDA
Figure 3−2. SCL and SDA Timing
SCL
th2
t(buf)
tsu2
tsu3
Start Condition
Stop Condition
SDA
Figure 3−3. Start and Stop Conditions Timing
46
TAS5504
SLES123 − October 2004
Electrical Specifications
3.6.4 Reset Timing (RESET)
3.6.4.1
Control Signal Parameters Over Recommended Operating Conditions (Unless
Otherwise Noted)
PARAMETER
tr(DMSTATE)
Time to M-STATE low
tw(RESET)
Pulse duration, RESET active
MIN
TYP
400
I2C
tr(I2C_ready)
Time to enable
tr(run)
Device startup time
MAX
UNITS
370
ns
None
ns
3
ms
10
RESET
ms
Earliest time
that M-State
could be exited
tw(RESET)
M-State
tr(I2C_ready)
tr(run)
tr(DMSTATE) = ~ < 300 ns
Determine SCLK rate
and MCLK ratio Enable I2C
Start system
Figure 3−4. Reset Timing
Since a crystal time base is used, the system determines the CLK rates. Once the data rate and master clock
ratio is determined, the system outputs audio if a master volume command is issued.
3.6.5 Power-Down (PDN) Timing
3.6.5.1
Control Signal Parameters Over Recommended Operating Conditions (Unless Otherwise
Noted)
PARAMETER
tp(DMSTATE)
MIN
Time to M-STATE low
Number of MCLKs preceding the release of PDN
tsu
TYP
MAX
UNITS
300
µs
5
Device startup time
120
ms
PDN
M-State
tp(DMSTATE) = ~ < 300 µs
tsu
Figure 3−5. Power-Down Timing
SLES123 − October 2004
TAS5504
47
Electrical Specifications
3.6.6 Backend Error (BKND_ERR)
3.6.6.1
Control Signal Parameters Over Recommended Operating Conditions (Unless
Otherwise Noted)
PARAMETER
tw(ER)
MIN
Pulse duration, BKND_ERR active
350
tp(valid_low)
tp(valid_high)
I2C programmable to be between 1 to 10 ms
TYP
MAX
UNITS
None
ns
<100
µs
−25
25
% of interval
tw(ER)
ERR_RCVRY
M-State
Normal
Operation
Normal
Operation
tp(valid_high)
tp(valid_low)
Figure 3−6. Error Recovery Timing
3.6.7 MUTE Timing—MUTE
3.6.7.1
Control Signal Parameters Over Recommended Operating Conditions (Unless
Otherwise Noted)
PARAMETER
td(VOL
MIN
TYP
MAX
Defined by rate setting(1)
Volume ramp time
UNITS
ms
NOTE 1: See the Volume Treble and Base Slew Rate Register (0xD0) section.
MUTE
VOLUME
M-State
Normal
Operation
Normal
Operation
td(VOL)
td(VOL)
Figure 3−7. Mute Timing
48
TAS5504
SLES123 − October 2004
Electrical Specifications
3.6.8 Headphone Select (HP_SEL)
3.6.8.1
Control Signal Parameters Over Recommended Operating Conditions (Unless
Otherwise Noted)
PARAMETER
tw(MUTE)
Pulse duration, HP_SEL active
td(VOL)
Soft volume update time
t(SW)
Switch-over time
MIN
MAX
350
None
Defined by rate setting(2)
0.2
UNITS
ns
ms
1 ms
ms
NOTE 2: See the Volume Treble and Base Slew Rate Register (0xD0) section.
HP_SEL
Spkr Volume
td(VOL)
HP Volume
td(VOL)
t(SW)
M-State
(Internal Device State)
HP_SEL
HP Volume
td(VOL)
Spkr Volume
td(VOL)
t(SW)
M-State
Figure 3−8. HP_SEL Timing
SLES123 − October 2004
TAS5504
49
Serial Audio Interface Control and Timing
3.6.9 Volume Control
3.6.9.1
Control Signal Parameters Over Recommended Operating Conditions (Unless
Otherwise Noted)
PARAMETER
TEST CONDITIONS
MIN
Maximum attenuation before mute
Individual volume, master volume or a
combination of both
Maximum gain
Individual volume, master volume
Maximum volume before the onset of clipping
0-dB input, any modulation limit
PSVC range
PSVC enabled
MAX
UNITS
−127
dB
18
dB
0
dB
12, 18, or 24
PSVC rate
dB
Fs
PSVC modulation
Single Sided
PSVC quantization
2048
PSVC PWM modulation limits
6% (120 :
2048)
PSVC Rangel = 24 dB
Steps
95% 1944 :
2048
dB
3.7 Serial Audio Interface Control and Timing
3.7.1 I 2S Timing
I2S timing uses an LRCLK to define when the data being transmitted is for the left channel and when it is for
the right channel. The LRCLK is low for the left channel and high for the right channel. A bit clock running at
64 × Fs is used to clock in the data. There is a delay of one bit clock from the time the LRCLK signal changes
state to the first bit of data on the data lines. The data is written MSB first and is valid on the rising edge of
bit clock. The TAS5504 masks unused trailing data bit positions.
2-Channel I2S (Philips Format) Stereo Input
32 Clks
LRCLK (Note Reversed Phase)
32 Clks
Left Channel
Right Channel
SCLK
SCLK
MSB
24-Bit Mode
23 22
LSB
9
8
5
4
5
4
1
0
1
0
1
0
MSB
LSB
23 22
9
8
5
4
19 18
5
4
1
0
15 14
1
0
1
0
20-Bit Mode
19 18
16-Bit Mode
15 14
NOTE: All data presented in 2s complement form with MSB first.
Figure 3−9. I2S Format 64 Fs Format
50
TAS5504
SLES123 − October 2004
Serial Audio Interface Control and Timing
3.7.2 Left Justified
Left justified (LJ) timing uses an LRCLK to define when the data being transmitted is for the left channel and
when it is for the right channel. The LRCLK is high for the left channel and low for the right channel. A bit clock
running at 64 × Fs is used to clock in the data. The first bit of data appears on the data lines at the same time
the LRCLK toggles. The data is written MSB first and is valid on the rising edge of bit clock. The TAS5504
masks unused trailing data bit positions.
2-Channel Left-Justified Stereo Input
32 Clks
32 Clks
LRCLK
LRCLK
Right Channel
Left Channel
SCLK
MSB
24-Bit Mode
23 22
LSB
9
8
5
4
5
4
1
0
1
0
1
0
MSB
LSB
23 22
9
8
5
4
19 18
5
4
1
0
15 14
1
0
1
0
20-Bit Mode
19 18
16-Bit Mode
15 14
NOTE: All data presented in 2s complement form with MSB first.
Figure 3−10. Left Justified 64 Fs Format
SLES123 − October 2004
TAS5504
51
Serial Audio Interface Control and Timing
3.7.3 Right Justified
Right justified (RJ) timing uses an LRCLK to define when the data being transmitted is for the left channel and
when it is for the right channel. The LRCLK is high for the left channel and low for the right channel. A bit clock
running at 64 × Fs is used to clock in the data. The first bit of data appears on the data 8-bit clock periods (for
24-bit data) after LRCLK toggles. In RJ mode the LSB of data is always clocked by the last bit clock before
L/RCLK transitions. The data is written MSB first and is valid on the rising edge of bit clock. The TAS5504
masks unused leading data bit positions.
2-Channel Right-Justified (Sony Format) Stereo Input
32 Clks
32 Clks
LRCLK
Right Channel
Left Channel
SCLK
MSB
24-Bit Mode
LSB
23 22
19 18
15 14
1
0
19 18
15 14
1
0
15 14
1
0
MSB
LSB
23 22
19 18
15 14
1
0
19 18
15 14
1
0
15 14
1
0
20-Bit Mode
16-Bit Mode
NOTE: All data presented in 2s complement form with MSB first.
Figure 3−11. Right Justified 64 Fs Format
52
TAS5504
SLES123 − October 2004
I 2C Serial Control Interface (Slave Address 0x36)
4
I2C Serial Control Interface (Slave Address 0x36)
The TAS5504 has a bidirectional I2C interface that compatible with the I2C (Inter IC) bus protocol and supports
both 100 Kbps and 400 Kbps data transfer rates for single and multiple byte write and read operations. This
is a slave only device that does not support a multi-master bus environment or wait state insertion. The control
interface is used to program the registers of the device and to read device status.
The TAS5504 supports the standard-mode I2C bus operation (100 kHz maximum) and the fast I2C bus
operation (400 kHz maximum). The TAS5504 performs all I2C operations without I2C wait cycles.
4.1
General I2C Operation
The I2C bus employs two signals; SDA (data) and SCL (clock), to communicate between integrated circuits
in a system. Data is transferred on the bus serially one bit at a time. The address and data can be transferred
in byte (8-bit) format, with the most significant bit (MSB) transferred first. In addition, each byte transferred on
the bus is acknowledged by the receiving device with an acknowledge bit. Each transfer operation begins with
the master device driving a start condition on the bus and ends with the master device driving a stop condition
on the bus. The bus uses transitions on the data terminal (SDA) while the clock is high to indicate a start and
stop conditions. A high-to-low transition on SDA indicates a start and a low-to-high transition indicates a stop.
Normal data bit transitions must occur within the low time of the clock period. These conditions are shown in
Figure 4−1. The master generates the 7-bit slave address and the read/write (R/W) bit to open communication
with another device and then wait for an acknowledge condition. The TAS5504 holds SDA low during
acknowledge clock period to indicate an acknowledgement. When this occurs, the master transmits the next
byte of the sequence. Each device is addressed by a unique 7-bit slave address plus R/W bit (1 byte). All
compatible devices share the same signals via a bidirectional bus using a wired-AND connection. An external
pullup resistor must be used for the SDA and SCL signals to set the high level for the bus.
SDA
R/
A 8 Bit Register Address (N)
W
7 Bit Slave Address
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
8 Bit Register Data For
Address (N)
A
0
7
6
5
4
3
2
1
8 Bit Register Data For
Address (N)
A
0
7
6
5
4
3
2
1
A
0
SCL
Start
Stop
Figure 4−1. Typical
I2C
Sequence
There is no limit on the number of bytes that can be transmitted between start and stop conditions. When the
last word transfers, the master generates a stop condition to release the bus. A generic data transfer sequence
is shown in Figure 4−1.
The 7-bit address for the TAS5504 is 0011011.
4.2
Single and Multiple Byte Transfers
The serial control interface supports both single-byte and multiple-byte read / write operations for status
registers and the general control registers associated with the PWM. However, for the DAP data processing
registers, the serial control interface supports only multiple byte (4 byte) read / write operations.
During multiple byte read operations, the TAS5504 responds with data, a byte at a time, starting at the
subaddress assigned, as long as the master device continues to respond with acknowledges. If a particular
subaddress does not contain 32 bits, the unused bits are read as logic 0.
During multiple byte write operations, the TAS5504 compares the number of bytes transmitted to the number
of bytes that are required for each specific sub address. If a write command is received for a biquad
subaddress, the TAS5504 expects to receive five 32-bit words. If fewer than five 32-bit data words have been
received when a stop command (or another start command) is received, the data received is discarded.
Similarly, if a write command is received for a mixer coefficient, the TAS5504 expects to receive one 32-bit
word.
SLES123 − October 2004
TAS5504
53
I 2C Serial Control Interface (Slave Address 0x36)
Supplying a subaddress for each subaddress transaction is referred to as random I2C addressing. The
TAS5504 also supports sequential I2C addressing. For write transactions, if a subaddress is issued followed
by data for that subaddress and the fifteen subaddresses that follow, a sequential I2C write transaction has
taken place, and the data for all 16 subaddresses is successfully received by the TAS5504. For I2C sequential
write transactions, the subaddress then serves as the start address and the amount of data subsequently
transmitted, before a stop or start is transmitted, determines how many subaddresses are written. As was true
for random addressing, sequential addressing requires that a complete set of data be transmitted. If only a
partial set of data is written to the last subaddress, the data for the last subaddress is discarded. However,
all other data written is accepted; just the incomplete data is discarded.
4.3
Single Byte Write
As shown in Figure 4−2, a single byte data write transfer begins with the master device transmitting a start
condition followed by the I2C device address and the read/write bit. The read/write bit determines the direction
of the data transfer. For a write data transfer, the read/write bit will be a 0. After receiving the correct I2C device
address and the read/write bit, the TAS5504 device responds with an acknowledge bit. Next, the master
transmits the address byte or bytes corresponding to the TAS5504 internal memory address being accessed.
After receiving the address byte, the TAS5504 again responds with an acknowledge bit. Next, the master
device transmits the data byte to be written to the memory address being accessed. After receiving the data
byte, the TAS5504 again responds with an acknowledge bit. Finally, the master device transmits a stop
condition to complete the single byte data write transfer.
Start
Condition
Acknowledge
A6
A5
A4
A3
A2
A1
A0 R/W ACK A7
Acknowledge
A6
A5
I2C Device Address and
Read/Write Bit
A4
A3
A2
A1
Acknowledge
A0 ACK D7
D6
Sub-Address
D5
D4
D3
D2
D1
D0 ACK
Stop
Condition
Data Byte
Figure 4−2. Single Byte Write Transfer
4.4
Multiple Byte Write
A multiple byte data write transfer is identical to a single byte data write transfer except that multiple data bytes
are transmitted by the master device to TAS5504 as shown in Figure 4−3. After receiving each data byte, the
TAS5504 responds with an acknowledge bit.
Start
Condition
Acknowledge
A6
A5
A1
A0 R/W ACK A7
I2C Device Address and
Read/Write Bit
A6
A5
A4
A3
Sub-Address
A1
Acknowledge
Acknowledge
Acknowledge
Acknowledge
A0 ACK D7
D0 ACK D7
D0 ACK D7
D0 ACK
First Data Byte
Other Data Bytes
Last Data Byte
Stop
Condition
Figure 4−3. Multiple Byte Write Transfer
4.5
Incremental Multiple Byte Write
The I2C supports a special mode which permits I2C write operations to be broken up into multiple data write
operations that are multiples of 4 data bytes. These are 6 byte, 10 byte, 14 byte, 18 byte, ... etc., write
operations that are composed of a device address, read/write bit, and subaddress and any multiple of 4 bytes
of data. This permits the system to incrementally write large register values without blocking other I2C
transactions.
This feature is enabled by the append subaddress function in the TAS5504. This function enables the
TAS5504 to append 4 bytes of data to a register that was opened by a previous I2C register write operation
but has not received its complete number of data bytes. Since the length of the long registers is a multiple of
4 bytes, using 4-byte transfers will have only an integer number of append operations.
54
TAS5504
SLES123 − October 2004
I 2C Serial Control Interface (Slave Address 0x36)
When the correct number of bytes has been received, the TAS5504 starts processing the data.
The procedure to perform an incremental multi-byte write operation is as follows:
1. Start a normal I2C write operation by sending the device address, write bit, register subaddress, and the
first four bytes of the data to be written. At the end of that sequence, send a stop condition. At this point,
the register has been opened and accepts the remaining data that is sent by writing 4-byte blocks of data
to the append subaddress (0xFE).
2. At a later time, one or more append data transfers are performed to incrementally transfer the remaining
number of bytes in sequential order to complete the register write operation. Each of these append
operations will be composed of the device address, write bit, append subaddress (0xFE), and four bytes
of data followed by a stop condition.
3. The operation will be terminated due to an error condition and the data will be flushed:
a. If a new subaddress is written to the TAS5504 before the correct number of bytes have been written.
b. If more or less than 4 bytes are data written at the beginning or during any of the append operations.
c.
4.6
If a read bit is sent.
Single Byte Read
As shown in Figure 4−4, a single byte data read transfer begins with the master device transmitting a start
condition followed by the I2C device address and the read/write bit. For the data read transfer, both a write
followed by a read are actually done. Initially, a write is done to transfer the address byte or bytes of the internal
memory address to be read. As a result, the read/write bit will be a 0. After receiving the TAS5504 address
and the read/write bit, the TAS5504 responds with an acknowledge bit. In addition, after sending the internal
memory address byte or bytes, the master device transmits another start condition followed by the TAS5504
address and the read/write bit again. This time the read/write bit will be a 1, indicating a read transfer. After
receiving the TAS5504 and the read/write bit the TAS5504 again responds with an acknowledge bit. Next, the
TAS5504 transmits the data byte from the memory address being read. After receiving the data byte, the
master device transmits a not acknowledge followed by a stop condition to complete the single byte data read
transfer.
Repeat Start
Condition
Start
Condition
Acknowledge
A6
A5
A1
Acknowledge
A0 R/W ACK A7
A6
I2C Device Address and
Read/Write Bit
A5
A4
A0 ACK
Not
Acknowledge
Acknowledge
A6
A5
A1
A0 R/W ACK D7
I2C Device Address and
Read/Write Bit
Sub-Address
D6
D1
D0 ACK
Stop
Condition
Data Byte
Figure 4−4. Single Byte Read Transfer
4.7
Multiple Byte Read
A multiple byte data read transfer is identical to a single byte data read transfer except that multiple data bytes
are transmitted by the TAS5504 to the master device as shown in Figure 4−5. Except for the last data byte,
the master device responds with an acknowledge bit after receiving each data byte.
Repeat Start
Condition
Start
Condition
Acknowledge
A6
A0 R/W ACK A7
I2C Device Address and
Read/Write Bit
Acknowledge
A6
A0 ACK
A5
Sub-Address
A6
Acknowledge
Acknowledge
Acknowledge
Not
Acknowledge
A0 R/W ACK D7
D0 ACK D7
D0 ACK D7
D0 ACK
I2C Device Address and
Read/Write Bit
First Data Byte
Other Data Bytes
Last Data Byte
Stop
Condition
Figure 4−5. Multiple Byte Read Transfer
SLES123 − October 2004
TAS5504
55
I 2C Serial Control Interface (Slave Address 0x36)
56
TAS5504
SLES123 − October 2004
Serial Control I 2C Register Summary
5
Serial Control I2C Register Summary
The TAS5504 slave address is 0x36. See the Serial Control I 2C Register Bit Definitions chapter for complete
bit definitions.
Note that u indicates unused bits.
I2C
SUBADDRESS
TOTAL
BYTES
0x00
1
Clock control register
Set data rate and MCLK frequency
1. Fs = 48 kHz
2. MCLK = 256 Fs = 12.288 MHz
0x01
1
General status register
Clip indicator and ID code for the
TAS5504
0x01
0x02
1
Error status register
PLL, SCLK, LRCLK, and frame slip
errors
No errors
0x03
0x04
0x05 – 0x06
1
1
1
REGISTER FIELDS
System control register 1
System control register 2
Channel configuration registers
0x07 – 0x0A
DESCRIPTION OF CONTENTS
DEFAULT STATE
PWM high pass, clock set, un-mute
select, PSVC select
1. PWM high pass disabled
2. Auto clock set
3. Hard un-mute on clock error
recovery
4. PSVC HIZ disable
Automute and de-emphasis control
1. Automute timeout disable
2. Post-DAP detection automute
enabled
3. 4-Ch device input detection
automute enabled
4. Un-mute threshold 6 dB over input
5. No de-emphasis
Configure channels 1 and 2
1. Enable backend reset
2. Valid low for reset
3. Valid low for mute
4. Normal BEPolarity
5. Don’t remap the output for the
TAS5182
6. Don’t go low-low in mute
7. Don’t remap Hi-Z state to
low-low state
Reserved
0x0B – 0x0C
Channel configuration registers
Configure channels 3 and 4
1. Enable backend reset2. Valid
low for reset3. Valid low for mute4.
Normal BEPolarity5. Don’t remap
the output for the TAS51826. Don’t
go low-low in mute7. Don’t remap
Hi-Z state to low-low state
Configure headphone output
1. Disable backend reset sequence
2 Valid does not have to be low for
reset
3. Valid does not have to be low for
mute
4. Normal BEPolarity
5. Don’t remap output to comply
with 5182
6. Don’t go low-low in mute
7. Don’t remap Hi−Z state to
low-low state
0x0D
1
Headphone configuration
register
0x0E
1
Serial data interface register
Set serial data interface to right
justified, I2S, or left justified
24-bit I2S
0x0F
1
Soft mute register
Soft mute for channels 1, 2, 3, and 4
Un-mute all channels
0x10 – 0x13
SLES123 − October 2004
RESERVED
TAS5504
57
Serial Control I 2C Register Summary
I2C
SUBADDRESS
TOTAL
BYTES
0x14
1
Automute control
Set auto-mute delay and threshold
1. Set auto-mute delay = 5 ms
2. Set auto-mute threshold less
than bit 8.
0x15
1
Automute PWM threshold and
backend reset period
Set PWM auto-mute threshold, set
backend reset period
1. Set the PWM threshold the same
as the TAS5504 input threshold.
2. Set the backend reset
period = 5 ms.
0x16
1
Modulation limit register
Set modulation index
97.7%
REGISTER FIELDS
0x17−0x1A
0x1B–0x1C
DEFAULT STATE
RESERVED
1/Reg.
Inter-channel delay registers
Sets inter-channel delay for channels
1 and 2
Channel 1 delay = −23 DCLK
periods
Channel 2 delay = 0 DCLK periods
0x1D−0x20
RESERVED
0x21–0x22
1/Reg.
Sets inter-channel delay for channels
3 and 4
Channel 3 delay = −8 DCLK
periods
Channel 4 delay = 24 DCLK
periods
0x23
1
Absolute delay offset for channel 1
(0 – 255)
Minimum absolute default = 0
DCLK periods
Inter-channel delay registers
Inter-channel offset
0x24−0x3F
RESERVED
0x40
4
0x41–0x42
32/Reg
Bank switching command
register
Set up DAP coefficients bank
switching for banks 1, 2, and 3
See the Input Mixer Registers
(0x41 and 0x42, Channels 1
and 2) section
8X4 input crossbar mixer setup
0x43–0x46
Manual selection – Bank 1
SDIN1−Left to input mixer 1
SDIN1−Right to input mixer 2
RESERVED
0x47–0x48
32/Reg
See the Input Mixer Registers
(0x47 and 0x48, Channels 3
and 4) section
8X4 input crossbar mixer setup
SDIN4−Left to input mixer 3
SDIN4−Right to input mixer 4
0x49
4
ipmix_1_to_ch4
Input mixer 1 to Ch 4 mixer coefficient
0.0
0x4A
4
ipmix_2_to_ch4
Input mixer 2 to Ch 4 mixer coefficient
0.0
0x4B
4
ipmix_3_to_ch2
Input mixer 3 to Ch 2 mixer coefficient
0.0
0x4C
4
Ch3_bp_bq2
Bypass Ch 3 biquad 2 coefficient
0.0
0x4D
4
Ch3_bq2
Ch 3 biquad 2 coefficient
1.0
0x4E
4
ipmix_4_to_ch12
Ch 4 biquad 2 output to Ch1 mixer
and Ch2 mixer coefficient
0.0
0x4F
4
Ch4_bp_bq2
Bypass Ch 4 biquad 2 coefficient 0
0.0
0x50
4
Ch4_bq2
Ch 4 biquad 2 coefficient
1.0
0x51–0x5E
20/Reg.
See the next section
Channels 1, 2, 3, and 4 biquad filter
coefficients
All biquads = All pass
0x89–0x8A
8
Bass and Treble Bypass
Ch 1 and 2
Bypass bass and treble for
channels 1 and 2
Bass and treble bypassed for
channels 1 and 2
0x8F−0x90
8
Bass and treble bypass Ch 3
and 4
Bypass bass and treble for channels 3
and 4
Bass and treble bypassed for
channels 3 and 4
0x91
4
Loudness Log2 LG
Loudness Log2 LG
0.5
0x92
8
Loudness Log2 LO
Loudness Log2 LO
0.0
0x93
4
Loudness G
Loudness G
0.0
0x94
8
Loudness O
Loudness O
0.0
0x8B−0x8E
58
DESCRIPTION OF CONTENTS
TAS5504
RESERVED
SLES123 − October 2004
Serial Control I 2C Register Summary
I2C
SUBADDRESS
TOTAL
BYTES
REGISTER FIELDS
0x5F−0x7A
0x7B−0x88
0x95
DESCRIPTION OF CONTENTS
DEFAULT STATE
RESERVED
20/Reg
20
See the next section
Loudness biquad
Channels 3 and 4 biquad filter
coefficient
All biquads = All pass
Loudness biquad coefficient b0
0x00, 0x00, 0xD5, 0x13
Loudness biquad coefficient b1
0x00, 0x00, 0x00, 0x00
Loudness biquad coefficient b2
0x0F, 0xFF, 0x2A, 0xED
Loudness biquad coefficient a0
0x00, 0xFE, 0x50, 0x45
Loudness biquad coefficient a1
0x0F, 0x81, 0xAA, 0x27
0x96
4
DRC1 control channels 1, 2,
and 3
DRC1 control channels 1, 2, and 3
DRC1 disabled in channels 1, 2,
and 3
0x97
4
DRC2 Ch 4 Control
DRC1 control channel 4
DRC2 disabled (channel 4)
Channels 1, 2, and 3,
DRC1 energy
DRC1 energy
0.0041579
Channels 1, 2, 3, and 4,
DRC1 (1− energy)
DRC1 (1 energy)
0.9958421
Channels 1,, 2,, and 3,,
DRC1 threshold T1
DRC1 threshold (T1) – upper 4 bytes
0x00, 0x00, 0x00, 0x00
DRC1 threshold (T1) – lower 4 bytes
0x0B, 0x20, 0xE2, 0xB2
Channels 1,, 2,, and 3,,
DRC1 thresholdT2
DRC1 threshold (T2) – upper 4 bytes
0x00, 0x00, 0x00, 0x00
DRC1 threshold (T2) – lower 4 bytes
0x06, 0xF9, 0xDE, 0x58
Channels 1, 2, and 3,
DRC1 slope k0
DRC1 slope (k0)
0x0F, 0xC0, 0x00, 0x00
Channels 1, 2, and 3,
DRC1 slope k1
DRC1 slope (k1)
0x0F, 0xC0, 0x00, 0x00
Channels 1, 2, and 3,
DRC1 slope k2
DRC1 slope (k2)
0x0F, 0x90, 0x00, 0x00
Channels 1,, 2,, and 3,,
DRC1 offset 1
DRC1 offset 1 (O1) – upper 4 bytes
0x00, 0x00, 0xFF, 0xFF
DRC1 offset 1 (O1) – lower 4 bytes
0xFF, 0x82, 0x30, 0x98
Channels 1,, 2,, and 3,,
DRC1 offset 2
DRC1 offset 2 (O2) – upper 4 bytes
0x00, 0x00, 0x00, 0x00
DRC1 offset 2 (O2) – lower 4 bytes
0x01, 0x95, 0xB2, 0xC0
Channels 1, 2, and 3,
DRC1 attack
DRC1 attack
0x00, 0x00, 0x88, 0x3F
Channels 1, 2, and 3,
DRC1 (1− Attack)
DRC1 (1 – Attack)
0x00, 0x7F, 0x77, 0xC0
Channels 1, 2, and 3,
DRC1 Delay
DRC1 delay
0x00, 0x00, 0x00, 0xAE
Channels 1, 2, 3, and 3,
DRC1 (1− Delay)
DRC1 (1 – Delay)
0x00, 0x7F, 0xFF, 0x51
Ch 4 DRC2 energy
DRC2 energy
0x00, 0x00, 0x88, 0x3F
Ch 4 DRC2 (1− Energy)
DRC2 (1 – Energy)
0x00, 0x7F, 0x77, 0xC0
DRC2 threshold (T1) – upper 4 bytes
0x00, 0x00, 0x00, 0x00
DRC2 threshold (T1) – lower 4 bytes
0x0B, 0x20, 0xE2, 0xB2
DRC2 threshold (T2) – upper 4 bytes
0x00, 0x00, 0x00, 0x00
0x98
0x99
0x9A
0x9B
0x9C
0x9D
8
16
12
16
16
8
CH 4 DRC2 threshold T1
0x9E
16
CH 4 DRC2 threshold T2
0x9F
12
SLES123 − October 2004
DRC2 threshold (T2) – lower 4 bytes
0x06, 0xF9, 0xDE, 0x58
Ch 4 DRC2 slope k0
DRC2 slope (k0)
0x00, 0x40, 0x00, 0x00
Ch 4 DRC2 slope k1
DRC2 slope (k1)
0x0F, 0xC0, 0x00, 0x00
Ch 4 DRC2 slope k2
DRC2 slope (k2)
0x0F, 0x90, 0x00, 0x00
TAS5504
59
Serial Control I 2C Register Summary
I2C
SUBADDRESS
TOTAL
BYTES
REGISTER FIELDS
0x00, 0x00, 0xFF, 0xFF
DRC2 offset (O1) – lower 4 bytes
0xFF, 0x82, 0x30, 0x98
DRC2 offset (O2) – upper 4 bytes
0x00, 0x00, 0x00, 0x00
DRC2 offset (O2) – lower 4 bytes
0x01, 0x95, 0xB2, 0xC0
Ch 4 DRC2 attack
DRC 2 attack
0x00, 0x00, 0x88, 0x3F
Ch 4 DRC2 (1− Attack)
DRC2 (1 – Attack)
0x00, 0x7F, 0x77, 0xC0
Ch 4 DRC2 Delay
DRC2 delay
0x00, 0x00, 0x00, 0xAE
Ch 4 DRC2 (1− Delay)
DRC2 (1 – Delay)
0x00, 0x7F, 0xFF, 0x51
DRC bypass 1
Channel 1 DRC1 bypass coefficient
1.0
DRC inline 1
Channel 1 DRC1 inline coefficient
0.0
DRC bypass 2
Channel 2 DRC1 bypass coefficient
1.0
DRC inline 2
Channel 2 DRC1 inline coefficient
0.0
Reserved
Reserved
DRC bypass 3
Channel 3 DRC1 bypass coefficient
1.0
DRC inline 3
Channel 3 DRC1 inline coefficient
0.0
DRC bypass 4
Channel 4 DRC2 bypass coefficient
1.0
16
Ch 4 DRC2 offset 2
0xA1
0xA2
16
8
0xA3
8
0xA4−0xA7
8
0xA8
8
0xA9
8
DRC inline 4
Channel 4 DRC2 inline coefficient
0.0
0xAA
8
sel op1−4 and mix to S
Select 0 to 2 of four DAP channels to
output mixer S
Select channel 1 to PWM 1
0xAB
8
sel op1−4 and mix to T
Select 0 to 2 of four DAP channels to
output mixer T
Select channel 2 to PWM 2
0xAC–0xAF
RESERVED
0xB0
12
sel op1−4 and mix to Y
Select 0 to 3 of four DAPchannels to
output mixer Y
Select channel 3 to PWM 3
0xB1
12
sel op1−4 and mix to Z
Select 0 to 3 of four DAP channels to
output mixer Z
Select channel 4 to PWM 4
0xB2–0xCE
RESERVED
0xCF
20
Volume biquad
Volume biquad
All pass
0xD0
4
Vol, T, and B slew rates
U (31:24), U (23:16), U (15:12)
VSR(11:8), TBSR(7:0)
0x00, 0x00, 0x02, 0x3F
0xD1
4
Ch1 volume
Channel 1 volume
0 dB
0xD2
4
Ch2 volume
Channel 2 volume
0 dB
0xD3–0xD6
RESERVED
0xD7
4
Ch3 volume
Channel 3 volume
0 dB
0xD8
4
Ch4 volume
Channel 4 volume
0 dB
0xD9
4
Master volume
Master volume
Mute
OXDA
4
Bass filter set
Bass filter set (all channels)
Filter set 3
0xDB
4
Bass filter index
Bass filter level (all channels)
0 dB
0xDC
4
Treble filter set
Treble filter set (all channels)
Filter set 3
0xDD
4
Treble filter index
Treble filter level (all channels)
0 dB
0xDE
4
AM mode and tuned frequency
register
Set-up AM mode for AM-interference
reduction
AM mode disabled
Select sequence 1
IF frequency = 455 kHz
Use BCD-tuned frequency
0xDF
4
PSVC control range
Set PSVC control range
12-dB control range
0xE0
4
General control register
Four channel configuration, PSVC
enable
Four channel configuration, power
supply volume control disabled
0xE1–0xFD
60
DEFAULT STATE
DRC2 offset (O1) – upper 4 bytes
Ch 4 DRC2 offset 1
0xA0
DESCRIPTION OF CONTENTS
TAS5504
RESERVED
SLES123 − October 2004
Serial Control I 2C Register Summary
I2C
SUBADDRESS
TOTAL
BYTES
0xFE
4 (min)
0xFF
SLES123 − October 2004
REGISTER FIELDS
Multiple byte write append
register
DESCRIPTION OF CONTENTS
Special register
DEFAULT STATE
N/A
RESERVED
TAS5504
61
Serial Control Interface Register Definitions
6
Serial Control Interface Register Definitions
Unless otherwise noted, the I2C register default values are in bold font.
Note that u indicates unused bits.
6.1
Clock Control Register (0x00)
Bit D1 is Don’t Care.
Table 6−1. Clock Control Register
D7
D6
D5
D4
D3
D2
0
0
0
−
−
−
−
32-kHz data rate
0
0
1
−
−
−
−
38-kHz data rate
0
1
0
−
−
−
−
44.1-kHz data rate
0
1
1
−
−
−
−
48-kHz data rate
1
0
0
−
−
−
−
88.2-kHz data rate
1
0
1
−
−
−
−
96-kHz data rate
1
1
0
−
−
−
−
176.4-kHz data rate
1
1
1
−
−
−
−
192-kHz data rate
−
−
−
0
0
0
MCLK frequency = 64
−
−
−
0
0
1
MCLK frequency = 128
−
−
−
0
1
0
MCLK frequency = 192
−
−
−
0
1
1
MCLK frequency = 256
−
−
−
1
0
0
MCLK frequency = 384
−
−
−
1
0
1
MCLK frequency = 512
−
−
−
1
1
0
MCLK frequency = 768
−
−
−
1
1
1
Reserved
−
−
−
−
−
−
1
Clock register is valid (read only)
−
−
−
−
−
−
0
Clock register is not valid (read only)
6.2
D1
D0
FUNCTION
General Status Register 0 (0x01)
Table 6−2. General Status Register (0x01)
D7
D6
D5
D4
D3
D2
D1
D0
1
−
−
−
−
−
−
−
Clip indicator
−
1
−
−
−
−
−
−
Bank switching busy
−
−
0
0
0
0
0
1
Identification code for TAS5504
6.3
FUNCTION
Error Status Register (0x02)
Note that the error bits are sticky bits that are not cleared by the hardware. This means that the software must
clear the register (write zeroes) and than read them to determine if there are any persistent errors.
Table 6−3. Error Status Register (0X02)
D7
D6
D5
D4
D3
D2
D1
D0
1
−
−
−
−
−
−
−
PLL phase lock error
−
1
−
−
−
−
−
−
PLL auto lock error
−
−
1
−
−
−
−
−
SCLK error
−
−
−
1
−
−
−
−
LRCLK error
−
−
−
−
1
−
−
−
Frame slip
0
0
0
0
0
0
0
0
No errors
SLES123 − October 2004
FUNCTION
TAS5504
63
Serial Control Interface Register Definitions
6.4
System Control Register 1 (0x03)
Bit D5, D2, D1, and D0 are Don’t Care.
Table 6−4. System Control Register 1
D7
D6
D4
D3
0
−
−
−
PWM high pass disabled
1
−
−
−
PWM high pass enabled
−
−
0
Soft unmute on recovery from clock error
−
−
1
Hard unmute on recovery from clock error
−
−
−
1
PSVC Hi-Z enable
−
−
−
0
PSVC Hi-Z disable
6.5
D5
D2
D1
D0
FUNCTION
System Control Register 2 (0x04)
Bit D3 and D2 are Don’t Care.
Table 6−5. System Control Register 2
D7
D6
D5
D4
D1
D0
0
−
−
−
D3
D2
−
−
Reserved
FUNCTION
−
0
−
−
−
−
PWM automute detection enabled
−
1
−
−
−
−
PWM automute detection disabled
0
−
−
−
4 Ch device input detection automute enabled
−
−
1
−
−
−
4 Ch device input detection automute disabled
−
−
−
0
−
−
Unmute threshold 6 dB over input threshold
−
−
−
1
−
−
Unmute threshold equal to input threshold
−
−
−
−
0
0
No de-emphasis
−
−
−
−
0
1
De-emphasis for Fs = 32 kHz
−
−
−
−
1
0
De-emphasis for Fs = 44.1 kHz
−
−
−
−
1
1
De-emphasis for Fs = 48 kHz
6.6
Channel Configuration Control Register (0x05−X0C)
Channels 1, 2, 3, and 4 are mapped into x05, x06, x0B, and x0C.
Bit D0 is Don’t Care.
Table 6−6. Channel Configuration Control Registers
D7
D6
D5
D4
D3
D2
D1
0
−
−
−
−
−
−
Disable backend reset sequence for a channel − BEErrorRecEn
1
−
−
−
−
−
−
Enable backend reset sequence for a channel
−
0
−
−
−
−
−
Valid does not have to be low for this channel to be reset BEValidRst
−
1
−
−
−
−
−
Valid must be low for this channel to be reset
−
−
0
−
−
−
−
Valid does not have to be low for this channel to be muted BEValidMute
−
−
1
−
−
−
−
Valid must be low for this channel to be muted
−
−
−
0
−
−
−
Normal BEPolarity
−
−
−
1
−
−
−
Switches PWM+ and PWM− and invert audio signal
−
−
−
−
0
−
−
Do not remap output to comply with 5182 interface
−
−
−
−
1
−
−
Remap output to comply with 5182 interface
−
−
−
−
−
0
−
Do not go to low low in mute − BELowMute
−
−
−
−
−
1
−
Go to low-low in Mute
−
−
−
−
−
−
0
Do not remap Hi-Z state to low-low state − BE5111BsMute
−
−
−
−
−
−
1
Remap Hi-Z state to low-low state
64
TAS5504
D0
FUNCTION
SLES123 − October 2004
Serial Control Interface Register Definitions
6.7
Headphone Configuration Control Register (0x0D)
Bit D0 is Don’t Care.
Table 6−7. Headphone Configuration Control Register
D7
D6
D5
D4
D3
D2
D1
0
−
−
−
−
−
−
Disable backend reset sequence for a channel − BEErrorRecEn
1
−
−
−
−
−
−
Enable backend reset sequence for a channel
−
0
−
−
−
−
−
Valid does not have to be low for this channel to be reset BEValidRst
−
1
−
−
−
−
−
Valid must be low for this channel to be reset
−
−
0
−
−
−
−
Valid does not have to be low for this channel to be muted BEValidMute
−
−
1
−
−
−
−
Valid must be low for this channel to be muted
−
−
−
0
−
−
−
Normal BEPolarity
−
−
−
1
−
−
−
Switches PWM+ and PWM− and invert audio signal
−
−
−
−
0
−
−
Do not remap output to comply with 5182 interface
−
−
−
−
1
−
−
Remap output to comply with 5182 interface
−
−
−
−
−
0
−
Do not go to low low in mute − BELowMute
−
−
−
−
−
1
−
Go to low-low in Mute
−
−
−
−
−
−
0
Do not remap Hi-Z state to low-low state − BE5111BsMute
−
−
−
−
−
−
1
Remap Hi-Z state to low-low state
6.8
D0
FUNCTION
Serial Data Interface Control Register (0x0E)
Nine serial modes can be programmed I2C.
Table 6−8. Serial Data Interface Control Register Format
RECEIVE SERIAL DATA
INTERFACE FORMAT
WORD LENGTHS
D7−D4
D3
D2
D1
D0
Right justified
16
0000
0
0
0
0
Right justified
20
0000
0
0
0
1
Right justified
24
0000
0
0
1
0
I2S
16
0000
0
0
1
1
I2S
20
0000
0
1
0
0
I2S
24
0000
0
1
0
1
Left justified
16
0000
0
1
1
0
Left justified
20
0000
0
1
1
1
Left justified
24
0000
1
0
0
0
Illegal
0000
1
0
0
1
Illegal
0000
1
0
1
0
Illegal
0000
1
0
1
1
Illegal
0000
1
1
0
0
Illegal
0000
1
1
0
1
Illegal
0000
1
1
1
0
Illegal
0000
1
1
1
1
SLES123 − October 2004
TAS5504
65
Serial Control Interface Register Definitions
6.9
Soft Mute Register (0x0F)
Table 6−9. Soft Mute Register
D7
D6
D5
D4
D3
D2
D1
D0
Function
−
−
−
−
−
−
−
1
Soft Mute Channel 1
−
−
−
−
−
−
1
−
Soft Mute Channel 2
−
1
−
−
−
−
−
−
Soft Mute Channel 3
1
−
−
−
−
−
−
−
Soft Mute Channel 4
0
0
0
0
0
0
0
0
Unmute All Channels
6.10 Automute Control Register(0x14)
Table 6−10. Automute Control Register
D7
D6
D5
D4
D3
D2
D1
D0
−
−
−
−
0
0
0
0
Set input automute and PWM automute delay to 1 ms
−
−
−
−
0
0
0
1
Set input automute and PWM automute delay to 2 ms
−
−
−
−
0
0
1
0
Set input automute and PWM automute delay to 3 ms
−
−
−
−
0
0
1
1
Set input automute and PWM automute delay to 4 ms
−
−
−
−
0
1
0
0
Set input automute and PWM automute delay to 5 ms
−
−
−
−
0
1
0
1
Set input automute and PWM automute delay to 10 ms
−
−
−
−
0
1
1
0
Set input automute and PWM automute delay to 20 ms
−
−
−
−
0
1
1
1
Set input automute and PWM automute delay to 30 ms
−
−
−
−
1
0
0
0
Set input automute and PWM automute delay to 40 ms
−
−
−
−
1
0
0
1
Set input automute and PWM automute delay to 50 ms
−
−
−
−
1
0
1
0
Set input automute and PWM automute delay to 60 ms
−
−
−
−
1
0
1
1
Set input automute and PWM automute delay to 70ms
−
−
−
−
1
1
0
0
Set input automute and PWM automute delay to 80 ms
−
−
−
−
1
1
0
1
Set input automute and PWM automute delay to 90 ms
−
−
−
−
1
1
1
0
Set input automute and PWM automute delay to 100 ms
−
−
−
−
1
1
1
1
Set input automute and PWM automute delay to 110 ms
0
0
0
0
−
−
−
0
0
0
1
−
−
−
−
Set input automute threshold less than Bit 1 (zero input signal), lowest automute
threshold.
0
0
1
0
−
−
−
−
Set input automute threshold less than Bit 2
0
0
1
1
−
−
−
−
Set input automute threshold less than Bit 3
0
1
0
0
−
−
−
−
Set input automute threshold less than Bit 4
0
1
0
1
−
−
−
−
Set input automute threshold less than Bit 5
0
1
1
0
−
−
−
−
Set input automute threshold less than Bit 6
0
1
1
1
−
−
−
−
Set input automute threshold less than Bit 7
1
0
0
0
−
−
−
−
Set input automute threshold less than Bit 8
1
0
0
1
−
−
−
−
Set input automute threshold less than Bit 9
1
0
1
0
−
−
−
−
Set input automute threshold less than Bit 10
1
0
1
1
−
−
−
−
Set input automute threshold less than Bit 11
1
1
0
0
−
−
−
−
Set input automute threshold less than Bit 12
1
1
0
1
−
−
−
−
Set input automute threshold less than Bit 13
1
1
1
0
−
−
−
−
Set input automute threshold less than Bit 14
1
1
1
1
−
−
−
−
Set input automute threshold less than Bit 15
66
TAS5504
FUNCTION
SLES123 − October 2004
Serial Control Interface Register Definitions
6.11 Automute PWM Threshold and Backend Reset Period (0x15)
Table 6−11. Automute PWM Threshold and Backend Reset Period
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
−
−
−
−
Set PWM automute threshold equals input automute threshold
0
0
0
1
−
−
−
−
Set PWM automute threshold 1 bit more than input automute threshold
0
0
1
0
−
−
−
−
Set PWM automute threshold 2 bits more than input automute threshold
0
0
1
1
−
−
−
−
Set PWM automute threshold 3 bits more than input automute threshold
0
1
0
0
−
−
−
−
Set PWM automute threshold 4 bits more than input automute threshold
0
1
0
1
−
−
−
−
Set PWM automute threshold 5 bits more than input automute threshold
0
1
1
0
−
−
−
−
Set PWM automute threshold 6 bits more than input automute threshold
0
1
1
1
−
−
−
−
Set PWM automute threshold 7 bits more than input automute threshold
1
0
0
0
−
−
−
−
Set PWM automute threshold equals input automute threshold
1
0
0
1
−
−
−
−
Set PWM automute threshold 1 bit less than input automute threshold
1
0
1
0
−
−
−
−
Set PWM automute threshold 2 bits less than input automute threshold
1
0
1
1
−
−
−
−
Set PWM automute threshold 3 bits less than input automute threshold
1
1
0
0
−
−
−
−
Set PWM automute threshold 4 bits less than input automute threshold
1
1
0
1
Set PWM automute threshold 5 bits less than input automute threshold
1
1
1
0
Set PWM automute threshold 6 bits less than input automute threshold
1
1
1
1
Set PWM automute threshold 7 bits less than input automute threshold
−
−
−
−
0
0
0
0
Set backend reset period < 1 ms
−
−
−
−
0
0
0
1
Set backend reset period 1 ms
−
−
−
−
0
0
1
0
Set backend reset period 2 ms
−
−
−
−
0
0
1
1
Set backend reset period 3 ms
−
−
−
−
0
1
0
0
Set backend reset period 4 ms
−
−
−
−
0
1
0
1
Set backend reset period 5 ms
−
−
−
−
0
1
1
0
Set backend reset period 6 ms
−
−
−
−
0
1
1
1
Set backend reset period 7 ms
−
−
−
−
1
0
0
0
Set backend reset period 8 ms
−
−
−
−
1
0
0
1
Set backend reset period 9 ms
−
−
−
−
1
0
1
0
Set backend reset period 10 ms
−
−
−
−
1
0
1
1
Set backend reset period 10 ms
−
−
−
−
1
1
X
X
Set backend reset period 10 ms
SLES123 − October 2004
FUNCTION
TAS5504
67
Serial Control Interface Register Definitions
6.12 Modulation Index Limit Register (0x16)
Table 6−12. Modulation Index Limit Register
D7
D6
D5
D4
D3
D2
D1
D0
LIMIT
[DCLKS]
MIN WIDTH
[DCLKS]
MODULATION INDEX
0
0
0
1
2
99.2%
0
0
1
2
4
98.4%
0
1
0
3
6
97.7%
0
1
1
4
8
96.9%
1
0
0
5
10
96.1%
1
0
1
6
12
95.3%
1
1
0
7
14
94.5%
1
1
1
8
16
93.8%
6.13 Interchannel Channel Delay Registers (0x1B − 0x22) and Offset Register (0x23)
Channels 1, 2, 3, and 4 are mapped into (0x1B, 0x1C, 0x21, and 0x22).
Bits D1 and D0 are Don’t Care.
Table 6−13. Interchannel Channel Delay Registers
D7
D6
D5
D4
D3
D2
D1
D0
FUNCTION
0
0
0
0
0
0
Minimum absolute delay, 0 DCLK cycles, default for channel 1
0
1
1
1
1
1
Maximum positive delay, 31 x 4 DCLK cycles
1
0
0
0
0
0
Maximum negative delay, −32 x 4 DCLK cycles
1
0
0
0
0
0
Default value for Channel 1 −32
0
0
0
0
0
0
Default value for Channel 2 0
1
1
1
0
0
0
Default value for Channel 3 −8
0
1
1
0
0
0
Default value for Channel 4 24
The offset register is mapped into 0x23.
Table 6−14. Channel Offset Register
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
0
0
Minimum absolute offset, 0 DCLK cycles default for channel 1
1
1
1
1
1
1
1
1
Maximum absolute delay, 255 DCLK cycles
68
TAS5504
FUNCTION
SLES123 − October 2004
Serial Control Interface Register Definitions
6.14 Bank Switching Command (0x40)
Bits D31−D24, D22−D19 are Don’t Care.
Table 6−15. Bank Switching Command
D31
D30
D29
D28
D27
D26
D25
D24
FUNCTION
Unused bits
D23
D18
D17
D16
−
D22
D21
D20
D19
0
0
0
Manual selection Bank 1
FUNCTION
−
0
0
1
Manual selection Bank 2
−
0
1
0
Manual selection Bank 3
−
0
1
1
Automatic bank selection
−
1
0
0
Update the values in Bank 1
−
1
0
1
Update the values in Bank 2
−
1
1
0
Update the values in Bank 3
0
1
1
1
Update only the bank map
0
x
x
x
Update the bank map using values in
D15−D0
1
x
x
x
Do not update the bank map using
values in D15−D0
D15
D14
D13
D12
D11
D10
D9
D8
1
−
−
−
−
−
−
−
32-kHz data rate – Use Bank 1
−
1
−
−
−
−
−
−
38-kHz data rate – Use Bank 1
−
−
1
−
−
−
−
−
44.1-kHz data rate – Use Bank 1
−
−
−
1
−
−
−
−
48-kHz data rate – Use Bank 1
−
−
−
−
1
−
−
−
88.2-kHz data rate – Use Bank 1
−
−
−
−
−
1
−
−
96-kHz data rate – Use Bank 1
−
−
−
−
−
−
1
−
176.4-kHz data rate – Use Bank 1
−
−
−
−
−
−
−
1
192-kHz data rate – Use Bank 1
1
1
1
1
1
1
1
1
Default
D7
D6
D5
D4
D3
D2
D1
D0
1
−
−
−
−
−
−
−
32-kHz data rate – Use Bank 2
−
1
−
−
−
−
−
−
38-kHz data rate – Use Bank 2
−
−
1
−
−
−
−
−
44.1-kHz data rate – Use Bank 2
−
−
−
1
−
−
−
−
48-kHz data rate – Use Bank 2
−
−
−
−
1
−
−
−
88.2-kHz data rate – Use Bank 2
−
−
−
−
−
1
−
−
96-kHz data rate – Use Bank 2
−
−
−
−
−
−
1
−
176.4-kHz data rate – Use Bank 2
−
−
−
−
−
−
−
1
192-kHz data rate – Use Bank 2
1
1
1
1
1
1
1
1
Default
SLES123 − October 2004
FUNCTION
FUNCTION
TAS5504
69
Serial Control Interface Register Definitions
6.15 Input Mixer Registers (0x41, 0x42, 0x47, 0x48, Channels 1−4)
Input mixers 1, 2, 3, and 4 are mapped into registers 0x41, 0x42, 0x47, and 0x48.
Each gain coefficient is in 28-bit (5.23) format so 0x800000 is a gain of 1. Each gain coefficient is written as
a 32-bit word with the upper 4 bits not used. For 8-gain coefficients, the total is 32 bytes.
Bold indicates the one channel that is passed through the mixer.
Table 6−16. Input Mixer Registers Format (Channels 1−4)
I2C
SUBADDRESS
0x41
0x42
70
TAS5504
TOTAL
BYTES
REGISTER
FIELDS
DESCRIPTION OF CONTENTS
DEFAULT STATE
A_to_ipmix[1]
SDIN1−Left A to Input Mixer 1 coefficient (default = 1)
U (31:28), A_1 (27:24), A_1 (23:16), A_1 (15:8), A_1 (7:0)
0x00, 0x80, 0x00, 0x00
B_to_ipmix[1]
SDIN1−Right B to Input Mixer 1 coefficient (default = 0)
U (31:28), B_1 (27:24), B_1 (23:16), B_1 (15:8), B_1 (7:0)
0x00, 0x00, 0x00, 0x00
C_to_ipmix[1]
SDIN2−Left C to Input Mixer 1 coefficient (default = 0)
U (31:28), C_1 (27:24), C_1 (23:16), C_1 (15:8), C_1 (7:0)
0x00, 0x00, 0x00, 0x00
D_to_ipmix[1]
SDIN2−Right D to Input Mixer 1 coefficient (default = 0)
U (31:28), D_1 (27:24), D_1 (23:16), D_1 (15:8), D_1 (7:0)
0x00, 0x00, 0x00, 0x00
E_to_ipmix[1]
SDIN3−Left E to Input Mixer 1 coefficient (default = 0)
U (31:28), E_1 (27:24), E_1 (23:16), E_1 (15:8), E_1 (7:0)
0x00, 0x00, 0x00, 0x00
F_to_ipmix[1]
SDIN3−Right F to Input Mixer 1 coefficient (default = 0)
U (31:28), F_1 (27:24), F_1 (23:16), F_1 (15:8), F_1 (7:0)
0x00, 0x00, 0x00, 0x00
G_to_ipmix[1]
SDIN4−Left G to Input Mixer 1 coefficient (default = 0)
U (31:28), G_1 (27:24), G_1 (23:16), G_1 (15:8), G_1 (7:0)
0x00, 0x00, 0x00, 0x00
H_to_ipmix[1]
SDIN4−Right H to Input Mixer 1 coefficient (default = 0)
U (31:28), H_1 (27:24), H_1 (23:16), H_1 (15:8), H_1 (7:0)
0x00, 0x00, 0x00, 0x00
A_to_ipmix[2]
SDIN1−Left A to Input Mixer 2 coefficient (default = 0)
U (31:28), A_2 (27:24), A_2 (23:16), A_2 (15:8), A_2 (7:0)
0x00, 0x00, 0x00, 0x00
B_to_ipmix[2]
SDIN1−Right B to Input Mixer 2 coefficient (default = 1)
U (31:28), B_2 (27:24), B_2 (23:16), B_2 (15:8), B_2 (7:0)
0x00, 0x80, 0x00, 0x00
C_to_ipmix[2]
SDIN2−Left C to Input Mixer 2 coefficient (default = 0)
U (31:28), C_2(27:24), C_2(23:16), C_2(15:8), C_2(7:0)
0x00, 0x00, 0x00, 0x00
D_to_ipmix[2]
SDIN2−Right D to Input Mixer 2 coefficient (default = 0)
U (31:28), D_2 (27:24), D_2 (23:16), D_2 (15:8), D_2 (7:0)
0x00, 0x00, 0x00, 0x00
E_to_ipmix[2]
SDIN3−Left E to Input Mixer 2 coefficient (default = 0)
U (31:28), E_2 (27:24), E_2 (23:16), E_2 (15:8), E_2 (7:0)
0x00, 0x00, 0x00, 0x00
F_to_ipmix[2]
SDIN3−Right F to Input Mixer 2 coefficient (default = 0)
U (31:28), F_2 (27:24), F_2 (23:16), F_2 (15:8), F_2 (7:0)
0x00, 0x00, 0x00, 0x00
G_to_ipmix[2]
SDIN4−Left G to Input Mixer 2 coefficient (default = 0)
U (31:28), G_2 (27:24), G_2 (23:16), G_2 (15:8), G_2 (7:0)
0x00, 0x00, 0x00, 0x00
H_to_ipmix[2]
SDIN4−Right H to Input Mixer 2 coefficient (default = 0)
U (31:28), H_2 (27:24), H_2 (23:16), H_2 (15:8), H_2 (7:0)
0x00, 0x00, 0x00, 0x00
32
32
SLES123 − October 2004
Serial Control Interface Register Definitions
I2C
SUBADDRESS
0x47
0x48
TOTAL
BYTES
REGISTER
FIELDS
DEFAULT STATE
A_to_ipmix[3]
SDIN1−Left A to Input Mixer 3 coefficient (default = 0)
U (31:28), A_3 (27:24), A_3 (23:16), A_3 (15:8), A_3 (7:0)
0x00, 0x00, 0x00, 0x00
B_to_ipmix[3]
SDIN1−Right B to Input Mixer 3 coefficient (default = 0)
U (31:28), B_3 (27:24), B_3 (23:16), B_3 (15:8), B_3 (7:0)
0x00, 0x00, 0x00, 0x00
C_to_ipmix[3]
SDIN2−Left C to Input Mixer 3 coefficient (default = 0)
U (31:28), C_3 (27:24), C_3 (23:16), C_3 (15:8), C_3 (7:0)
0x00, 0x00, 0x00, 0x00
D_to_ipmix[3]
SDIN2−Right D to Input Mixer 3 coefficient (default = 0)
U (31:28), D_3 (27:24), D_3 (23:16), D_3 (15:8), D_3 (7:0)
0x00, 0x00, 0x00, 0x00
E_to_ipmix[3]
SDIN3−Left E to Input Mixer 3 coefficient (default = 0)
U (31:28), E_3 (27:24), E_3 (23:16), E_3 (15:8), E_3 (7:0)
0x00, 0x00, 0x00, 0x00
F_to_ipmix[3]
SDIN3−Right F to Input Mixer 3 coefficient (default = 0)
U (31:28), F_3 (27:24), F_3 (23:16), F_3 (15:8), F_3 (7:0)
0x00, 0x00, 0x00, 0x00
G_to_ipmix[3]
SDIN4−Left G to Input Mixer 3 coefficient (default = 1)
U (31:28), G_3 (27:24), G_3 (23:16), G_3 (15:8), G_3 (7:0)
0x00, 0x80, 0x00, 0x00
H_to_ipmix[3]
SDIN4−Right H to Input Mixer 3 coefficient (default = 0)
U (31:28), H_3 (27:24), H_3 (23:16), H_3 (15:8), H_3 (7:0)
0x00, 0x00, 0x00, 0x00
A_to_ipmix[4]
SDIN1−Left A to Input Mixer 4 coefficient (default = 0)
U (31:28), A_4 (27:24), A_4 (23:16), A_4 (15:8), A_4 (7:0)
0x00, 0x00, 0x00, 0x00
B_to_ipmix[4]
SDIN1−Right B to Input Mixer 4 coefficient (default = 0)
U (31:28), B_4 (27:24), B_4 (23:16), B_4 (15:8), B_4 (7:0)
0x00, 0x00, 0x00, 0x00
C_to_ipmix[4]
SDIN2−Left C to Input Mixer 4 coefficient (default = 0)
U (31:28), C_4 (27:24), C_4 (23:16), C_4 (15:8), C_4 (7:0)
0x00, 0x00, 0x00, 0x00
D_to_ipmix[4]
SDIN2−Right D to Input Mixer 4 coefficient (default = 0)
U (31:28), D_4 (27:24), D_4 (23:16), D_4 (15:8), D_4 (7:0)
0x00, 0x00, 0x00, 0x00
E_to_ipmix[4]
SDIN3−Left E to Input Mixer 4 coefficient (default = 0)
U (31:28), E_4 (27:24), E_4 (23:16), E_4 (15:8), E_4 (7:0)
0x00, 0x00, 0x00, 0x00
F_to_ipmix[4]
SDIN3−Right F to Input Mixer 4 coefficient (default = 0)
U (31:28), F_4 (27:24), F_4 (23:16), F_4 (15:8), F_4 (7:0)
0x00, 0x00, 0x00, 0x00
G_to_ipmix[4]
SDIN4−Left G to Input Mixer 4 coefficient (default = 0)
U (31:28), G_4 (27:24), G_4 (23:16), G_4 (15:8), G_4 (7:0)
0x00, 0x00, 0x00, 0x00
H_to_ipmix[4]
SDIN4−Right H to Input Mixer 4 coefficient (default = 1)
U (31:28), H_4 (27:24), H_4 (23:16), H_4 (15:8), H_4 (7:0)
0x00, 0x80, 0x00, 0x00
32
32
SLES123 − October 2004
DESCRIPTION OF CONTENTS
TAS5504
71
Serial Control Interface Register Definitions
6.16 Bass Management Registers (0x49–0x50)
Registers 0x49–0x50 provide configuration control for bass mangement.
Each gain coefficient is in 28-bit (5.23) format so 0x800000 is a gain of 1. Each gain coefficient is written as
a 32-bit word with the upper four bits not used.
Table 6−17. Bass Management Registers Format (0x49 – 0x50)
SUBADDRESS
TOTAL
BYTES
REGISTER
NAME
0x49
4
ipmix_1_to_ch4
Input Mixer 1 to Ch 4 Mixer coefficient (default = 0)
U (31:28), ipmix14 (27:24), ipmix14 (23:16), ipmix14 (15:8),
ipmix14 (7:0)
0x00, 0x00, 0x00, 0x00
0x4A
4
ipmix_2_to_ch4
Input Mixer 2 to Ch 4 Mixer coefficient (default = 0)
U (31:28), ipmix24 (27:24), ipmix24 (23:16), ipmix24 (15:8),
ipmix24 (7:0)
0x00, 0x00, 0x00, 0x00
0x4B
4
ipmix_3_to_ch12
Input Mixer 3 to Ch 1 and Ch 2 Mixer coefficient (default = 0)
U (31:28), ipmix32 (27:24), ipmix32 (23:16), ipmix32 (15:8),
ipmix32 (7:0)
0x00, 0x00, 0x00, 0x00
0x4C
4
Ch3_bp_bq2
Ch 3 Biquad-2 By-pass coefficient (default = 0)
U (31:28), ch3_bp_bq2 (27:24), ch3_bp_bq2 (23:16),
ch3_bp_bq2 (15:8), ch3_bp_bq2 (7:0)
0x00, 0x00, 0x00, 0x00
0x4D
4
Ch3_bq2
Ch 3 Biquad-2 Inline coefficient (default = 1)
U (31:28), ch3_bq2 (27:24), ch3_bq2 (23:16), ch3_bq2 (15:8),
ch3_bq2 (7:0)
0x00, 0x80, 0x00, 0x00
0x4E
4
ipmix_4_to_ch12
Ch 4 Biquad-2 Output to Ch1 Mixer and Ch2 Mixer coefficient
(default = 0)
U (31:28), ipmix4_12 (27:24), ipmix4_12 (23:16), ipmix4_12
(15:8), ipmix4_12 (7:0)
0x00, 0x00, 0x00, 0x00
0x4F
4
Ch4_bp_bq2
Ch 4 Biquad-2 By-pass coefficient (default = 0)
0U (31:28), ch4_bp_bq2 (27:24), ch4_bp_bq2 (23:16),
ch4_bp_bq2 (15:8), ch4_bp_bq2 (7:0)
0x00, 0x00, 0x00, 0x00
0x50
4
Ch4_bq2
Ch 4 Biquad-2 Inline coefficient (default = 1)
U (31:28), ch4_bq2 (27:24), ch4_bq2 (23:16), ch4_bq2 (15:8),
ch4_bq2 (7:0)
0x00, 0x80, 0x00, 0x00
DESCRIPTION OF CONTENTS
DEFAULT STATE
6.17 Biquad Filters Register (0x51 – 0x88)
Table 6−18. Biquad Filters Registers Format (0x51 – 0x88)
I2C
SUBADDRESS
72
TOTAL
BYTES
REGISTER NAME
DESCRIPTION OF CONTENTS
DEFAULT
STATE
0x51–0x57
20/Reg.
Ch1_bq[1] – [7]
Ch 1 Biquads 1 – 7. See Table 6−19 for bit definition.
See Table 6−19
0x58–0x5E
20/Reg.
Ch2_bq[1] – [7]
Ch 2 Biquads 1 – 7. See Table 6−19 for bit definition.
See Table 6−19
0x7B–0x81
20/Reg.
Ch3_bq[1] − [7]
Ch 3 Biquads 1 – 7. See Table 6−19 for bit definition.
See Table 6−19
0x82–0x88
20/Reg.
Ch4_bq[1] − [7]
Ch 4 Biquads 1 – 7. See Table 6−19 for bit definition.
See Table 6−19
TAS5504
SLES123 − October 2004
Serial Control Interface Register Definitions
Each gain coefficient is in 28-bit (5.23) format so 0x800000 is a gain of 1. Each gain coefficient is written as
a 32-bit word with the upper four bits not used.
Table 6−19. Contents of One 20-Byte Biquad Filter Register Format (Default = All-pass)
DESCRIPTION
REGISTER FIELD CONTENTS
DEFAULT GAIN COEFFICIENT VALUES
DECIMAL
HEX
b0 Coefficient
U (31:28), b0 (27:24), b0 (23:16), b0 (15:8), b0 (7:0)
1.0
0x00, 0x80, 0x00, 0x00
b1 Coefficient
U (31:28), b1 (27:24), b1 (23:16), b1 (15:8), b1 (7:0)
0.0
0x00, 0x00, 0x00, 0x00
b2 Coefficient
U (31:28), b2 (27:24), b2 (23:16), b2 (15:8), b2 (7:0)
0.0
0x00, 0x00, 0x00, 0x00
a1 Coefficient
U (31:28), a1 (27:24), a1 (23:16), a1 (15:8), a1 (7:0)
0.0
0x00, 0x00, 0x00, 0x00
a2 Coefficient
U (31:28), a2 (27:24), a2 (23:16), a2 (15:8), a2 (7:0)
0.0
0x00, 0x00, 0x00, 0x00
6.18 Bass and Treble Bypass Register (0x89 – 0x90, Channels 1 − 4)
Channels 1, 2, 3, and 4 are mapped into registers 0x89, 0x8A, 0x8F, and 0x90. Eight bytes are written for each
channel. Each gain coefficient is in 28-bit (5.23) format so 0x800000 is a gain of 1. Each gain coefficient is
written as a 32-bit word with the upper four bits not used.
Table 6−20. Bass and Treble Bypass Register Format (0x89−0x90)
REGISTER NAME
TOTAL BYTES
Channel bass and
treble bypass
8
Channel bass and
treble inline
CONTENTS
INITIALIZATION VALUE
U 31:28), Bypass (27:24), Bypass (23:16), Bypass (15:8), Bypass (7:0)
0x00, 0x80, 0x00, 0x00
U (31:28), Inline (27:24), Inline (23:16), Inline (15:8), Inline (7:0)
0x00, 0x00, 0x00, 0x00
6.19 Loudness Registers (0x91 – 0x95)
Table 6−21. Loudness Registers Format (0x91 – 0x95)
I2C
SUBADDRESS
TOTAL
BYTES
REGISTER NAME
0x91
4
Loudness Log2 Gain (LG)
U (31:28), LG (27:24), LG (23:16), LG (15:8), LG
(7:0)
0xFF, 0xC0, 0x00, 0x00
0x00, 0x00, 0x00, 0x00,
8
Loudness Log2 Offset
(LO)
U (31:24), U (23:16), LO (15:8), LO (7:0)
0x92
Loudness Log2 LO
LO (31:24), LO (23:16), LO (15:8), LO (7:0)
0x00, 0x00, 0x00, 0x00,
Loudness Gain (G)
U (31:28), G (27:24), G (23:16), G (15:8), G (7:0)
0x00, 0x00, 0x00, 0x00,
Loudness Offset Upper 16
bits (O)
U (31:24), U (23:16), O (15:8), O (7:0)
0x00, 0x00, 0x00, 0x00,
Loudness O Offset Lower
32 bits (O)
O (31:24), O (23:16), O (15:8), O (7:0)
0x00, 0x00, 0x00, 0x00,
Loudness Biquad (b0)
U (31:28), b0 (27:24), b0 (23:16), b0 (15:8), b0 (7:0)
0x00, 0x00, 0xD5, 0x13,
Loudness Biquad (b1)
U (31:28), b1 (27:24), b1 (23:16), b1 (15:8), b1 (7:0)
0x00, 0x00, 0x00, 0x00,
Loudness Biquad (b2)
U (31:28), b2 (27:24), b2 (23:16), b2 (15:8), b2 (7:0)
0x0F, 0xFF, 0x2A, 0xED,
Loudness Biquad (a1)
U (31:28), a1 (27:24), a1 (23:16), a1 (15:8), a1 (7:0)
0x00, 0xFE, 0x50, 0x45,
Loudness Biquad (a2)
U (31:28), a2 (27:24), a2 (23:16), a2 (15:8), a2 (7:0)
0x0F, 0x81, 0xAA, 0x27
0x93
0x94
0x95
4
8
20
SLES123 − October 2004
DESCRIPTION OF CONTENTS
DEFAULT STATE
TAS5504
73
Serial Control Interface Register Definitions
6.20 DRC1 Control (0x96, Channels 1−3)
Bits D31 – D14 are Don’t Care.
Table 6−22. DCR1 Control (0x96, Channels 1−3)
D31
D30
D29
D28
D27
D26
D25
D24
FUNCTION
Unused bits
D23
D22
D21
D20
D19
D18
D17
D16
FUNCTION
Unused bits
D15
D7
D14
D6
D13
D12
D11
D10
D9
D8
0
0
−
−
−
−
Channel 1 (node j): No DRC
FUNCTION
0
1
−
−
−
−
Channel 1 (node j): Pre-volume DRC
1
0
−
−
−
−
Channel 1 (node j): Post-volume DRC
1
1
−
−
−
−
Channel 1 (node j): No DRC
−
−
0
0
−
−
Channel 2 (node I): No DRC
−
−
0
1
−
−
Channel 2 (node I): Pre-volume DRC
−
−
1
0
−
−
Channel 2 (node I): Post-volume DRC
−
−
1
1
−
−
Channel 2 (node i): No DRC
D5
D4
D3
D2
D1
D0
−
−
−
−
0
0
Channel 3 (node q): No DRC
−
−
−
−
0
1
Channel 3 (node q): Pre-volume DRC
−
−
−
−
1
0
Channel 3 (node q): Post-volume DRC
−
−
−
−
1
1
Channel 3 (node q): No DRC
FUNCTION
6.21 DRC2 Control (0x97, Channel 4)
Table 6−23. DRC2 Control (0x97, Channel 4)
D31 – D2
74
D1
D0
0
0
0
0
Channel 4 (node r): No DRC
0
0
0
1
Channel 4 (node r): Pre-volume DRC
0
0
1
0
Channel 4 (node r): Post-volume DRC
0
0
1
1
Channel 4 (node r): No DRC
TAS5504
FUNCTION
SLES123 − October 2004
Serial Control Interface Register Definitions
6.22 DRC1 Data Registers (0x98 – 0x9C)
DRC1 applies to channels 1, 2, and 3.
Table 6−24. DRC1 Data Registers
I2C
SUBADDRESS
0x98
0x99
0x9A
0x9B
0x9C
TOTAL
BYTES
8
16
12
16
16
SLES123 − October 2004
REGISTER NAME
DESCRIPTION OF CONTENTS
DEFAULT STATE
Channel 1, 2, and 3
DRC1 Energy
U (31:28), E (27:24), E (23:16), E (15:8), E (7:0)
0x00, 0x00, 0x88, 0x3F
Channel 1, 2, and 3
DRC1 (1− Energy)
U (31:28), 1−E (27:24), 1−E (23:16), 1−E (15:8),
1−E (7:0)
0x00, 0x7F, 0x77, 0xC0
Channel 1, 2, and 3
DRC1 Threshold Upper 16 bits
(T1)
U (31:24), U (23:16), T1 (15:8), T1 (7:0)
0x00, 0x00, 0x00, 0x00
Channel 1, 2, and 3
DRC1 Threshold Lower 32 bits
(T1)
T1 (31:24), T1 (23:16), T1 (15:8), T1 (7:0)
0x0B, 0x20, 0xE2, 0xB2
Channel 1, 2, and 3
DRC1 Threshold
Upper 16 bits (T2)
U (31:24), U (23:16), T2 (15:8), T2 (7:0)
0x00, 0x00, 0x00, 0x00
Channel 1, 2, and 3
DRC1 Threshold
Lower 32 bits (T2)
T2 (31:24), T2 (23:16), T2 (15:8), T2 (7:0)
0x06, 0xF9, 0xDE, 0x58
Channel 1, 2, and 3
DRC1 slope (k0)
U (31:28), k0 (27:24), k0 (23:16), k0 (15:8),
k0 (7:0)
0x00, 0x40, 0x00, 0x00
Channel 1, 2, and 3
DRC1 slope (k1)
U (31:28), k1 (27:24), k1 (23:16), k1 (15:8),
k1 (7:0)
0x0F, 0xC0, 0x00, 0x00
Channel 1, 2, and 3
DRC1 slope (k2)
U (31:28), k2 (27:24), k2 (23:16), k2 (15:8),
k2 (7:0)
0x0F, 0x90, 0x00, 0x00
Channel 1, 2, and 3
DRC1 Offset 1 Upper 16 bits
(O1)
U (31:24), U (23:16), O1 (15:8), O1 (7:0)
0x00, 0x00, 0xFF, 0xFF
Channel 1, 2, and 3
DRC1 Offset 1 Lower 32 bits
(O1)
O1 (31:24), O1 (23:16), O1 (15:8), O1 (7:0)
0xFF, 0x82, 0x30, 0x98
Channel 1, 2, and 3
DRC1 Offset 2 Upper 16 bits
(O2)
U (31:24), U (23:16), O2 (15:8), O2 (7:0)
0x00, 0x00, 0x00, 0x00
Channel 1, 2, and 3
DRC1 Offset 2 Lower 32 bits
(O2)
O2 (31:24), O2 (23:16), O2 (15:8), O2 (7:0)
0x01, 0x95, 0xB2, 0xC0
Channel 1, 2, and 3
DRC1 Attack
U (31:28), A (27:24), A (23:16), A (15:8), A (7:0)
0x00, 0x00, 0x88, 0x3F
Channel 1, 2, and 3
DRC1 (1− Attack)
U (31:28), 1−A (27:24), 1−A (23:16), 1−A (15:8),
1−A (7:0)
0x00, 0x7F, 0x77, 0xC0
Channel 1, 2, and 3
DRC1 Decay
U (31:28), D (27:24), D (23:16), D (15:8), D (7:0)
0x00, 0x00, 0x00, 0x56
Channel 1, 2, and 3
DRC1 (1− Decay)
U (31:28), 1−D (27:24), 1−D (23:16), 1−D (15:8),
1−D (7:0)
0x00, 0x3F, 0xFF, 0xA8
TAS5504
75
Serial Control Interface Register Definitions
6.23 DRC2 Data Registers (0x9D – 0xA1)
DRC2 applies to channel 4.
Table 6−25. DRC2 Data Registers
I2C
SUBADDRESS
TOTAL
BYTES
0x9D
8
0x9E
0x9F
0xA0
0xA1
76
TAS5504
16
12
16
16
REGISTER NAME
DESCRIPTION OF CONTENTS
DEFAULT STATE
Channel 4 DRC2 Energy
U (31:28), E (27:24), E (23:16), E (15:8), E (7:0)
0x00, 0x00, 0x88, 0x3F
Channel 4 DRC2 (1− Energy)
U (31:28), 1−E (27:24), 1−E (23:16), 1−E (15:8),
1−E (7:0)
0x00, 0x7F, 0x77, 0xC0
Channel 4 DRC2 Threshold
Upper 16 bits (T1)
U (31:24), U (23:16), T1 (15:8), T1 (7:0)
0x00, 0x00, 0x00, 0x00
Channel 4 DRC2 Threshold
Lower 32 bits (T1)
T1 (31:24), T1 (23:16), T1 (15:8), T1 (7:0)
0x0B, 0x20, 0xE2, 0xB2
Channel 4 DRC2 Threshold
Upper 16 bits (T2)
U (31:24), U (23:16), T2 (15:8), T2 (7:0)
0x00, 0x00, 0x00, 0x00
Channel 4 DRC2 Threshold
Lower 32 bits (T2)
T2 (31:24), T2 (23:16), T2 (15:8), T2 (7:0)
0x06, 0xF9, 0xDE, 0x58
Channel 4 DRC2 slope (k0)
U (31:28), k0 (27:24), k0 (23:16), k0 (15:8),
k0 (7:0)
0x00, 0x40, 0x00, 0x00
Channel 4 DRC2 slope (k1)
U (31:28), k1 (27:24), k1 (23:16), k1 (15:8),
k1 (7:0)
0x0F, 0xC0, 0x00, 0x00
Channel 4 DRC2 slope (k2)
U (31:28), k2 (27:24), k2 (23:16), k2 (15:8),
k2 (7:0)
0x0F, 0x90, 0x00, 0x00
Channel 4 DRC2 Offset 1
Upper 16 bits (O1)
U (31:24), U (23:16), O1 (15:8), O1 (7:0)
0x00, 0x00, 0xFF, 0xFF,
Channel 4 DRC2 Offset 1
Lower 32 bits (O1)
O1 (31:24), O1 (23:16), O1 (15:8), O1 (7:0)
0xFF, 0x82, 0x30, 0x98
Channel 4 DRC2 Offset 2
Upper 16 bits (O2)
U (31:24), U (23:16), O2 (15:8), O2 (7:0)
0x00, 0x00, 0x00, 0x00
Channel 4 DRC2 Offset 2
Lower 32 bits (O2)
O2 (31:24), O2 (23:16), O2 (15:8), O2 (7:0)
0x01, 0x95, 0xB2, 0xC0
Channel 4 DRC2 Attack
U (31:28), A (27:24), A (23:16), A (15:8), A (7:0)
0x00, 0x00, 0x88, 0x3F
Channel 4 DRC2 (1− Attack)
U (31:28), 1−A (27:24), 1−A (23:16), 1−A (15:8),
1−A (7:0)
0x00, 0x7F, 0x77, 0xC0
Channel 4 DRC2 Decay
U (31:28), D (27:24), D (23:16), D (15:8), D (7:0)
0x00, 0x00, 0x00, 0x56
Channel 4 DRC2 (1− Decay)
U (31:28), 1−D (27:24), 1−D (23:16), 1−D (15:8),
1−D (7:0)
0x00, 0x3F, 0xFF, 0xA8
SLES123 − October 2004
Serial Control Interface Register Definitions
6.24 DRC Bypass Registers (0xA2, 0xA3, 0xA8, 0xA9)
DRC bypass/inline for channels 1, 2, 3, and 4 are mapped into registers 0xA2, 0xA3, 0xA8, and 0xA9. 8−bytes
are written for each channel. Each gain coefficient is in 28-bit (5.23) format so 0x00800000 is a gain of 1. Each
gain coefficient is written as a 32-bit word with the upper 4 bits not used.
To enable DRC for a given channel (with unity gain), bypass = 0x00000000 and inline = 0x00800000.
To disable DRC for a given channel, bypass = 0x00800000 and inline = 0x00000000.
Table 6−26. DRC Bypass Registers Format (0xA2−0xA9)
REGISTER NAME
TOTAL
BYTES
Channel bass DRC bypass
8
Channel DRC inline
CONTENTS
INITIALIZATION
VALUE
U (31:28), bypass (27:24), bypass (23:16), bypass (15:8), bypass (7:0)
0x00, 0x80, 0x00, 0x00
U (31:28), inline (27:24), inline (23:16), inline (15:8), inline (7:0)
0x00, 0x00, 0x00, 0x00
6.25 4x2 Output Mixer Registers (0xAA and 0xAB)
Output mixers for channels 1 and 2 map to registers 0xAA and 0xAB.
Total data per register is 8 bytes.
Table 6−27. Output Mixer Control Register Format (Upper 4 Bytes)
D31
D30
D29
D28
0
0
0
0
D27
Select channel 1 to output mixer
0
0
0
1
Select channel 2 to output mixer
0
1
1
0
Select channel 3 to output mixer
0
1
1
1
Select channel 4 to output mixer
G27
D26
G26
D25
G25
D24
G24
D23
D22
D21
D20
D19
D18
D17
D16
G23
G22
G21
G20
G19
G18
G17
G16
D15
D14
D13
D12
D11
D10
D9
D8
G15
G14
G13
G12
G11
G10
G9
G8
D7
D6
D5
D4
D3
D2
D1
D0
G7
G6
G5
G4
G3
G2
G1
G0
SLES123 − October 2004
FUNCTION
Selected channel gain (upper 4 bits)
FUNCTION
Selected channel gain (continued)
FUNCTION
Selected channel gain (continued)
FUNCTION
Selected channel gain (lower 8 bits)
TAS5504
77
Serial Control Interface Register Definitions
Table 6−28. Output Mixer Control (Lower 4 Bytes)
D31
D30
D29
D28
D27
D26
D25
D24
FUNCTION
0
0
0
0
Select channel 1 to output mixer
0
0
0
1
Select channel 2 to output mixer
0
1
1
0
Select channel 3 to output mixer
0
1
1
1
Select channel 4 to output mixer
G27
G26
G25
G24
D23
D22
D21
D20
D19
D18
D17
D16
G23
G22
G21
G20
G19
G18
G17
G16
D15
D14
D13
D12
D11
D10
D9
D8
G15
G14
G13
G12
G11
G10
G9
G8
D7
D6
D5
D4
D3
D2
D1
D0
G7
G6
G5
G4
G3
G2
G1
G0
Selected channel gain (upper 4 bits)
FUNCTION
Selected channel gain (continued)
FUNCTION
Selected channel gain (continued)
FUNCTION
Selected channel gain (lower 8 bits)
6.26 4x3 Output Mixer Registers (0xB0 – 0xB1)
Output mixers for channels 3 and 4 map to registers 0xB0 and 0xB1.
Total data per register is 12 bytes.
Table 6−29. Output Mixer Control (Upper 4 Bytes)
D31
D30
D29
D28
0
0
0
0
D27
Select channel 1 to output mixer
0
0
0
1
Select channel 2 to output mixer
0
1
1
0
Select channel 3 to output mixer
0
1
1
1
Select channel 4 to output mixer
G27
D26
G26
D25
G25
D24
G24
D23
D22
D21
D20
D19
D18
D17
D16
G23
G22
G21
G20
G19
G18
G17
G16
D15
D14
D13
D12
D11
D10
D9
D8
G15
G14
G13
G12
G11
G10
G9
G8
D7
D6
D5
D4
D3
D2
D1
D0
G7
G6
G5
G4
G3
G2
G1
G0
78
TAS5504
FUNCTION
Selected channel gain (upper 4 bits)
FUNCTION
Selected channel gain (continued)
FUNCTION
Selected channel gain (continued)
FUNCTION
Selected channel gain (lower 8 bits)
SLES123 − October 2004
Serial Control Interface Register Definitions
Table 6−30. Output Mixer Control (Middle 4 Bytes)
D31
D30
D29
D28
D27
D26
D25
D24
FUNCTION
0
0
0
0
Select channel 1 to output mixer
0
0
0
1
Select channel 2 to output mixer
0
1
1
0
Select channel 3 to output mixer
0
1
1
1
Select channel 4 to output mixer
G27
G26
G25
G24
D23
D22
D21
D20
D19
D18
D17
D16
G23
G22
G21
G20
G19
G18
G17
G16
D15
D14
D13
D12
D11
D10
D9
D8
G15
G14
G13
G12
G11
G10
G9
G8
D7
D6
D5
D4
D3
D2
D1
D0
G7
G6
G5
G4
G3
G2
G1
G0
Selected channel gain (upper 4 bits)
FUNCTION
Selected channel gain (continued)
FUNCTION
Selected channel gain (continued)
FUNCTION
Selected channel gain (lower 8 bits)
Table 6−31. Output Mixer Control (Lower 4 Bytes)
D31
D30
D29
D28
0
0
0
0
D27
D26
D25
D24
Select channel 1 to output mixer
0
0
0
1
Select channel 2 to output mixer
0
1
1
0
Select channel 3 to output mixer
0
1
1
1
Select channel 4 to output mixer
G27
G26
G25
G24
D23
D22
D21
D20
D19
D18
D17
D16
G23
G22
G21
G20
G19
G18
G17
G16
D15
D14
D13
D12
D11
D10
D9
D8
G15
G14
G13
G12
G11
G10
G9
G8
D7
D6
D5
D4
D3
D2
D1
D0
G7
G6
G5
G4
G3
G2
G1
G0
SLES123 − October 2004
FUNCTION
Selected channel gain (upper 4 bits)
FUNCTION
Selected channel gain (continued)
FUNCTION
Selected channel gain (continued)
FUNCTION
Selected channel gain (lower 8 bits)
TAS5504
79
Serial Control Interface Register Definitions
6.27 Volume Biquad Register (0xCF)
Each gain coefficient is in 28-bit (5.23) format so 0x800000 is a gain of 1. Each gain coefficient is written as
a 32-bit word with the upper four bits not used.
Table 6−32. Volume Biquad Register Format (Default = All-pass)
DESCRIPTION
DEFAULT GAIN COEFFICIENT VALUES
REGISTER FIELD CONTENTS
DECIMAL
HEX
bo Coefficient
0U (31:28), b0 (27:24), b0 (23:16), b0 (15:8), b0 (7:0)
1.0
0x00, 0x80, 0x00, 0x00
b1 Coefficient
U (31:28), b1 (27:24), b1 (23:16), b1 (15:8), b1 (7:0)
0.0
0x00, 0x00, 0x00, 0x00
b2 Coefficient
U (31:28), b2 (27:24), b2 (23:16), b2 (15:8), b2 (7:0)
0.0
0x00, 0x00, 0x00, 0x00
a1 Coefficient
0U (31:28), a1 (27:24), a1 (23:16), a1 (15:8), a1 (7:0)
0.0
0x00, 0x00, 0x00, 0x00
a2 Coefficient
U (31:28), a2 (27:24), a2 (23:16), a2 (15:8), a2 (7:0)
0.0
0x00, 0x00, 0x00, 0x00
6.28 Volume Treble and Bass Slew Rates (0xD0)
Table 6−33. Volume Gain Update Rate (Slew Rate)
D31−D10
D9
D8
0
0
0
512 step update at 4 Fs, 42.6 ms at 48 kHz
FUNCTION
0
0
1
1024 step update at 4 Fs, 85.3 ms at 48 kHz
0
1
0
2048 step update at 4 Fs, 170 ms at 48 kHz
0
1
1
2048 step update at 4 Fs, 170 ms at 48 kHz
Table 6−34. Treble and Bass Gain Step Size (Slew Rate)
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
0
0
FUNCTION
0
0
0
0
0
0
1
1
0
0
0
0
0
1
0
0
Minimum rate – Updates every 0.083 ms (every LRCLK at 48 kHz)
0
0
1
0
0
0
0
0
Update ever 0.67 ms (32 LRCLKs at 48 kHz)
0
0
1
1
1
1
1
1
Default rate − Updates every 1.31 ms (63 LRCLKs at 48 kHz). This is the
maximum constant time that can be set for all sample rates.
1
1
1
1
1
1
1
1
Minimum rate – Updates every 5.08 ms (every 255 LRCLKs at 48 kHz)
No operation
6.29 Volume Registers (0xD1, 0xD2, 0xD7, and 0xD8)
Channels 1, 2, 3, and 4 are mapped into registers 0xD1, 0xD2, 0xD7, and 0xD8.
Master volume is mapped into register 0xD9.
Bits D31 − D12 are Don’t Care.
Table 6−35. Volume Registers
D31
D30
D29
D28
D27
D26
D25
D24
FUNCTION
Unused bits
D23
D22
D21
D20
D19
D18
D17
D16
FUNCTION
Unused bits
D15
D14
D13
D12
D11
D10
D9
D8
V11
V10
V9
V8
D7
D6
D5
D4
D3
D2
D1
D0
V7
V6
V5
V4
V3
V2
V1
V0
80
TAS5504
FUNCTION
Volume
FUNCTION
Volume
SLES123 − October 2004
Serial Control Interface Register Definitions
Table 6−36. Master and Individual Volume Controls
VOLUME INDEX (H)
GAIN/INDEX
EXPECTED
ACTUAL
001
17.75
17.81
17.81
002
17.5
17.56
17.56
003
17.25
17.31
17.31
004
17
17.06
17.06
005
16.75
16.81
16.81
006
16.5
16.56
16.56
007
16.25
16.31
16.31
008
16
16.05
16.05
009
15.75
15.8
15.8
00A
15.5
15.55
15.55
00B
15.25
15.3
15.3
00C
15
15.05
15.05
00D
14.75
14.8
14.8
00E
14.5
14.55
14.55
00F
14.25
14.3
14.3
010
14
14.05
14.05
044
1
1
1
045
0.75
0.75
0.75
046
0.5
0.5
0.5
047
0.25
0.25
0.25
048
0
0
0
049
−0.25
−0.25
−0.25
04A
−0.5
−0.5
−0.5
−0.75
04B
−0.75
−0.75
04C
−1
−1
−1
240
−126
−126.43
−126.43
241
−126.25
−126.68
−126.99
242
−126.5
−126.93
−126.99
243
−126.75
−127.19
−127.59
244
−127
−127.44
−127.59
245
Mute
Mute
Mute
3FF
Mute
Mute
Mute
TO
6.30 Bass Filter Set Register (0xDA)
Bits D31−D27, D23−D19, D15−D11, and D7−D3 are Don’t Care.
Table 6−37. Channel 4 Sub Woofer
D31
D30
D29
D28
D27
D26
D25
D24
0
0
0
0
0
0
0
0
No change
0
0
0
0
0
0
0
1
Bass filter set 1
0
0
0
0
0
0
1
0
Bass filter set 2
0
0
0
0
0
1
1
1
Bass filter set 3
0
0
0
0
0
1
0
0
Bass filter set 4
0
0
0
0
0
1
0
1
Bass filter set 5
0
0
0
0
0
1
1
0
Illegal
0
0
0
0
0
1
1
1
Illegal
SLES123 − October 2004
FUNCTION
TAS5504
81
Serial Control Interface Register Definitions
Table 6−38. Channel 3, 2, 1 (Center, Right Front, and Left Front)
D7
D6
D5
D4
D3
D2
D1
D0
FUNCTION
0
0
0
0
0
0
0
0
No change
0
0
0
0
0
0
0
1
Bass filter set 1
0
0
0
0
0
0
1
0
Bass filter set 2
0
0
0
0
0
1
1
1
Bass filter set 3
0
0
0
0
0
1
0
0
Bass filter set 4
0
0
0
0
0
1
0
1
Bass filter set 5
0
0
0
0
0
1
1
0
Illegal
0
0
0
0
0
1
1
1
Illegal
6.31 Bass Filter Index Register (0xDB)
Index values above 0x24 are invalid.
Table 6−39. Bass Filter Index Register
I2C
SUBADDRESS
0xDB
TOTAL BYTES
REGISTER NAME
DESCRIPTION OF CONTENTS
Bass filter index
(BFI)
4
Ch4_BFI (31:24), NONE (23:16), NONE (15:8),
Ch321_BFI (7:0)
DEFAULT STATE
0x12, 0xxx, 0xxx, 0x12,
Table 6−40. Bass Filter Index Table
82
TAS5504
TREBLE INDEX
VALUE
ADJUSTMENT
(DB)
TREBLE INDEX
VALUE
ADJUSTMENT
(DB)
0x00
+18
0x13
−1
0x01
+17
0x14
−2
0x02
+16
0x15
−3
0x03
+15
0x16
−4
0x04
+14
0x17
−5
0x05
+13
0x18
−6
0x06
+12
0x19
−7
0x07
+11
0x1A
−8
0x08
+10
0x1B
−9
0x09
+9
0x1C
−10
0x0A
+8
0x1D
−11
0x0B
+7
0x1E
−12
0x0C
+6
0x1F
−13
0x0D
+5
0x20
−14
0x0E
+4
0x21
−15
0x0F
+3
0x22
−16
0x10
+2
0x23
−17
0x11
+1
0x24
−18
0x12
0
SLES123 − October 2004
Serial Control Interface Register Definitions
6.32 Treble Filter Set Register (0xDC)
Bits D31−D27 are Don’t Care.
Table 6−41. Channel 4 Sub Woofer
D31
D30
D29
D28
D27
D26
D25
D24
FUNCTION
0
0
0
0
0
0
0
0
No change
0
0
0
0
0
0
0
1
Treble filter set 1
0
0
0
0
0
0
1
0
Treble filter set 2
0
0
0
0
0
1
1
1
Treble filter set 3
0
0
0
0
0
1
0
0
Treble filter set 4
0
0
0
0
0
1
0
1
Treble filter set 5
0
0
0
0
0
1
1
0
Illegal
0
0
0
0
0
1
1
1
Illegal
Table 6−42. Channel 3, 2, 1 (Center, Right Front, and Left Front)
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
0
0
0
0
0
No change
0
0
0
0
0
0
0
1
Treble filter set 1
0
0
0
0
0
0
1
0
Treble filter set 2
0
0
0
0
0
1
1
1
Treble filter set 3
0
0
0
0
0
1
0
0
Treble filter set 4
0
0
0
0
0
1
0
1
Treble filter set 5
0
0
0
0
0
1
1
0
Illegal
0
0
0
0
0
1
1
1
Illegal
SLES123 − October 2004
FUNCTION
TAS5504
83
Serial Control Interface Register Definitions
6.33 Treble Filter Index (0xDD)
Index values above 0x24 are invalid.
Table 6−43. Treble Filter Index Register
I2C
TOTAL BYTES
REGISTER
NAME
Treble filter index (TFI)
4
SUBADDRESS
0xDD
DESCRIPTION OF CONTENTS
DEFAULT STATE
Ch4_TFI (31:24), NONE (23:16), NONE (15:8),
Ch321_TFI (7:0)
0x12,0x12,0x12,0x12
Table 6−44. Treble Filter Index
TREBLE INDEX VALUE
ADJUSTMENT (DB)
TREBLE INDEX VALUE
ADJUSTMENT (DB)
0x00
+18
0x13
−1
0x01
+17
0x14
−2
0x02
+16
0x15
−3
0x03
+15
0x16
−4
0x04
+14
0x17
−5
0x05
+13
0x18
−6
0x\06
+12
0x19
−7
0x07
+11
0x1A
−8
0x08
+10
0x1B
−9
0x09
+9
0x1C
−10
0x0A
+8
0x1D
−11
0x0B
+7
0x1E
−12
0x0C
+6
0x1F
−13
0x0D
+5
0x20
−14
0x0E
+4
0x21
−15
0x0F
+3
0x22
−16
0x10
+2
0x23
−17
0x11
+1
0x24
−18
0x12
0
6.34 AM Mode Register (0xDE)
Bits D31−D21 are Don’t Care.
Table 6−45. AM Mode Register
D31
D30
D29
D28
D27
D26
D25
D24
FUNCTION
Unused bits
D23
84
D22
TAS5504
D21
D20
D19
D18
D17
D16
0
−
−
−
−
AM mode disabled
FUNCTION
1
−
−
−
−
AM mode enabled
−
0
0
−
−
Select sequence 1
−
0
1
−
−
Select sequence 2
−
1
0
−
−
Select sequence 3
−
1
1
−
−
Select sequence 4
−
−
−
0
−
IF frequency 455
−
−
−
1
−
IF frequency 262.5
−
−
−
−
0
Use BCD tuned frequency
−
−
−
−
1
Use binary tuned frequency
SLES123 − October 2004
Serial Control Interface Register Definitions
Table 6−46. AM Tuned Frequency Register in BCD Mode (Lower 2 Bytes of 0xDE)
D15
D14
D13
D12
D11
D10
D9
D8
0
0
0
B0
−
−
−
−
BCD frequency (1000s kHz)
FUNCTION
−
−
−
−
B3
B2
B1
B0
BCD frequency (100s kHz)
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
B3
B2
B1
B0
−
−
−
−
BCD frequency (10s kHz)
−
−
−
−
B3
B2
B1
B0
BCD frequency (1s kHz)
0
0
0
0
0
0
0
0
D15
D14
D13
D12
D11
D10
D9
D8
0
0
0
0
0
B10
B9
B8
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
B7
B6
B5
B4
B3
B2
B1
B0
0
0
0
0
0
0
0
0
Default value
FUNCTION
Default value
Table 6−47. AM Tuned Frequency Register in Binary Mode (Lower 2 Bytes of 0xDE)
FUNCTION
Binary frequency (upper 3 bits)
Default value
FUNCTION
Binary frequency (lower 8 bits)
Default value
6.35 PSVC Range Register (0xDF)
Bits D31−D2 are zero.
Table 6−48. PSVC Range Register
D31 – D2
D1
D0
0
0
0
12.04-dB control range for PSVC
FUNCTION
0
0
1
18.06-dB control range for PSVC
0
1
0
24.08-dB control range for PSVC
0
1
1
Ignore − retain last value
6.36 General Control Register (0xE0)
Bits D31−D4 are zero. Bit D0 is Don’t Care.
Table 6−49. General Control Register
D31 – D4
D3
0
D2
D1
D0
0
−
−
Power supply volume control disable
FUNCTION
1
−
−
Power supply volume control enable
0
0
−
−
−
Subwoofer part of PSVC
0
1
−
−
−
Subwoofer separate from PSVC
0
6.37 Incremental Multiple Write Append Register (0xFE)
This is a special register used to append data to a previously opened register.
SLES123 − October 2004
TAS5504
85
Serial Control Interface Register Definitions
86
TAS5504
SLES123 − October 2004
TAS5504 Example Application Schematic
7
TAS5504 Example Application Schematic
The following page contains an example application schematic for the TAS5504.
SLES123 − October 2004
TAS5504
87
5
4
3
2
1
D
D
+5.0V
Left + Right Headphone
+5.0V
1
OUT_R
PWM_HPM_R
OUT_GND
PWM_HPP_R
Mini-Jack (3.5mm)
OUT_L
HEADPHONE OUTPUT
C25
220nF
C26
10uF
2
4
3
2
1
V-HBRIDGE
2
PWM_HPP_L
J900
R20 +3.3V
22.0R
2
1
1
PWM_HPM_L
/SD2_TAS5121
/OTW_TAS5121
GND
2 Channel Headphone Design (TPA112)
/SHUTDOWN_TAS5121
GVDD
V-HBRIDGE
/TEMP_WARNING
GVDD
PWM_P
/VALID
PWM_M
OUT_1
1
/VALID
OUT_2
2
SUBWOOFER
SPEAKER
OUTPUT
J800
CH4 TAS5121 H-Bridge Output Stage
V-HBRIDGE
/SD1_TAS5121
/OTW_TAS5121
C
MCLK
C18
1nF
VR_PWM
48
PLL_FLT_RET
NC
47
3
PLL_FLTM
NC
46
4
PLL_FLTP
NC
45
5
AVSS
NC
44
6
AVSS
PWM_P_2
43
7
VRD_PLL
PWM_M_2
42
8
AVSS_PLL
PWM_P_1
41
9
AVDD_PLL
PWM_M_1
40
TAS5504
VBGAP
VAILD
39
/RESET_TAS5504
11
RESET
DVSS
38
/HP_SEL
12
HP_SEL
BKND_ERR
37
/PDN_TAS5504
13
PDN
DVDD
36
/MUTE_TAS5504
14
MUTE
DVSS
35
15
DVDD
DVSS
34
16
DVSS
VR_DIG
33
/VALID
OUT_2
2
CENTER
SPEAKER
OUTPUT
/VALID
/BKND_ERR_TAS5504
+3.3V
/SD1_TAS5121
1
1
C24
100nF
/OTW_TAS5121
/VALID
GND
GVDD
PWM_M
OUT_1
1
/VALID
OUT_2
2
RIGHT
SPEAKER
OUTPUT
J200
C21
100nF
CH2 TAS5121 H-Bridge Output Stage
V-HBRIDGE
2
2
2
+5.0V +3.3V
C20
100nF
GVDD
V-HBRIDGE
/TEMP_WARNING
PWM_P
1
1
1
C19
10uF
/SHUTDOWN_TAS5121
2
C23
10uF
2
C22
100nF
2
PSVC
1
2
V-HBRIDGE
32
SDIN1
31
SDIN2
30
SDIN3
29
SDIN4
28
SCLK
27
LRCLK
26
SCL
25
SDA
24
RESERVED
23
RESERVED
22
RESERVED
21
XTL_IN
20
19
XTL_OUT
OSC_CAP
B
R18
1R
1
17
R14
1R
18
VR_DPLL
+3.3V
2
GND
GVDD
1
J700
1
VRA_PLL
2
U10
OUT_1
2
50
51
52
53
54
55
56
57
58
59
60
61
62
49
PWM_M_3
PWM_P_3
PWM_M_4
PWM_P_4
DVSS_PWM
DVDD_PWM
NC
NC
NC
NC
PWM_HPML
PWM_HPPL
PWM_HPMR
63
PWM_HPPR
1
10
1
R13
3.30R
V-HBRIDGE
C
PWM_M
1
2
2
C17
100nF
2
MCLK
64
B
GVDD
1
1
1
1
2
C16
10uF
RESERVED
1
2
2
2
2
C12
100nF
/TEMP_WARNING
CH3 TAS5121 H-Bridge Output Stage
C29
100nF
2
2
C14
100nF
R12
2R
1
C15
100nF
C13
10nF
12
12
R11
200R
C11
100nF
+3.3V
1
1
1
1
2
R10
200R
GVDD
V-HBRIDGE
PWM_P
/VALID
C10
10nF
/SHUTDOWN_TAS5121
GND
/SD1_TAS5121
GND
PSVC_TAS5504
/OTW_TAS5121
/SHUTDOWN_TAS5121
GVDD
V-HBRIDGE
/TEMP_WARNING
GVDD
/RESET_TAS5504
/RESET
SDIN3
/VALID
13.5MHz
/BKND_ERR_TAS5504
2
2
/BKND_ERR_TAS5504
/BKND_ERR
PSVC_TAS5504
/SD1
/SD2_TAS5121
/SD2
/VALID
C27
15pF
/SD1_TAS5121
1
PSVC_TAS5504
/SD1_TAS5121
/SD1
SDIN4
R21
1M
/OTW
OUT_1
1
/VALID
OUT_2
2
J100
SCL
SDA
A
/SD2_TAS5121
/SD2
TAS5504 Example Application Schematic
/OTW_TAS5121
(Circuit is Subject To Change Without Notice)
/OTW
PSU and Interface Logic
5
LEFT
SPEAKER
OUTPUT
LRCLK
C28
15pF
/VALID
/OTW_TAS5121
PWM_M
CH1 TAS5121 H-Bridge Output Stage
SCLK
1
2
/BKND_ERR
A
PWM_P
SDIN2
X10
/RESET_TAS5504
1
+3.3V
+5.0V
GVDD
V-HBRIDGE
SDIN1
/RESET
4
3
2
1
PACKAGE OPTION ADDENDUM
www.ti.com
25-Feb-2005
PACKAGING INFORMATION
Orderable Device
Status (1)
Package
Type
Package
Drawing
Pins Package Eco Plan (2)
Qty
TAS5504PAG
ACTIVE
TQFP
PAG
64
160
Green (RoHS &
no Sb/Br)
CU NIPDAU
Level-4-260C-72 HR
TAS5504PAGR
ACTIVE
TQFP
PAG
64
1500 Green (RoHS &
no Sb/Br)
CU NIPDAU
Level-4-260C-72 HR
Lead/Ball Finish
MSL Peak Temp (3)
(1)
The marketing status values are defined as follows:
ACTIVE: Product device recommended for new designs.
LIFEBUY: TI has announced that the device will be discontinued, and a lifetime-buy period is in effect.
NRND: Not recommended for new designs. Device is in production to support existing customers, but TI does not recommend using this part in
a new design.
PREVIEW: Device has been announced but is not in production. Samples may or may not be available.
OBSOLETE: TI has discontinued the production of the device.
(2)
Eco Plan - May not be currently available - please check http://www.ti.com/productcontent for the latest availability information and additional
product content details.
None: Not yet available Lead (Pb-Free).
Pb-Free (RoHS): TI's terms "Lead-Free" or "Pb-Free" mean semiconductor products that are compatible with the current RoHS requirements
for all 6 substances, including the requirement that lead not exceed 0.1% by weight in homogeneous materials. Where designed to be soldered
at high temperatures, TI Pb-Free products are suitable for use in specified lead-free processes.
Green (RoHS & no Sb/Br): TI defines "Green" to mean "Pb-Free" and in addition, uses package materials that do not contain halogens,
including bromine (Br) or antimony (Sb) above 0.1% of total product weight.
(3)
MSL, Peak Temp. -- The Moisture Sensitivity Level rating according to the JEDECindustry standard classifications, and peak solder
temperature.
Important Information and Disclaimer:The information provided on this page represents TI's knowledge and belief as of the date that it is
provided. TI bases its knowledge and belief on information provided by third parties, and makes no representation or warranty as to the
accuracy of such information. Efforts are underway to better integrate information from third parties. TI has taken and continues to take
reasonable steps to provide representative and accurate information but may not have conducted destructive testing or chemical analysis on
incoming materials and chemicals. TI and TI suppliers consider certain information to be proprietary, and thus CAS numbers and other limited
information may not be available for release.
In no event shall TI's liability arising out of such information exceed the total purchase price of the TI part(s) at issue in this document sold by TI
to Customer on an annual basis.
Addendum-Page 1
MECHANICAL DATA
MTQF006A – JANUARY 1995 – REVISED DECEMBER 1996
PAG (S-PQFP-G64)
PLASTIC QUAD FLATPACK
0,27
0,17
0,50
48
0,08 M
33
49
32
64
17
0,13 NOM
1
16
7,50 TYP
Gage Plane
10,20
SQ
9,80
12,20
SQ
11,80
0,25
0,05 MIN
1,05
0,95
0°– 7°
0,75
0,45
Seating Plane
0,08
1,20 MAX
4040282 / C 11/96
NOTES: A. All linear dimensions are in millimeters.
B. This drawing is subject to change without notice.
C. Falls within JEDEC MS-026
POST OFFICE BOX 655303
• DALLAS, TEXAS 75265
1