AD1954YSTRL [ADI]

SigmaDSP⑩ 3-Channel, 26-Bit Signal Processing DAC; SigmaDSP⑩ 3通道, 26比特信号处理DAC
AD1954YSTRL
型号: AD1954YSTRL
厂家: ADI    ADI
描述:

SigmaDSP⑩ 3-Channel, 26-Bit Signal Processing DAC
SigmaDSP⑩ 3通道, 26比特信号处理DAC

消费电路 商用集成电路
文件: 总36页 (文件大小:1445K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
SigmaDSP
3-Channel, 26-Bit  
Signal Processing DAC  
AD1954  
FE
A
T
URES  
Graphical Custom ProgrammingTools  
5V 3-Channel Audio DAC System  
44-Lead MQFP or 48-Lead LQFP Plastic Package  
Accepts Sample Rates up to 48 kHz  
7 Biquad Filter Sections per Channel  
Dual Dynamic Processor with Arbitrary Input/Output Curve  
and AdjustableTime Constants  
0 ms to 6 msVariable Delay/Channel for Speaker Alignment  
Stereo Spreading Algorithm for Phat Stereo™ Effect  
Program RAM Allows Complete New Program Download  
via SPI Port  
APPLIC
A
T
IONS  
2.0/2.1 Channel Audio Systems (Two Main Channels plus  
Subwoofer)  
Multimedia Audio  
Automotive Sound Systems  
Minicomponent Stereo  
HomeTheater Systems (AC-3 Postprocessor)  
Musical Instruments  
In-Seat Sound Systems (Aircraft, Motor Coaches)  
Parameter RAM Allows Complete Control of MoreThan  
200 Parameters via SPI Port  
SPI Port Features Safe-Upload Mode forTransparent Filter  
Updates  
2 Control Registers Allow Complete Control of Modes and  
MemoryTransfers  
Differential Output for Optimum Performance  
112 dB Signal-to-Noise (Not Muted) at 48 kHz Sample Rate  
(A-Weighted Stereo)  
GENERAL DESCRIPTION  
The AD1954 is a complete 26-bit single-chip 3-channel digital  
audio playback system with built-in DSP functionality for speaker  
equalization, dual-band compression/limiting, delay compensa-  
tion, and image enhancement.These algorithms can be used to  
compensate for real-world limitations of speakers, amplifiers, and  
listening environments, resulting in a dramatic improvement of  
perceived audio quality.  
70 dB Stop-Band Attenuation  
On-Chip ClicklessVolume Control  
The signal processing used in the AD1954 is comparable to that  
found in high-end studio equipment. Most of the processing is  
done in full 48-bit double-precision mode, resulting in very good  
low-level signal performance and the absence of limit cycles or  
idle tones.The compressor/limiter uses a sophisticated two-band  
algorithm often found in high-end broadcast compressors.  
Hardware and Software Controllable Clickless Mute  
Digital De-emphasis Processing for 32 kHz, 44.1 kHz, and  
48 kHz Sample Rates  
Flexible Serial Data Port with Right-Justified, Left-Justified,  
I
2S Compatible, and DSP Serial Port Modes  
Auxiliary Digital Input  
(
Continued on 9
)  
FUNCTIONAL BLOCK DIAGRAM  
SERIAL DATA  
OUTPUT  
3
3
AD1954  
26 22  
DSP CORE  
3
3
AUDIO DATA  
MUX  
SERIAL DATA  
INPUTS  
DAC – L  
DAC – R  
DATA FORMAT:  
3.23 (SINGLE PRECISION)  
3.45 (DOUBLE PRECISION)  
MASTER CLOCK  
OUTPUT  
ANALOG  
OUTPUTS  
MCLK  
GENERATOR  
MASTER  
CLOCK INPUTS  
MCLK  
MUX  
DAC – SW  
(256f /512f )  
S
S
AUX SERIAL  
DATA INPUT  
DATA CAPTURE  
OUT  
DIGITAL  
OUTPUT  
SPI DATA  
OUTPUT  
SERIAL CONTROL  
INTERFACE  
3
SPI INPUT  
RAM  
ROM  
REV. A  
Information furnished by Analog Devices is believed to be accurate and  
reliable. However, no responsibility is assumed byAnalog Devices for its  
use, nor for any infringements of patents or other rights of third parties  
that may result from its use. No license is granted by implication or other-  
wise under any patent or patent rights ofAnalog Devices.Trademarks and  
registered trademarks are the property of their respective companies.  
One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A.  
Tel: 781/329-4700  
Fax: 781/326-8703  
www.analog.com  
© 2003 Analog Devices, Inc. All rights reserved.  
AD1954  
TABLE OF CONTENTS  
FEATURES/APPLICATIONS .
 
. . . . . . . . . . . . . . . . . . . . . . .1  
GENERAL DESCRIPTION
 
. . . . . . . . . . . . . . . . . . . . . . . . . .1  
FUNCTIONAL BLOCK DIAGRAM
 
. . . . . . . . . . . . . . . . . . .1  
SPECIFICATIONS .
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3  
ABSOLUTE MAXIMUM RATINGS
 
. . . . . . . . . . . . . . . . . . .6  
ORDERING GUIDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6  
PIN CONFIGURATIONS
 
. . . . . . . . . . . . . . . . . . . . . . . . . . .6  
PIN FUNCTION DESCRIPTIONS
 
. . . . . . . . . . . . . . . . . . . .7  
TYPICAL PERFORMANCE CHARACTERISTICS
 
. . . . . . .8  
GENERAL DESCRIPTION (continued from page 1) 
. . . . . . .9  
FEATURES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9  
PIN FUNCTIONS
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .10  
SIGNAL PROCESSING
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . .12  
Signal Processing Overview . . . . . . . . . . . . . . . . . . . . . . . . .12  
Numeric Formats
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12  
Coefficient Format
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12  
Internal DSP Signal Data Format 
. . . . . . . . . . . . . . . . . . . .12  
High-Pass Filter 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13  
Biquad Filters 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13  
V
o
lume .
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14  
Stereo Image Expander . . . . . . . . . . . . . . . . . . . . . . . . . . . .14  
Delay .
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15  
Main Compressor/Limiter . . . . . . . . . . . . . . . . . . . . . . . . . .15  
RM
S
T
ime Constant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17  
RMS Hol
d
T
ime
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17  
RMS Release Rate
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17  
Look-Ahead Delay 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17  
Postcompression Gain . . . . . . . . . . . . . . . . . . . . . . . . . . . . .17  
Subwoofer Compressor/Limiter . . . . . . . . . . . . . . . . . . . . . .17  
De-emphasis Filtering 
. . . . . . . . . . . . . . . . . . . . . . . . . . . .18  
Using the Sub Reinjection Paths for Systems with  
Interpolation Filters 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18  
SPI PORT
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19  
Overview .
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19  
SPI Address Decoding 
. . . . . . . . . . . . . . . . . . . . . . . . . . . .20  
Control Register 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20  
Control Register 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21  
Vo
lume Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22  
Parameter RAM Contents . . . . . . . . . . . . . . . . . . . . . . . . . .22  
Options for Parameter Updates . . . . . . . . . . . . . . . . . . . . . .22  
Soft Shutdown Mechanism
 
. . . . . . . . . . . . . . . . . . . . . . . . .22  
Safeload Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24  
Summary of RAM Modes . . . . . . . . . . . . . . . . . . . . . . . . . .24  
SPI READ/WRITE DATA FORMATS
 
. . . . . . . . . . . . . . .24  
INITIALIZATION .
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26  
Power-Up Sequence 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26  
Setting the Clock Mode 
. . . . . . . . . . . . . . . . . . . . . . . . . . .26  
Setting the Data and MCLK Input Selectors . . . . . . . . . . . .26  
DATA CAPTURE REGISTERS
 
. . . . . . . . . . . . . . . . . . . . . .26  
SERIAL DATA INPUT PORT
 
. . . . . . . . . . . . . . . . . . . . . . .29  
Serial Data Input Modes 
. . . . . . . . . . . . . . . . . . . . . . . . . .29  
DIGITAL CONTROL PINS
 
. . . . . . . . . . . . . . . . . . . . . . . . .29  
Mute .
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29  
De-emphasis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29  
ANALOG OUTPUT SECTION
 
. . . . . . . . . . . . . . . . . . . . . .30  
GRAPHICAL CUSTOM PROGRAMMIN
G
T
OOLS . . . . . .31  
APPENDIX .
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32  
Cookbook Formulae for Audio EQ Biquad Coefficients 
. . .32  
OUTLINE DIMENSIONS
 
. . . . . . . . . . . . . . . . . . . . . . . . . .33  
Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34  
No Subwoofer
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18  
–2–  
REV. A  
AD1954–SPECIFICATIONS  
Test conditions, unless otherwise noted.  
SupplyVoltages (AVDD, DVDD  
AmbientTemperature  
Input Clock  
)
5.
0
V  
25°C  
12.288 MHz  
1.000 kHz 0 dB Full Scale  
48 kHz  
20 Hz to 20 kHz  
24 Bits  
Input Signal  
Input Sample Rate  
Measurement Bandwidth  
W
o
r
d
W
idth  
Load Capacitance  
Load Impedance  
InputVoltage High  
InputVoltage Low  
2200 pF  
2.74 k
  
2.
1
V  
0.
8
V  
ANALOG PERFORMANCE
*  
Parameter  
Min  
Typ  
Max  
Unit  
RESOLUTION  
24  
Bits  
SIGNAL-TO-NOISE RATIO (20 Hz to 20 kHz) (Left/Right Output)  
No Filter (Stereo)  
With A-Weighted Filter  
109  
112  
dB  
dB  
DYNAMIC RANGE (20 Hz to 20 kHz, –60 dB Input) (Left/Right Output)  
No Filter  
With A-Weighted Filter  
TOTAL HARMONIC DISTORTION PLUS NOISE (Left/Right Output)  
V
O
= –0.5 dB  
109  
112  
dB  
dB  
108  
–93  
–100  
dB  
SIGNAL-TO-NOISE RATIO (20 Hz to 20 kHz) (Subwoofer Output)  
No Filter (Stereo)  
With A-Weighted Filter  
104  
107  
dB  
dB  
DYNAMIC RANGE (20 Hz to 20 kHz, –60 dB Input) (Subwoofer Output)  
No Filter  
With A-Weighted Filter  
TOTAL HARMONIC DISTORTION PLUS NOISE (Subwoofer Output)  
V
O
= –0.5 dB  
104  
107  
dB  
dB  
104  
–90  
–96  
dB  
ANALOG OUTPUTS  
Differential Output Range (± Full Scale) (Left/Right Output)  
Differential Output Range (± Full Scale) (Subwoofer Output)  
CMOUT  
2.74  
2.77  
2.50  
V p-p  
V p-p  
V
DC ACCURACY  
Gain Error (Left/Right Channel)  
Gain Error (Subwoofer Channel)  
Interchannel Gain Mismatch  
–5  
–8  
–0.250  
+5  
+8  
+0.250  
%
%
dB  
Gain Drift  
DC Offset  
150  
ppm/°C  
mV  
dB  
Degrees  
dB  
–30  
+30  
INTERCHANNEL CROSSTALK (EIAJ Method)  
INTERCHANNEL PHASE DEVIATION  
MUTE ATTENUATION  
–120  
±0.1  
–107  
DE-EMPHASIS GAIN ERROR  
±0.1  
dB  
*
Performance of right and left channels are identical (exclusive of the Interchannel Gain Mismatch and Interchannel Phase Deviation specifications).  
Specifications subject to change without notice.  
REV. A  
–3–  
AD1954  
SPECIFICATIONS
(continued)  
DIGITAL I/O  
Parameter  
Min  
Typ  
Max  
Unit  
InputVoltage High (VIH)  
InputVoltage High (VIH) – RESETB  
InputVoltage Low (VIL)  
Input Leakage (IIH @VIH = 2.1V)  
Input Leakage (IIL @VIL = 0.8V)  
High Level OutputVoltage (VOH), IOH
= 2 mA  
Low Level OutputVoltage (VOL), I
OL
= 2 mA  
Input Capacitance  
2.1  
2.25  
V
V
V
µA  
µA  
V
V
pF  
0.8  
10  
10  
DVDD – 0.5  
0.4  
20  
Specifications subject to change without notice.  
POWER  
Parameter  
Min  
Typ  
Max  
Unit  
SUPPLIES
*  
Voltage, Analog and Digital  
Analog Current  
Analog Current, Power-Down  
Digital Current  
Digital Current, SPI Power-Down  
Digital Current, Reset Power-Down  
4.5  
5
5.5  
48  
46  
75  
10  
61  
V
42  
40  
65  
6
mA  
mA  
mA  
mA  
mA  
53  
DISSIPATION  
Operation, Both Supplies  
Operation, Analog Supplies  
Operation, Digital Supplies  
SPI Power-Down, Both Supplies  
Reset Power-Down, Both Supplies  
510  
210  
325  
230  
465  
mW  
mW  
mW  
mW  
mW  
POWER SUPPLY REJECTION RATIO  
1 kHz 300 mV p-p Signal at Analog Supply Pins  
20 kHz 300 mV p-p Signal at Analog Supply Pins  
–80  
–80  
dB  
dB  
*
ODVDD current is dependent on load capacitance and clock rate.  
Specifications subject to change without notice.  
TEMPERATURE RANGE  
Parameter  
Min  
Typ  
Max  
Unit  
Specifications Guaranteed  
Functionality Guaranteed  
Storage  
25  
°C  
°C  
°C  
–40  
–55  
+105  
+125  
Specifications subject to change without notice.  
–4–  
REV. A  
AD1954  
DIGITAL TIMING  
Parameter  
Min  
Typ  
Max  
Unit  
t
DMDC MCLK Recommended Duty Cycle @ 12.288 MHz (256 fS Mode)  
t
DMDC MCLK Recommended Duty Cycle @ 24.576 MHz (512 fS Mode)  
t
DMD MCLK Delay (All Mode)  
t
DBH
BCLK Low Pulsewidth  
t
DBH BCLK High Pulsewidth  
t
DBD BCLK Delay (to BCLKO)  
t
DLS LRCLK Setup  
t
DLH
LRCLK Hold  
t
DLD LRCLK Delay (to LRCLKO)  
t
DDS SDATA Setup  
45  
40  
55  
60  
25  
%
%
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
10  
10  
25  
25  
25  
0
10  
0
10  
t
DDH
SDATA Hold  
t
DDD SDATA Delay (to SDATAO)  
t
CCL
CCLK Low Pulsewidth  
t
CCH CCLK High Pulsewidth  
t
CLS CLATCH Setup  
t
CLH
CLATCH Hold  
t
CLD CLATCH High Pulsewidth  
t
CDS CDATA Setup  
t
CDH
CDATA Hold  
t
COD COUT Delay  
t
COH
COUT Hold  
t
DCD DCSOUT Delay  
12  
12  
10  
10  
10  
0
10  
35  
35  
2
t
DCH
DCSOUT Hold  
t
PDRP
PD/RST Low Pulsewidth  
2
5
Specifications subject to change without notice.  
DIGITAL FILTER CHARACTERISTICS AT 44.1  
K
H
Z  
Parameter  
Min  
Typ  
Max  
Unit  
Pass-Band Ripple  
Stop-Band Attenuation  
Pass Band  
±0.01  
dB  
dB  
kHz  
70  
20  
0.5442
f
S  
24  
0.4535
f
S  
24.625/f
S  
Stop Band  
kHz  
sec  
Group Delay  
Specifications subject to change without notice.  
RE
V
. A  
–5–  
AD1954  
ABSOLUTE MAXIMUM RATINGS
*  
Package Characteristics (44-Lead MQFP)  
DVDD to DGND
 
. . . . . . . . . . . . . . . . . . . . . . .
 
–0.
3
V
t
o +
6
V  
ODVDD to DGND
 
. . . . . . . . . . . . . . . . . . . . . .
 
–0.
3
V
t
o +
6
V  
A
V
DD to AGND
 
. . . . . . . . . . . . . . . . . . . . . . . .
 
–0.
3
V
t
o +
6
V  
Digital Inputs 
. . . . . . . . . . . .
 
DGND – 0.
3
V
t
o DVDD + 0.
3
V  
Analog Inputs . . . . . . . . . . . . . AGND – 0.
3
V
t
o
A
V
DD + 0.
3
V  
AGND to DGND
 
. . . . . . . . . . . . . . . . . . . . .
 
–0.
3
V
t
o + 0.
3
V  
ReferenceVo
ltage .
 
. . . . . . . . . . . . . . . . . . . .
 
(AVDD + 0.3)/2V  
Maximum JunctionTemperature 
. . . . . . . . . . . . . . . . . .
 
125°C  
StorageTemperature Range 
. . . . . . . . . . . . . . –65°C to +150°C  
Soldering .
 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
 
300°C/10 sec  
Min
Typ  
Max  
Unit  
JA (Thermal Resistance—  
Junction to Ambient)  
JC (Thermal Resistance—  
Junction to Ambient)  
72  
°C/W  
°C/W  
19.5  
Package Characteristics (48-Lead LQFP)  
Min
Typ  
Max  
Unit  
JA (Thermal Resistance—  
Junction to Ambient)  
JC (Thermal Resistance—  
Junction to Ambient)  
*
Stresses above those listed underAbsolute Maximum Ratings may cause permanent  
damage to the device.This is a stress rating only; functional operation of the device  
at these or any other conditions above those indicated in the operational section of  
this specification is not implied. Exposure to absolute maximum rating conditions  
for extended periods may affect device reliability.  
76  
17  
°C/W  
°C/W  
ORDERING GUIDE  
Model  
Temperature Range  
Package Description  
Package Option  
AD1954YS  
AD1954YSRL  
AD1954YST  
AD1954YSTRL  
AD1954YSTRL7  
EVAL-AD1954EB  
–40°C to +105°C  
–40°C to +105°C  
–40°C to +105°C  
–40°C to +105°C  
–40°C to +105°C  
44-Lead MQFP  
44-Lead MQFP  
48-Lead LQFP  
48-Lead LQFP  
48-Lead LQFP  
Evaluation Board  
S-44  
S-44 on 13" Reel  
ST-48  
ST-48 on 13" Reel  
ST-48 on 7" Reel  
CAUTION  
ESD (electrostatic discharge) sensitive device. Electrostatic charges as high as 4000V readily accumulate on  
the human body and test equipment and can discharge without detection. Although the AD1954 features  
proprietary ESD protection circuitry, permanent damage may occur on devices subjected to high energy  
electrostatic discharges. Therefore, proper ESD precautions are recommended to avoid performance  
degradation or loss of functionality.  
PIN CONFIGURATIONS  
44-LEAD MQFP  
48-LEAD LQFP  
F
C
42  
48 47 46 45 44 43 42 41 40 39 38 37  
44 43  
PIN 1  
41 40 39 38 37 36 35 34  
1
2
NC  
MCLK2  
36  
35  
34  
33  
32  
31  
30  
29  
28  
27  
26  
25  
NC  
1
2
33  
32  
31  
30  
29  
28  
27  
26  
25  
24  
23  
MCLK2  
MCLK1  
AGND  
PIN 1  
IDENTIFIER  
AGND  
IDENTIFIER  
VOUTL–  
VOUTL+  
AVDD  
3
MCLK1  
VOUTL–  
VOUTL+  
AVDD  
3
MCLK0  
4
MCLK0  
5
DEEMP/SDATA_AUX  
MUTE  
4
DEEMP/SDATA_AUX  
MUTE  
AD1954  
6
AGND  
5
AGND  
TOP VIEW  
AD1954  
7
DVDD  
AVDD  
(Not to Scale)  
6
DVDD  
TOP VIEW  
AVDD  
8
SDATA2  
VOUTR+  
VOUTR–  
AGND  
(Not to Scale)  
7
SDATA2  
VOUTR+  
VOUTR–  
AGND  
9
BCLK2  
10  
11  
12  
LRCLK2  
8
BCLK2  
LRCLK2  
SDATA1  
BCLK1  
SDATA1  
VOUTS+  
VOUTS–  
9
BCLK1  
10  
11  
VOUTS+  
VOUTS–  
13 14 15 16 17 18 19 20 21 22 23 24  
13  
20  
12  
14 15 16 17 18 19  
21 22  
NC = NO CONNECT  
–6–  
REV. A  
PIN FUNCTION DESCRIPTIONS  
Input/  
(44-MQFP) (48-LQFP) Mnemonic Output Description
*  
Pin No.  
Pin No.  
1
2
3
4
5
NC  
No Connect  
1
2
3
4
MCLK2  
MCLK1  
MCLK0  
DEEMP/  
SDATA_AUX  
IN  
IN  
IN  
IN  
Master Clock Input 2 256 fS
/512 f
S  
Master Clock Input 1 256 fS
/512 f
S  
Master Clock Input 0 256 fS
/512 f
S  
Enables 44.1 kHz De-emphasis Filter (Others Available through SPI Control)  
Auxiliary Serial Data Input  
5
6
7
8
9
6
7
8
MUTE  
DVDD  
IN  
Mute Signal. Initiates volume ramp-down.  
Digital Supply for DSP Core, 4.5V to 5.5V  
Serial Data Input 2  
Bit Clock 2  
Left/Right Clock 2  
Serial Data Input 1  
Bit Clock 1  
Digital Ground  
Left/Right Clock 1  
Serial Data Input 0  
Bit Clock 0  
Left/Right Clock 0  
SPI Data Input  
SDATA2  
BCLK2  
LRCLK2  
SDATA1  
BCLK1  
DGND  
LRCLK1  
SDATA0  
BCLK0  
LRCLK0  
CDATA  
CCLK  
CLATCH  
RESETB  
A
V
DD  
AGND  
NC  
VOUTS–  
VOUTS+  
AGND  
VOUTR–  
VOUTR+  
A
V
DD  
AGND  
A
V
DD  
VOUTL+  
VOUTL–  
AGND  
NC  
IN  
IN  
IN  
IN  
IN  
9
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
IN  
IN  
IN  
IN  
IN  
IN  
IN  
IN  
SPI Data Bit Clock  
SPI Data Framing Signal  
Reset Signal, Active Low  
Analog 5V Supply  
Analog GND  
No Connect  
Negative Sub Analog DAC Output  
Positive Sub Analog DAC Output  
Analog GND  
Negative Left Analog DAC Output  
Positive Left Analog DAC Output  
Analog 5V Supply  
Analog GND  
Analog 5V Supply  
Positive Left Analog DAC Output  
Negative Left Analog DAC Output  
Analog GND  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
OUT  
OUT  
OUT  
OUT  
OUT  
OUT  
No Connect  
No Connect  
NC  
VREF  
FILTCAP  
ZEROFLAG OUT  
SDATAOUT OUT  
BCLKOUT OUT  
LRCLKOUT OUT  
ODVDD  
34  
35  
36  
37  
38  
39  
40  
41  
IN  
IN  
Connection for Filtered
A
V
DD/2  
Connection for Noise Reduction Capacitor  
Zero Flag Output. High when both left and right channels are 0 for 1024 frames.  
Serial Data Mux Output  
Bit Clock Mux Output  
Left/Right Clock Mux Output  
Digital Supply Pin for Output Drivers, 2.5V to 5.5V  
DCSOUT  
OUT  
Data Capture Serial Output for Data Capture Registers. Use in conjunction with  
selected LRCLK and BCLK to form a 3-wire output.  
42  
43  
44  
46  
47  
48  
COUT  
MCLKOUT OUT  
DGND  
OUT  
SPI Data Output.Three-stated when inactive.  
Master Clock Output 512 fS/256 fS (Frequency Selected by SPI Register)  
Digital Ground  
*
For a complete description of the pins, refer to the Pin Functions section.  
REV. A  
–7–  
AD1954–Typical Performance Characteristics  
0
–2  
PERFORMANCE PLOTS  
The following plots demonstrate the performance achieved on the  
actual silicon.TPC 1 shows an FFT of a full-scale 1 kHz signal,  
with aTHD+N of –100 dB, which is dominated by a second  
harmonic.TPC 2 shows an FFT of a –60 dB sine wave, demon-  
strating the lack of low-level artifacts.TPC 3 shows a frequency  
response plot with the seven equalization biquads set to an alter-  
nating pattern of 6 dB boosts and cuts.TPC 4 shows a linearity  
plot, where the measurement was taken with the same equalization  
curve used to makeTPC 3.When the biquad filters are not in use,  
the signal passes through the filters with no quantization effects.  
TPC 4 therefore demonstrates that using double-precision math  
in the biquad filters has virtually eliminated any quantization  
artifacts.TPC 5 shows a tone-burst applied to the compressor,  
with the attack and recovery characteristics plainly visible.The  
rms detector was programmed for normal rms time constants;  
the hold/decay feature was not used for this plot.  
–4  
–6  
–8  
–10  
–12  
–14  
–16  
–18  
–20  
20  
50  
100  
200  
500  
1k  
2k  
5k  
10k  
Hz  
TPC 3. Frequency Response of EQ Biquad Filters  
0
–20  
3.0  
2.5  
2.0  
1.5  
–40  
1.0  
–60  
0.5  
–80  
0
–0.5  
–1.0  
–1.5  
–2.0  
–2.5  
–3.0  
–100  
–120  
–140  
–160  
0
2
4
6
8
10  
12  
14  
16  
18  
20  
–120  
–100  
–80  
–60  
–40  
–20  
0
kHz  
dBFS  
TPC 1. FFT of Full-Scale Sine Wave (32k Points)  
TPC 4. Linearity Plot  
0
–20  
2.0  
1.5  
1.0  
0.5  
0
–40  
–60  
–80  
–100  
–120  
–140  
–160  
–0.5  
–1.0  
–1.5  
–2.0  
0
2
4
6
8
10  
12  
14  
16  
18  
20  
–120  
–100  
–80  
–60  
–20  
0
kHz  
ms  
TPC 5. Tone-Burst Response with Compressor  
Threshold Set to –20 dB  
TPC 2. FFT of –60 dB Sine Wave (32k Points)  
–8–  
REV. A  
GENERAL DESCRIPTION
(continued from page 1)  
An extensive SPI port allows click-free parameter updates, along  
with read-back capability from any point in the algorithm flow.  
The AD1954 contains a program RAM that boots from an internal  
program ROM on power-up. Signal processing parameters are  
stored in a 256-location parameter RAM, which is initialized on  
power-up by an internal boot ROM. New values are written to  
the parameter RAM using the SPI port.The values stored in the  
parameter RAM control the IIR equalization filters, the dual-  
band compressor/limiter, the delay values, and the settings of the  
stereo spreading algorithm.  
The AD1954 includes ADI’s patented multibit
-
DAC architec-  
ture.This architecture provides 112 dB SNR and dynamic range  
andTHD+N of –100 dB.These specifications allow the AD1954  
to be used in applications ranging from low-end boom boxes to  
high-end professional mixing/editing systems.  
The AD1954 has a very sophisticated SPI port that supports  
complete read/write capability of both the program and the para-  
meter RAM.Two control registers are also provided to control  
the chip serial modes and various other optional features. Hand-  
shaking is also included for ease of memory uploads/downloads.  
The AD1954 also has a digital output that allows it to be used  
purely as a DSP.This digital output can also be used to drive an  
external DAC to extend the number of channels beyond the three  
that are provided on the chip.  
This chip can be used with either its default signal processing  
program or with a custom user-designed program. Graphical pro-  
gramming tools are available from ADI for custom programming.  
The AD1954 contains four independent data capture circuits,  
which can be programmed to tap the signal flow of the processor  
at any point in the DSP algorithm flow.These captured signals  
can be accessed either through a separate serial out pin (i.e., that  
can be connected to an external DAC or DSP) or by reading from  
the data capture SPI registers.This allows the basic functionality  
of the AD1954 to be easily extended.  
FEATURES  
The AD1954 is comprised of a 26-bit DSP (48 bits with double  
precision) for interpolation and audio processing, three multibit  
-
modulators, and analog output drive circuitry. Other features  
include an on-chip parameter RAM that uses a safe-upload feature  
for transparent and simultaneous updates of filter coefficients and  
digital de-emphasis filters. Also, on-chip input selectors allow up  
to three sources of serial data and master clock to be selected.  
The 3-channel configuration is especially useful for 2.1 playback  
systems that include two satellite speakers and a subwoofer.  
The default program allows for independent equalization and  
compression/limiting for the satellite and subwoofer outputs.  
Figure 1 shows the block diagram of the device.  
The processor core in the AD1954 has been designed from the  
ground up for straightforward coding of sophisticated compres-  
sion/limiting algorithms.The AD1954 contains two independent  
compressor/limiters with rms based amplitude detection and  
attack/hold/release controls, together with an arbitrary compression  
curve that is loaded by the user into a look-up table that resides  
in the parameter RAM.The compressor also features look-ahead  
compression that prevents compressor overshoots.  
VREF  
ZEROFLAG  
RESETB  
MUTE DE-EMPHASIS  
DVDD  
AVDD  
3
ODVDD  
VOLTAGE  
3
DATA MEMORY, 512 26  
REFERENCE  
3
DAC – L  
DAC – R  
3:1  
SERIAL DATA I/O  
GROUP  
3
3
AUDIO  
SERIAL  
IN  
ANALOG  
OUTPUTS  
26 22  
DSP CORE  
DATA  
MUX  
1
1
2
DAC – SW  
AUX SERIAL  
DATA INPUT  
DATA FORMAT:  
3.23 (SINGLE PRECISION)  
ANALOG  
BIAS GROUP  
BIAS  
3.45 (DOUBLE PRECISION)  
MCLK  
GENERATOR  
(256 fS/512 fS IN)  
256 fS/512 fS OUT  
MASTER  
CLOCK I/O  
GROUP  
3:1  
1
MCLK  
1
MUX  
CONTROL  
COEFFICIENT  
ROM  
64 22  
PROGRAM  
RAM  
512 35  
PARAMETER  
RAM  
256 22  
REGISTERS  
SPI I/O  
GROUP  
TRAP REG.  
SPI PORT  
FILTCAP  
3
2
(I S, SPI)  
SAFELOAD  
REGISTERS  
DCSOUT  
MEMORY CONTROLLERS  
DCSOUTTRAP  
AGND  
3
DGND  
2
NOTES  
1
CONTROLLEDTHROUGH SPI CONTROL REGISTERS.  
2
DAC DOES NOT USE DIGITAL INTERPOLATION.  
Figure 1. Block Diagram  
–9–  
REV. A  
AD1954  
MCLKOUT
—Master Clock Output  
The AD1954 has a very flexible serial data input port, which  
allows for glueless interconnection to a variety of ADCs, DSP  
chips, AES/EBU receivers, and sample rate converters. The  
AD1954 can be configured in left-justified, I2S, right-justified, or  
DSP serial port compatible modes. It can support 16 bits, 20 bits,  
and 24 bits in all modes. The AD1954 accepts serial audio data  
in MSB first, twos complement format. The part can also be set  
up in a 4-channel serial input mode by simultaneously using the  
serial input mux and the auxiliary serial input.  
The master clock output pin may be programmed to produce  
either 256
f
S, 512
f
S, or a copy of the selected MCLK input  
pin.This pin is programmed by writing to Bits 1 and 0 of Control  
Register 2.The default is 00, which disables the MCLKO pin.  
CDATA
—Serial Data In for the SPI Control Port  
See SPI Port section for more information on SPI port timing.  
COUT
—Serial Data Output  
The AD1954 operates from a single 5V power supply. It is fabri-  
cated on a single monolithic integrated circuit and is housed in a  
44-lead MQFP or 48-lead LQFP package for operation over the  
temperature range –40°C to +105°C.  
This is used for reading back registers and memory locations. It  
is three-stated when an SPI read is not active. See SPI Port section  
for more information on SPI port timing.  
CCLK
—SPI Bit Rate Clock  
PIN FUNCTIONS  
This pin either may run continuously or be gated off in between  
SPI transactions. See SPI Port section for more information on  
SPI port timing.  
All input pins have a logic threshold compatible withTTL input  
levels and can therefore be used in systems with 3.3V logic. All  
digital output levels are controlled by the ODVDD pin, which  
may range from 2.7V to 5.5V, for compatibility with a wide  
range of external devices. (See Pin Function Descriptions table.)  
CLATCH
—SPI Latch Signal  
It must go low at the beginning of an SPI transaction and high at the  
end of a transaction. Each SPI transaction may take a different  
number of CCLKs to complete, depending on the address and  
read/write bit that are sent at the beginning of the SPI transaction.  
Detailed SPI timing information is given in SPI Port section.  
SDATA0, SDATA1, SDATA2—Serial Data Inputs  
One of these three inputs is selected by an internal mux, set by  
writing to Bits 7 and 6 in Control Register 2. Default is 00, which  
selects SDATA0.The serial format is selected by writing to Bits 3–0  
of Control Register 0. See SPI Read/Write Data Formats section  
for recommendations on how to change input sources without  
causing a click or pop noise.  
RESETB
—Active Low Reset Signal  
After RESETB goes high, the AD1954 goes through an initial-  
ization sequence where the program and parameter RAMs are  
initialized with the contents of the on-board boot ROMs. All  
SPI registers are set to 0, and the data RAMs are also zeroed.The  
initialization is complete after 1024 MCLK cycles. Since the  
MCLK IN FREQ SELECT (Bit 2 in Control Register 2) defaults  
to 512
f
S at power-up, this initialization will proceed at the  
external MCLK rate and will take 1024 MCLK cycles to com-  
plete, regardless of the absolute frequency of the external MCLK.  
New values should not be written to the SPI port until the initial-  
ization is complete.  
LRCLK0, LRCLK1, LRCLK2—Left/Right Clocks for Framing the  
Input Data  
The active LRCLK input is selected by writing to Bits 7 and 6  
in Control Register 2.The default is 00, which selects LRCLK0.  
The interpretation of the LRCLK changes according to the serial  
mode, set by writing to Control Register 0.  
BCLK0, BCLK1, BCLK2—Serial Bit Clocks for Clocking in the  
Serial Data  
The active BCLK input is selected by writing to Bits 7 and 6 in  
Control Register 2. Default is 00, which selects BCLK0.The  
interpretation of BCLK changes according to the serial mode,  
which is set by writing to Control Register 0.  
ZEROFLAG
—Zero-Input Indicator  
This pin will go high if both serial inputs have been inactive (zero  
data) for 1024 LRCLK cycles.This pin may be used to drive an  
external mute FET for reduced noise during digital silence.This  
pin also functions as a test out pin, controlled by the test register  
at SPI Address 511
.
W
hile mos
t
T
e
st Modes are not useful to the  
end user, one may be of some use. If theTest Register is pro-  
grammed with the number 7 (decimal), the ZEROFLAG output  
will be switched to the output of the internal pseudo-random noise  
generator.This noise generator operates at a bit rate of 128
f
S  
and has a repeat time of once per 224 cycles.This mode may be  
used to generate white noise (or, with appropriate filtering, pink  
noise) to be used as a test signal for measuring speakers or room  
acoustics.  
LRCLKOUT, BCLKOUT, SDATAOUT—Output of Mux that  
Selects One of theThree Serial Input Groups  
These pins may be used to send the selected serial input signals  
to other external devices.This output pin is enabled by writing a  
1 to Bit 8 of Control Register 2.The default mode is 0 or Off.  
MCLK0, MCLK1, MCLK2—Master Clock Inputs  
Active input selected by writing to Bits 5 and 4 of Control Regis-  
ter 2.The default is 00, which selects MCLK0.The master clock  
frequency must be either 256
f
S
or 512
f
S, where fS is the input  
sampling rate.The master clock frequency is programmed by  
writing to Bit 2 of Control Register 2.The default is 0 (512
f
S).  
See the Initialization section for recommendations concerning  
how to change clock sources without causing an audio click or pop.  
Note that since the default MCLK source pin is MCLK0, there  
must be a clock signal present on this pin on power-up so that  
the AD1954 can complete its initialization routine.  
–10–  
REV. A  
DCSOUT
—Data Capture Serial Out  
The full-scale swing scales directly withVREF.These outputs are  
capable of driving a load of >5 k, with a maximum peak current  
of 1 mA from each pin. An external third order filter is recom-  
mended for filtering out-of-band noise.  
This pin will output the DSP’s internal signals, which can be used  
by external DACs or other signal processing devices.The signals  
that are captured and output on the DCSOUT pin are controlled  
by writing program counter trap numbers to SPI Addresses 263  
(for the left output) and 264 (for the right output).When the inter-  
nal program counter contents are equal to the trap values written  
to the SPI port, the selected DSP register is transferred to the  
DCSOUT parallel-to-serial registers and shifted out on the  
DCSOUT pin.Table XX shows the program counter trap values  
and register-select values that should be used to tap various inter-  
nal points of the algorithm flow.  
VOUTR+,VOUTR2 —Right Channel Differential Outputs  
See characteristics for
left channel VOUTL+,VOUTL–.  
VOUTS+,VOUTS2 —Subchannel Differential Outputs  
These outputs are designed to drive loads of 10 kor greater,  
with a peak current capability of 250 µA.This output does not  
use digital interpolation, since it is intended for low frequency  
applications. An external third order filter with a cutoff frequency  
<2 kHz is recommended.  
The DCSOUT pin is meant to be used in conjunction with the  
LRCLK and BCLK signals that are provided to the serial input  
port.The format of DCSOUT is the same as the format used  
for the serial port. In other words, if the serial port is running in  
I
2S mode, then the DCSOUT pin, together with the LRCLK0  
and BCLK0 pins (assuming input 0 is selected), will form a valid  
3-wire I
2S output.  
VREF—Analog ReferenceVoltage Input  
The nominalVREF input voltage is 2.5V; the analog gain scales  
directly with the voltage on this pin.When using the AD1954 to  
drive a power amplifier, it is recommended that theVREF voltage  
be derived by dividing down and heavily filtering the supply to the  
power amplifier.This provides a benefit if the compressor/limiter  
in the AD1954 is used to prevent amplifier clipping. In this case, if  
the DAC output voltage is scaled to the amplifier power supply, a  
fixed compressor threshold can be used to protect an amplifier  
whose supply may vary over a wide range. Any ac signal on this  
pin will cause distortion, and therefore, a large decoupling capaci-  
tor may be necessary to ensure that the voltage onVREF is clean.  
The input impedance ofVREF is greater than 1 M
.  
The DCSOUT pin can be used for a variety of purposes. If the  
DCSOUT pin is used to drive another external DAC, then a  
4.1 system is possible using a new program downloaded into the  
program RAM.  
DEEMP/SDATA_AUX—De-emphasis Input Pin/Auxiliary Serial  
Data Input  
In de-emphasis mode, if this pin is asserted high, then a digital  
de-emphasis filter will be inserted into the signal flow.The  
de-emphasis curve is valid only for a sample rate of 44.1 kHz;  
curves for 32 kHz and 48 kHz may be programmed using the  
SPI port.This pin can also be used as an auxiliary 2-channel serial  
data input.This function is set by writing a 1 to Bit 11 of Control  
Register 1.The same clocks are used for this serial input as are  
used for the SDATA0, SDATA1, and SDATA2 signals.This serial  
input can only be used in the signal processing flow when using  
Analog Devices’ custom programming tools; see the Graphical  
Custom ProgrammingTools section.The use of de-emphasis is  
still available while this pin is used as a serial input but only  
through SPI control.  
FILTCAP—Filter Capacitor Point  
This pin is used to reduce the noise on an internal biasing point  
in order to provide the highest performance. It may not be neces-  
sary to connect this pin, depending on the quality of the layout  
and the grounding used in the application circuit.  
DVDD—DigitalVDD for Core  
5V
n
ominal.  
ODVDD—DigitalVDD for All Digital Outputs  
Variable from 2.
7
V
t
o 5.
5
V
.  
MUTE
—Mute Output Signal  
DGND (2)—Digital Ground  
When this pin is asserted high, a ramp sequence is started, which  
gradually reduces the volume to zero.When de-asserted, the volume  
ramps from zero back to the original volume setting.The ramp  
speed is timed so that it takes 10 ms to reach 0 volume when starting  
from the default 0 dB volume setting.  
AVDD (3)—AnalogVDD  
5V nominal. For best results, use a separate regulator for AVDD.  
Bypass capacitors should be placed close to the pins and connected  
directly to the analog ground plane.  
VOUTL+,VOUTL2—Left Channel Differential Analog Outputs  
Full-scale outputs correspond to 1Vrms on each output pin or  
2V rms differential, assuming aVREF input voltage of 2.5V.  
AGND (3)—Analog Ground  
For best performance, separate nonoverlapping analog and digital  
ground planes should be used.  
REV. A  
11
–  
AD1954  
L/R DYNAMICS PROCESSOR  
EQ AND CROSSOVER FILTERS  
8  
DELAY  
(0ms–2.3ms)  
OUT  
DAC  
DAC  
INTERPOLATION  
LEFT  
DELAY  
(0ms–3.7ms)  
CROSSOVER  
7 BIQUAD  
(2 FILTERS)  
FILTERS  
HPF/  
DEEMPH  
IN  
LEFT  
LEVEL DETECT,  
LOOK-UP TABLE  
DELAY  
(0ms–3.7ms)  
HPF/  
DEEMPH  
CROSSOVER  
(2 FILTERS)  
7 BIQUAD  
FILTERS  
IN  
RIGHT  
8  
DELAY  
(0ms–2.3ms)  
OUT  
RIGHT  
INTERPOLATION  
L/R REINJECTION  
LEVEL  
LEVEL DETECT,  
LOOK-UP TABLE  
1 BIQUAD  
FILTER  
SUB CHANNEL  
L/R MIX  
DELAY  
(0ms–3.7ms)  
SUBWOOFER  
OUTPUT  
CROSSOVER  
(3 FILTERS)  
MONO DAC  
SUB DYNAMICS PROCESSOR  
Figure 2. Signal Processing Flow  
SIGNAL PROCESSING  
Signal Processing Overview  
The AD1954 uses two different numeric formats: one for the  
coefficient values (stored in the parameter RAM) and one for the  
signal data values.The coefficient format is as follows:  
Figure 2 shows the signal processing flow diagram of the AD1954.  
The AD1954 is designed to provide all the signal processing  
functions commonly used in 2.0 or 2.1 playback systems. A seven-  
biquad equalizer operates on the stereo input signal.The output of  
this equalizer is fed to a two-biquad crossover filter for the main  
channels, and the mono sum of the left and right equalizer outputs  
is fed to a three-biquad crossover filter for the subchannel. Each  
of the three channels has independent delay compensation.There  
are two high quality compressor/limiters available: one operating  
on the left/right outputs and one operating on the subwoofer chan-  
nel.The subwoofer output may be blended back into the left/right  
outputs for 2.0 playback systems. In this configuration, the two  
independent compressor/limiters provide two-band compression,  
which significantly improves the sound quality of compressed  
audio. In addition, the main channels have a stereo widening  
algorithm that increases the perceived spread of the stereo image.  
Coefficient Format  
Coefficient Format: 2.20  
Range: –2.0 to +(2.0 – 1 LSB)  
Examples:  
1000000000000000000000 = –2.0  
1100000000000000000000 = –1.0  
1111111111111111111111 = (1 LSB below 0.0)  
0000000000000000000000 = 0.0  
0100000000000000000000 = 1.0  
0111111111111111111111 = (2.0 – 1 LSB)  
This format is used because standard biquad filters require  
coefficients that range between +2.0 and –2.0. It also allows gain  
to be inserted at various places in the signal path.  
Internal DSP Signal Data Format  
Input Data Format: 1.23  
This is sign extended when written to the data memory of the  
AD1954.  
Internal DSP Signal Data Format: 3.23  
Range: –4.0 to +(4.0 – 1 LSB)  
Examples:  
Most of the signal processing functions are coded using full 48-bit  
double-precision arithmetic.The input word length is 24 bits, with  
two extra headroom bits added in the processor to allow internal  
gains up to 12 dB without clipping (additional gains can be  
accommodated by scaling down the input signal in the first biquad  
filter section).  
10000000000000000000000000 = –4.0  
11000000000000000000000000 = –2.0  
11100000000000000000000000 = –1.0  
11111111111111111111111111 = (1 LSB below 0.0)  
00000000000000000000000000 = 0.0  
00100000000000000000000000 = 1.0  
01000000000000000000000000 = 2.0  
01111111111111111111111111 = (4.0 – 1 LSB).  
A graphical user interface (GUI) is available for evaluation of  
the AD1954 (Figure 3).This GUI controls all of the functions of  
the chip in a very straightforward and user friendly interface. No  
code needs to be written to use the GUI to control the chip. For  
more information on AD1954 software tools, send an e-mail to  
SigmaDSP@analog.com.  
Each section of this flow diagram will be explained in detail on  
the following pages.  
The sign extension between the serial port and the DSP core  
allows for up to 12 dB of gain in the signal path without internal  
clipping. Gains greater than 12 dB can be accommodated by  
scaling the input down in the first biquad filter and scaling the  
signal back up at the end of the biquad filter section.  
Numeric Formats  
It is common in DSP systems to use a standardized method of  
specifying numeric formats.To better comprehend issues relating to  
precision and overflow, it is helpful to think in terms of fractional  
twos complement number systems. Fractional number systems  
are specified by an A.B format, where A is the number of bits to  
the left of the decimal point, and B is the number of bits to the  
right of the decimal point. In a twos complement system, there is  
also an implied offset of one-half of the binary range; for example,  
in a twos complement 1.23 system, the legal signal range is  
–1.0 to +(1.0 – 1 LSB).  
A digital clipper circuit is used between the output of the DSP  
core and the input to the DAC
-
modulators to prevent over-  
loading the DAC circuitry (see Figure 4). Note that there is a gain  
factor of 0.75 used in the DAC interpolation filters, and therefore  
signal values of up to 1/0.75 will pass through the DSP without  
clipping. Since the DAC is designed to produce an analog output  
of 2V rms (differential) with a 0 dB digital input, signals between  
–12–  
REV. A  
Figure 3. Graphical User Interface  
0.75  
2-BIT SIGN EXTENTION  
DIGITAL -  
DIGITAL  
CLIPPER  
SIGNAL PROCESSING  
(3.23 FORMAT)  
DAC INTERPOLATION  
FILTERS (3.23 FORMAT)  
MODULATORS  
DATA IN  
SERIAL PORT  
(1.23 FORMAT)  
1.23  
3.23  
Figure 4. Numeric Precision and Clipping Structure  
0 dB and 1/0.75 (approximately 3 dB) will produce larger analog  
outputs and result in slightly degraded analog performance.This  
extra analog range is necessary in order to pass 0 dBFS square  
waves through the system, since these square waves cause over-  
shoots in the interpolation filters, which would otherwise briefly  
clip the digital DAC circuitry.  
where
EXP
is the exponential operator, HPF_cutoff is the high-  
pass cutoff in Hz, and fS is the audio sampling rate.The default  
value for the –3 dB cutoff of the high-pass filter is 2.75 Hz at a  
sampling rate of 44.1 kHz.  
Biquad Filters  
Each of the two input channels has seven second order biquad  
sections in the signal path. In addition, the left and right channels  
have two additional biquad filters that may be used either as  
crossover filters or as additional equalization filters.The subchan-  
nel has three additional biquad filters that are also to be used  
as equalization and/or crossover filters. In a typical scenario, the  
first seven biquads would be used for speaker equalization and/or  
tone controls, and the remaining filters would be programmed to  
function as crossover filters. Note that there is a common equal-  
ization section used for both the main and sub channels, followed  
by the crossover filters.This arrangement prevents any interaction  
from occurring between the crossover filters and the equalization  
filters. One section of the biquad IIR filter is shown in Figure 5.  
A separate digital clipper circuit is used in the DSP core to ensure  
that any accumulator values that exceed the numeric 3.23 format  
range are clipped when taken from the accumulator.  
High-Pass Filter  
The high-pass filter is a first order double-precision design.The pur-  
pose of the high-pass filter is to remove digital dc from the input. If  
this dc were allowed to pass, the detectors used in the compressor/  
limiter would give an incorrect reading for low signal levels.The  
high-pass filter is controlled by a single parameter (alpha_HPF),  
which is programmed by writing to SPI location 180 in 2.20 twos  
complement format.The following equation can be used to calcu-  
late the parameter alpha_HPF from the –3 dB point of the filter:  
–2.0 × p × HPF_Cutoff  
Alpha_HPF = 1.0 – EXP  
fS  
REV. A  
–13–  
AD1954  
b0  
to fit the signal into the 12 dB maximum signal range and then  
scaled back up at the end of the filter chain.  
OUT  
IN  
Volume  
b1  
b2  
a1  
a2  
–1  
–1  
Three separate SPI registers are used to control the volume—one  
each for the left, right, and sub channels.These registers are  
special in that they include automatic digital ramp circuitry for  
clickless volume adjustment.The volume control word is in 2.20  
format and therefore gains from +2.0 to –2.0 are possible.The  
default value is 1.0. It takes 1024 audio frames to adjust the vol-  
ume from 2.0 down to 0; in the normal case where the maximum  
volume is set to 1.0, it will take 512 audio frames for this ramp to  
reach zero. Note that a mute command is the same as setting the  
volume to zero, except that when the part is unmuted, the vol-  
ume returns to its original value.  
Z
Z
–1  
–1  
Z
Z
Figure 5. Biquad Filter  
This section implements the transfer function:  
b0 + b1× Z–1 + b2 × Z–2  
1a1× Z–1 – a2 × Z–2  
(
)
H Z =  
( )  
(
)
These volume ramp times assume that the AD1954 is set for  
the fast volume ramp speed. If the slow setting is selected, it will  
take 8192 audio frames to reach zero from a setting of 2.0. Cor-  
respondingly, it will take 4096 frames to reach 0 volume from the  
normal setting of 1.0.  
The coefficients a1, a2, b0, b1, and b2 are all in twos comple-  
ment 2.20 format with a range from –2 to +2 (minus 1 LSB).  
The negative sign on the a1 and a2 coefficients is the result of  
adding both the feed-forward b terms as well as the feedback a  
terms. Some digital filter packages automatically produce the  
correct a1 and a2 coefficients for the topology of Figure 5, while  
others assume a denominator of the form 1 + a1 × Z–1 + a2  
× Z
–1. In this case, it may be necessary to invert the a1 and a2  
terms for proper operation.  
The volume blocks are placed after the biquad filter sections to  
maximize the level of the signal that is passed through the filter  
sections. In a typical situation, the nominal volume setting might  
be –15 dB, allowing a substantial increase in volume when the user  
increases the volume.The AD1954 was designed with an analog  
dynamic range of >112 dB, so that in the typical situation with  
the volume set to –15 dB, the signal-to-noise ratio at the output  
will still exceed 97 dB. Greater output dynamic ranges are pos-  
sible if the compressor/limiter is used, since the post-compression  
gain parameter can boost the signal back up to a higher level. In  
this case, the compressor will prevent the output from clipping  
when the volume is turned up and the input signal is large.  
The biquad structure shown in Figure 5 is coded using double-  
precision math to avoid limit cycles from occurring when low  
frequency filters are used.The coefficients are programmed  
by writing to the appropriate location in the parameter RAM,  
through the SPI port (seeTableVI).There are two possible sce-  
narios for controlling the biquad filters:  
1. Dynamic Adjustment (e.g., Bass/Treble Control or Parametric  
Equalizer).  
Stereo Image Expander  
The image enhancement processing is based on ADI’s patented  
Phat Stereo algorithm.The block diagram is shown in Figure 6.  
When using dynamic filter adjustment, it is highly recom-  
mended that the user employ the safeload mechanism to avoid  
temporary instability when the filters are dynamically updated.  
This could occur if some, but not all, of the coefficients were  
updated to new values when the DSP calculates the filter  
output.The operation of the safeload registers is detailed in  
the Options for Parameter Updates section.  
LEFT OUT  
LEFT IN  
+
+
1kHz  
FIRST ORDER LPF  
2. Setting Static EQ Curve after Power-Up.  
LEVEL  
If many of the biquad filters need to be initialized after power-  
up (e.g., to implement a static speaker correction curve), the  
recommended procedure is to set the processor shutdown bit,  
wait for the volume to ramp down (about 20 ms), and then  
write directly to the parameter RAM in burst mode. After the  
RAM is loaded, the shutdown bit can be de-asserted, causing  
the volume to ramp back up to the initial value.This entire proce-  
dure is click-free and faster than using the safeload mechanism.  
RIGHT OUT  
RIGHT IN  
Figure 6. Stereo Image Expander  
The algorithm works by increasing the phase shift for low frequency  
signals that are panned left or right in the stereo mix. Since the ear  
is responsive to interaural phase shifts below 1 kHz, this increase in  
phase shifts results in a widening of the stereo image. Note that  
signals panned to the center are not processed, resulting in a more  
natural sound.There are two parameters that control the Phat  
Stereo algorithm: the level variable, which controls how much out-  
of-phase information is added to the left and right channels, and  
the cutoff frequency of the first order low-pass filter, which deter-  
mines the frequency range of the added out-of-phase signals. For  
best results, the cutoff frequency should be in the range of 500 Hz  
to 2 kHz.These parameters are controlled by altering the param-  
eter RAM locations that store the parameters spread_level and  
alpha_spread.The spread_level is a linear number in 2.20 format  
that multiplies the processed left-right signal before it is added to or  
subtracted from the main channels.The parameter alpha_spread  
The data paths of the AD1954 contain an extra two bits on top of  
the 24 bits that are input to the serial port.This allows up to 12 dB  
of boost without clipping. However, it is important to remember  
that it is possible to design a filter that has less than 12 dB of gain  
at the final filter output, but more than 12 dB of gain at the output  
of one or more intermediate biquad filter sections. For this reason,  
it is important to cascade the filter sections in the correct order,  
putting the sections with the largest peak gains at the end of the  
chain rather than at the beginning.This is standard practice when  
coding IIR filters and is covered in basic books on DSP coding.  
If gains larger than 12 dB cannot be avoided, then the coefficients  
b0 through b2 of the first biquad section may be scaled down  
–14–  
REV. A  
is related to the cutoff frequency of the first order low-pass filter  
by the equation:  
A single hard threshold results in more audible behavior than a  
so-called soft-knee compressor, where the compression is in-  
troduced more gradually. In an analog compressor, the soft-knee  
characteristic is usually made by using diodes in their exponential  
turn-on region.  
–2.0 × p × Spread_Freq  
Alpha_Spread = 1.0 – EXP  
fS  
where
EXP
is the exponential operator, Spread_Freq is the low-pass  
cutoff in Hz, and fS is the audio sampling rate.  
OUT  
VCA WITH EXP  
CONTROL  
THRESHOLD  
SLOPE  
Note that the stereo spreading algorithm assumes that frequencies  
below 1 kHz are present in the main satellite speakers. In some  
systems, the crossover frequency between the satellite and sub-  
woofer speakers is quite high (>500 Hz). In such a case, the stereo  
spreading algorithm will not be effective, since the frequencies  
that contribute to the spreading effect will come mostly from the  
subwoofer, which is a mono source.  
COMPRESSION  
CURVE  
NONLINEAR  
CIRCUITS  
RMS DETECTOR  
WITH DB OUT  
FILTER  
Figure 7. Analog Compressor  
Delay  
The best analog compressors use rms detection as the signal  
amplitude detector.The only class of detectors that is not sensi-  
tive to the phase of the harmonics in a complex signal are rms  
detectors.The ear also bases its loudness judgment on the overall  
signal power and therefore using an rms detector results in the  
best audible performance. Compressors that are based on peak  
detection, while good for preventing clipping, are generally quite  
poor for audible performance.  
Each of the three DAC channels has a delay block that allows the  
user to introduce a delay of up to 165 audio samples.The delay  
values are programmed by entering the delay (in samples) into  
the appropriate location of the parameter RAM.With a 44.1 kHz  
sample rate, a delay of 165 samples corresponds to a time delay  
of 3.74 ms. Since sound travels at approximately 1 foot/ms, this  
can be used to compensate for speaker placements that are off by  
as much as 3.74 feet.  
RMS detectors have a certain time constant that determines how  
rapidly they can respond to transient signals.There is always a  
trade-off between speed of response and distortion. Figure 8  
shows this trade-off.  
An additional 100 samples of delay are used in the look-ahead  
portion of the compressor/limiter but only for the main two chan-  
nels.This can be used to increase the total delay for the left and  
right channels to 265 samples or 6 ms at 44.1 kHz.  
INPUTWAVEFORM  
Main Compressor/Limiter  
The compressor used in the AD1954 is quite sophisticated and is  
comparable in many ways to the professional compressor/limiters  
used in the professional audio and broadcast fields. It uses rms/  
peak detection with adjustable attack/hold/release, look-ahead  
compression, and table-based entry of the input/output curve for  
complete flexibility.  
The AD1954 uses two compressor/limiters: one in the subwoofer  
DAC and one in the main left/right DAC. It is well known that  
having independent compressors operating over different fre-  
quency ranges results in a superior perceived sound.With a  
single-band compressor, loud bass information will modulate the  
gain of the entire audio signal, resulting in suboptimal maximum  
perceived loudness as well as gain pumping or modulation effects.  
With independent compressors operating separately on the low  
and high frequencies, this problem is dramatically reduced. If the  
AD1954 is being operated in two-channel mode, an extra path is  
added so that the subwoofer channel can be added back into the  
main channel.This maintains the advantage of using a two-band  
compressor, even in a 2.0 system configuration.  
COMPRESSOR ENVELOPE—  
FASTTIME CONSTANT  
COMPRESSOR ENVELOPE—  
SLOWTIME CONSTANT  
In the case of a fast-responding rms detector, the detector envelope  
will have a signal component in addition to the desired dc com-  
ponent.This signal component (which, for an rms detector, is  
at twice the input frequency) will result in harmonic distortion  
when multiplied by this detector signal.  
Figure 7 shows the traditional basic analog compressor/limiter.  
It uses a voltage controlled amplifier to adjust gain and a feed-  
forward detector path using an rms detector with adjustable time  
constants, followed by a nonlinear circuit, to implement the  
desired input/output relationship. A simple compressor will have  
a single threshold above which the gain is reduced.The amount of  
compression above the threshold is called the compression ratio  
and is defined as dB change in input/dB change in output. For  
example, if the input to a 2:1 compressor is increased by 2 dB,  
the output will rise by 1 dB for signals above the threshold.  
The AD1954 uses a modified rms algorithm to improve the relation-  
ship between acquisition time and distortion. It uses a peak-riding  
circuit together with a hold circuit to modify the rms signal, as  
shown in Figure 9.This figure shows two envelopes. One has the  
harmonic distortion, as seen in the previous figure, and the other,  
flatter envelope is the one produced by the AD1954.  
REV. A  
–15–  
AD1954  
INPUTWAVEFORM  
DESIRED  
COMPRESSION  
CURVE  
RELEASETIME, SPI-  
PROGRAMMABLE  
HOLDTIME, SPI-  
PROGRAMMABLE  
INPUT LEVEL – 3dB/TABLE ENTRY  
Figure 9. Using the Hold and ReleaseTime Feature  
Using this idea of a modified rms algorithm, the true rms value  
is still obtained for all but the lowest frequency signals, while the  
distortion due to rms ripple is reduced. It also allows the user to  
set the hold and release times of the compressor independently.  
The detector path of the AD1954 is shown in Figure 10.The rms  
detector is controlled by three parameters stored in the parameter  
RAMs: the rms time constant, the hold time, and the release rate.  
The log output of the rms detector is applied to a look-up table  
with interpolation.The higher bits of the rms output form an  
offset into this table, and the lower bits are used to interpolate  
between the table entries to form a high-precision gain word.The  
look-up table resides in the parameter RAM and is loaded by  
the user to give the desired curve.The look-up table contains 33  
data locations, and the LSB of the address into the look-up table  
corresponds to a 3 dB change in the amplitude of the detector  
signal.This gives the user the ability to program an input/output  
curve over a 99 dB range. For the main compressor, the table  
resides in Locations 110 to 142 in the SPI parameter RAM.  
INPUT LEVEL – 3dB/TABLE ENTRY  
Figure 11. Example ofTable Entry for a Given  
Compression Curve  
Note that the maximum gain that can be entered in the table is  
2.0 (minus 1 LSB). If more gain is required, the entire compres-  
sion curve may be shifted upward by using the post-compression  
gain block following the compressor/limiter.  
The AD1954 compressor/limiter also includes a look-ahead com-  
pression feature.The idea behind look-ahead compression is to  
prevent compressor overshoots by applying some digital delay to  
the signal before the gain-control multiplier but not to the detec-  
tor path. In this way, the detector can acquire the new amplitude  
of the input signal before the signal actually reaches the multiplier.  
A comparison of a tone burst fed to a conventional compressor  
versus a look-ahead compressor is shown in Figure 12.  
HIGH BITS (1LSB = 3dB)  
MODIFIED RMS  
DETECTOR WITH  
LOG OUTPUT  
OUTPUT TO  
GAIN STAGE  
LOOK-UP TABLE  
LOW BITS  
LINEAR  
INTERPOLATION  
RELEASE  
HOLD  
TIME  
CONSTANT  
CONVENTIONAL COMPRESSOR GAIN  
Figure 10. Gain Derived from Interpolated Look-UpTable  
One subtlety of the look-up table involves the difference between  
the rms value of a sine wave and that of a square wave. If a full-  
scale square wave is applied to the AD1954, the rms value of this  
signal will be 3 dB higher than the rms value of a 0 dBFS sine  
wave.Therefore, the table ranges from +9 dB (Location 142) to  
–87 dB (Location 110).  
LOOK-AHEAD COMPRESSOR GAIN  
The entries in the table are linear gain words in 2.20 format.  
Figure 11 shows an example of the table entries for a simple  
above-threshold compressor.  
HOLDTIME  
Figure 12. Conventional Compression vs. Look-Ahead  
Compression  
–16–  
REV. A  
RMS Hol
d
T
ime  
In the look-ahead compressor, the gain has already been reduced  
by the time that the tone-burst signal arrives at the multiplier input.  
Note that when using a look-ahead compressor, it is important to  
set the detector hold time to a value that is at least the same as  
the look-ahead delay time or the compressor release will start too  
soon, resulting in an expanded tail of a tone-burst signal.The  
complete flow of the left/right dynamics processor is shown in  
Figure 13.  
rms_hold_time_parameter = int f × hold_time  
(
)
S
Where
rms_holdtime_parameter = the integer number to enter into  
the SPI RAM, fS = the audio sample rate, hold_time
= the abso-  
lute time to wait before starting the release ramp-down of the  
detector output, and
int
() = the integer part of the expression.  
RMS Release Rate  
rms_decay_parameter = int rms_decay /0.137  
(
)
DELAY  
POSTCOMPRESSION  
where
rms_decay_parameter = the decimal integer number to enter  
into the SPI RAM, rms_decay = the decay rate in dB/sec, and  
int
() = the integer part of the expression.  
SPI-PROGRAMMABLE  
LOOK-AHEAD DELAY  
GAIN, SPI-  
PROGRAMMABLE  
UP TO 30dB  
DELAY  
(L+R)  
2
Look-Ahead Delay  
lookahead_delay_parameter = lookahead_delay × fS  
HIGH BITS (1LSB = 3dB)  
MODIFIED RMS  
DETECTOR WITH  
LOG OUTPUT  
where
lookahead_delay = the predictive compressor delay in  
absolute time, fS = the audio sample rate, and the maximum  
lookahead_delay_parameter
value is 100.  
LOOK-UP  
TABLE  
LINEAR  
INTERPOLATION  
LOW BITS  
RELEASE  
HOLD  
TIME  
CONSTANT  
Postcompression Gain  
post_compression_gain_parameter =  
Figure 13. Complete Dynamics Flow, Main Channels  
post_compression_gain_linear1/5  
(
)
The detector path works from the sum of the left and right channels  
((L + R)/2).This is the normal way that compressors are built and  
counts on the fact that the main instruments in any stereo mix are  
seldom recorded deliberately out of phase, especially in the lower  
frequencies that tend to dominate the energy spectrum of real music.  
where
post_compression_gain_linear is the linear post-compression  
gain and ^ = the raise to the power.  
Subwoofer Compressor/Limiter  
The subwoofer compressor/limiter differs from the left/right  
compressor in the following ways:  
The compressor is followed by a block known as post-compression  
gain. Most compressors are used to reduce the dynamic range  
of music by lowering the gain during loud signal passages.This  
results in an overall loss of volume.This loss can be made up by  
introducing gain after the compressor. In the AD1954, the coef-  
ficient format used is 2.20, which has a maximum floating-point  
representation of slightly less than 2.0.This means that the maxi-  
mum gain that can be achieved in a single instruction is 6 dB.To  
get more gain, the program in the AD1954 uses a cascade of five  
multipliers to achieve up to 30 dB of post-compression gain.  
1. The subwoofer compressor operates on a weighted sum of the  
left and right inputs (aa
Left + bb
Right), where aa and  
bb are both programmable.  
2. The detector input has a biquad filter in series with the input  
in order to implement frequency-dependent compression  
thresholds.  
3. There is no predictive compression since presumably the input  
signals are filtered to pass only low frequencies and therefore  
transient overshoots are not a problem.  
To program the compressor/limiter, the following formulas may  
be used to determine the 22-bit numbers (in 2.20 format) to be  
entered into the parameter RAM.  
The subwoofer compressor signal flow is shown in Figure 14.  
V
_SUB = k1 LEFT_IN + K2 RIGHT_IN  
IN  
RMSTime Constant  
This can be best expressed by entering the time constant in terms  
of dB/sec raw release rate (without the peak-riding circuit).The  
attack rate is a rather complicated formula that depends on the  
change in amplitude of the input sine wave.  
POSTCOMPRESSION  
GAIN, SPI-  
PROGRAMMABLE  
UP TO 30dB  
HIGH BITS (1LSB = 3dB)  
MODIFIED RMS  
DETECTOR WITH  
LOG OUTPUT  
BIQUAD  
FILTER  
LOOK-UP  
TABLE  
LINEAR  
INTERPOLATION  
release_rate  
LOW BITS  
10.0 × fS  
)
rms_tconst_parameter = 1.0 10(  
RELEASE  
HOLD  
TIME  
CONSTANT  
where
rms_tconst_parameter
= the fractional number to enter into  
the SPI RAM (after converting to 22-bit 2.20 format), and the  
release_rate = the
release rate
of the raw rms detector in dB/sec.  
This must be negative, and fS = the audio sample rate.  
Figure 14. Signal Flow for Subwoofer Compressor  
REV. A  
–17–  
AD1954  
The biquad filter before the detector can be used to implement a  
frequency-dependent compression threshold. For example, assume  
that the overload point of the woofer is very frequency depen-  
dent. In this case, one would have to set the compressor threshold  
to a value that corresponded to the most sensitive overload fre-  
quency of the woofer. If the input signal happened to be mostly  
in a frequency range where the woofer was not so sensitive to  
overload, then the compressor would be too pessimistic and the  
volume of the woofer would be reduced. If, on the other hand,  
the biquad filter were designed to follow the woofer excursion  
curve of the speaker, then the volume of the woofer could be  
maximized under all conditions.This is illustrated in Figure 15.  
incoming sampling rate. However, when the de-emphasis filter is  
implemented digitally, the response will scale with the sampling  
rate unless the filter coefficients are altered to suit each possible  
input sampling rate. For this reason, the AD1954 includes three  
separate de-emphasis curves: one each for sampling rates of  
32 kHz, 44.1 kHz, and 48 kHz.These curves are selected by  
writing to Bits 5 and 4 of Control Register 1 over the SPI port.  
Alternatively, the 44.1 kHz curve can be called upon using the  
DEEMP/SDATA_AUX pin.This pin is included for compatibility  
with CD decoder chips that have a de-emphasis output pin.  
Using the Sub Reinjection Paths for Systems with No Subwoofer  
Many systems will not use a subwoofer but would still benefit  
from two-band compression/limiting.This can be accommodated  
by using sub reinjection paths in the program flow.These param-  
eters are programmed by entering two numbers (in 2.20 format)  
into the parameter RAM. Note that if the biquad filters are not  
properly designed, the frequency response at the crossover point  
may not be flat. Many crossover filters are designed to be flat in  
the sense of adding the powers together, but nonflat if the sum is  
done in voltage mode.The user must take care to design an appro-  
priate set of crossover filters.  
20Hz  
200Hz  
20Hz  
200Hz  
FREQUENCY  
FREQUENCY  
Figure 15. Optimizing Woofer Loudness Using the  
Subwoofer rms Biquad Filter  
Interpolation Filters  
The left and right channels have a 128:1 interpolation filter with  
70 dB stop-band attenuation that precedes the digital
-
modu-  
lator.This filter has a group delay of approximately 24.1875/fS  
taps, where fS is the sampling rate.The sub channel does not use  
an interpolation filter.The reason for this (besides saving valuable  
MIPS) is that it is expected that the bandwidth of the sub output  
will be limited to less than 1 kHz.With no interpolation filter, the  
first image will therefore be at 43.1 kHz (which is fS
– 1 kHz for  
CD audio).The standard external filter used for both the main  
and sub channels is a third order, single op amp filter. If the cut-  
off frequency of the external subwoofer filter is 2 kHz, then there  
are more than four octaves between 2 kHz and the first image  
at 43.1 kHz. A third order filter will roll off by approximately  
18 dB/oct
4 octaves = 72 dB attenuation.This is approximately  
the same as the digital attenuation used in the main channel  
filters, so no internal interpolation filter is required to remove the  
out-of-band images.  
When using a filter in front of the detector, a confusing side effect  
occurs. If one measures the frequency response by using a swept  
sine wave with an amplitude large enough to be above the com-  
pressor threshold, the resulting frequency response will not look  
flat. However, this is not real in the sense that, as the sine wave is  
swept through the system, the gain is being slowly modulated up  
and down according to the response of the biquad filter in front of  
the detector. If one measures the response using a pink noise gen-  
erator, the result will look much better, since the detector will settle  
on only one gain value.The perceptual effect of the swept sine wave  
test is not at all what would be predicted by simply looking at the  
frequency response curve; it is only the signal path filters that will  
affect the perception of the frequency response, not the detector  
path filters.  
De-emphasis Filtering  
The standard for encoding CDs allows the use of a pre-emphasis  
curve during encoding, which must be compensated for by a  
de-emphasis curve during playback. The de-emphasis curve  
is defined as a first order shelving filter with a single pole at  
(1/(2
  
50 µs)) followed by a single zero at (1/(2
  
15 µs)).  
This curve may be accurately modeled using a first order digital  
filter. This filter is included in the AD1954; it is not part of the  
bank of biquad filters and so does not take away from the num-  
ber of available filters.  
Note that by having interpolation filters in the main channels  
but not the subwoofer channel, there is a potential time-delay  
mismatch between the main and sub channels. The group delay  
of the digital interpolation filters used in the main left/right  
channels is about 0.5 ms. This must be compared to the group  
delay of the external analog filter used in the subwoofer path. If  
the group-delay mismatch causes a frequency response error  
(when the two signals are acoustically added), then the pro-  
grammable delay feature can be used to put extra delay in either  
the subwoofer path or the main left/right path.  
Since the specification of the de-emphasis filter is based on an  
analog filter, the response of the filter should not depend on the  
–18–  
REV. A  
SPI PORT  
Overview  
The R/
W
bit is low for a write and high for a read operation.  
The 10-bit address word is decoded into either a location in one  
of the two memories (parameter or program) or one of the SPI  
registers.The number of data bytes varies according to the regis-  
ter or memory being accessed. In burst-write mode (available for  
loading the RAMs only), an initial address is given followed by a  
continuous sequence of data for consecutive RAM locations.The  
detailed data format diagram for continuous-mode operation is  
given in SPI read/write data formats.  
The AD1954 has many different control options. Most signal  
processing parameters are controlled by writing new values to  
the parameter RAM using the SPI port. Other functions, such as  
volume and de-emphasis filtering, are programmed by writing to  
the SPI control registers.  
The SPI port uses a 4-wire interface, consisting of CLATCH,  
CCLK, CDATA, and COUT signals.The CLATCH signal goes  
low at the beginning of a transaction and high at the end of a  
transaction.The CCLK signal latches the serial input data on a  
low-to-high transition.The CDATA signal carries the serial input  
data, and the COUT signal is the serial output data.The COUT  
signal remains three-stated until a read operation is requested.  
This allows other SPI compatible peripherals to share the same  
readback line.  
A sample timing diagram for a single SPI write operation to the  
parameter RAM is shown in Figure 16.  
A sample timing diagram of a single SPI read operation is shown  
in Figure 17.The COUT pin goes from three-state to driven at  
the beginning of Byte 2. Bytes 0 and 1 contain the address and  
R/
W
bit, and Bytes 2 through 4 carry the data.The exact format  
is shown i
n
T
a
ble
s
V
III to XIX.  
The SPI port is capable of full read/write operation for all of the  
memories (parameter and program) and some of the SPI registers  
(Control Register 1 and the data capture registers).The memories  
may be accessed in both a single address mode or in burst mode.  
All SPI transactions follow the same basic format that is shown in  
T
a
ble I.  
The AD1954 has several mechanisms for updating signal-processing  
parameters in real time without causing loud pops or clicks. In  
cases where large blocks of data need to be downloaded, the DSP  
core can be shut down and new data loaded, and then the core  
can be restarted.The shutdown and restart mechanisms employ a  
gradual volume ramp to prevent clicks and pops. In cases where  
only a few parameters need to be changed (e.g., a single biquad  
filter), a safeload mechanism is used, which allows a block of SPI  
registers to be transferred to the parameter RAM within a single  
audio frame while the core is running.The safeload mode uses  
internal logic to prevent contention between the DSP core and  
the SPI port.  
T
a
ble I.
 
SP
I
W
o
rd Format  
Byte 0  
Byte 1  
Byte 2 Byte 3 Byte 4  
00000, R/
W
, Addr[9:8] 
Addr[7:0] Data  
Data  
Data  
CLATCH  
CCLK  
BYTE 0  
BYTE 1  
BYTE 4  
CDATA  
Figure 16. Sample of SPI Write Format (Single-Write Mode)  
CLATCH  
CCLK  
BYTE 1  
XXX  
BYTE 0  
CDATA  
COUT  
HI-Z  
HI-Z  
DATA  
DATA  
DATA  
REV. A  
–19–  
AD1954  
Table II. SPI Port Address Decoding  
Read/WriteWord Length  
SPI Address  
Register Name  
0–255  
Parameter RAM  
Write: 22 Bits  
Read: 22 Bits  
256  
257  
258  
259  
260  
261  
262  
263  
264  
265  
266  
267  
268  
269  
SPI Control Register 1  
Write: 11 Bits  
Read: 2 Bits  
SPI Control Register 2  
Write: 9 Bits  
Read: N/A  
V
o
lume Left  
Write: 22 Bits  
Read: N/A  
Volume Right  
Write: 22 Bits  
Read: N/A  
V
o
lume Sub  
Write: 22 Bits  
Read: N/A  
Data Capture (SPI Out) #1  
Data Capture (SPI Out) #2  
Data Capture (Serial Out) Left  
Data Capture (Serial Out) Right  
Parameter RAM Safe Load Register 0  
Parameter RAM Safe Load Register 1  
Parameter RAM Safe Load Register 2  
Parameter RAM Safe Load Register 3  
Parameter RAM Safe Load Register 4  
Write: 9-Bit Program CounterValue, 2-Bit Register Address  
Read: 24 Bits  
Write: 9-Bit Program CounterValue, 2-Bit Register Address  
Read: 24 Bits  
Write: 9-Bit Program CounterValue, 2-Bit Register Address  
Read: N/A  
Write: 9-Bit Program CounterValue, 2-Bit Register Address  
Read: N/A  
Write: 8-Bit Parameter RAM Address, 22-Bit Parameter Data  
Read: N/A  
Write: 8-Bit Parameter RAM Address, 22-Bit Parameter Data  
Read: N/A  
Write: 8-Bit Parameter RAM Address, 22-Bit Parameter Data  
Read: N/A  
Write: 8-Bit Parameter RAM Address, 22-Bit Parameter Data  
Read: N/A  
Write: 8-Bit Parameter RAM Address, 22-Bit Parameter Data  
Read: N/A  
270–510  
511  
Unused  
Test Register  
Write: 8 Bits  
Read: N/A  
512–1024  
Program RAM  
Write: 35 Bits  
Read: 35 Bits  
SPI Address Decoding  
Bits 3:2 select one of four serial modes, which are discussed in  
the Serial Data Input Port section.  
Table II shows the address decoding used in the SPI port.The  
SPI address space encompasses a set a registers and two RAMs,  
one for holding signal processing parameters and one for hold-  
ing the program instructions. Both of the RAMs are loaded on  
power-up from on-board boot ROMs.  
The de-emphasis curve selection Bits 5:4 turn on the internal  
de-emphasis filter for one of three possible sample rates.  
Bit 6, the soft power-down bit, stops the internal clocks to the DSP  
core, but does not reset the part.The digital power consumption  
is reduced to a low level when this bit is asserted. Reset can only  
be asserted using the external reset pin.  
Control Register 1  
Control Register 1 is an 11-bit register that controls data capture,  
serial modes, de-emphasis, mute, power-down, and SPI-to-  
memory transfers.Table III documents the contents of this register.  
Table IV details the two bits in the register’s read operation.  
Soft mute (Bit 7) is used to initiate a volume ramp-down sequence.  
If the initial volume was set to 1.0, this operation will take 512  
audio frames to complete.When this bit is de-asserted, a ramp-up  
sequence is initiated until the volume returns to its original setting.  
Bits 1:0 set the word length, which is used in right-justified serial  
modes to determine where the MSB is located relative to the start  
of the audio frame.  
When set, Bit 8 enables the DCSOUT pin.This must be set in  
order to read from the data capture serial out registers.  
–20–  
REV. A  
TableV. Control Register 2Write Definition  
The initiate-safe-transfer Bit 9 will request a data transfer from  
the SPI safeload registers to the parameter RAM.The safeload  
registers contain address-data pairs, and only those registers  
that have been written to since the last transfer operation will be  
uploaded.The user may poll for this operation to complete by  
reading Bit 0 of Control Register 1.The Safeload Mechanism  
section goes into more detail on this feature.  
Register Bits  
Function  
9
Volume Ramp Speed  
1 = 160 ms Full RampTime  
0 = 20 ms Full RampTime  
Serial Port Output Enable  
1 = Enabled  
0 = Disabled  
Serial Port Input Select  
00 = IN0  
8
Bit 10, the halt program bit, is used to initiate a volume ramp-down  
followed by a shutdown of the DSP core.The user may poll for  
this operation to complete by reading Bit 1 of Control Register 1.  
7:6  
01 = IN1  
10 = IN2  
11 = NA  
MCLK Input Select  
00 = MCLK0  
Bit 11 sets the function of the de-emphasis/auxiliary serial input  
pin.When this bit is set to 1, the pin will function as an auxiliary  
serial input that is clocked by the input mux’s selected clocks.  
When set to 0, this pin enables the 44.1 kHz de-emphasis curve.  
5:4  
01 = MCLK1  
Table III. Control Register 1Write Definition  
10 = MCLK2  
11 = NA  
Reserved  
MCLK in Frequency Select  
0 = 512
f
S  
1 = 256
f
S  
MCLK Out Frequency Select  
00 = Disabled  
01 = 512
f
S  
10 = 256
f
S  
Register Bits  
Function  
11  
De-emphasis/Auxiliary Serial Input Pin Select  
(1 = Auxiliary Serial Input)  
Halt Program (1 = Halt)  
Initiate SafeTransfer (1 =Transfer)  
Enable DCSOUT Output Pin (1 = Enable)  
Soft Mute (1 = Start Mute Sequence)  
Soft Power-Down (1 = Power-Down)  
De-emphasis Curve Select  
00 = None  
3
2
10  
9
8
7
6
1:0  
5:4  
11 = MCLK_Out = MCLK_In (Feedthrough)  
01 = 44.1 kHz  
10 = 32 kHz  
11 = 48 kHz  
Control Register 2  
TableV documents the contents of Control Register 2. Bits 1 and 0  
set the frequency of the MCLKOUT pin. If these bits are set to  
00, then the MCLKOUT pin is disabled (default).When set to  
01, the MCLKOUT pin is set to 512
f
S, which is the same as  
the internal master clock used by the DSP core.When set to 10,  
this pin is set to 256
f
S, derived by dividing the internal DSP  
clock by 2. In this mode, the output 256 fS
clock will be inverted  
with respect to the input 256 fS
clock
.
T
his is not the case with the  
feedthrough mode.When set to 11, the MCLKOUT pin mirrors  
the selected MCLK input pin (it’s the output of the MCLK mux  
selector). Note that the internal DSP master clock may either be  
the same as the selected MCLK pin (when MCLK frequency  
select is set to 512
f
S mode) or may be derived from the MCLK  
pin using an internal clock doubler (when MCLK frequency  
select is set to 256
f
S).  
3:2  
1:0  
Serial in Mode  
00 = I
2
S  
01 = Right-Justified  
10 = DSP  
11 = Left-Justified  
Word Length  
00 = 24 Bits  
01 = 20 Bits  
10 = 16 Bits  
11 = 16 Bits  
Table IV. Control Register 1 Read Definition  
Register Bits  
Function  
Bit 2 selects one of two possible MCLK input frequencies.When  
set to 0 (default), the MCLK frequency is set to 512
f
S
. In this  
mode, the internal DSP clock and the external MCLK are at the  
same frequency.When set to 1, the MCLK frequency is set to  
256
f
S, and an internal clock doubler is used to generate the  
DSP clock.  
1
DSP Core Shutdown Complete  
1 = Shutdown Complete  
0 = Not Shut Down  
Safe Memory Load Complete  
1 = Complete (Note: Cleared after Read)  
0 = Not Complete  
0
Bits 5 and 4 select one of three clock input sources using an inter-  
nal mux.To avoid click and pop noises when switching MCLK  
sources, it is recommended that the user put the DSP core in  
shutdown before switching MCLK sources.  
Bit 0 is asserted when all requested safeload registers have been  
transferred to the parameter RAM. It is cleared after the read  
operation is complete.  
Bit 1 is asserted after the requested shutdown of the DSP is com-  
pleted.When this bit is set, the user is free to write or read any  
RAM location without causing an audio pop or click.  
Bits 7 and 6 select one of three serial input sources using an  
internal mux. Each source selection includes a separate SDATA,  
LRCLK, and BCLK input.To avoid click and pop noises when  
switching serial sources, it is recommended that the user put the  
DSP core in shutdown before writing to these bits.  
REV. A  
–21–  
AD1954  
Bit 8 is used to enable the three serial output pins.These pins are  
connected to the output of the serial input mux, which is set by  
Bits 7 and 6.The default is 0 (disabled).  
1. Direct
 
read/write
.
T
his method allows direct access to the  
RAMs. Since the RAMs are also being used during real-time  
DSP operation, a glitch will likely occur at the output.This  
method is not recommended.  
Bit 9 changes the default setting of the volume ramp speed.When  
set to 0, it will take 1024 LRCLK periods to go from full volume  
(6 dB) to infinite attention.When set to 1, the same operation  
will take 8192 LRCLK periods.  
2. Direct
 
read/write after core shutdown
.
T
his method avoids  
the glitch while accessing the internal RAMs by first shutting  
down the core.This is recommended for transferring large  
amounts of data, such as initializing the parameter RAM at  
power-up or downloading a completely new program.These  
transfers can be sped up by using burst mode, where an initial  
address followed by blocks of data are sent to the RAM.  
Volume Registers  
The AD1954 contains three 22-bit volume registers: one each for  
the left, right, and subwoofer channels.These registers are special  
because when the volume is changed from an initial value to a  
new value, a linear ramp is used to interpolate between the two  
values.This feature prevents audible clicks and pops when chang-  
ing volume.The ramp is set so that it takes 512 audio frames to  
decrement from a volume of 1.0 (default) down to 0 (muted).  
The volume registers are formatted in 2.20 twos complement,  
meaning that 0100000000000000000000 is interpreted as 1.0.  
Negative values can also be written to the volume register, caus-  
ing an inversion of the signal. Negative values work as expected  
with the ramp feature; to go from +1.0 to –1.0 will take 1024  
LRCLKs, and the volume will pass through 0 on the way.  
3. Safeload writes.This is where up to five SPI registers are loaded  
with address/data intended for the parameter RAM.The data  
is then transferred to the requested address when the RAM is  
not busy.This method can be used for dynamic updates while  
live program material is playing through the AD1954. For  
example, a complete update of one biquad section can occur in  
one audio frame while the RAM is not busy.This method is not  
available for writing to the program RAM or control registers.  
The next section discusses these options in more detail.  
Soft Shutdown Mechanism  
Parameter RAM Contents  
When writing large amounts of data to the program or parameter  
RAM, the processor core should be halted to prevent unpleasant  
noises from appearing at the audio output. Figure 18 shows a  
graphical representation of this mechanism’s volume envelope.  
Points A through D are referenced in the following description.  
Bit 10 in Serial Control Register 0 (processor shutdown bit) will  
shut down the processor core.When the processor shutdown bit  
is asserted (A), an automatic volume ramp-down sequence  
(B) lasting from 10 ms to 20 ms will occur, followed by a shut-  
down of the core.This method of shutting down the core  
prevents pops or clicks from occurring. After the shutdown is  
complete, Bit 1 in Control Register 1 will be set.The user can  
either poll for this bit to be set or just wait for a period longer  
than 20 ms.  
TableVI shows the contents of the parameter RAM for the AD1954’s  
default program.The parameter RAM is 22 bits wide and occupies  
SPI Addresses 0 through 255.The low addresses of the RAM are  
used to control the biquad filters.There are 22 biquad filters in all,  
and each biquad has five coefficients, resulting in a total memory  
usage of 110 coefficients.There are also two tables of 33 coeffi-  
cients, each that define the main and subcompressor input/output  
characteristics.These are loaded with 1.0 on power-up, resulting  
in no compression. Other RAM entries control other compressor  
characteristics, as well as delay and spatialization settings.  
The parameter RAM is initialized on power-up by an on-board  
boot ROM.The default values yield no equalization, no com-  
pression, no spatialization, no delay, and normal detector time  
constants in the compressor sections.The functionality of the  
AD1954 on power-up is basically that of a normal audio DAC  
with no signal processing capability.  
Once the core is shut down (C), the parameter or program RAMs  
may be written or read freely.To facilitate the transfer of large  
blocks of sequential data, a block transfer mode is supported  
where a starting address followed by a stream of data is sent to the  
memory.The address into the memory will be automatically  
incremented for each new write
.
T
his mode is documented in the  
SPI Read/Write Data Formats section of this data sheet.  
The data format of the parameter RAM is twos complement  
2.20 format.This means that the coefficients may range from  
+2.0 (–1 LSB) to –2.0, with 1.0 represented by the binary word  
0100000000000000000000.  
Options for Parameter Updates  
The parameter and program RAMs can be written and read using  
one of several methods.  
Once the data has been written, the shutdown bit can be cleared  
(D).The processor then will initiate a volume ramp-up sequence  
A
B
C
D
Figure 18. Recommended Sequences for Complete Parameter or Program RAM Uploaded Using Shutdown Mechanism  
–22–  
REV. A  
AD1954  
TableVI. Parameter RAM Contents—Default Program  
Defaul
t
V
a
lue  
in Fractional  
2.20 Format  
Defaul
t
V
a
lue  
in Fractional  
2.20 Format  
Defaul
t
V
a
lue  
in Fractional  
2.20 Format  
Addr Function  
Addr Function  
IIR3 Right a2  
Addr  
Function  
0
1
2
3
4
5
6
7
IIR0 Left b0  
IIR0 Left b1  
IIR0 Left b2  
IIR0 Left a1  
IIR0 Left a2  
IIR1 Left b0  
IIR1 Left b1  
IIR1 Left b2  
IIR1 Left a1  
IIR1 Left a2  
IIR2 Left b0  
IIR2 Left b1  
IIR2 Left b2  
IIR2 Left a1  
IIR2 Left a2  
IIR3 Left b0  
IIR3 Left b1  
IIR3 Left b2  
IIR3 Left a1  
IIR3 Left a2  
IIR4 Left b0  
IIR4 Left b1  
IIR4 Left b2  
IIR4 Left a1  
IIR4 Left a2  
IIR5 Left b0  
IIR5 Left b1  
IIR5 Left b2  
IIR5 Left a1  
IIR5 Left a2  
IIR6 Left b0  
IIR6 Left b1  
IIR6 Left b2  
IIR6 Left a1  
IIR6 Left a2  
1.0  
0
0
0
0
1.0  
0
0
0
0
1.0  
0
0
0
0
1.0  
0
0
0
0
1.0  
0
0
0
0
1.0  
0
0
0
0
1.0  
0
0
0
0
54  
55  
56  
57  
58  
59  
60  
61  
62  
63  
64  
65  
66  
67  
68  
69  
70  
71  
72  
73  
74  
75  
76  
77  
78  
79  
80  
81  
82  
83  
84  
85  
86  
87  
88  
89  
90  
91  
92  
93  
94  
95  
96  
97  
98  
99  
100  
101  
102  
103  
104  
105  
106  
107  
0
1.0  
0
0
0
0
1.0  
0
0
0
0
1.0  
0
0
0
0
1.0  
0
0
0
108  
109  
110–142  
IIR Sub rms a1  
IIR Sub rms a2  
Main Compressor  
Look-UpTable Base  
Main Compressor  
Attack/rm
s
T
ime  
Constant  
Main Post-  
Compressor Gain  
Subwoofer  
0
0
IIR4 Right b0  
IIR4 Right b1  
IIR4 Right b2  
IIR4 Right a1  
IIR4 Right a2  
IIR5 Right b0  
IIR5 Right b1  
IIR5 Right b2  
IIR5 Right a1  
IIR5 Right a2  
IIR6 Right b0  
IIR6 Right b1  
IIR6 Right b2  
IIR6 Right a1  
IIR6 Right a2  
IIR0 Xover Left b0  
IIR0 Xover Left b1  
IIR0 Xover Left b2  
IIR0 Xover Left a1  
IIR0 Xover Left a2  
IIR1 Xover Left b0  
IIR1 Xover Left b1  
IIR1 Xover Left b2  
IIR1 Xover Left a1  
IIR1 Xover Left a2  
1.0 (all)  
143  
5.75
10
4  
(120 dB/sec)  
144  
1.0  
1.0  
8
9
145–177  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
23  
24  
25  
26  
27  
28  
29  
30  
31  
32  
33  
34  
35  
36  
37  
38  
39  
40  
41  
42  
43  
44  
45  
46  
47  
48  
49  
50  
51  
52  
53  
Compressor  
Look-UpTable Base  
Sub Compressor  
Attack/rm
s
T
ime  
Constant  
Post-Compressor  
Gain (Sub)  
High-Pass Filter  
Cutoff Frequency  
Main Compressor  
Look-Ahead Delay  
Delay Left  
Delay Right  
Delay Sub  
Stereo Spreading  
Coefficient  
Stereo Spreading  
Frequency Control  
Subwoofer  
178  
5.75
10
4  
(120 dB/sec)  
179  
180  
181  
1.0  
0
0
1.0  
0
0
0
182  
183  
184  
185  
0
0
0
0
0
IIR0 Xover Right b0 
1.0  
186  
187  
0.112694  
0.0  
IIR0 Xover Right b1  
IIR0 Xover Right b2  
IIR0 Xover Right a1  
IIR0 Xover Right a2  
0
0
0
0
Reinjection  
to Main Left  
Subwoofer  
Reinjection  
IIR1 Xover Right b0 
1.0  
188  
189  
190  
191  
192  
0.0  
IIR1 Xover Right b1  
IIR1 Xover Right b2  
IIR1 Xover Right a1  
IIR1 Xover Right a2  
IIR0 Xover Sub b0  
IIR0 Xover Sub b1  
IIR0 Xover Sub b2  
IIR0 Xover Sub a1  
IIR0 Xover Sub a2  
IIR1 Xover Sub b0  
IIR1 Xover Sub b1  
IIR1 Xover Sub b2  
IIR1 Xover Sub a1  
IIR1 Xover Sub a2  
IIR2 Xover Sub b0  
IIR2 Xover Sub b1  
IIR2 Xover Sub b2  
IIR2 Xover Sub a1  
IIR2 Xover Sub a2  
IIR Sub rms b0  
0
0
0
0
1.0  
0
0
0
0
1.0  
0
0
0
0
1.0  
0
0
0
0
to Main Right  
Subwoofer Channel
 
0.5  
Input Gain from  
Left In  
IIR0 Right b0 
1.0  
IIR0 Right b1  
IIR0 Right b2  
IIR0 Right a1  
IIR0 Right a2  
0
0
0
0
Subwoofer Channel
 
0.5  
Input Gain from  
Right In  
IIR1 Right b0 
1.0  
Main Detector Hold
 
0
1  
Time, Samples  
IIR1 Right b1  
IIR1 Right b2  
IIR1 Right a1  
IIR1 Right a2  
0
0
0
0
(4095 Max)  
Sub Detector Hold  
Time, Samples  
(4095 Max)  
Main Detector  
DecayTime  
Sub Detector  
DecayTime  
Unused  
0
1  
IIR2 Right b0 
1.0  
IIR2 Right b1  
IIR2 Right b2  
IIR2 Right a1  
IIR2 Right a2  
0
0
0
0
193  
0.069611  
(10000 dB/sec)2  
0.069611  
194  
(10000 dB/sec)2  
IIR3 Right b0 
1.0  
195–255  
IIR3 Right b1  
IIR3 Right b2  
IIR3 Right a1  
0
0
0
1.0  
0
0
IIR Sub rms b1  
IIR Sub rms b2  
NOTES  
1The detector hold and decay times are integer values, while the rest of the parameters are fractional twos complement values.  
2The default decay time of the hold/release circuit is set fast enough so that the decay is dominated by the time constant of the rms detector.  
REV. A  
–23–  
AD1954  
that lasts for 10 ms to 20 ms. Again, this reduces the chance of  
any pop or click noise from occurring.  
example, if only two parameters are to be sent, then it is neces-  
sary to write to only two of the five safeload registers.When the  
request safe transfer bit is asserted, only those two registers will  
be sent; the other three registers are not sent and can still hold  
old or invalid data.  
Note that this shutdown sequence assumes that the part is set  
to the fast volume ramp speed (Control Register 2, Bit 9). If the  
slow ramp speed is set, the volume may not reach zero before the  
part enters shutdown and a click or pop may be heard.  
The safeload mechanism is not limited to uploading biquad  
coefficients; any set of five values in the parameter RAM may be  
updated in the same way.This allows real-time adjustment of the  
compressor/limiter, delay, or stereo spreading blocks.  
Safeload Mechanism  
Many applications require real-time control of filter characteristics,  
such as bass/treble controls and parametric or graphic equalization.  
To prevent instability from occurring, all of the parameters of a  
particular biquad filter must be updated at the same time; other-  
wise, the filter could execute for one or two audio frames with a  
mixture of old and new coefficients
.
T
his mix of old and new  
could cause temporary instability, leading to transients that could  
take a long time to decay.  
Summary of RAM Modes  
TableVII shows the sizes and available modes of the parameter  
RAM and the program RAM.  
SPI READ/WRITE DATA FORMATS  
The read/write formats of the SPI port are designed to be byte-  
oriented.This allows for easy programming of common microcon-  
troller chips.To t into a byte-oriented format, 0s are appended  
to the data fields to extend the data-word to the next multiple of  
8 bits. For example, 22-bit words written to the SPI parameter  
RAM are appended with two leading zeroes to reach 24 bits  
(3 bytes), and 35-bit words written to the program RAM are  
appended with five zeros to reach 40 bits (5 bytes).These zero-  
extended data fields are appended to a 2-byte field consisting of a  
read/write bit and a 10-bit address.The SPI port knows how many  
data bytes to expect based on the address that is received in the  
first two bytes.  
The method used in the AD1954 to eliminate this problem is to  
load a set of five registers in the SPI port with the desired param-  
eter RAM address and data. Five registers are used because each  
biquad filter has five coefficients. Once these registers are loaded,  
the initiate safe transfer bit in Control Register 1 should be set.  
Once this bit is set, the processor waits for a period of time in  
the program sequence where the parameter RAM is not being  
accessed for at least five consecutive instruction cycles.When the  
program counter reaches this point, the parameter RAM is writ-  
ten with five new data values at addresses corresponding to those  
that were entered in the safeload registers.When the operation is  
complete, Bit 0 of Control Register 1 (read) is set.This bit may  
be polled by the external microprocessor until a 1 is read and  
will be reset on a read operation.The polling operation is not  
required; the safeload mechanism guarantees that the transfer will  
be complete within one audio frame.  
The total number of bytes for a single-location SPI write command  
can vary from 4 bytes (for a control register write) to 7 bytes (for  
a program RAM write). Block writes may be used to fill contiguous  
locations in program RAM or parameter RAM.  
The read and write formats of the parameter RAM, program RAM  
and registers are detailed inTablesVIII to XIX.  
The safeload logic automatically sends only those safeload registers  
that have been written to since the last safeload operation. For  
T
a
bl
e
V
II. Read/Write Modes  
Burst Mode  
Read Write Available  
SPI Address  
Range  
Memory  
Size  
Write Modes  
Parameter RAM
 
256
22 0–255  
Y
e
s  
Y
e
s  
Y
e
s  
Y
e
s  
Y
e
s  
Y
e
s  
Direct write, write after core shutdown, safeload write  
Direct write, write after core shutdown  
Program RAM  
512
35 512–1023  
TableVIII. Parameter RAM Read/Write Format (Single Address)  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
Byte 4  
00000, R/
W
, Addr[9:8]  
Addr[7:0]  
00, Param[21:16]  
Param[15:8]  
Param[7:0]  
Table IX. Parameter RAM Block Read/Write Format (Burst Moded)  
Byte 5  
Byte 6  
Byte 7  
Byte 8  
Byte 9  
Byte 10  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
Byte 4  
00000, R/
W
, Addr[9:8]  
Addr[7:0]  
00, Param[21:16]  
Param[15:8]  
Param[7:0]  
ADDR + 1
 
ADDR + 2  
ADDR  
Table X. Program RAM Read/Write Format (Single Address)  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
Byte 4  
Byte 5  
Prog[15:8]  
Byte 6  
00000, R/
W
, Addr[9:8]  
Addr[7:0]  
00000, Prog[34:32]  
Prog[31:24]  
Prog[23:16]  
Prog[7:0]  
–24–  
REV. A  
Byte 7  
Byte 8  
Byte 9  
Byte 10  
Byte 11  
Byte 12  
Byte 13  
Byte 14  
Byte 15  
Byte 16  
Table XI. Program RAM Read/Write Format (Burst Address)  
Byte 2 Byte 3 Byte 4 Byte 5 Byte 6  
Byte 0  
Byte 1  
00000, R/
W
, Addr[9:8] Addr[7:0] 00000, Prog[34:32] Prog[31:24] Prog[23:16] Prog[15:8] Prog[7:0]  
ADDR  
ADDR + 1
 
ADDR + 2  
Table XII. SPI Control Register 1Write Format  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
00000, R/
W
, Addr[9:8]  
Addr[7:0]  
0000, Bit[11:8]  
Bit[7:0]  
Table XIII. SPI Control Register 1 Read Format  
Byte 0  
Byte 1  
Byte 2  
00000, R/
W
, Addr[9:8]  
Addr[7:0]  
000000, Bit[1:0]  
Table XIV. SPI Control Register 2Write Format  
Byte 0  
Byte 1  
Addr[7:0]  
Byte 2  
Byte 3  
00000, R/
W
, Addr[9:8]  
000000, Bit[9:8]  
Bit[7:0]  
T
a
ble X
V
.
 
S
PI
Volume RegisterWrite Format  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
Volume[15:8]  
Byte 4  
000000, Addr[9:8]  
Addr[7:0]  
00,Volume[21:16]  
Volume[7:0]  
Table XVI. Data Capture RegisterWrite Format  
Byte 2  
Byte 0  
Byte 1  
Addr[7:0]  
Byte 3  
ProgCount[5:0], RegSel[1:0]1, 2  
00000, R/
W
, Addr[9:8]  
NOTES  
00000, ProgCount[8:6]1  
1ProgCount[8:0] = value of program counter where trap occurs (seeTable XX).  
2RegSel[1:0] selects one of four registers (see Data Capture Register section).  
Table XVII. Data Capture Serial Out Register (Address and Register Select)Write Format  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
00000, R/
W
, Addr[9:8]  
NOTES  
Addr[7:0]  
00000, ProgCount[8:6]1  
ProgCount[5:0], RegSel[1:0]1, 2  
1ProgCount[8:0] = value of program counter where trap occurs (seeTable XX).  
2RegSel[1:0] selects one of four registers (see Data Capture Register section).  
Table XVIII. Data Capture Read Format  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
Byte 4  
Byte 5  
00000, R/
W
, Addr[9:8]  
Addr[7:0]  
00000000  
Data[23:16]  
Data[15:8]  
Data[7:0]  
Table XIX. Safeload RegisterWrite Format  
Byte 0  
Byte 1  
Byte 2  
Byte 3  
Byte 4  
Byte 5  
00000, R/
W
, Addr[9:8]  
Addr[7:0]  
ParamAddr[7:0]  
00, Param[21:16]  
Param[15:8]  
Param[7:0]  
REV. A  
–25–  
AD1954  
INITIALIZATION  
Setting the Data and MCLK Input Selectors  
Power-Up Sequence  
The AD1954 contains input selectors for both serial data inputs  
and the MCLK input.This allows the AD1954 to select a variety  
of input and clock sources with no external hardware required.  
These input selectors are controlled by writing to SPI Control  
Register 2.  
The AD1954 has a built-in power-up sequence that initializes the  
contents of the internal RAMs. During this time, the contents  
of the internal program boot ROM are copied to the internal  
program RAM memory, and likewise, the SPI parameter RAM is  
filled with values from its associated boot ROM
.
T
he data memo-  
ries are also cleared during this time.  
When the data source or MCLK source is changed by writing  
to the SPI port, it is possible that a pop or click will occur in the  
audio.To prevent this noise, the core should be shut down by  
writing a 1 to the halt program bit in Control Register 1.This  
initiates a volume ramp-down sequence followed by a shutdown  
of the DSP core. Once the core is shut down (which can be veri-  
fied by reading Bit 1 from Control Register 1 or by waiting at  
least 20 ms after the halt program command is issued), the new  
data or MCLK source can be programmed by writing to Control  
Register 2.The DSP core can then be restarted by clearing the  
halt program bit in Control Register 1.  
The boot sequence lasts for 1024 MCLK cycles and starts on the  
rising edge of the RESETB pin. Since the boot sequence requires  
a stable master clock, the user should avoid writing to or reading  
from the SPI registers during this period of time. Note that the  
default power-on state of the internal clock mode circuitry is 512  
f
S, or about 24 MHz for normal audio sample rates.This mode  
bypasses all the internal clock doublers and allows the external  
master clock to directly operate the DSP core. If the external  
master clock is 256
f
S, then the boot sequence will operate at  
this reduced clock rate and will take slightly longer to complete.  
After the boot sequence has finished, the clock modes may be  
set via the SPI port. For example, if the external master clock  
frequency is 256
f
S clock, the boot sequence would take 1024  
256
f
S clock cycles to complete, after which an SPI write could  
occur to put the AD1954 in 256
f
S
mode.  
DATA CAPTURE REGISTERS  
The AD1954 incorporates a feature called data capture. Using  
this feature, any node in the signal processing flow may be sent  
to either an SPI readable register or a dedicated serial output  
pin.This allows the basic functionality of the AD1954 to be  
extended to a larger number of channels. Alternatively, it can be  
used to monitor and display information about signal levels or  
compressor/limiter activity.  
The default state of the MCLK input selector is MCLK0. Since  
this input selector is controlled using the SPI port, and the SPI port  
cannot be written to until the boot sequence is complete, there  
must be a stable master clock signal present on the MCLK0 pin at  
startup.  
The AD1954 contains four independent data capture registers.  
Two of these registers transfer their data to the data capture serial  
output (DCSOUT) pin.The serial data format of this pin is the  
same as the serial data format used for the main digital inputs,  
and the LRCLK and BCLK signals can therefore be used as  
frame sync and bit clock signals.This pin is primarily intended  
to feed signals to an external DAC or DSP chip to extend the  
number of channels that the internal DSP can access
.
T
he other  
two registers may be read back over the SPI port and can be used  
for a variety of purposes. One example might be to access the dB  
output of the internal rms detector to run a front-panel signal  
level display. A sample system is shown in Figure 19. For each  
of the four data capture registers, a capture count and a register  
select must be set.The capture count is a number between 0 and  
511 that corresponds to the program step number where the  
capture will occur.The register select field programs one of four  
registers in the DSP core that will be transferred to the data cap-  
ture register when the program counter equals the capture count.  
The register select field is decoded as follows:  
Setting the Clock Mode  
The AD1954 contains a clock doubler circuit that is used to gener-  
ate an internal 512
f
S
clock when the external clock is 256
f
S
.  
The clock mode is set by writing to Bit 2 of Control Register 2.  
When the clock mode is changed, it is possible that a glitch will  
occur on the internal MCLK signal.This may cause the proces-  
sor to inadvertently write an incorrect value into the data RAM,  
which could cause an audio pop or click sound.To prevent this  
the following procedure is recommended:  
1. Assert the soft power-down bit (Bit 6 in Control Register 1) to  
stop the internal MCLK.  
2. Write the desired clock mode into Bit 2 of Control Register 2.  
3.
W
a
it
 
at least 1 ms while the clock doublers settle.  
4. De-assert the soft power-down bit.  
An alternative procedure is to initiate a soft shutdown of the pro-  
cessor core by writing a 1 to the halt program bit in Control  
Register 1.This initiates a volume ramp-down sequence followed  
by a shutdown of the DSP core. Once the core is shut down (which  
can be verified by reading Bit 1 from Control Register 1 or by  
waiting at least 20 ms), the new clock mode can be programmed  
by writing to Bit 2 of Control Register 2.The DSP core can then  
be restarted by clearing the halt program bit in Control Register 1.  
00: Multiplier Output (Mult_Out)  
01: Output of dB Conversion Block (DB_OUT)  
10: Multiplier Data Input (MDI)  
11: Multiplier Coefficient Input (MCI)  
The capture count and register select bits are set by writing to one  
of the four data capture registers at the following SPI addresses:  
261: SPI Data Capture Setup Register 1  
262: SPI Data Capture Setup Register 2  
263: Data Capture Serial Out Setup Register 1  
264: Data Capture Serial Out Setup Register 2  
–26–  
REV. A  
The format of the captured data varies according to the register  
select fields. Data captured from the mult_out setting is in 1.23  
twos complement format so that a full-scale input signal will  
produce a full-scale digital output (assuming no processing). If  
the parameters are set such that the input-to-output gain is more  
than 0 dB, then the digital output will be clipped.  
The SPI capture registers can be accessed by reading from SPI  
Locations 261 (for SPI Capture Register 1) or 262 (for SPI Cap-  
ture Register 2).The other two data capture registers (data capture  
serial out) automatically transfer their data to the data capture  
serial out (DCSOUT) pin. DCSOUT Capture Register 1 is pres-  
ent in the left data slot (as defined by the serial input format), and  
DCSOUT Capture Register 2 is present in the right data slot.The  
format for writing to the SPI data capture setup registers is given  
in the SPI section of this data sheet.  
Data captured from the DB_OUT setting is in 5.19 format, where  
the actual rms dB level is equal to –87 + (3
DB_OUT). In this  
equation, DB_OUT is the value that is captured. It follows that in  
this data format, the actual output readings will range from –87 dB  
to +9 dB
.
T
he AD1954 uses the convention that 0 dB is the rms  
value of the full-scale digital signal.  
dB LEVEL METERS  
LRCLK  
EXT DACs  
BCLK  
Data captured using the MDI setting is in 3.21 format. A 0 dB  
digital input will produce a –12 dB digital output, assuming the  
AD1954 is set for no processing.  
Data captured using the MCI setting is in 2.20 format.This data  
is generally a signal gain or filter coefficient, and therefore it does  
not make sense to talk about the input-to-output gain. A coeffi-  
cient of 01000000000000000000 corresponds to a gain of 1.0.  
DCSOUT  
5.1  
CHANNEL  
OUTPUT  
The data that must be written to set up the data capture is a  
concatenation of the 9-bit program count index with the 2-bit  
register select field. Refer toTable XX to find the capture count  
and register select numbers that correspond to the desired point  
to be monitored in the default signal processing flow.  
MICRO-  
CONTROLLER  
AD1954  
Figure 19. Typical Application of Data Capture Feature  
REV. A  
–27–  
AD1954  
Table XX. Data CaptureTrap Indexes and Register Select—Default Program  
Program Count  
Index (9 Bits)  
Register  
Select (2 Bits)  
Signal Description  
Numeric Format  
HPF Out Left  
HPF Out Right  
15  
259  
19  
263  
34  
43  
52  
61  
70  
79  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
DB_Out  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
24-Bit Positive Binary, Bit 19  
Corresponds to a 3 dB Change  
2.22, 2 LSBs = 0  
De-emphasis Out Left  
De-emphasis Out Right  
Left Biquad 0 Output  
Left Biquad 1 Output  
Left Biquad 2 Output  
Left Biquad 3 Output  
Left Biquad 4 Output  
Left Biquad 5 Output  
Left Biquad 6 Output  
Right Biquad 0 Output  
Right Biquad 1 Output  
Right Biquad 2 Output  
Right Biquad 3 Output  
Right Biquad 4 Output  
Right Biquad 5 Output  
Right Biquad 6 Output  
V
o
lume Out Left  
Volume Out Right  
V
o
lume Out Sub  
Phat Stereo Out Left  
Phat Stereo Out Right  
Delay Output Left  
Delay Output Right  
Main Compressor rms Out (dB)  
88  
284  
293  
302  
311  
320  
329  
338  
114  
111  
459  
115  
112  
190  
361  
154  
Main Compressor Gain Reduction  
(Linear)  
165  
MCI  
Look-Ahead Delay Output Left  
Look-Ahead Delay Output Right  
Main Compressor Out Left  
Main Compressor Out Right  
Interpolator Input Left  
165  
178  
175  
188  
191  
MDI  
MDI  
Mult_Out  
Mult_Out  
Mult_Out  
3.21, 2 LSBsTruncated  
3.21, 2 LSBsTruncated  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
(Includes Sub Reinject)  
Interpolator Input Right  
(Includes Sub Reinject)  
362  
Mult_Out  
1.23, Clipped  
Subchannel Filter Input  
Sub Xover Biquad 0 Output  
Sub Xover Biquad 1 Output  
Sub Xover Biquad 2 Output  
Left Xover Biquad 0 Output  
Left Xover Biquad 1 Output  
Right Xover Biquad 0 Output  
Right Xover Biquad 1 Output  
Sub Delay Output  
430  
438  
447  
456  
99  
108  
349  
358  
511  
467  
489  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
Mult_Out  
DB_Out  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
1.23, Clipped  
24-Bit Positive Binary, Bit 19  
Corresponds to a 3 dB Change  
2.22, 2 LSBs = 0  
1.23, Clipped  
Sub rms Biquad Output  
Sub rms Output (dB)  
Sub Compressor Gain (Linear)  
Subchannel Output  
495  
511  
MCI  
Mult_Out  
–28–  
REV. A  
LRCLK  
BCLK  
RIGHT CHANNEL  
LEFT CHANNEL  
SDATA  
MSB  
LSB  
MSB  
LEFT-JUSTIFIED MODE – 16 BITS TO 24 BITS PER CHANNEL  
LSB  
LRCLK  
BCLK  
SDATA  
LSB  
I S MODE – 16 BITS TO 24 BITS PER CHANNEL  
LSB  
MSB  
MSB  
2
RIGHT CHANNEL  
LRCLK  
BCLK  
LEFT CHANNEL  
SDATA  
LSB  
MSB  
MSB  
LSB  
RIGHT-JUSTIFIED MODE – SELECT NUMBER OF BITS PER CHANNEL  
LRCLK  
BCLK  
SDATA  
LSB  
LSB  
MSB  
MSB  
DSP MODE – 16 BITS TO 24 BITS PER CHANNEL  
1/fS  
NOTES  
1. DSP MODE DOESN’T IDENTIFY CHANNEL.  
2. LRCLK NORMALLY OPERATES AT fS EXCEPT DSP MODE, WHICH IS 2 fS.  
3. BCLK FREQUENCY IS NORMALLY 64 LRCLK BUT MAY BE OPERATED IN BURST MODE.  
Figure 20. Serial Input Modes  
clock period before the MSB of the right channel is valid. Data is  
sampled on the falling edge of BCLK.The DSP serial port mode  
can be used with any word length up to 24 bits. In this mode,  
it is the responsibility of the DSP to ensure that the left data is  
transmitted with the first LRCLK pulse and that synchronism is  
maintained from that point forward.  
SERIAL DATA INPUT PORT  
The AD1954’s flexible serial data input port accepts data in twos  
complement, MSB first format.The left channel data field always  
precedes the right channel data field.The serial mode is set by  
using mode select bits in the SPI control register. In all modes  
except for the right-justified mode, the serial port will accept an  
arbitrary number of bits up to a limit of 24 (extra bits will not  
cause an error, but they will be truncated internally). In the right-  
justified mode, SPI control register bits are used to set the word  
length to 16 bits, 20 bits, or 24 bits.The default on power-up is  
24-bit mode. Proper operation of the right-justified mode requires  
exactly 64 BCLKs per audio frame.  
DIGITAL CONTROL PINS  
Mute  
The AD1954 offers two methods of muting the analog output.  
By asserting the mute signal high, the left, right, and subchan-  
nels are muted. As an alternative, the user can assert the mute  
bit in the serial control register high. The AD1954 has been  
designed to minimize pops and clicks when muting and unmut-  
ing the device by automatically ramping the gain up or down.  
When the device is unmuted, the volume returns to the value  
set in the volume register.  
Serial Data Input Modes  
Figure 20 shows the serial input modes. For the left-justified  
mode, LRCLK is high for the left channel and low for the right  
channel. Data is sampled on the rising edge of BCLK.The MSB  
is left-justified to an LRCLK transition, with no MSB delay.The  
left-justified mode can accept any word length up to 24 bits.  
De-emphasis  
The AD1954 has a built-in de-emphasis filter that can be used to  
decode CDs that have been encoded with the standard redbook  
50 µs/15 µs emphasis response curve.This feature may be acti-  
vated by the pin or by an SPI write to the control register.When  
activating with the pin, only the 44.1 kHz sample rate curve is  
available.When using the SPI port, curves for 44.1 kHz, 32 kHz,  
and 48 kHz are supported.  
In I
2S mode, LRCLK is low for the left channel and high for  
the right channel. Data is valid on the rising edge of BCLK.The  
MSB is left-justified to an LRCLK transition but with a single  
BCLK period delay.The I2S mode can be used to accept any  
number of bits up to 24.  
In right-justified mode, LRCLK is high for the left channel and low  
for the right channel. Data is sampled on the rising edge of BCLK.  
The start of data is delayed from the LRCLK edge by 16 BCLK,  
12 BCLK, or 8 BCLK intervals, depending on the selected word  
length.The default word length is 24 bits; other word lengths are set  
by writing to Bits 1 and 0 of Control Register 1. In right-justified  
mode, it is assumed that there are 64 BCLKs per frame.  
For the DSP serial port mode, LRCLK must pulse high for at  
least one bit clock period before the MSB of the left channel  
is valid, and LRCLK must pulse high again for at least one bit  
REV. A  
–29–  
AD1954  
ANALOG OUTPUTSECTION  
3.01k  
1.50k  
270pF  
Figure 21 shows the block diagram of the analog output section.  
A series of current sources are controlled by a digital
-
modu-  
lator. Depending on the digital code from the modulator, each  
current source is connected to the summing junction of either a  
positive I-to-V converter or a negative I-to-V converter.Two extra  
current sources that push instead of pull are added to set the  
midscale common-mode voltage.  
2.80k  
1nF  
– INPUT  
+ INPUT  
549  
OUT  
2.7nF  
806  
2.2nF  
499  
820pF  
1.00k  
Figure 22. Recommended External Analog Filter  
for Main Channel  
I
I
REF  
REF  
11k  
6.8nF  
68pF  
11k  
3.01k  
– INPUT  
+ INPUT  
OUT+  
OUT–  
270nF  
27nF  
56nF  
604  
VREF IN  
OUT  
560nF  
2.2nF  
I
+ DIG_IN  
I
– DIG_IN  
220nF  
REF  
REF  
BIAS  
5.62k  
1.5k  
15nF  
150pF  
5.62k  
FROM DIGITAL  
SWITCHED CURRENT  
SOURCES  
-MODULATOR  
(DIG_IN)  
Figure 23. Recommended External Analog Filter  
for Subchannel  
Figure 21. Internal DAC Analog Architecture  
The lower frequency filter is used on the subwoofer output because  
there is no digital interpolation filter used in the subwoofer signal  
path.When calculating the resistor values for the filter, it is impor-  
tant to take into account the output resistance of the AD1954,  
which is nominally 60 . For best distortion performance, 1% resis-  
tors should be used.The reason for this is that the single-ended  
performance of the AD1954 is about 80 dB.The degree to which  
the single-ended distortion cancels in the final output is determined  
by the common-mode rejection of the external analog filter, which in  
turn depends on the tolerance of the components used in the filter.  
All current sources are derived from theVREF input pin.The  
gain of the AD1954 is directly proportional to the magnitude of  
the current sources, and therefore the gain of the AD1954 is pro-  
portional to the voltage on theVREF pin.WithVREF set to 2.5V,  
the gain of the AD1954 is set to provide signal swings of 2V rms  
differential (1V rms from each pin).This is the recommended  
operating condition.  
When the AD1954 is used to drive an audio power amplifier and  
the compression feature is being used, theVREF voltage should  
then be derived by dividing down the supply of the amplifier.  
This sets a fixed relationship between the digital signal level  
(which is the only information available to the digital compres-  
sor) and the full-scale output of the amplifier (just prior to the  
onset of clipping). For example, if the amplifier power supply  
drops by 10%, then theVREF input to the amplifier will also  
drop by 10%, which will reduce the analog output signal swing  
by 10%.The compressor will therefore be effective in preventing  
clipping, regardless of any variation in amplifier supply voltage.  
The sub output of the AD1954 has a lower drive strength than  
the left and right output pins (±0.25 mA peak versus ±0.5 mA  
peak for the left and right outputs). For this reason, it is best to  
use higher resistor values in the external sub filter.  
Figure 24 shows a recommended filter design for the subwoofer  
pins used as a full bandwidth channel in a custom designed pro-  
gram.This design is also a 100 kHz Bessel filter.  
11k  
68pF  
Since theVREF input effectively multiplies the signal, care must  
be taken to ensure that no ac signals appear on this pin.This  
can be accomplished by using a large decoupling capacitor in  
theVREF external resistive divider circuit. If theVREF signal is  
derived by dividing the 5V analog supply, then the time constant  
of the divider must effectively filter any noise on the supply. If  
theVREF signal is derived from an unregulated power amplifier  
supply, then the time constant must be longer, since the ripple on  
the amplifier supply voltage will presumably be greater than in  
the case of the 5V supply.  
11k  
– INPUT  
3.01k  
27nF  
604  
OUT  
56nF  
2.2nF  
1.5k  
5.62k  
+ INPUT  
5.62k  
150pF  
Figure 24. Recommended External Analog Filter for  
Full Bandwidth Signals on the Subchannel Output  
The AD1954 should be used with an external third order filter  
on each output channel.The circuit shown in Figures 22, 23, and  
24 combine a third order filter and a single-ended-to-differential  
converter in the same circuit
.
T
he values used in the main channel  
(Figure 22) are for a 100 kHz Bessel filter, and those used in the  
subwoofer channel (Figure 23) result in a 10 kHz Bessel filter.  
For best performance, a large (>10 µF) capacitor should be con-  
nected between the FILTCAP pin and analog ground.This pin is  
connected to an internal node in the bias generator, and by add-  
ing an external capacitance to this pin, the thermal noise of the  
left/right channels is minimized.The sub channel is not affected  
by this connection.  
–30–  
REV. A  
GRAPHICAL CUSTOM PROGRAMMIN
G
T
OOLS  
Custom programming tools are available for the AD1954 from ADI.  
These graphical tools allow the user to modify the default signal  
processing flow by individually placing each block (e.g., biquad  
filter, Phat Stereo, dynamics processor) and connecting them in  
any desired fashion.The program then creates a file that is loaded  
into the AD1954’s program RAM.All of the contents of the parame-  
ter RAM can also be set using these tools. For more information  
on these programming tools, contact SigmaDSP@analog.com.  
REV. A  
–31–  
AD1954  
APPENDIX  
3. Compute coefficients:  
Cookbook Formulae for Audio EQ Biquad Coefficients  
(Adapted from Robert Bristow-Johnson’s Internet Posting)  
b0 = ( 1 + A  )/( 1 + (/A))  
b1 = –2
cs/( 1 + (/A))  
b2 = (1 – (  A))/(1 + (/A))  
a1 = 2
cs/(1 + (/A)) = –b1  
a2 = –( 1 – (/A))/( 1 + (/A))  
For designing a parametric EQ, follow the steps below.  
1. Given:  
Frequency  
Q
4. The transfer function implemented by the AD1954 is given by:  
H(Z) = (b0 + b1
Z – 1 + b2
Z – 2)/  
(1 – a1
Z – 1 – a2
Z – 2)  
dB_Gain  
Sample_Rate  
Note the inversion in sign of a1 and a2 relative to the more  
standard form
.
T
his form is used in this document because  
the AD1954 implements the difference equation using the  
formula belo
w
.  
2. Compute intermediate variables:  
A = 10
(dB_Gain/40)  
= 2
  
Frequency/Sample_Rate  
sn = sin(
)  
cs = cos(
)  
= sn/(2
Q)  
Y(n) = a1 y(n – 1) + a2 y(n – 2) + b0 x(n)  
+ b1
x(n – 1) + b2 x(n – 2)  
–32–  
REV. A  
OUTLINE DIMENSIONS  
44-Lead Metric Quad Flat Package [MQFP]  
(S-44)  
Dimensions shown in millimeters  
13.45  
13.20 SQ  
12.95  
1.03  
0.88  
0.73  
2.45  
MAX  
33  
23  
8  
0.8  
34  
22  
SEATING  
PLANE  
10.20  
10.00 SQ  
9.80  
TOP VIEW  
(PINS DOWN)  
7VIEW A  
0  
2.20  
2.00  
1.80  
PIN 1  
44  
12  
0.25 MAX  
0.10 MIN  
1
11  
COPLANARITY  
0.10  
0.45  
0.29  
0.80  
BSC  
VIEW A  
ROTATED 90CCW  
COMPLIANT TO JEDEC STANDARDS MO-112-AB  
48-Lead Low Profile Quad Flat Package [LQFP]  
(ST-48)  
Dimensions shown in millimeters  
0.75  
0.60  
0.45  
9.00 BSC  
SQ  
1.60  
MAX  
37  
48  
36  
1
PIN 1  
SEATING  
PLANE  
10  
6  
2  
7.00  
BSC SQ  
TOP VIEW  
(PINS DOWN)  
1.45  
1.40  
1.35  
0.20  
0.09  
VIEW A  
7  
3.5  
0  
25  
12  
0.15  
0.05  
13  
24  
SEATING  
PLANE  
0.08 MAX  
COPLANARITY  
0.27  
0.22  
0.17  
0.50  
BSC  
VIEW A  
ROTATED 90CCW  
COMPLIANT TO JEDEC STANDARDS MS-026BBC  
REV. A  
–33–  
AD1954  
Revision History  
Location  
Page  
8/03—Data Sheet changed from REV. 0 to REV. A.  
Changes to SPECIFICATIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3  
Changes to ABSOLUTE MAXIMUM RATINGS 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6  
Changes to ORDERING GUIDE 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6  
Change toT
PCs 1 and 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8  
Change to Main Compressor/Limiter section 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15  
Change to Interpolation Filters section 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18  
Replaced Control Register 1 section 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20  
Changes to Control Register 2 section 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
Changes to Parameter RAM Contents section 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22  
Change toTableVI 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
Change toTa
ble IX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24  
Change toTa
ble XI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25  
Change to DATA CAPTURE REGISTERS section 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26  
Change toTable XX 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  
Change to ANALOG OUTPUT SECTION section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  
Reversed Figures 22 and 23 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  
Added Figure 24 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  
Updated OUTLINE DIMENSIONS 
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  
–34–  
REV. A  
–35–  
–36–  

相关型号:

AD1954YSTRL7

SigmaDSP⑩ 3-Channel, 26-Bit Signal Processing DAC
ADI

AD1954YSTZ

SigmaDSP™ 3-Channel, 26-Bit Signal Processing DAC
ADI

AD1954YSTZ

SPECIALTY CONSUMER CIRCUIT, PQFP48, MS-026BBC, PLASTIC, LQFP-48
ROCHESTER

AD1954YSTZRL

SPECIALTY CONSUMER CIRCUIT, PQFP48, MS-026BBC, PLASTIC, LQFP-48
ROCHESTER

AD1954YSZ

SPECIALTY CONSUMER CIRCUIT, PQFP44, MO-112AB, MQFP-44
ROCHESTER

AD1955

High Performance Multibit DAC with SACD Playback
ADI

AD1955ARS

High Performance Multibit with SACD Playback
ADI

AD1955ARSRL

High Performance Multibit with SACD Playback
ADI

AD1955ARSZ

High Performance Multibit with SACD Playback
ADI

AD1955ARSZRL

High Performance, Multibit Sigma-Delta DAC with SACD Playback
ADI

AD1955YRS

High Performance Multibit DAC with SACD Playback
ADI

AD1955YRSRL

High Performance Multibit DAC with SACD Playback
ADI