WM8581 [WOLFSON]

Multichannel CODEC with S/PDIF Transceiver; 多通道编解码器S / PDIF收发器
WM8581
型号: WM8581
厂家: WOLFSON MICROELECTRONICS PLC    WOLFSON MICROELECTRONICS PLC
描述:

Multichannel CODEC with S/PDIF Transceiver
多通道编解码器S / PDIF收发器

解码器 编解码器 光电二极管
文件: 总100页 (文件大小:1053K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
WM8581  
w
Multichannel CODEC with S/PDIF Transceiver  
DESCRIPTION  
FEATURES  
Multi-channel CODEC with 4 Stereo DACs and 1 Stereo  
ADC  
The WM8581 is a multi-channel audio CODEC with S/PDIF  
transceiver. The WM8581 is ideal for DVD and surround  
sound processing applications for home hi-fi, automotive  
and other audiovisual equipment.  
Integrated S/PDIF / IEC-60958-3 transceiver  
Audio Performance  
103dB SNR (‘A’ weighted @ 48kHz) DAC  
-90dB THD (48kHz) DAC  
Integrated into the device is a stereo 24-bit multi-bit sigma  
delta ADC with support for digital audio output word lengths  
from 16-bit to 32-bit, and sampling rates from 8kHz to  
192kHz.  
100dB SNR (‘A’ weighted @ 48kHz) ADC  
-87dB THD (48kHz) ADC  
Also included are four stereo 24-bit multi-bit sigma delta  
DAC Sampling Frequency: 8kHz – 192kHz  
ADC Sampling Frequency: 8kHz – 192kHz  
Independent ADC and DAC Sample Rates  
DACs, each with  
a
dedicated oversampling digital  
interpolation filter. Digital audio input word lengths from 16-  
bits to 32-bits and sampling rates from 8kHz to 192kHz are  
supported. Each DAC channel has independent digital  
volume and mute control.  
2 and 3-Wire Serial Control Interface with readback, or  
Hardware Control Interface  
GPO pins allow visibility of user selected status flags  
Programmable Audio Data Interface Modes  
Two independent audio data interfaces support I2S, Left  
Justified, Right Justified and DSP digital audio formats.  
Each audio interface can operate in either Master Mode or  
Slave Mode.  
I2S, Left, Right Justified or DSP  
16/20/24/32 bit Word Lengths  
Four independent stereo DAC outputs with independent  
digital volume controls  
The S/PDIF transceiver is IEC-60958-3 compatible and  
supports frame rates from 32k/s to 96k/s. It has four  
multiplexed inputs and one output. Status and error  
monitoring is built-in and results can reported over the serial  
interface or via GPO pins. S/PDIF Channel Block  
configuration is also supported.  
Two Independent Master or Slave Audio Data Interfaces  
Flexible Digital Interface Routing with Clock Selection  
Control  
2.7V to 5.5V Analogue, 2.7V to 3.6V Digital Supply  
Operation  
The device has two PLLs that can be configured  
independently to generate two system clocks for internal or  
external use.  
48-lead TQFP Package  
Device control and setup is via a 2-wire or 3-wire (SPI  
compatible) serial interface. The serial interface provides  
access to all features including channel selection, volume  
controls, mutes, de-emphasis, S/PDIF control/status, and  
power management facilities. Alternatively, the device has a  
Hardware Control Mode where device features can be  
enabled/disabled using selected pins.  
APPLICATIONS  
Digital TV  
DVD Players and Receivers  
Surround Sound AV Processors and Hi-Fi systems  
Automotive Audio  
The device is available in a 48-lead TQFP package.  
WOLFSON MICROELECTRONICS plc  
Production Data, April 2007, Rev 4.0  
To receive regular email updates, sign up at http://www.wolfsonmicro.com/enews/  
Copyright ©2007 Wolfson Microelectronics plc  
WM8581  
Production Data  
BLOCK DIAGRAM  
PD Rev 4.0 April 2007  
2
w
Production Data  
WM8581  
TABLE OF CONTENTS  
DESCRIPTION............................................................................................................................................. 1  
FEATURES .................................................................................................................................................. 1  
APPLICATIONS ........................................................................................................................................... 1  
BLOCK DIAGRAM....................................................................................................................................... 2  
TABLE OF CONTENTS............................................................................................................................... 3  
PIN CONFIGURATION ................................................................................................................................ 4  
ORDERING INFORMATION........................................................................................................................ 4  
PIN DESCRIPTION...................................................................................................................................... 5  
MULTI-FUNCTION PINS .......................................................................................................................................... 6  
ABSOLUTE MAXIMUM RATINGS.............................................................................................................. 8  
RECOMMENDED OPERATING CONDITIONS .......................................................................................... 9  
ELECTRICAL CHARACTERISTICS............................................................................................................ 9  
TERMINOLOGY...................................................................................................................................................... 15  
MASTER CLOCK TIMING ...................................................................................................................................... 15  
DIGITAL AUDIO INTERFACE – MASTER MODE.................................................................................................. 16  
DIGITAL AUDIO INTERFACE – SLAVE MODE ..................................................................................................... 17  
CONTROL INTERFACE TIMING – 3-WIRE MODE ............................................................................................... 18  
CONTROL INTERFACE TIMING – 2-WIRE MODE ............................................................................................... 18  
DEVICE DESCRIPTION............................................................................................................................. 20  
INTRODUCTION..................................................................................................................................................... 20  
CONTROL INTERFACE OPERATION ................................................................................................................... 21  
DIGITAL AUDIO INTERFACES.............................................................................................................................. 25  
AUDIO DATA FORMATS........................................................................................................................................ 27  
AUDIO INTERFACE CONTROL............................................................................................................................. 31  
DAC FEATURES .................................................................................................................................................... 33  
ADC FEATURES .................................................................................................................................................... 40  
DIGITAL ROUTING OPTIONS................................................................................................................................ 41  
CLOCK SELECTION .............................................................................................................................................. 43  
PHASE-LOCKED LOOPS AND S/PDIF CLOCKING (SOFTWARE MODE) .......................................................... 49  
PHASE-LOCKED LOOPS AND S/PDIF CLOCKING (HARDWARE MODE).......................................................... 57  
S/PDIF TRANSCEIVER.......................................................................................................................................... 58  
S/PDIF TRANSMITTER.......................................................................................................................................... 59  
S/PDIF RECEIVER................................................................................................................................................. 62  
POWERDOWN MODES......................................................................................................................................... 71  
INTERNAL POWER ON RESET CIRCUIT............................................................................................................. 73  
HARDWARE CONTROL MODE............................................................................................................................. 75  
REGISTER MAP..................................................................................................................................................... 78  
DIGITAL FILTER CHARACTERISTICS .................................................................................................... 94  
DAC FILTER RESPONSES.................................................................................................................................... 94  
DIGITAL DE-EMPHASIS CHARACTERISTICS...................................................................................................... 95  
ADC FILTER RESPONSES.................................................................................................................................... 95  
ADC HIGH PASS FILTER....................................................................................................................................... 96  
APPLICATIONS INFORMATION............................................................................................................... 97  
RECOMMENDED EXTERNAL COMPONENTS..................................................................................................... 97  
PACKAGE DIMENSIONS.......................................................................................................................... 99  
IMPORTANT NOTICE.............................................................................................................................. 100  
ADDRESS:............................................................................................................................................................ 100  
PD Rev 4.0 April 2007  
w
3
WM8581  
Production Data  
PIN CONFIGURATION  
ORDERING INFORMATION  
PEAK  
SOLDERING  
TEMPERATURE  
TEMPERATURE  
MOISTURE  
SENSITIVITY LEVEL  
DEVICE  
PACKAGE  
RANGE  
48-lead TQFP  
(Pb-free)  
WM8581AGEFT/V  
WM8581AGEFT/RV  
-25 to +85oC  
MSL1  
MSL1  
260°C  
260°C  
48-lead TQFP  
-25 to +85oC  
(Pb-free, tape and reel)  
Note:  
Reel quantity = 2,200  
PD Rev 4.0 April 2007  
4
w
Production Data  
WM8581  
PIN DESCRIPTION  
PIN  
1
NAME  
VOUT4L  
VOUT4R  
PGND  
TYPE  
DESCRIPTION  
Analogue Output  
Analogue Output  
Supply  
DAC channel 4 left output  
DAC channel 4 right output  
PLL ground  
2
3
4
PVDD  
Supply  
PLL positive supply  
Crystal or CMOS clock input  
Crystal output  
5
XTI  
Digital Input  
6
XTO  
Digital Output  
Digital Input/Output  
Digital Input/Output  
Digital Output  
Digital Input/Output  
Digital Input/Output  
Digital Input/Output  
Digital Input  
7
MFP7  
Multi-Function Pin (MFP) 7. See Table 1 for details of all MFP pins.  
Multi-Function Pin (MFP) 6. See Table 1 for details of all MFP pins.  
S/PDIF transmitter output  
8
MFP6  
9
SPDIFOP  
MFP5  
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  
Multi-Function Pin (MFP) 5. See Table 1 for details of all MFP pins.  
Multi-Function Pin (MFP) 4. See Table 1 for details of all MFP pins.  
Multi-Function Pin (MFP) 3. See Table 1 for details of all MFP pins.  
S/PDIF Receiver Input 1  
MFP4  
MFP3  
SPDIFIN1  
CLKOUT  
DVDD  
Digital Output  
Supply  
PLL or crystal oscillator clock output  
Digital positive supply  
DGND  
Supply  
Digital ground  
MUTE  
Digital Input/Output  
Digital Input  
DAC mute-all input/ All-DAC Infinite Zero Detect (IZD) flag output  
Primary Audio Interface (PAIF) receiver data input 1  
Primary Audio Interface (PAIF) receiver data input 2  
Primary Audio Interface (PAIF) receiver data input 3  
Primary Audio Interface (PAIF) receiver data input 4  
Primary Audio Interface (PAIF) receiver left/right word clock  
Primary Audio Interface (PAIF) receiver bit clock  
System Master clock; 256, 384, 512, 768, 1024 or 1152 fs  
Primary Audio Interface (PAIF) transmitter data output  
Primary audio interface transmitter left/right word clock  
Multi-Function Pin (MFP) 1. See Table 1 for details of all MFP pins.  
Multi-Function Pin (MFP) 2. See Table 1 for details of all MFP pins.  
Configures control to be either Software Mode or Hardware Mode  
Configures software interface to be either 2-wire or 3-wire. See note 2.  
3-wire control interface data output. See note 3.  
Control interface data input (and output under 2-wire control)  
Control interface clock  
DIN1  
DIN2  
Digital Input  
DIN3  
Digital Input  
DIN4  
Digital Input  
PAIFRX_LRCLK  
PAIFRX_BCLK  
MCLK  
Digital Input/Output  
Digital Input/Output  
Digital Input/Output  
Digital Output  
Digital Input/Output  
Digital Input/Output  
Digital Input/Output  
Digital Input  
DOUT  
PAIFTX_LRCLK  
MFP1  
MFP2  
HWMODE  
SWMODE  
SDO  
Digital Input/Output  
Digital Output  
Digital Input/Output  
Digital Input  
SDIN  
SCLK  
CSB  
Digital Input  
3-wire control interface latch signal / device address selection  
ADC Right Channel Input  
AINR  
Analogue Input  
Analogue Input  
Analogue Output  
Analogue Output  
Supply  
AINL  
ADC Left Channel Input  
ADCREFP  
VMID  
ADC reference buffer decoupling pin; 10uF external decoupling  
Midrail divider decoupling pin; 10uF external decoupling  
Analogue ground  
AGND  
AVDD  
Supply  
Analogue positive supply  
VOUT1L  
VOUT1R  
VOUT2L  
VOUT2R  
VREFP  
VREFN  
Analogue Output  
Analogue Output  
Analogue Output  
Analogue Output  
Analogue Input  
Analogue Input  
DAC channel 1 left output  
DAC channel 1 right output  
DAC channel 2 left output  
DAC channel 2 right output  
DAC and ADC positive reference  
DAC and ADC ground reference  
PD Rev 4.0 April 2007  
5
w
WM8581  
Production Data  
PIN  
47  
NAME  
VOUT3L  
VOUT3R  
TYPE  
DESCRIPTION  
Analogue Output  
Analogue Output  
DAC channel 3 left output  
DAC channel 3 right output  
48  
Notes :  
1. Digital input pins have Schmitt trigger input buffers. Pins 32, 33, 34 are 5V tolerant.  
2. In hardware control mode, pin 30 is used for UNLOCK flag output.  
3. In hardware control mode, pin 31 is used for NON_AUDIO flag output.  
MULTI-FUNCTION PINS  
The WM8581 has 7 Multi-Function Input/Output pins (MFP1 etc.). The function and direction (input/output) of these pins  
reconfigured using the HWMODE input pin and software register control as shown below. If HWMODE is set, the MFPs have the  
function shown in column 1 of Table 1. If HWMODE is not set, and the register SAIF_EN is set, the MFPs have the function shown  
in column 2. Otherwise, the GPOnOP registers determine the MFP function as shown in columns 3 and 4.  
N
Y
HWMODE = 1  
Y
N
SAIF_EN = 1  
GPIOnOP  
PIN NAME  
HARDWARE  
CONTROL MODE  
FUNCTION  
SECONDARY AUDIO  
INTERFACE FUNCTION  
S/PDIF INPUT &  
INDEPENDENT  
CLOCKING  
GENERAL PURPOSE  
OUTPUT FUNCTION  
2
4
1
PAIFTX_BCLK  
ADCMCLK  
DR1  
3
MFP1  
MFP2  
MFP3  
MFP4  
MFP5  
MFP6  
MFP7  
n/a1  
n/a1  
n/a1  
PAIFTX_BCLK2  
ADCMCLK3  
SPDIFIN2  
SPDIFIN3  
SPDIFIN4  
GPO6  
GPO1  
GPO2  
GPO3  
GPO4  
GPO5  
GPO6  
GPO7  
DR2  
SAIF_DIN  
SAIF_DOUT  
SAIF_BCLK  
SAIF_LRCLK  
DR3  
DR4  
ALLPD  
GPO7  
Table 1 Multi-Function Pin Configuration  
Notes:  
1. These pins are not used as part of the Secondary Audio Interface, so their function is that of either Column 3 or Column 4.  
2. MFP1 can by GPO1 only if ADC_CLKSEL and PAIFTXMS_CLKSEL (if in master mode) source MCLK.Note that by default  
ADC_CLKSEL sources ADCMCLK pin.  
3. MFP2 can be GPO2 if neither ADC_CLKSEL, TX_CLKSEL or SAIFMS_CLKSEL (if in master mode) source ADCMCLK.Note  
that by default all three ADC_CLKSEL sources ADCMCLK pin.  
PD Rev 4.0 April 2007  
w
6
Production Data  
WM8581  
PIN FUNCTION  
PAIFTX_BCLK  
ADCMCLK  
TYPE  
Digital Input/Output  
Digital Input  
DESCRIPTION  
Primary Audio Interface Transmitter (PAIFTX) Bit Clock  
Master ADC clock; 256fs, 384fs, 512fs ,786fs, 1024fs or 1152fs  
Secondary Audio Interface (SAIF) Receiver data input  
Secondary Audio Interface (SAIF) Transmitter data output  
Secondary Audio Interface (SAIF) Bit Clock  
Secondary Audio Interface (SAIF) Left/Right Word Clock  
S/PDIF Receiver Input  
SAIF_DIN  
Digital Input  
SAIF_DOUT  
SAIF_BCLK  
SAIF_LRCLK  
SPDIFIN2/3/4  
GPO1 - GPO7  
DR1/2/3/4  
Digital Output  
Digital Input/Output  
Digital Input/Output  
Digital Input  
Digital Output  
Digital Input  
General Purpose Output  
Internal Digital Routing Configuration in Hardware Mode  
Chip Powerdown in Hardware Mode  
ALLPD  
Digital Input  
Table 2 Multi-Function Pin Description  
PD Rev 4.0 April 2007  
7
w
WM8581  
Production Data  
ABSOLUTE MAXIMUM RATINGS  
Absolute Maximum Ratings are stress ratings only. Permanent damage to the device may be caused by continuously operating at  
or beyond these limits. Device functional operating limits and guaranteed performance specifications are given under Electrical  
Characteristics at the test conditions specified.  
ESD Sensitive Device. This device is manufactured on a CMOS process. It is therefore generically susceptible  
to damage from excessive static voltages. Proper ESD precautions must be taken during handling and storage  
of this device.  
The WM8581 has been classified as MSL1, which has an unlimited floor life at <30oC / 85% Relative Humidity and therefore will  
not be supplied in moisture barrier bags.  
CONDITION  
MIN  
MAX  
Digital supply voltage  
-0.3V  
+3.63V  
Analogue supply voltage  
-0.3V  
-0.3V  
+7V  
+5V  
+7V  
PLL supply voltage  
Voltage range digital inputs (SCLK, CSB & SDIN only)  
DGND -0.3V  
Voltage range digital inputs  
DGND -0.3V  
DVDD + 0.3V  
Voltage range analogue inputs 1  
AGND -0.3V  
PGND -0.3V  
AVDD +0.3V  
PVDD +0.3V  
37MHz  
Master Clock Frequency  
Operating temperature range, TA  
-25°C  
+85°C  
Storage temperature prior to soldering  
Storage temperature after soldering  
30°C max / 85% RH max  
-65°C  
+150°C  
+260°C  
+183°C  
Pb Free Package body temperature (soldering 10 seconds)  
Package body temperature (soldering 2 minutes)  
Notes: 1. Analogue and digital grounds must always be within 0.3V of each other.  
Table 3 Absolute Maximum Ratings  
PD Rev 4.0 April 2007  
8
w
Production Data  
WM8581  
RECOMMENDED OPERATING CONDITIONS  
PARAMETER  
SYMBOL  
DVDD  
TEST CONDITIONS  
MIN  
2.7  
2.7  
3.3  
TYP  
MAX  
3.6  
UNIT  
Digital supply range  
Analogue supply range  
PLL supply range  
Ground  
V
V
V
V
AVDD  
5.5  
PVDD  
5.5  
AGND, VREFN, DGND.  
PGND  
0
0
Difference DGND to  
AGND/PGND  
-0.3  
+0.3  
V
Note: Digital supply DVDD must never be more than 0.3V greater than AVDD.  
Table 4 Recommended Operating Conditions  
ELECTRICAL CHARACTERISTICS  
Test Conditions  
AVDD, PVDD, VREFP = 5V, DVDD = 3.3V, AGND, VREFN = 0V, PGND, DGND = 0V, TA = +25oC, 1kHz Signal, fs = 48kHz,  
24-Bit Data, Slave Mode, MCLK, ADCMCLK = 256fs, 1Vrms Input Signal Level unless otherwise stated.  
PARAMETER  
SYMBOL  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
Vrms  
dB  
DAC Performance (Load = 10k, 50pF)  
0dBFs Full scale output voltage  
1.0xVREFP/5  
103  
Signal to Noise Ratio (See  
Terminology note 1,2,4)  
SNR  
95  
A-Weighted  
@ fs = 48kHz  
Unweighted,  
@ fs = 48kHz  
100  
99  
dB  
dB  
A-Weighted  
@ fs = 48kHz, AVDD =  
3.3V  
PD Rev 4.0 April 2007  
9
w
WM8581  
Production Data  
Test Conditions  
AVDD, PVDD, VREFP = 5V, DVDD = 3.3V, AGND, VREFN = 0V, PGND, DGND = 0V, TA = +25oC, 1kHz Signal, fs = 48kHz,  
24-Bit Data, Slave Mode, MCLK, ADCMCLK = 256fs, 1Vrms Input Signal Level unless otherwise stated.  
PARAMETER  
SYMBOL  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
101  
dB  
A-Weighted  
@ fs = 96kHz  
Unweighted,  
@ fs = 96kHz  
98  
99  
dB  
dB  
A-Weighted  
@ fs = 96kHz, AVDD =  
3.3V  
101  
dB  
A-Weighted  
@ fs = 192kHz  
Unweighted,  
98  
99  
dB  
dB  
@ fs = 192kHz  
A-Weighted  
@ fs = 192kHz, AVDD  
= 3.3V  
Dynamic Range (See  
Terminology note 2,4)  
DNR  
THD  
A-weighted, -60dB full  
scale input  
95  
103  
-90  
dB  
dB  
Total Harmonic Distortion  
1kHz, 0dB Full Scale @  
fs = 48kHz  
-85  
PD Rev 4.0 April 2007  
10  
w
Production Data  
WM8581  
Test Conditions  
AVDD, PVDD, VREFP = 5V, DVDD = 3.3V, AGND, VREFN = 0V, PGND, DGND = 0V, TA = +25oC, 1kHz Signal, fs = 48kHz,  
24-Bit Data, Slave Mode, MCLK, ADCMCLK = 256fs, 1Vrms Input Signal Level unless otherwise stated.  
PARAMETER  
SYMBOL  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
1kHz, 0dB Full Scale @  
fs = 96kHz  
-87  
dB  
1kHz, 0dB Full Scale @  
fs = 192kHz  
-84  
dB  
DAC Channel separation  
Mute Attenuation  
100  
100  
2
dB  
dB  
1kHz Input, 0dB gain  
Output Offset Error  
mV  
PD Rev 4.0 April 2007  
11  
w
WM8581  
Production Data  
Test Conditions  
AVDD, PVDD, VREFP = 5V, DVDD = 3.3V, AGND, VREFN = 0V, PGND, DGND = 0V, TA = +25oC, 1kHz Signal, fs = 48kHz,  
24-Bit Data, Slave Mode, MCLK, ADCMCLK = 256fs, 1Vrms Input Signal Level unless otherwise stated.  
PARAMETER  
SYMBOL  
TEST CONDITIONS  
1kHz 100mVp-p  
20Hz to 20kHz  
100mVp-p  
MIN  
TYP  
50  
MAX  
UNIT  
dB  
Power Supply Rejection Ratio  
(See note 4)  
PSRR  
45  
dB  
ADC Performance  
Full Scale Input Signal Level (for  
ADC 0dB Input)  
Vrms  
1.0xVREFP/5  
Input resistance  
6
k  
pF  
dB  
Input capacitance  
10  
Signal to Noise Ratio (See  
Terminology note 1,2,4)  
SNR  
90  
100  
A-Weighted  
@ fs = 48kHz  
Unweighted,  
@ fs = 48kHz  
97  
97  
dB  
dB  
A-Weighted  
@ fs = 48kHz, AVDD =  
3.3V  
97  
dB  
A-Weighted  
@ fs = 96kHz  
Unweighted,  
@ fs = 96kHz  
94  
94  
dB  
dB  
PD Rev 4.0 April 2007  
12  
w
Production Data  
WM8581  
Test Conditions  
AVDD, PVDD, VREFP = 5V, DVDD = 3.3V, AGND, VREFN = 0V, PGND, DGND = 0V, TA = +25oC, 1kHz Signal, fs = 48kHz,  
24-Bit Data, Slave Mode, MCLK, ADCMCLK = 256fs, 1Vrms Input Signal Level unless otherwise stated.  
PARAMETER  
SYMBOL  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
A-Weighted  
@ fs = 96kHz, AVDD =  
3.3V  
97  
dB  
A-Weighted  
@ fs = 192kHz  
Unweighted,  
94  
94  
dB  
dB  
@ fs = 192kHz  
A-Weighted  
@ fs = 192kHz, AVDD  
= 3.3V  
Total Harmonic Distortion  
THD  
DNR  
1kHz, -1dB Full Scale  
@ fs = 48kHz  
-87  
-86  
-85  
-80  
dB  
dB  
dB  
1kHz, -1dB Full Scale  
@ fs = 96kHz  
1kHz, -1dB Full Scale  
@ fs = 192kHz  
Dynamic Range  
-60dB FS  
1kHz Input  
1KHz Signal  
90  
100  
97  
ADC Channel Separation  
dB  
dB  
Channel Level Matching (See  
Terminology note 4)  
0.1  
Channel Phase Deviation  
Offset Error  
1kHz Signal  
HPF On  
0.0001  
0
Degree  
LSB  
HPF Off  
100  
LSB  
Digital Logic Levels (CMOS Levels)  
Input LOW level  
VIL  
VIH  
0.3 x DVDD  
+1  
V
V
Input HIGH level  
0.7 x DVDD  
-1  
Input leakage current  
Input capacitance  
±0.2  
5
µA  
pF  
V
Output LOW  
VOL  
VOH  
I
OL=1mA  
0.1 x DVDD  
Output HIGH  
I
OH= -1mA  
0.9 x DVDD  
V
Analogue Reference Levels  
Reference voltage  
VVMID  
VREFP/2 –  
50mV  
VREFP/2  
VREFP/2 +  
50mV  
V
PD Rev 4.0 April 2007  
13  
w
WM8581  
Production Data  
Test Conditions  
AVDD, PVDD, VREFP = 5V, DVDD = 3.3V, AGND, VREFN = 0V, PGND, DGND = 0V, TA = +25oC, 1kHz Signal, fs = 48kHz,  
24-Bit Data, Slave Mode, MCLK, ADCMCLK = 256fs, 1Vrms Input Signal Level unless otherwise stated.  
PARAMETER  
SYMBOL  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
Potential divider resistance  
RVMID  
VREFP to VMID and  
VMID to VREFN  
14  
kΩ  
VMIDSEL = 1  
VREFP to VMID and  
VMID to VREFN  
44  
50  
kΩ  
VMIDSEL = 0  
S/PDIF Transceiver Performance  
Jitter on recovered clock  
S/PDIF Input Levels CMOS MODE  
Input LOW level  
ps  
VIL  
VIH  
0.3 X DVDD  
36  
V
V
Input HIGH level  
0.7 X DVDD  
Input capacitance  
1.25  
pF  
Input Frequency  
MHz  
S/PDIF Input Levels Comparator MODE  
Input capacitance  
Input resistance  
Input frequency  
Input Amplitude  
PLL  
10  
23  
pF  
kΩ  
25  
MHz  
mV  
200  
0.5 X DVDD  
Period Jitter  
XTAL  
80  
ps(rms)  
Input XTI LOW level  
Input XTI HIGH level  
Input XTI capacitance  
Input XTI leakage  
VXIL  
0
557  
mV  
mV  
pF  
VXIH  
CXJ  
853  
3.32  
28.92  
86  
4.491  
38.96  
278  
IXleak  
VXOL  
VXOH  
mA  
mV  
V
Output XTO LOW  
Output XTO HIGH  
Supply Current  
15pF load capacitors  
15pF load capacitors  
1.458  
1.942  
Analogue supply current  
Analogue supply current  
Digital supply current  
Power Down  
AVDD, VREFP = 5V  
AVDD, VREFP = 3.3V  
DVDD = 3.3V  
45  
30  
mA  
mA  
mA  
µA  
25  
500  
Table 5 Electrical Characteristics  
Notes:  
1. Ratio of output level with 1kHz full scale input, to the output level with all zeros into the digital input, measured ‘A’ weighted.  
2. All performance measurements done with 20kHz low pass filter, and where noted an A-weight filter. Failure to use such a filter  
will result in higher THD+N and lower SNR and Dynamic Range readings than are found in the Electrical Characteristics. The  
low pass filter removes out of band noise; although it is not audible it may affect dynamic specification values.  
3. VMID decoupled with 10uF and 0.1uF capacitors (smaller values may result in reduced performance).  
4. PSSR measured with VMID set to high impedance  
PD Rev 4.0 April 2007  
w
14  
Production Data  
WM8581  
TERMINOLOGY  
1. Signal-to-noise ratio (dB) – SNR is a measure of the difference in level between the full scale output and the output with no  
signal applied. (No Auto-zero or Automute function is employed in achieving these results).  
2. Dynamic range (dB) – DNR is a measure of the difference between the highest and lowest portions of a signal. Normally a  
THD+N measurement at 60dB below full scale. The measured signal is then corrected by adding the 60dB to it. (e.g. THD+N  
@ -60dB= -32dB, DR= 92dB).  
3. THD (dB) – THD is a ratio, of the rms values, of Distortion/Signal.  
4. Stop band attenuation (dB) – Is the degree to which the frequency spectrum is attenuated (outside audio band).  
5. Channel Separation (dB) – Also known as Cross-Talk. This is a measure of the amount one channel is isolated from the  
other. Normally measured by sending a full scale signal down one channel and measuring the other.  
6. Pass-Band Ripple – Any variation of the frequency response in the pass-band region.  
MASTER CLOCK TIMING  
tMCLKL  
ADCMCLK/  
MCLK  
tMCLKH  
tMCLKY  
Figure 1 Master Clock Timing Requirements  
Test Conditions  
AVDD, PVDD, VREFP = 5V, DVDD = 3.3V, AGND, VREFN = 0V, PGND, DGND = 0V, TA = +25oC  
PARAMETER  
SYMBOL  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
System Clock Timing Information  
ADCMCLK and MCLK System clock  
pulse width high  
tMCLKH  
tMCLKL  
tMCLKY  
11  
11  
ns  
ns  
ns  
ADCMCLK and MCLK System clock  
pulse width low  
ADCMCLK and MCLK System clock  
cycle time  
28  
ADCMCLK and MCLK Duty cycle  
40:60  
60:40  
Table 3 Master Clock Timing Requirements  
PD Rev 4.0 April 2007  
15  
w
WM8581  
Production Data  
DIGITAL AUDIO INTERFACE – MASTER MODE  
PAIFRX_BCLK/  
PAIFTX_BCLK/  
SAIF_BCLK  
(Output)  
tDL  
PAIFRX_LRCLK/  
PAIFTX_LRCLK/  
SAIF_LRCLK  
(Outputs)  
tDDA  
DOUT/  
SAIF_DOUT  
DIN1/2/3/4  
SAIF_DIN  
tDST  
tDHT  
Figure 2 Digital Audio Data Timing – Master Mode  
Test Conditions  
AVDD, PVDD, VREFP = 5V, DVDD = 3.3V, AGND, VREFN, PGND, DGND = 0V, TA = +25oC, Master Mode, fs = 48kHz, MCLK  
and ADCMCLK = 256fs unless otherwise stated.  
PARAMETER  
SYMBOL  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
Audio Data Input Timing Information  
PAIFTX_LRCLK/  
PAIFRX_LRCLK/  
tDL  
0
10  
ns  
SAIF_LRCLK propagation  
delay from PAIFTX_BCLK/  
PAIFRX_BCLK/  
SAIF_BCLK falling edge  
DOUT/SAIF_DOUT  
propagation delay from  
PAIFTX_BCLK/  
tDDA  
tDST  
tDHT  
0
10  
ns  
ns  
ns  
SAIF_BCLK falling edge  
DIN1/2/3/4/SAIF_DIN setup  
time to  
PAIFRX_BCLK/SAIF_BCLK  
rising edge  
10  
10  
DIN1/2/3/4/SAIF_DIN hold  
time from  
PAIFRX_BCLK/SAIF_BCLK  
rising edge  
Table 4 Digital Audio Data Timing – Master Mode  
PD Rev 4.0 April 2007  
16  
w
Production Data  
WM8581  
DIGITAL AUDIO INTERFACE – SLAVE MODE  
Figure 3 Digital Audio Data Timing – Slave Mode  
Test Conditions  
AVDD, PVDD = 5V, DVDD = 3.3V, AGND = 0V, PGND,DGND = 0V, TA = +25oC, Slave Mode, fs = 48kHz, MCLK and  
ADCMCLK = 256fs unless otherwise stated.  
PARAMETER  
SYMBOL  
TEST CONDITIONS  
MIN  
TYP  
MAX  
UNIT  
Audio Data Input Timing Information  
PAIFTX_BCLK/  
tBCY  
50  
ns  
PAIFRX_BCLK/SAIF_BCLK cycle  
time  
PAIFTX_BCLK/  
tBCH  
20  
20  
10  
ns  
ns  
ns  
PAIFRX_BCLK/SAIF_BCLK pulse  
width high  
PAIFTX_BCLK/  
tBCL  
PAIFRX_BCLK/SAIF_BCLK pulse  
width low  
PAIFTX_LRCLK/  
tLRSU  
PAIFRX_LRCLK/SAIF_BCLK set-up  
time to PAIFTX_BCLK/  
PAIFRX_BCLK/SAIF_BCLK rising  
edge  
PAIFTX_LRCLK/  
PAIFRX_LRCLK/  
tLRH  
10  
ns  
SAIF_LRCLK hold time from  
PAIFTX_BCLK/  
PAIFRX_BCLK/SAIF_BCLK rising  
edge  
DIN1/2/3/4/SAIF_DIN set-up time to  
PAIFRX_BCLK/  
tDS  
10  
ns  
SAIF_BCLK rising edge  
DIN1/2/3/4/SAIF_DIN hold time  
from PAIFRX_BCLK/SAIF_BCLK  
rising edge  
tDH  
10  
0
ns  
ns  
DOUT/SAIF_DOUT propagation  
delay from  
tDD  
10  
PAIFTX_BCLK/SAIF_BCLK falling  
edge  
Table 5 Digital Audio Data Timing – Slave Mode  
PD Rev 4.0 April 2007  
17  
w
WM8581  
Production Data  
CONTROL INTERFACE TIMING – 3-WIRE MODE  
t
t
CSS  
CSH  
CSB  
t
t
t
SCY  
SCS  
CSS  
SCLK  
SDIN  
LSB  
t
t
t
DSU  
DHO  
DL  
LSB  
SDO  
Figure 4 SPI Compatible Control Interface Input Timing  
Test Conditions  
AVDD, PVDD = 5V,DVDD = 3.3V, AGND, PGND,DGND = 0V, TA = +25oC, fs = 48kHz, MCLK and ADCMCLK = 256fs unless  
otherwise stated  
PARAMETER  
SCLK rising edge to CSB rising edge  
SCLK pulse cycle time  
SYMBOL  
tSCS  
MIN  
60  
TYP  
MAX  
60/40  
5
UNIT  
ns  
tSCY  
80  
ns  
SCLK duty cycle  
40/60  
20  
ns  
SDIN to SCLK set-up time  
SDIN hold time from SCLK rising edge  
tDSU  
tDHO  
tDL  
ns  
20  
ns  
SDO propagation delay from SCLK rising  
edge  
ns  
CSB pulse width high  
tCSH  
tCSS  
tps  
20  
20  
2
ns  
ns  
ns  
CSB rising/falling to SCLK rising  
SCLK glitch suppression  
8
Table 6 3-wire SPI Compatible Control Interface Input Timing Information  
CONTROL INTERFACE TIMING – 2-WIRE MODE  
t
3
t
t
3
5
SDIN  
SCLK  
t
t
t
t
6
2
4
8
t
t
t
7
9
1
Figure 5 Control Interface Timing – 2-Wire Serial Control Mode  
PD Rev 4.0 April 2007  
18  
w
Production Data  
WM8581  
Test Conditions  
AVDD, PVDD = 5V,DVDD = 3.3V, AGND, PGND,DGND = 0V, TA = +25oC, fs = 48kHz, MCLK and ADCMCLK = 256fs unless  
otherwise stated  
PARAMETER  
SYMBOL  
MIN  
TYP  
MAX  
UNIT  
Program Register Input Information  
SCLK Frequency  
0
526  
kHz  
us  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
SCLK Low Pulse-Width  
SCLK High Pulse-Width  
Hold Time (Start Condition)  
Setup Time (Start Condition)  
Data Setup Time  
t1  
t2  
t3  
t4  
t5  
t6  
t7  
t8  
t9  
tps  
1.3  
600  
600  
600  
100  
SDIN, SCLK Rise Time  
SDIN, SCLK Fall Time  
Setup Time (Stop Condition)  
Data Hold Time  
300  
300  
600  
0
900  
5
SCLK glitch suppression  
Table 7 2-Wire Control Interface Timing Information  
PD Rev 4.0 April 2007  
19  
w
WM8581  
Production Data  
DEVICE DESCRIPTION  
INTRODUCTION  
WM8581 is a complete mutli-channel CODEC with integrated S/PDIF transceiver. The device  
comprises four separate stereo DACs and a stereo ADC, in a single package, and controlled by  
either software or hardware interfaces.  
The four stereo DAC outputs are ideal to implement a complete 7.1 channel surround system. Each  
DAC has its own digital volume control (adjustable in 0.5dB steps) with zero cross detection. With  
zero cross enabled, volume updates occur as a signal transitions through its zero point. This  
minimises audible clicks and ‘zipper’ noise as the gain values change.  
Each stereo DAC has its own data input (DIN1/2/3/4) and shared word clock (PAIFRX_LRCLK), bit  
clock (PAIFRX_BCLK) and master clock (MCLK). The stereo ADC has data output (DOUT), word  
clock (PAIFTX_LRCLK), and bit clock (PAIFTX_BCLK). This allows the ADC to operate at a different  
sample rate to the DACs. In addition, a separate ADC master clock (ADCMCLK) can be used instead  
of MCLK for further flexibility.  
There are two independent Digital Audio Interfaces, which may be configured to operate in either  
master or slave mode. In Slave mode, the LRCLKs and BCLKs are inputs. In Master mode, the  
LRCLKs and BCLKs are outputs.  
The Audio Interfaces support Right Justified, Left Justified, I2S and DSP formats. Word lengths of 16,  
20, 24 and 32 bits are available (with the exception of 32 bit Right Justified).  
Operation using system clocks of 128fs, 192fs, 256fs, 384fs, 512fs, 768fs or 1152fs is provided. In  
Slave mode, selection between clock rates is automatically controlled. In master mode, the master  
clock to sample rate ratio is set by register control. Sample rates (fs) from less than 8ks/s up to  
192ks/s are permitted providing the appropriate system clock is input.  
The S/PDIF Transceiver is IEC-60958-3 compatible with 32k frames/s to 96k frames/s support.  
S/PDIF data can be input on one of four pins, and routed internally to the Audio Interfaces, DAC1,  
and S/PDIF transmitter. Error flags and status information can be read back over the serial interface,  
or output on GPO pins. The S/PDIF Transmitter can source data from the ADC, S/PDIF Receiver or  
Audio Interfaces. The Transceiver supports Consumer Mode Channel information, and transmitted  
Channel bits can be configured via register control.  
The Digital Routing paths between all the interfaces can be configured by the user, as can the  
corresponding interface clocking schemes.  
There are two PLLs, which can be independently configured to generate two system clocks for  
internal or external use.  
The serial control interface is controlled by pins CSB, SCLK, and SDIN, which are 5V tolerant with  
TTL input thresholds, allowing the WM8581 to be used with DVDD = 3.3V and be controlled by a  
controller with 5V output.  
The WM8581 may also be controlled in hardware mode, selected by the HWMODE pin. In hardware  
mode, limited control of internal functionality is available via the Multi-Function Pins (MFPs) and CSB,  
SCLK, SDIN and MUTE pins.  
PD Rev 4.0 April 2007  
20  
w
Production Data  
WM8581  
CONTROL INTERFACE OPERATION  
Control of the WM8581 is implemented either in Hardware Control Mode or Software Control Mode.  
The method of control is determined by the state of the HWMODE pin. If the HWMODE pin is low,  
Software Control Mode is selected. If the HWMODE pin is high, Hardware Control Mode is selected.  
The Software Control Interface is described below and Hardware Control Mode is described on page  
75.  
Software control is implemented with a 3-wire (3-wire write, 4-wire read, SPI compatible) or 2-wire (2-  
wire write, 2-wire read) serial interface.  
The interface configuration is determined by the state of the SWMODE pin. If the SWMODE pin is  
low, the 2-wire configuration is selected. If SWMODE is high the 3-wire SPI compatible configuration  
is selected.  
HWMODE  
SWMODE  
0
1
0
1
Software Control Hardware Control 2-wire control  
3-wire control  
Table 8 Hardware/Software Mode Setup  
The control interface is 5V tolerant, meaning that the control interface input signals CSB, SCLK and  
SDIN may have an input high level of 5V while DVDD is 3V. Input thresholds are determined by  
DVDD.  
3-WIRE (SPI COMPATIBLE) SERIAL CONTROL MODE WITH READ-BACK  
SDIN is used to program data, SCLK is used to clock in the program data and CSB is used to latch  
the program data. SDIN is sampled on the rising edge of SCLK. The 3-wire interface write protocol is  
shown in Figure 6.  
Figure 6 3-Wire SPI Compatible Interface  
1. A[6:0] are Control Address Bits  
2. D[8:0] are Control Data Bits  
3. CSB is edge sensitive – the data is latched on the rising edge of CSB.  
REGISTER READ-BACK  
The read-only status registers can be read back via the SDO pin. To enable readback the READEN  
control register bit must be set. The status registers can then be read using one of two methods,  
selected by the CONTREAD register bit.  
With CONTREAD set, a single read-only register can be read back by writing to any other register or  
to a dummy register. The register to be read is determined by the READMUX[2:0] bits. When a write  
to the device is performed, the device will respond by returning the status byte in the register selected  
by the READMUX register bits. This 3-wire interface read back method using a write access is shown  
in.Figure 7  
PD Rev 4.0 April 2007  
21  
w
WM8581  
Production Data  
DESCRIPTION  
REGISTER ADDRESS  
BIT  
LABEL  
READMUX  
[2:0]  
DEFAULT  
R52  
READBACK  
34h  
2:0  
000  
Determines which status register  
is to be read back:  
000 = Error Register  
001 = Channel Status Register 1  
010 = Channel Status Register 2  
011 = Channel Status Register 3  
100 = Channel Status Register 4  
101 = Channel Status Register 5  
110 = S/PDIF Status Register  
Continuous Read Enable.  
3
4
CONTREAD  
READEN  
0
0
0 = Continuous read-back mode  
disabled  
1 = Continuous read-back mode  
enabled  
Read-back mode enable.  
0 = read-back mode disabled  
1 = read-back mode enabled  
Table 9 Read-back Control Register  
The 3-wire interface readback protocol is shown below. Note that the SDO pin is tri-state unless CSB  
is held low; therefore CSB must be held low for the duration of the read.  
Figure 7 3-Wire SPI Compatible Interface Continuous Readback  
If CONTREAD is set to zero, the user can read back directly from the register by writing to the  
register address, to which the device will respond with data. The protocol for this system is shown in  
Figure 8 below.  
Figure 8 3-Wire SPI Compatible Control Interface Non-Continuous Readback  
PD Rev 4.0 April 2007  
22  
w
Production Data  
WM8581  
2-WIRE SERIAL CONTROL MODE WITH READ-BACK  
The WM8581 supports software control via a 2-wire read/write serial bus. Many devices can be  
controlled by the same bus, and each device has a unique 7-bit address (see Table 10).  
The controller indicates the start of data transfer with a high to low transition on SDIN while SCLK  
remains high. This indicates that a device address, DEVA(7:1), and data REG(6:0) will follow. All  
devices on the 2-wire bus respond to the start condition and shift in the next eight bits on SDIN (7-bit  
address + Read/Write bit, MSB first). If the device address received matches the address of the  
WM8581, the WM8581 responds by pulling SDIN low on the next clock pulse (ACK). If the address is  
not recognised, the WM8581 returns to the idle condition and wait for a new start condition and valid  
address.  
Once the WM8581 has acknowledged a correct address, the controller sends the first byte of control  
data (REGA(6:0), i.e. the WM8581 register address plus the first bit of register data). The WM8581  
then acknowledges the first data byte by pulling SDIN low for one clock pulse. The controller then  
sends the second byte of control data (DIN(7:0), i.e. the remaining 8 bits of register data), and the  
WM8581 acknowledges by driving SDIN low.  
The transfer of data is complete when there is a low to high transition on SDIN while SCLK is high.  
After receiving a complete address and data sequence the WM8581 returns to the idle state and  
waits for another start condition. If a start or stop condition is detected out of sequence at any point  
during data transfer (i.e. SDIN changes while SCLK is high), the device returns to the idle condition.  
Figure 9 2-Wire Serial Control Interface  
The WM8581 has two possible device addresses, which can be selected using the CSB pin.  
CSB STATE  
DEVICE ADDRESS IN 2-  
WIRE MODE  
ADDRESS (X=R/W BIT)  
X=0  
0x34  
0x36  
X= 1  
0x35  
0x37  
Low or Unconnected  
High  
0011010x  
0011011x  
Table 10 2-Wire MPU Interface Address Selection  
PD Rev 4.0 April 2007  
23  
w
WM8581  
Production Data  
REGISTER READBACK  
The WM8581 allows readback of certain registers in 2-wire mode. As in 3-wire mode, there are two  
methods of reading back data: continuous and non-continuous readback. Continuous readback is set  
by writing to the Readback Control register (see Table 9) to set READEN and CONTREAD to 1, and  
to set the READMUX bits to select the register to be read back. The status of this register can then  
be readback using the protocol shown in Figure 10.  
Figure 10 2-Wire Continuous Readback  
If CONTREAD is set to zero, the user can read back directly from the register by writing to the  
register address, to which the device will respond with data. The protocol for this system is shown in  
Figure 11.  
Figure 11 2-Wire Non-Continuous Readback  
PD Rev 4.0 April 2007  
24  
w
Production Data  
WM8581  
SOFTWARE REGISTER RESET  
Writing to register R53 will cause a register reset, resetting all register bits to their default values.  
Note that the WM8581 is powered down by default so writing to this register will power down the  
device.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R53  
RESET  
35h  
8:0  
RESET  
n/a  
Writing any data value to this register  
will apply a reset to the device  
registers.  
Table 11 Software Reset  
DIGITAL AUDIO INTERFACES  
Audio data is transferred to and from the WM8581 via the Digital Audio Interfaces. There are two  
Receive Audio Interfaces and two Transmit Audio Interfaces. The Digital Routing options for these  
interfaces are described on page 24. Control of the audio interfaces is described below.  
MASTER AND SLAVE MODES  
The Audio Interfaces require both a left-right-clock (LRCLK) and a bit-clock (BCLK). These can be  
supplied externally (slave mode) or they can be generated internally (master mode). When in master  
mode, the BCLKs and LRCLKs for an interface are output on the corresponding BCLK and LRCLK  
pins. By default, all interfaces operate in slave mode, but can operate in master mode by setting the  
PAIFTXMS, PAIFRXMS, SAIFMS register bits. In Hardware Control Mode, the PAIF Transmitter can  
operate in master mode by setting the SDI pin.  
Figure 12 Slave Mode  
Figure 13 Master Mode  
PD Rev 4.0 April 2007  
25  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R9  
5
PAIFRX  
MS  
0
PAIF Rx Master/Slave Mode Select:  
0 = Slave Mode  
1 = Master Mode  
5
5
PAIFTX  
MS  
0
0
PAIF Tx Master/Slave Mode Select:  
0 = Slave Mode  
R10  
R11  
1 = Master Mode  
SAIFMS  
SAIF Master/Slave Mode Select:  
0 = Slave Mode  
1 = Master Mode  
Table 12 Master Mode Registers  
The frequency of a master mode LRCLK is dependant on system clock and the RATE register control  
bits. Table 27 shows the settings for common sample rates and system clock frequencies.  
SAMPLING RATE  
MCLK CLOCK FREQUENCY (MHZ)  
(LRCLK)  
128fs  
RATE =000  
4.096  
192fs  
RATE =001  
6.144  
256fs  
RATE =010  
8.192  
384fs  
RATE =011  
12.288  
512fs  
RATE =100  
16.384  
768fs  
RATE =101  
24.576  
1152fs  
RATE =110  
36.864  
32kHz  
44.1kHz  
48kHz  
5.6448  
6.144  
8.467  
11.2896  
12.288  
16.9344  
18.432  
22.5792  
24.576  
33.8688  
36.864  
Unavailable  
Unavailable  
9.216  
88.2kHz  
96kHz  
11.2896  
12.288  
22.5792  
24.576  
16.9344  
18.432  
33.8688  
36.864  
22.5792  
24.576  
33.8688  
36.864  
Unavailable Unavailable Unavailable  
Unavailable Unavailable Unavailable  
176.4kHz  
192kHz  
Unavailable Unavailable Unavailable Unavailable Unavailable  
Unavailable Unavailable Unavailable Unavailable Unavailable  
Table 13 Master Mode MCLK / LRCLK Frequency Selection  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R9  
PAIF 1  
09h  
2:0  
PAIFRX_RATE  
[2:0]  
010  
Master Mode MCLK/LRCLK  
Ratio:  
000 = 128fs  
001 = 192fs  
010 = 256fs  
011 = 384fs  
100 = 512fs  
101 = 768fs  
110 = 1152fs  
R10  
2:0  
2:0  
PAIFTX_RATE  
[2:0]  
010  
010  
PAIF 2  
0Ah  
R11  
SAIF_RATE  
[2:0]  
SAIF 1  
0Bh  
Table 14 Master Mode RATE Registers  
In master mode, the BCLKSEL register controls the number of BCLKs per LRCLK. If the  
MCLK:LRCLK ratio is 128fs or 192fs and BCLKSEL = 10, BCLKSEL is overwritten to be 128  
BCLKs/LRCLK. Also, if BCLKSEL = 00, and LRCLK is 192fs or 1152fs, the generated BCLK has a  
mark-space ratio of 1:2.  
PD Rev 4.0 April 2007  
26  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R9  
PAIF 1  
09h  
4:3  
PAIFRX_BCLKSEL  
[1:0]  
00  
Master Mode BCLK Rate:  
00 = 64 BCLKs per LRCLK  
01 = 32 BCLKs per LRCLK  
10 = 16 BCLKs per LRCLK  
11 = BCLK = System Clock.  
R10  
4:3  
4:3  
PAIFTX_BCLKSEL  
[1:0]  
00  
00  
PAIF 2  
0Ah  
R11  
SAIF_BCLKSEL  
[1:0]  
SAIF 1  
0Bh  
Table 15 Master Mode BCLK Control  
AUDIO DATA FORMATS  
Five popular interface formats are supported:  
Left Justified mode  
Right Justified mode  
I2S mode  
DSP Mode A  
DSP Mode B  
All five formats send the MSB first and support word lengths of 16, 20, 24 and 32 bits, with the  
exception of 32 bit right justified mode, which is not supported.  
Audio Data for each stereo channel is time multiplexed with the interface’s Left-Right-Clock (LRCLK),  
indicating whether the left or right channel is present. The LRCLK is also used as a timing reference  
to indicate the beginning or end of the data words.  
In Left Justified, Right Justified and I2S modes, the minimum number of BCLKs per LRCLK period is  
2 times the selected word length. LRCLK must be high for a minimum of BCLK periods equivalent to  
the audio word length, and low for minimum of the same number of BCLK periods. Any mark to  
space ratio on LRCLK is acceptable provided these requirements are met.  
In DSP modes A and B, left and right channels must be time multiplexed and input on the input data  
line on the Audio Interface. For the PAIF Receiver, all four left/right DAC channels are multiplexed on  
DIN1 (assuming DAC_SEL = 00). LRCLK is used as a frame synchronisation signal to identify the  
MSB of the first word. The minimum number of BCLKs per LRCLK period is eight times the selected  
word length. Any mark to space ratio is acceptable on LRCLK provided the rising edge is correctly  
positioned.  
LEFT JUSTIFIED MODE  
In Left Justified mode, the MSB of the input data is sampled by the WM8581 on the first rising edge  
of BCLK following a LRCLK transition. The MSB of the output data changes on the same falling edge  
of BCLK as LRCLK and may be sampled on the next rising edge of BCLK. LRCLK is high during the  
left samples and low during the right samples.  
PD Rev 4.0 April 2007  
27  
w
WM8581  
Production Data  
Figure 14 Left Justified Mode Timing Diagram  
RIGHT JUSTIFIED MODE  
In Right Justified mode, the LSB of input data is sampled on the rising edge of BCLK preceding a  
LRCLK transition. The LSB of the output data changes on the falling edge of BCLK preceding a  
LRCLK transition, and may be sampled on the next rising edge of BCLK. LRCLKs are high during the  
left samples and low during the right samples.  
Figure 15 Right Justified Mode Timing Diagram  
I2S MODE  
In I2S mode, the MSB of DIN1/2/3/4 is sampled on the second rising edge of BCLK following a  
LRCLK transition. The MSB of the output data changes on the first falling edge of BCLK following an  
LRCLK transition, and may be sampled on the next rising edge of BCLK. LRCLKs are low during the  
left samples and high during the right samples.  
Figure 16 I2S Mode Timing Diagram  
PD Rev 4.0 April 2007  
28  
w
Production Data  
WM8581  
DSP MODE A  
In DSP Mode A, the MSB of Channel 1 left data is sampled on the second rising edge of BCLK  
following a LRCLK rising edge. Channel 1 right data then follows. For the PAIF Receiver, Channels 2  
, 3 and 4 follow as shown in Figure 17.  
Figure 17 DSP Mode A Timing Diagram – PAIF Receiver Input Data  
For the SAIF receiver, only stereo information is processed.  
Figure 18 DSP Mode A Timing Diagram – SAIF Receiver Input Data  
The MSB of the left channel of the output data changes on the first falling edge of BCLK following a  
low to high LRCLK transition and may be sampled on the rising edge of BCLK. The right channel data  
is contiguous with the left channel data.  
Figure 19 DSP Mode A Timing Diagram – PAIF/SAIF Transmitter Data  
PD Rev 4.0 April 2007  
w
29  
WM8581  
Production Data  
DSP MODE B  
In DSP Mode B, the MSB of Channel 1 left data is sampled on the first BCLK rising edge following a  
LRCLK rising edge. Channel 1 right data then follows. For the PAIF Receiver, Channels 2, 3 and 4  
follow as shown in Figure 20.  
Figure 20 DSP Mode B Timing Diagram – PAIF Receiver Input Data  
Figure 21 DSP Mode B Timing Diagram – SAIF Receiver Input Data  
The MSB of the output data changes on the same falling edge of BCLK as the low to high LRCLK  
transition and may be sampled on the rising edge of BCLK. The right channel data is contiguous with  
the left channel data.  
Figure 22 DSP Mode B Timing Diagram – PAIF/SAIF Transmitter Data  
PD Rev 4.0 April 2007  
30  
w
Production Data  
WM8581  
AUDIO INTERFACE CONTROL  
The register bits controlling the audio interfaces are summarized below. Dynamically changing the  
audio data format may cause erroneous operation, and is not recommended.  
Interface timing is such that the input data and LRCLK are sampled on the rising edge of the interface  
BCLK. Output data changes on the falling edge of the interface BCLK. By setting the appropriate bit  
clock polarity control register bits, e.g. PAIFRXBCP, the polarity of BCLK may be reversed, allowing  
input data and LRCLK to be sampled on the falling edge of BCLK. Setting the bit clock polarity  
register for a transmit interface results in output data changing on the rising edge of BCLK.  
Similarly, the polarity of left/right clocks can be reversed by setting the appropriate left right polarity  
bits, e.g. PAIFRXLRP.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R12  
PAIF 3  
0Ch  
1:0  
PAIFRXFMT  
[1:0]  
10  
PAIF Receiver Audio Data Format  
Select  
11: DSP Format  
10: I2S Format  
01: Left justified  
00: Right justified  
3:2  
PAIFRXWL  
[1:0]  
10  
PAIF Receiver Audio Data Word  
Length  
11: 32 bits (see Note 1,2)  
10: 24 bits  
01: 20 bits  
00: 16 bits  
4
PAIFRXLRP  
0
In LJ/RJ/I2S modes  
0 = LRCLK not inverted  
1 = LRCLK inverted  
In DSP Format:  
0 = DSP Mode A  
1 = DSP Mode B  
5
PAIFRXBCP  
0
PAIF Receiver BCLK polarity  
0 = BCLK not inverted  
1 = BCLK inverted  
R13  
PAIF 4  
0Dh  
1:0  
PAIFTXFMT  
[1:0]  
10  
PAIF Transmitter Audio Data Format  
Select  
11: DSP Format  
10: I2S Format  
01: Left justified  
00: Right justified  
3:2  
PAIFTXWL  
[1:0]  
10  
PAIF Transmitter Audio Data Word  
Length  
11: 32 bits (see Note 1,2)  
10: 24 bits  
01: 20 bits  
00: 16 bits  
4
PAIFTXLRP  
0
In LJ/RJ/I2S modes  
0 = LRCLK not inverted  
1 = LRCLK inverted  
In DSP Format:  
0 = DSP Mode A  
1 = DSP Mode B  
PD Rev 4.0 April 2007  
31  
w
WM8581  
Production Data  
DESCRIPTION  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
5
PAIFTXBCP  
0
PAIF Receiver BCLK polarity  
0 = BCLK not inverted  
1 = BCLK inverted  
SAIF Audio Data Format Select  
11: DSP Format  
R14  
SAIF 2  
0Eh  
1:0  
3:2  
4
SAIFFMT  
[1:0]  
10  
10  
0
10: I2S Format  
01: Left justified  
00: Right justified  
SAIF Audio Data Word Length  
11: 32 bits (see Note 1,2)  
10: 24 bits  
SAIFWL  
[1:0]  
01: 20 bits  
00: 16 bits  
SAIFLRP  
In LJ/RJ/I2S modes  
0 = LRCLK not inverted  
1 = LRCLK inverted  
In DSP Format:  
0 = DSP Mode A  
1 = DSP Mode B  
5
6
SAIFBCP  
SAIF_EN  
0
0
SAIF BCLK polarity  
0 = BCLK not inverted  
1 = BCLK inverted  
SAIF Enable  
0 = SAIF disabled  
1 = SAIF enabled  
Table 16 Audio Interface Control  
Notes  
1. Right Justified mode does not support 32-bit data. If word length xAIFxxWL=11b in Right  
Justified mode, the word length is forced to 24 bits.  
In all modes, the data is signed 2’s complement. The digital filters internal signal paths process  
24-bit data. If the device is programmed to receive 16 or 20 bit data, the device pads the unused  
LSBs with zeros. If the device is programmed into 32 bit mode, the 8 LSBs are ignored.  
2. In 24 bit I2S mode, any data width of 24 bits or less is supported provided that LRCLK is high for  
a minimum of 24 BCLK cycles and low for a minimum of 24 BCLK cycles. If exactly 32 bit clocks  
occur in one full left/right clock period the interface will auto detect and configure a 16 bit data  
word length.  
PD Rev 4.0 April 2007  
32  
w
Production Data  
WM8581  
DAC FEATURES  
DAC INPUT CONTROL  
The Primary Audio Interface Receiver has a separate input pin for each stereo DAC. Any input pin  
can be routed to any DAC using the DACSEL register bits.  
REGISTER ADDRESS  
BIT  
LABEL  
DAC1SEL  
[1:0]  
DEFAULT  
DESCRIPTION  
R15  
DAC CONTROL 1  
0Fh  
1:0  
00  
DAC digital input select  
00 = DAC takes data from DIN1  
01 = DAC takes data from DIN2  
10 = DAC takes data from DIN3  
11 = DAC takes data from DIN4  
3:2  
5:4  
7:6  
DAC2SEL  
[1:0]  
01  
10  
11  
DAC3SEL  
[1:0]  
DAC4SEL  
[1:0]  
Table 17 DAC Input Select Register  
DAC OVERSAMPLING CONTROL  
For sampling clock ratios of 256fs to 1152fs the DACs should be programmed to operate at 128  
times oversampling rate. For sampling clock ratios of 128fs and 192fs, the DACs must be  
programmed to operate at 64 times oversampling rate. The DACOSR register bit selects between  
128x and 64x oversampling.  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
DAC Oversampling Rate Control  
0= 128x oversampling  
R12  
PAIF 3  
0Ch  
6
DACOSR  
0
1= 64x oversampling  
Table 18 DAC Oversampling Register  
PD Rev 4.0 April 2007  
33  
w
WM8581  
Production Data  
DAC OUTPUT CONTROL  
The DAC output control word determines how the left and right inputs to the audio interface are  
applied to the left and right DACs:  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R16  
DAC CONTROL 2  
10h  
3:0  
PL[3:0]  
1001  
PL[3:0]  
0000  
Left O/P  
Right O/P  
Mute  
Mute  
Left  
0001  
Mute  
0010  
0011  
0100  
0101  
0110  
0111  
1000  
1001  
1010  
1011  
Right  
(L+R)/2  
Mute  
Mute  
Mute  
Left  
Left  
Left  
Right  
(L+R)/2  
Mute  
Left  
Left  
Right  
Right  
Right  
Right  
Left  
Right  
(L+R)/2  
1100  
1101  
Mute  
Left  
(L+R)/2  
(L+R)/2  
1110  
1111  
Right  
(L+R)/2  
(L+R)/2  
(L+R)/2  
Table 19 DAC Attenuation Register (PL)  
ZERO FLAG OUTPUT  
Each DAC channel has a “zero detect circuit” which detects when 1024 consecutive zero samples  
have been input. Should both channels of a DAC indicate a zero-detect (or if either DACPD or  
DMUTE is set for that DAC), then the Zero Flag for that DAC is asserted. The DZFM register bits  
determine which Zero Flag is visible on the MUTE and GPO pins.  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
Selects the source for ZFLAG  
000 – All DACs Zero Flag  
001 – DAC1 Zero Flag  
010 – DAC2 Zero Flag  
011 – DAC3 Zero Flag  
100 – DAC4 Zero Flag  
101 – ZFLAG = 0  
R16  
DAC CONTROL 2  
10h  
6:4  
DZFM[2:0]  
000  
110 – ZFLAG = 0  
111 – ZFLAG = 0  
Table 20 DZFM Register  
PD Rev 4.0 April 2007  
34  
w
Production Data  
WM8581  
INFINITE ZERO DETECT  
Setting the IZD register bit will enable the internal Infinite Zero Detect function:  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R16  
DAC CONTROL 2  
10h  
7
IZD  
0
Infinite zero detection circuit control  
and automute control  
0 = Infinite zero detect automute  
disabled  
1 = Infinite zero detect automute  
enabled  
Table 21 IZD Register  
With IZD enabled, applying 1024 consecutive zero input samples to a stereo input channel on any  
DAC will cause that stereo channel output to be muted. Mute will be removed as soon as either of  
those stereo channels receives a non-zero input.  
DAC DIGITAL VOLUME CONTROL  
The DAC volume may also be adjusted in the digital domain using independent digital attenuation  
control registers  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R20  
7:0  
LDA1[7:0]  
11111111  
(0dB)  
Digital Attenuation control for DAC1 Left Channel (DACL1) in 0.5dB  
steps. See Table 23  
DIGITAL  
ATTENUATION  
DACL 1  
8
UPDATE  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store LDA1 in intermediate latch (no change to output)  
1 = Apply LDA1 and update attenuation on all channels  
14h  
R21  
7:0  
8
RDA1[6:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC1 Right Channel (DACR1) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACR 1  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store RDA1 in intermediate latch (no change to output)  
1 = Apply RDA1 and update attenuation on all channels.  
15h  
R22  
7:0  
8
LDA2[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC2 Left Channel (DACL2) in 0.5dB  
steps. See Table 23  
DIGITAL  
ATTENUATION  
DACL 2  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store LDA2 in intermediate latch (no change to output)  
1 = Apply LDA2 and update attenuation on all channels.  
16h  
R23  
7:0  
8
RDA2[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC2 Right Channel (DACR2) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACR 2  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store RDA2 in intermediate latch (no change to output)  
1 = Apply RDA2 and update attenuation on all channels.  
17h  
R24  
7:0  
8
LDA3[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC3 Left Channel (DACL3) in 0.5dB  
steps. See Table 23  
DIGITAL  
ATTENUATION  
DACL3  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store LDA3 in intermediate latch (no change to output)  
1 = Apply LDA3 and update attenuation on all channels.  
18h  
R25  
7:0  
8
RDA3[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC3 Right Channel (DACR3) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACR3  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store RDA3 in intermediate latch (no change to output)  
1 = Apply RDA3 and update attenuation on all channels.  
19h  
PD Rev 4.0 April 2007  
35  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R26  
7:0  
RDA4[7:0]  
11111111  
(0dB)  
Digital Attenuation control for DAC4 Left Channel (DACL4) in 0.5dB  
steps. See Table 23.  
DIGITAL  
ATTENUATION  
DACL4  
8
UPDATE  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store LDA4 in intermediate latch (no change to output)  
1 = Apply LDA4 and update attenuation on all channels.  
1Ah  
R27  
7:0 MASTDA[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC4 Right Channel (DACR4) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACR4  
8
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store RDA4 in intermediate latch (no change to output)  
1 = Apply RDA4 and update attenuation on all channels.  
1Bh  
R28  
7:0 MASTDA[7:0]  
11111111  
(0dB)  
Digital Attenuation control for all DAC channels in 0.5dB steps. See  
Table 23  
MASTER  
DIGITAL  
ATTENUATION  
8
UPDATE  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store gain in intermediate latch (no change to output)  
1 = Apply gain and update attenuation on all channels.  
1Ch  
Table 22 Digital Attenuation Registers  
Note: The volume update circuit of the WM8581 has two sets of registers; LDAx and RDAx. These  
can be accessed individually, or simultaneously by writing to MASTDA – Master Digital  
Attenuation. Writing to MASTDA will overwrite the contents of LDAx and RDAx.  
L/RDAx[7:0]  
ATTENUATION LEVEL  
00(hex)  
-dB (mute)  
01(hex)  
-127.5dB  
:
:
:
:
:
:
FE(hex)  
FF(hex)  
-0.5dB  
0dB  
Table 23 Digital Volume Control Gain Levels  
Setting the DACATC register bit causes the left channel attenuation settings to be applied to both left  
and right channel DACs from the next audio input sample. No update to the attenuation registers is  
required for DACATC to take effect.  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
Attenuator Control  
R19  
DAC CONTROL 5  
13h  
6
DACATC  
0
0 = All DACs use attenuations as  
programmed.  
1 = Right channel DACs use  
corresponding left DAC  
attenuations  
Table 24 DAC Attenuation Register  
The digital volume control also incorporates a zero cross detect circuit which detects a transition  
through the zero point before updating the digital volume control with the new volume. This  
mechanism helps prevents pops and clicks during volume transitions, and is enabled by control bit  
DZCEN.  
PD Rev 4.0 April 2007  
36  
w
Production Data  
WM8581  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R19  
DAC CONTROL 5  
13h  
5
DZCEN  
0
DAC Digital Volume Zero Cross  
Enable  
0 = Zero Cross detect disabled  
1 = Zero Cross detect enabled  
Table 25 Digital Zero Cross Register  
MUTE MODES  
The WM8581 has individual mutes for each of the four DAC channels. Setting DMUTE for a channel  
will apply a ‘soft-mute’ to the input of the digital filters for that channel. DMUTE[0] mutes DAC1  
channel, DMUTE[1] mutes DAC2 channel, DMUTE[2] mutes DAC3 channel and DMUTE[3] mutes  
DAC4 channel. Setting the MUTEALL register bit will apply a ‘soft-mute’ to the input of all the DAC  
digital filters.  
The MUTE pin can also be used to apply soft-mute to the DAC selected by the DZFM register bits.  
However, if the MPDENB register bit is set, the MUTE pin will activate a soft-mute for all DACs. The  
interaction of the various mute controls is shown in Figure 23.  
DMUTE(3:0)  
MUTEALL  
DACPD(3:0)  
PL(3:0)  
DZFM (2:0)  
DAC_SRC[1:0] = 00  
MUTE  
(register)  
Decode  
PCM_N or  
AUDIO_N = 1  
MPDENB  
MUTE  
(pin)  
DZFM  
Selector  
Channel 1  
Softmute  
Channel 2  
Softmute  
Channel 3  
Softmute  
zflag1  
zflag2  
DAC1 i/p  
1024  
Zeros  
Detect  
Channel 4  
Softmute  
3
zflag  
DAC2 i/p  
DAC3 i/p  
DAC4 i/p  
zflag4  
DAC_SRC[1:0] = 00  
UNLOCK = 1  
Channel 1  
Analogue  
Mute  
Channel 2  
Analogue  
Mute  
Channel 3  
Analogue  
Mute  
Channel 4  
Analogue  
Mute  
Decode  
(register)  
IZD  
Volume  
LDAx/RDAx  
(Digital volume)  
Figure 23 Mute Circuit Diagram  
PD Rev 4.0 April 2007  
37  
w
WM8581  
Production Data  
DESCRIPTION  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
R19  
DAC CONTROL 5  
13h  
3:0  
DMUTE[3:0]  
0000  
DAC channel soft mute  
enables:  
DMUTE[0] = 1, enable soft-  
mute on DAC1.  
DMUTE[1] = 1, enable soft-  
mute on DAC2.  
DMUTE[2] = 1, enable soft-  
mute on DAC3.  
DMUTE[3] = 1, enable soft-  
mute on DAC4.  
4
7
MUTEALL  
MPDENB  
0
0
DAC channel master soft mute.  
Mutes all DAC channels:  
0 = disable soft-mute on all  
DACs.  
1 = enable soft-mute on all  
DACs.  
MUTE pin decode enable:  
0 = MUTE activates soft-mute  
on DAC selected by DZFM  
1 = MUTE activates softmute  
on all DACs  
Table 26 Mute Registers  
1.5  
1
0.5  
0
-0.5  
-1  
-1.5  
-2  
-2.5  
0
0.001  
0.002  
0.003  
Time(s)  
0.004  
0.005  
0.006  
Figure 24 Application and Release of Mute  
Figure 24 shows the application and release of MUTE whilst a full amplitude sinusoid is being played  
at 48kHz sampling rate. When MUTE (lower trace) is asserted, the output (upper trace) begins to  
decay exponentially from the DC level of the last input sample. The output will decay towards VMID  
with a time constant of approximately 64 input samples. If MUTE is applied to all channels for 1024  
or more input samples the DAC will be muted if IZD is set. When MUTE is de-asserted, the output  
will restart immediately from the current input sample.  
All other means of muting the DAC channels will cause a much more abrupt muting of the output.  
PD Rev 4.0 April 2007  
38  
w
Production Data  
WM8581  
DE-EMPHASIS MODE  
A digital de-emphasis filter may be applied to each DAC channel. The de-emphasis filter for each  
stereo channel is enabled under the control of DEEMP[3:0]. DEEMP[0] enables the de-emphasis  
filter for DAC 1, DEEMP[1] enables the de-emphasis filter for DAC 2, DEEMP[2] enables the de-  
emphasis filter for DAC 3 and DEEMP[3] enables the de-emphasis filter for DAC 4.  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R17  
DAC CONTROL 3  
11h  
3:0  
DEEMP[3:0]  
0000  
De-emphasis mode select:  
DEEMP[0] = 1, enable De-  
emphasis on DAC1.  
DEEMP[1] = 1, enable De-  
emphasis on DAC2.  
DEEMP[2] = 1, enable De-  
emphasis on DAC3.  
DEEMP[3] = 1, enable De-  
emphasis on DAC4.  
4
DEEMPALL  
0
0 = De-emphasis controlled by  
DEEMP[3:0]  
1 = De-emphasis enabled on all  
DACs  
Table 27 De-emphasis Register  
Refer to, Figure 41, Figure 42, Figure 43 and Figure 44 for details of the De-Emphasis modes at  
different sample rates.  
DAC OUTPUT PHASE  
The DAC Phase control word determines whether the output of each DAC is non-inverted or inverted  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
Controls phase of DAC outputs  
0 = inverted  
R18  
DAC CONTROL 4  
12h  
7:0  
PHASE  
[7:0]  
11111111  
1 = non-inverted  
PHASE[0] = 0 inverts phase of  
DAC1L output  
PHASE[1] = 0 inverts phase of  
DAC1R output  
PHASE[2] = 0 inverts phase of  
DAC2L output  
PHASE[3] = 0 inverts phase of  
DAC2R output  
PHASE[4] = 0 inverts phase of  
DAC3L output  
PHASE[5] = 0 inverts phase of  
DAC3R output  
PHASE[6] = 0 inverts phase of  
DAC4L output  
PHASE[7] = 0 inverts phase of  
DAC4R output  
Table 28 DAC Output Phase Register  
PD Rev 4.0 April 2007  
39  
w
WM8581  
Production Data  
ADC FEATURES  
ADC HIGH-PASS FILTER DISABLE  
The ADC digital filters incorporate a digital high-pass filter. By default, this is enabled but can be  
disabled by setting the ADCHPD register bit to 1. This allows the input to the ADC to be DC coupled.  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
ADC high-pass filter disable  
0 = high-pass filter enabled  
1 = high-pass filter disabled  
R29  
ADC CONTROL 1  
1Dh  
4
ADCHPD  
0
Table 29 ADC Functions Register  
ADC OVERSAMPLING RATE SELECT  
The internal ADC signal processing operates at an oversampling rate of 128fs for all MCLK:LRCLK  
ratios. The exception to this is for operation with a 128fs or 192fs master clock, where the internal  
oversampling rate of the ADC is 64fs.  
For ADC operation at 96kHz in 256fs or 384fs mode it is recommended that the user set the  
ADCOSR bit. This changes the ADC signal processing oversampling rate from 128fs to 64fs.  
Similarly, for ADC operation at 192kHz in 128fs or 192fs mode it is recommended that the user set  
the ADCOSR bit to change the oversampling rate from 64fs to 32fs.  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
ADC oversample rate select  
0 = 128/64x oversampling  
1 = 64/32x oversampling  
R29  
ADC CONTROL 1  
1Dh  
3
ADCOSR  
0
Table 30 ADC Functions Register  
ADC MUTE  
As with the DAC, each ADC channel also has a mute control bit, which mutes the inputs to the ADC.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R29  
ADC CONTROL 1  
1Dh  
0
AMUTEL  
0
ADC Mute select  
0 : Normal Operation  
1: mute ADC left  
1
2
AMUTER  
0
0
ADC Mute select  
0 : Normal Operation  
1: mute ADC right  
AMUTEALL  
ADC Mute select  
0 : Normal Operation  
1: mute both ADC channels  
Table 31 ADC Mute Register  
PD Rev 4.0 April 2007  
40  
w
Production Data  
WM8581  
DIGITAL ROUTING OPTIONS  
The WM8581 has extremely flexible digital interface routing options, which are illustrated in Figure 25.  
It has a S/PDIF Receiver, S/PDIF Transmitter, four Stereo DACs, a Stereo ADC, a Primary Audio  
Interface and a Secondary Audio Interface.  
Each DAC has its own digital input pin DIN1/2/3/4. Internal multiplexers in the Primary Audio Interface  
Receiver allow the data received on any DIN pin to be routed to any DAC. Any DIN pin routed to  
DAC1 can also be routed to the S/PDIF transmitter and Secondary Audio Interface Transmitter.  
DAC1 may also be used to convert received S/PDIF data, or data received from the Secondary Audio  
Interface. DACs 2-4 take data only from the Primary Audio Interface. The Audio Interfaces can also  
output ADC data or received S/PDIF data.  
The S/PDIF transmitter can output S/PDIF received data, ADC data, or data from either Audio  
Interface.  
Figure 25 Digital Routing  
PD Rev 4.0 April 2007  
41  
w
WM8581  
Production Data  
The registers described below configure the digital routing options.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R12  
8:7  
DAC_SRC  
[1:0]  
11  
DAC1 Source:  
00 = S/PDIF received data.  
10 = SAIF Rx data  
11 = PAIF Rx data  
Note: When DAC_SRC = 00,  
DAC2/3/4 may be turned off,  
depending on RX2DAC_MODE.  
R13  
R14  
R30  
8:7  
8:7  
1:0  
PAIFTX_SRC  
[1:0]  
01  
00  
00  
Primary Audio Interface Tx Source:  
00 = S/PDIF received data.  
01 = ADC digital output data.  
10 = SAIF Rx data  
SAIFTX_SRC  
[1:0]  
Secondary Audio Interface Tx Source:  
00 = S/PDIF received data.  
01 = ADC digital output data.  
11 = PAIF Rx data  
TXSRC  
[1:0]  
S/PDIF Transmitter Data Source.  
00 = S/PDIF received data(‘thru-  
path’)  
01 = ADC digital output data.  
10 = SAIF Rx data  
11 = PAIF Rx data  
3
REAL_THRU  
0
S/PDIF Thru Mode Control  
0 = SPDIFOP pin sources output  
of S/PDIF Tx  
1 = SPDIFOP pins sources output  
of S/PDIF IN Mux  
Table 32 Interface Source Select Registers  
PD Rev 4.0 April 2007  
42  
w
Production Data  
WM8581  
CLOCK SELECTION  
To accompany the flexible digital routing options, the WM8581 offers a clock configuration scheme  
for each interface. By default, the user can choose the interface clock from MCLK, ADCMCLK,  
PLLACLK or PLLBCLK, with some restrictions which are autoconfigured. For example, if the S/PDIF  
receiver is routed to the DAC, appropriate interface clocks are autoconfigured. These are described  
in the following sections.  
For some interfaces, the rate can be controlled either by external LRCLK (slave mode), internal  
LRCLK (master mode) or by control register. The available options are described below.  
It is possible to override the autoconfiguration (setting CLKSEL_MAN = bit 6 of Register 8 to a 1),  
allowing the user to manually select any available clock for any interface using the appropriate  
CLKSEL register bits.  
DAC INTERFACE  
The DAC_CLKSEL register selects the DAC clock source from MCLK, PLLACLK or PLLBCLK. If the  
digital routing has been set such that the DAC1 is sourcing the S/PDIF Receiver, then PLLACLK is  
automatically selected, and DACs 2/3/4 are powered down by default.  
With RX2DAC_MODE set, DAC1 sources the S/PDIF receiver and DACs 2,3 and 4 source the PAIF  
(and hence are not powered down). The PAIFRX_LRCLK determines the sampling rate, so the  
S/PDIF sampling rate must be synchronised with PAIF_LRCLK. Also, use of the S/PDIF receiver  
means that PLLACLK and PLLBCLK are not available, and the MCLK applied to the DACs must be  
at a standard audio rate.  
The rate at which the DACs operate is determined by the DAC Rate module, divided down from the  
MCLK signal. It calculates the rate based on the digital routing setup, and selects between  
128/192/256/384/512/768/1152fs. When sourcing from the PAIF Receiver, PAIFRX_LRCLK (internal  
or external) is used in the rate calculation. When sourcing from the SAIF Receiver, SAIF_LRCLK  
(internal or external) is used in the rate calculation. When DAC1 is sourcing directly from the S/PDIF  
receiver, the sub-frame clock, SFRM_CLK, is used in the rate calculation. However this can be  
changed by setting the RX2DAC_MODE register bit, allowing the PAIF_LRCLK to determine the  
sampling rate.  
Figure 26 DAC Clock Selection  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
DAC clock source  
R8  
1:0  
DAC_CLKSEL  
00  
00 = MCLK pin  
01 = PLLACLK  
10 = PLLBCLK  
11 = MCLK pin  
PD Rev 4.0 April 2007  
43  
w
WM8581  
Production Data  
DAC Rate and Power down control  
R15  
8
RX2DAC_MODE  
0
(only valid when DAC_SRC = 00)  
0 = SFRM_CLK determines rate,  
DACs 2/3/4 powered down  
1 = PAIFRX_LRCLK determines  
rate, DACs 2/3/4 source PAIFRX  
Table 33 DAC Clock Control  
ADC INTERFACE  
The ADC_CLKSEL register selects the ADC clock source from ADCMCLK, PLLACLK, PLLBCLK, or  
ADCMCLK. However, if the S/PDIF receiver is powered up, the PLLACLK and PLLBCLK are invalid  
for ADC operation, so the choice is limited to ADCMCLK (default) or MCLK. The rate that the ADC  
operates at is determined by the ADC Rate module. It calculates the rate based on the digital routing  
setup. If the ADC is sourced by the PAIF Transmitter, PAIFTX_LRCLK is used in the rate calculation.  
If the ADC is sourced by the SAIF Transmitter (and PAIF Transmitter has another source),  
SAIF_LRCLK is used in the rate calculation. If the S/PDIF Transmitter (only) is sourcing the ADC,  
then the rate is set by the ADC_RATE register bits.  
The ADC clock source can be independent from the DACs and PLLs, however for optimum  
performance, it is recommended that where possible, clock sources on the WM8581 are  
synchronous. Performance may be degraded if this condition is not met.  
Figure 27 ADC Clock Selection  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
ADC clock source  
R8  
3:2  
ADC_CLKSEL  
00  
00 = ADCMLCK pin  
01 = PLLACLK  
10 = PLLBCLK  
11 = MCLK pin  
R29  
7:5  
ADCRATE[2:0]  
010  
ADC Rate Control (only used when  
the S/PDIF Tx is the only interface  
sourcing the ADC)  
000 = 128fs  
001 = 192fs  
010 = 256fs  
011 = 384fs  
100 = 512fs  
101 = 768fs  
110 = 1152fs  
Table 34 ADC Clock Control  
PD Rev 4.0 April 2007  
44  
w
Production Data  
WM8581  
S/PDIF INTERFACES  
The TX_CLKSEL register selects the clock for the S/PDIF Transmitter from ADCMCLK, PLLACLK,  
PLLBCLK, or MCLK. The S/PDIF Receiver only uses PLLACLK. If the digital routing has been  
configured such that the S/PDIF Transmitter is sourcing the S/PDIF Receiver, then PLLACLK is  
automatically selected. The rate that the S/PDIF Transmitter operates at is determined by the S/PDIF  
Tx Rate module. It calculates the rate based on the digital routing setup. When sourcing from the  
S/PDIF Receiver, the SFRM_CLK is used in the rate calculation. When sourcing from the PAIF  
Receiver, PAIFRX_LRCLK is used in the rate calculation. When sourcing from the SAIF Receiver,  
SAIFRX_LRCLK is used in the rate calculation. When sourcing the ADC, the rate is determined by  
either the PAIFTX_LRCLK (if the PAIF Tx also sources the ADC) or the ADC_RATE register.  
Figure 28 S/PDIF Clock Selection  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R8  
5:4  
TX_CLKSEL  
01  
S/PDIF TX clock source  
00 = ADCMLCK pin  
01 = PLLACLK  
10 = PLLBCLK  
11 = MCLK pin  
Table 35 S/PDIF Transmitter Clock Control  
PD Rev 4.0 April 2007  
45  
w
WM8581  
Production Data  
PRIMARY AUDIO INTERFACE RECEIVER (PAIF RX)  
The PAIF Receiver requires a left-right-clock (LRCLK) and a bit-clock (BCLK). These can be supplied  
externally (slave mode) or they can be generated internally by the WM8581 (master mode). The  
master mode LRCLK/BCLK are created by the Master Mode Clock Gen module. The control of this  
module is described on page 34. The clock supplied to this module is selected by the  
PAIFRXMS_CLKSEL register and can be MCLK, PLLACLK, or PLLBCLK.  
Figure 29 PAIF Receiver Clock Selection  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R9  
7:6  
PAIFRXMS_  
CLKSEL  
00  
PAIFRX Master Mode clock source  
00 = MCLK pin  
01 = PLLACLK  
10 = PLLBCLK  
11 = MCLK pin  
Table 36 PAIF Receiver Master Mode Clock Control  
PD Rev 4.0 April 2007  
46  
w
Production Data  
WM8581  
PRIMARY AUDIO INTERFACE TRANSMITTER (PAIF TX)  
The PAIF Transmitter requires a left-right-clock (LRCLK) and a bit-clock (BCLK). These can be  
supplied externally (slave mode) or they can be generated internally by the WM8581 (master mode).  
The master mode LRCLK/BCLK are created by the Master Mode Clock Gen module. The control of  
this module is described on page 34. The clock supplied to this module can be ADCMCLK,  
PLLACLK, PLLBCLK, or MCLK and is selected by the internal signal paiftxms_clksel’. If the PAIF  
Transmitter is sourcing the S/PDIF Receiver, it is recommended that the interface operate in master  
mode. For this path, paiftxms_clksel selects PLLACLK. For all other digital routing options,  
paiftxms_clksel automatically selects whichever clock the adc_clk is using.  
If in slave mode, and adc_clk is set to be MCLK, then the PAIFRX_BCLK is used as the BCLK for  
the PAIF Transmitter.  
Figure 30 PAIF Transmitter Clock Selection  
PD Rev 4.0 April 2007  
47  
w
WM8581  
Production Data  
SECONDARY AUDIO INTERFACES (SAIF RX AND SAIF TX)  
The Transmit and Receive sides of the Secondary Audio Interface share a common LRCLK and a  
common BCLK. These can be supplied externally (slave mode) or they can be generated internally  
by the WM8581 (master mode). The master mode LRCLK/BCLK are created by the Master Mode  
Clock Gen module. The control of this module is described on page 34. The clock supplied to this  
module can be ADCMCLK, PLLACLK, PLLBCLK, or MCLK and is selected using the  
SAIFMS_CLKSEL register. If the digital routing has been configured such that the SAIF Transmitter  
is sourcing the S/PDIF Receiver, then PLLACLK is automatically selected, and it is recommended  
that the interface operate in master mode. However, if the SAIF Transmitter sources something other  
than the S/PDIF Receiver, and the S/PDIF Receiver is powered up, the PLLACLK and PLLBCLK are  
invalid for SAIF operation, so the choice is limited to ADCMCLK (default) or MCLK.  
Figure 31 SAIF Clock Selection  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R11  
7:6  
SAIFMS_  
CLKSEL  
11  
SAIF Master Mode clock source  
00 = ADCMCLK pin  
01 = PLLACLK  
10 = PLLBCLK  
11 = MCLK pin  
Table 37 SAIF Master Mode Clock Control  
PD Rev 4.0 April 2007  
48  
w
Production Data  
WM8581  
MANUAL CLOCK SELECTION  
It is possible to override all default clocking configuration restrictions by setting CLKSEL_MAN. When  
CLKSEL_MAN is set, default clocking configurations such as automatic selection of PLLACLK for  
DAC1 when DACSRC=00 (S/PDIF received data) are not applied. Instead, clock selection is  
determined only by the relevant CLK_SEL register.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R8  
CLKSEL  
08h  
6
CLKSEL_MAN  
0
Clock selection auto-configuration  
override  
0 = auto-configuration enabled,  
clock configuration follows  
restrictions described in page 43  
to page 48.  
1 = auto-configuration disabled,  
clock configuration follows  
relevant CLKSEL bits in R8 to  
R11.  
Table 38 Manual Clock Selection  
PHASE-LOCKED LOOPS AND S/PDIF CLOCKING (SOFTWARE MODE)  
The WM8581 is equipped with two independent phase-locked loop clock generators and a  
comprehensive clocking scheme which provides maximum flexibility and function and many  
configurable routing possibilities for the user in software mode. An overview of the software mode  
clocking scheme is shown in Figure 32.  
Figure 32 PLL and Clock Select Circuit  
PD Rev 4.0 April 2007  
49  
w
WM8581  
Production Data  
OSCILLATOR  
The function of the oscillator is to generate the OSCCLK oscillator clock signal. This signal may be  
used as:  
The clock source for the PLLs.  
A selectable clock source for the MCLK pin, when the pin is configured as an output.  
A selectable clock source for the CLKOUT pin, when enabled.  
Whenever the PLLs or the S/PDIF receiver is enabled, the OSCCLK signal must be present to  
enable the PLLs to generate the necessary clock signals.  
The oscillator uses a Pierce type oscillator drive circuit. This circuit requires an external crystal and  
appropriate external loading capacitors. The oscillator circuit contains a bias generator within the  
WM8581 and hence an external bias resistor is not required. Crystal frequencies between 10 and  
14.4MHz or 16.28MHz and 27MHz can be used in software mode. In this case the oscillator XOUT  
must be powered up using the OSCPD bit. The recommended circuit is shown in the recommended  
components diagram, please refer to Figure 49.  
Alternatively, an external CMOS compatible clock signal can be applied to the XIN pin in the absence  
of a crystal. This is not recommended when using the PLL as the PLL requires a jitter-free OSCCLK  
signal for optimum performance. In this case the oscillator XOUT can be powered down using the  
OSCPD bit.  
The oscillator XOUT pin has one control bit as shown in Table 39.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R51  
PWRDN 2  
33h  
0
OSCPD  
0
Oscillator XOUT Power Down  
0 = Power Up XOUT (crystal mode)  
1 = Power Down XOUT (CMOS  
clock input mode)  
Table 39 Oscillator Control  
PHASE-LOCKED LOOP (PLL)  
The WM8581 has two on-chip phase-locked loop (PLL) circuits which can be used to synthesise two  
independent clock signals (PLLACLK and PLLBCLK) from the external oscillator clock. The PLLs can  
be used to:  
Generate clocks necessary for the S/PDIF receiver to lock on to and recover S/PDIF data from an  
incoming S/PDIF data stream.  
Generate clocks which may be used to drive the MCLK and/or CLKOUT pins.  
Generate clocks which may be used by the S/PDIF transmitter to encode and transmit a S/PDIF  
data stream.  
Generate clocks which may be used as the master clock source for the the ADC and DACs.  
Generate clocks which may be used by the master mode clock generator to generate the BCLK  
and LRCLK signals for the digital audio interfaces.  
The PLLs can be enabled or disabled using the register bits shown in Table 40.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R51  
PWRDN 2  
33h  
1
2
PLLAPD  
PLLBPD  
1
1
PLL Power Down Control  
0 = Power Up PLL  
1 = Power Down PLL  
Table 40 PLL Power Down Control  
PD Rev 4.0 April 2007  
50  
w
Production Data  
WM8581  
The PLLs have two modes of operation:  
PLL S/PDIF Receive Mode (Selected if S/PDIF Receiver Enabled)  
In S/PDIF receive mode, PLLA is automatically controlled by the S/PDIF receiver to allow the  
receiver to use PLLA to track and lock on to the incoming S/PDIF data stream. In this case, CLK1 is  
automatically maintained at a constant frequency of 256fs relative to the sample rate of the  
recovered S/PDIF stream. PLLB must be configured to produce CLK2, a specific reference clock for  
the S/PDIF receiver.  
PLLACLK may be used as a 256fs or 128fs (selectable – refer to Table 45) master clock source  
when in S/PDIF receiver mode. PLLBCLK is not available and must not be selected as the clock  
source for any internal function when the S/PDIF receiver is enabled.  
If the sample frequency of the incoming stream is changed and PLLA is forced to unlock in order to  
track to the new sample frequency, the PLLACLK signal will be stopped until the S/PDIF receiver  
has locked to the incoming stream at the new sample frequency. If the incoming S/PDIF stream  
stops, the PLLA_ N and PLLA_K values will be frozen and the PLLACLK will continue at the  
frequency set by the last recovered S/PDIF stream.  
Refer to Table 41 and Table 43 for details of the registers available for configuration in this mode.  
Refer to the S/PDIF Receive Mode Clocking section on page 56 for full details.  
PLL User Mode (Selected if S/PDIF Receiver Disabled)  
In user mode, the user has full control over the function and operation of both PLLA and PLLB. In  
this mode, the user can accurately specify the PLL N and K multiplier values and the pre and post-  
scale divider values and can hence fully control the generated clock frequencies.  
Refer to Table 41 and Table 43 for details of the registers available for configuration in this mode.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R0  
PLLA 1/  
DEVID1  
00h  
8:0  
PLLA_K[8:0]  
100100001  
Fractional (K) part of PLLA  
frequency ratio (R) I.  
Value K is one 22-digit binary  
number spread over registers R0,  
R1 and R2 as shown.  
R1  
8:0  
3:0  
PLLA_K[17:9]  
PLLA_K[21:18]  
101111110  
1101  
PLLA 2/  
DEVID2  
01h  
Reading from these registers will  
return the device ID.  
R0 returns 10000001 = 81h  
R1 returns 10000101 = 85h  
R2  
PLLA 3/  
DEVREV  
02h  
Device ID readback is not possible  
in continuous readback mode  
(CONTREAD=1).  
7:4  
PLLA_N[3:0]  
0111  
Integer (N) part of PLLA frequency  
ratio(R)II.  
Use values in the range 5 PLLA_N  
13 as close as possible to 8.  
Reading from this register will return  
the device revision number.  
R4  
PLLB 1  
04h  
8:0  
8:0  
3:0  
PLLB_K[8:0]  
PLLB_K[17:9]  
PLLB_K[21:18]  
100100001  
101111110  
1101  
Fractional (K) part of PLLB  
frequency ratioII(R).  
Value K is one 22-digit binary  
number spread over registers R4,  
R5 and R6 as shown.  
R5  
PLLB 2  
05h  
Note: PLLB_K must be set to  
specific values when the S/PDIF  
receiver is used. Refer to S/PDIF  
Receive Mode Clocking section  
for details.  
R6  
PLLB 3  
PD Rev 4.0 April 2007  
51  
w
WM8581  
Production Data  
DESCRIPTION  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
06h  
7:4  
PLL_N[3:0]  
0111  
Integer (N) part of PLLB frequency  
ratio (R).  
Use values in the range 5 PLLB_N  
13 as close as possible to 8  
Note: PLLB_N must be set to  
specific values when the S/PDIF  
receiver is used. Refer to S/PDIF  
Receive Mode Clocking section  
for details.  
Table 41 User Mode PLL_K and PLL_N Multiplier Control  
Parameter  
PRESCALE_A  
PRESCALE_B  
PLLA_N  
PLL User Mode  
Manual  
PLL S/PDIF Receiver Mode  
Write PRESCALE_B Value  
Configure Specified PLLB Frequency  
Automatically Controlled  
Automatically Controlled  
Configure Specified PLLB Frequency  
Configure Specified PLLB Frequency  
Automatically Controlled  
Not Used  
Manual  
Manual  
PLLA_K  
Manual  
PLLB_N  
Manual  
PLLB_K  
Manual  
FREQMODE_A  
FREQMODE_B  
POSTSCALE_A  
POSTSCALE_B  
Manual  
Manual  
Manual  
256fs/128fs PLLACLK Select  
Not Used  
Manual  
Table 42 PLL Control Register Function in PLL User and PLL S/PDIF Receiver Modes  
PLL CONFIGURATION  
The PLLs perform a configurable frequency multiplication of the input clock signal (f1). The  
multiplication factor of the PLL (denoted by ‘R’) is variable and is defined by the relationship: R = (f2 ÷  
f1).  
The multiplication factor for each PLL is set using register bits PLLx_N and PLLx_K (refer to Table 41). The  
multiplication effect of both the N and K multipliers are additive (i.e. if N is configured to provide a  
multiplication factor of 8 and K is configured to provide a multiplication factor of 0.192, the overall  
multiplication factor is 8 + 0.192 = 8.192).  
In order to choose and configure the correct values for PLLx_N and PLLx_K, multiplication factor R  
must first be calculated. Once value R is calculated, the value of PLLx_N is the integer (whole  
number) value of R, ignoring all digits to the right of the decimal point. For example, if R is calculated  
to be 8.196523, PLL_N is simply 8.  
Once PLLx_N is calculated, the PLLx_K value is simply the integer value of (222 (R-PLLx_N)). For  
example, if R is 8.196523 and PLLx_N is 8, PLLx_K is therefore (222 (8.196523-8)), which is 824277  
(ignoring all digits to the right of the decimal point).  
Note: the PLLs are designed to operate with best performance (shortest lock time and optimum  
stability) when f2 is between 90 and 100MHz and PLLx_N is 8. However, acceptable PLLx_N values  
lie in the range 5 PLLx_N 13.  
Each PLL has an output divider to allow the f2 clock signal to be divided to a frequency suitable for  
use as the source for the MCLK and CLKOUT outputs, the S/PDIF transmitter and the internal ADC  
and DACs. The divider output is configurable and is set by the FREQMODE_A or FREQMODE_B  
bits in conjunction with the POSTSCALE_A and POSTSCALE_B bits. Each PLL is also equipped  
with a pre-scale divider which offers frequency divide by one or two before the OSCCLK signal is  
input into the PLL. Please refer to Table 43 for details.  
PD Rev 4.0 April 2007  
52  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R3  
PLLA 4  
03h  
0
PRESCALE_A  
0
PLL Pre-scale Divider Select  
0 = Divide by 1 (PLL input clock =  
oscillator clock)  
1 = Divide by 2 (PLL input clock =  
oscillator clock ÷ 2)  
R7  
0
PRESCALE_B  
0
PLLB 4  
07h  
Note: PRESCALE_A must be  
set to the same value as  
PRESCALE_B in PLL S/PDIF  
receiver mode.  
R3  
PLLA 4  
03h  
4:3  
4:3  
FREQMODE_A  
[1:0]  
10  
10  
PLL Output Divider Select  
PLL S/PDIF Receiver Mode  
FREQMODE_A is automatically  
controlled. FREQMODE_B is not  
used.  
R7  
FREQMODE_B  
[1:0]  
PLLB 4  
07h  
PLL User Mode  
Used in conjunction with the  
POSTSCALE_x bits. Refer to Table  
44.  
R3  
PLLA 4  
03h  
1
1
POSTSCALE_A  
POSTSCALE_B  
0
0
PLL Post-scale Divider Select  
PLL S/PDIF Receiver Mode  
POSTSCALE_A is used to configure  
a 256fs or 128fs PLLACLK,  
POSTSCALE_B is not used. Refer  
to Table 45.  
R7  
PLLB 4  
07h  
PLL User Mode  
Used in conjunction with the  
FREQMODE_x bits. Refer to Table  
44.  
Table 43 Pre and Post PLL Clock Divider Control  
FREQMODE_x[1:0]  
f2 TO PLLxCLK DIVISION FACTOR  
POSTSCALE_x  
0
÷2  
÷4  
÷8  
÷12  
1
00  
01  
10  
11  
÷4  
÷8  
÷16  
÷24  
Table 44 PLL User Mode Clock Divider Configuration  
POSTSCALE_A  
PLLACLK FREQUENCY  
0
1
256fs  
128fs  
Table 45 PLL S/PDIF Receiver Mode Clock Divider Configuration  
PD Rev 4.0 April 2007  
53  
w
WM8581  
Production Data  
PLL CONFIGURATION EXAMPLE  
Consider the situation where the oscillator clock (OSCCLK) input frequency is fixed at 12MHz and the  
required PLLBCLK frequency is 12.288MHz.  
1. Calculate the f2, FREQMODE_B and POSTSCALE_B Values  
The PLL is designed to operate with best performance when the f2 clock is between 90 and 100MHz. The  
necessary PLLBCLK frequency is 12.288MHz. Choose POSTSCALE_B and FREQMODE_B values to set  
the f2 frequency in the range of 90 to 100MHz. In this case, the default values (POSTSCALE_B = 0 and  
FREQMODE_B[1:0] = 10) will configure the f2 to PLLBCLK divider as 8 and hence will set the f2 frequency at  
98.304MHz; this value is within the 90 to 100MHz range and is hence acceptable.  
POSTSCALE_B = 0  
FREQMODE_B [1:0] = 10b  
f2 = 98.304MHz  
2. Calculate R Value  
Using the relationship: R = (f2 ÷ f1), the value of R can be calculated.  
R = (f2 ÷ f1)  
R = (98.304 ÷ 12)  
R = 8.192  
3. Calculate PLLB_N Value  
The value of PLLB_N is the integer (whole number) value of R, ignoring all digits to the right of the  
decimal point. In this case, R is 8.192, hence PLLB_N is 8.  
4. Calculate PLL_K Value  
The PLLB_K value is simply the integer value of (222 (R-PLLB_N)).  
PLLB_K = integer part of (222 x (8.192 – 8))  
PLLB_K = integer part of 805306.368  
PLLB_K = 805306 (decimal) / C49BA (hex)  
A number of example configurations are shown in Table 46. Many other configurations are possible; Table 46  
shows only a small number of valid possibilities. As both PLLs are identical, the same configuration  
procedure applies for both.  
PD Rev 4.0 April 2007  
54  
w
Production Data  
WM8581  
OSC  
PRE-  
SCALE  
_x  
F1  
F2  
R
PLLx_N  
PLLx_K  
FREQ  
MODE_x  
[1:0]  
POST-  
SCALE_x  
PLLxCLK  
CLK  
(MHz)  
(MHz)  
(Hex)  
(Hex)  
(MHz)  
(MHz)  
12  
12  
12  
12  
12  
12  
12  
24  
24  
24  
24  
24  
24  
24  
27  
27  
27  
27  
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
12  
12  
98.304  
98.304  
98.304  
98.304  
98.304  
98.304  
98.304  
8.192  
8.192  
8.192  
8.192  
8.192  
8.192  
8.192  
8
8
8
8
8
8
8
7
7
7
7
7
7
7
7
7
6
6
C49BA  
C49BA  
C49BA  
C49BA  
C49BA  
C49BA  
C49BA  
21B089  
21B089  
21B089  
21B089  
21B089  
21B089  
21B089  
1208A5  
1208A5  
2C2B24  
2C2B24  
00  
01  
01  
10  
10  
11  
11  
00  
01  
01  
10  
10  
11  
11  
00  
01  
00  
01  
1
0
1
0
1
0
1
1
0
1
0
1
0
1
1
1
1
1
24.576  
24.576  
12.288  
12.288  
6.144  
12  
12  
12  
12  
8.192  
12  
4.096  
12  
90.3168 7.5264  
90.3168 7.5264  
90.3168 7.5264  
90.3168 7.5264  
90.3168 7.5264  
90.3168 7.5264  
90.3168 7.5264  
22.5792  
22.5792  
11.2896  
11.2896  
5.6448  
7.5264  
3.7632  
24.576  
12.288  
22.5792  
11.2896  
12  
12  
12  
12  
12  
12  
13.5  
13.5  
13.5  
13.5  
98.304  
98.304  
7.2818  
7.2818  
90.3168 6.6901  
90.3168  
6.6901  
Table 46 User Mode PLL Configuration Examples  
When considering settings not shown in this table, the key configuration parameters which must be selected  
for optimum operation are:  
90MHz f2 100MHz  
5 PLLx_N 13  
OSCCLOCK = 10 to 14.4MHz or 16.28 to 27MHz  
CLOCK OUTPUT (CLKOUT) AND MCLK OUTPUT (MCLK)  
The clock output (CLKOUT) pin can be used as a clock output. This pin is intended to be used as a  
clock source pin for providing the central clock reference for an audio system.  
The CLKOUT clock source can be selected from OSCCLK, PLLACLK or PLLBCLK. The control bits  
for the CLKOUT signal are shown in Table 47.  
The MCLK pin can be configured as an input or output – the WM8581 should be powered down when  
switching MCLK between an input and an output. As an output, MCLK can be sourced from  
OSCCLK, PLLACLK or PLLBCLK.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R7  
PLLB 4  
07h  
6:5  
MCLKOUTSRC  
00  
MCLK pin output source  
00 = Input – Source MCLK pin  
01 = Output – Source PLLACLK  
10 = Output – Source PLLBCLK  
11 = Output – Source OSCCLK  
CLKOUT pin source  
8:7  
CLKOUTSRC  
11  
00 = No Output (tristate)  
01 = Output – Source PLLACLK  
10 = Output – Source PLLBCLK  
11 = Output – Source OSCCLK  
Table 47 MCLK and CLKOUT Control  
PD Rev 4.0 April 2007  
55  
w
WM8581  
Production Data  
S/PDIF RECEIVE MODE CLOCKING  
In S/PDIF receive mode, the PLLA_N and PLLA_K values are automatically controlled by the  
S/PDIF receiver to allow the receiver to use PLLA to lock on to and track the incoming S/PDIF data  
stream. PLLB must be configured to produce a specific reference clock frequency for the S/PDIF  
receiver.  
The S/PDIF receiver has three clocking modes based on the incoming S/PDIF stream sample rate.  
The modes are:  
Mode 1: Incoming S/PDIF Sample Rate = 88.2kHz -1% to 96kHz +1%  
Mode 2: Incoming S/PDIF Sample Rate = 44.1kHz -1% to 48kHz +1%  
Mode 3: Incoming S/PDIF Sample Rate = 32kHz +/- 1%  
Before the S/PDIF receiver is enabled, it is important that the PLLB_N and PLLB_K register values  
(and the PRESCALE_x values as appropriate) are manually configured in a specific default state.  
Note that the PRESCALE_A value must always be set to the same value as PRESCALE_B.  
The specified PLLB f2 frequencies that must be configured using the PLLB_N and PLLB_K register  
values (and the PRESCALE_x values as appropriate) for reception of specific S/PDIF sample rates  
are as follows:  
Modes 1/2/3 (32/44.1/48/88.2/96kHz Sample Rates): PLLB f2 = 94.3104MHz  
The FREQMODE_B[1:0] bits and POSTSCALE_B bit are not used in PLL S/PDIF receiver mode.  
The PLL register settings are configured by default to allow S/PDIF receiver operation using a 12MHz  
crystal clock. The appropriate PLLB register values must be updated if any crystal clock frequency  
other than 12MHz is used.  
Refer to Table 48 for details of a number of recommended PLLB configurations. Many other  
configurations are possible; please refer to PLL Configuration section for details regarding how to  
calculate alternative settings.  
OSC  
CLK  
(MHz)  
11.2896  
12  
PRE-  
SCALE_X  
S/PDIF RECEIVER  
SAMPLE RATE(S) (kHz)  
F1  
F2  
R
PLLB_N PLLB_K  
COMMENT  
(MHz)  
(MHz)  
(Hex)  
(Hex)  
0
0
0
1
1
1
32 / 44.1 / 48 / 88.2 / 96 11.2896 94.3104 8.3537  
8
7
7
9
7
6
16A3B3  
36FD21  
2B3333  
Set N, K  
Default Setting  
Set K  
32 / 44.1 / 48 / 88.2 / 96  
32 / 44.1 / 48 / 88.2 / 96  
32 / 44.1 / 48 / 88.2 / 96  
32 / 44.1 / 48 / 88.2 / 96  
32 / 44.1 / 48 / 88.2 / 96  
12  
94.3104 7.8592  
12.288  
19.2  
12.288 94.3104 7.675  
9.6  
12  
94.3104 9.824  
94.3104 7.8592  
94.3104 6.986  
346C6A Set Prescales, N, K  
36FD21 Set Prescales  
3F19E5 Set Prescales, N, K  
24  
27  
13.5  
Table 48 S/PDIF Receive Mode PLLB Initial Configuration Examples  
The recommended configuration sequences are as follows:  
TO INITIALLY CONFIGURE THE SYSTEM FOR S/PDIF RECEIVER STARTUP:  
1. Write appropriate calculated values (relative to oscillator frequency) to  
PRESCALE_A, PRESCALE_B, PLLB_N and PLLB_K.  
2. Enable PLLA and PLLB by clearing the PLLAPD and PLLBPD bits.  
3. Enable S/PDIF receiver by clearing the SPDIFRXPD and SPDIFPD bits.  
PD Rev 4.0 April 2007  
56  
w
Production Data  
WM8581  
PHASE-LOCKED LOOPS AND S/PDIF CLOCKING (HARDWARE MODE)  
In hardware mode, the user has no access to the internal clocking control registers and hence a  
default configuration is loaded at reset to provide maximum functionality.  
The S/PDIF receiver is enabled and hence the PLLs operate in S/PDIF receiver mode and all PLL  
and S/PDIF receiver control is fully automatic. All supported S/PDIF receiver sample rates can be  
used.  
FREQMODE_x and POSTSCALE_x control is fully automatic to ensure that the MCLK output is  
maintained at 256fs relative to the S/PDIF received sample rate.  
In hardware mode, the OSCCLK must be 12MHz and hence the external crystal (or applied XIN  
clock) must be 12MHz. No other OSCCLK frequencies are supported in hardware mode.  
PD Rev 4.0 April 2007  
57  
w
WM8581  
Production Data  
S/PDIF TRANSCEIVER  
FEATURES  
IEC-60958-3 compatible with 32k frames/s to 96k frames/s support  
Support for Reception and Transmission of S/PDIF data  
Clock synthesis PLL with reference clock input and ultra-low jitter output  
Input mux with support for up to four S/PDIF inputs  
Register controlled Channel Status recovery and transmission  
Register read-back of recovered Channel Status bits and error flags  
Detection of non-audio data, sample rate, and pre-emphasised data  
Programmable GPO for error flags, frame status flags and clocks  
An IEC-60958-3 compatible S/PDIF transceiver is integrated into the WM8581. Operation of the  
S/PDIF function may be synchronous or asynchronous to the rest of the digital audio circuits.  
The receiver performs data and clock recovery, and sends recovered data either to an external  
device such as a DSP (via the Digital Audio Interfaces), or if the data is audio PCM, it can route the  
stereo recovered data to DAC1. The recovered clock may be routed out of the WM8581 onto a pin  
for external use, and may be used to clock the internal DAC as required.  
The transmitter generates S/PDIF frames where audio data may be sourced from the ADC, S/PDIF  
Receiver, or the Digital Audio Interfaces.  
S/PDIF FORMAT  
S/PDIF is a serial, bi-phase-mark encoded data stream. An S/PDIF frame consists of two sub-  
frames. Each sub-frame is made up of:  
Preamble – a synchronization pattern used to identify the start of a 192-frame block or sub-  
frame  
4-bit Auxiliary Data (AUX) – ordered LSB to MSB  
20-bit Audio Data (24-bit when combined with AUX) – ordered LSB to MSB  
Validity Bit – a 1 indicates invalid data in that sub-frame  
User Bit – over 192-frames, this forms a User Data Block,  
Channel Bit – over 192-frames, this forms a Channel Status Block  
Parity Bit – used to maintain even parity over the sub-frame (except the preamble)  
An S/PDIF Block consists of 192 frames. Channel and User blocks are incorporated within the 192-  
frame S/PDIF Block. For Consumer mode only the first 40-frames are used to make up the Channel  
and User blocks. Figure 33 illustrates the S/PDIF format.  
Frame  
192  
Frame  
1
. . . . . . . . .  
Subframe 1  
Subframe 2  
0
3 4  
7 8  
27 28  
31  
32 bit  
Word  
Sync  
preamble  
Aux  
Audio Sample Word  
V
U
C
P
Figure 33 S/PDIF Format  
PD Rev 4.0 April 2007  
58  
w
Production Data  
WM8581  
S/PDIF TRANSMITTER  
The S/PDIF transmitter generates the S/PDIF frames, and outputs on the SPDIFOP pin. The audio  
data for the frame can be taken from one of four sources, selectable using the TXSRC register. The  
transmitter can be powered down using the SPDIFTXD register bit. The S/PDIF Transmitter can be  
bypassed by setting the REAL_THROUGH register control bit. When set, the SPDIFOP pin sources  
the output of the S/PDIF input mux.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R30  
SPDTXCHAN 0  
1Eh  
1:0  
TXSRC[1:0]  
00  
S/PDIF Transmitter Data Source  
00 = S/PDIF received data (see REAL_THROUGH)  
01 = ADC digital output data.  
10 = Secondary Audio Interface  
11 = Audio Interface received data  
Overwrite Channel Status  
2
OVWCHAN  
0
Only used if TXSRC=00. Overwrites the received  
channel status data using data read from S/PDIF  
transmitter channel status register  
0 = Channel data equal to recovered channel data.  
1 = Channel data taken from channel status registers.  
S/PDIF Through Mode Control  
3
4
REAL_  
0
0
THROUGH  
0 = SPDIFOP pin sources output of S/PDIF Transmitter  
1 = SPDIFOP pins sources output of S/PDIF IN Mux  
S/PDIF Transmitter Validity Overwrite Mode  
TXVAL_  
OVWR  
0 = disabled, validity bit is 0 when transmitter sources  
ADC, PAIF or SAIF, or is matches the S/PDIF input  
validity when S/PDIF transmitter sources S/PDIF  
receiver.  
1 = enabled, validity bit transmitted for subframe 0 is  
defined by TXVAL_SF0, validity bit transmitted for  
subframe 1 is defined by TXVAL_SF1.  
5
6
TXVAL_SF0  
TXVAL_SF1  
SPDIFTXD  
0
0
Overwrite Mode S/PDIF Transmitter Validity Sub-  
Frame 0  
0 = transmit validity = 0  
1 = transmit validity = 1  
Overwrite Mode S/PDIF Transmitter Validity Sub-  
Frame 1  
0 = transmit validity = 0  
1 = transmit validity = 1  
R51  
PWRDN 2  
33h  
4
1
S/PDIF Transmitter powerdown  
0 = S/PDIF Transmitter enabled  
1 = S/PDIF Transmitter disabled  
Table 49 S/PDIF Transmitter Control  
The WM8581 also transmits the preamble and VUCP bits (Validity, User Data, Channel Status and  
Parity bits).  
Validity Bit  
By default, set to 0 (to indicate valid data) with the following exceptions:  
1. TXSRC=00 (S/PDIF receiver), where Validity is the value recovered from the S/PDIF input stream by  
the S/PDIF receiver.  
2. TXVAL_OVWR=1, where Validity is the value set in registers TXVAL_SF0 and TXVAL_SF1.  
User Data  
PD Rev 4.0 April 2007  
59  
w
WM8581  
Production Data  
Set to 0 as User Data configuration is not supported in the WM8581 – if TXSRC=00 (S/PDIF  
receiver) User Data is the value recovered from the S/PDIF input stream by the S/PDIF receiver.  
Channel Status  
The Channel Status bits form a 192-frame block - transmitted at one bit per sub-frame. Each sub-  
frame forms its own 192-frame block. The WM8581 is a consumer mode device and only the first 40  
bits of the block are used. All data transmitted from the WM8581 is stereo, so the channel status data  
is duplicated for both channels. The only exception to this is the channel number bits (23:20) which  
can be changed to indicate whether the channel is left or right in the stereo image. Bits within this  
block can be configured by setting the Channel Status Bit Control registers (see Table 50 to Table  
54). If TXSRC=00 (S/PDIF receiver), the Channel Status bits are transmitted with the same values  
recovered by the receiver – unless OVWCHAN is set, in which case they are set by the S/PDIF  
transmitter channel status registers.  
Parity Bit  
This bit maintains even parity for data as a means of basic error detection. It is generated by the  
transmitter.  
For further details of all channel status bits, refer to IEC-60958-3.  
REGISTER  
ADDRESS  
BIT  
LABEL  
CHANNEL  
STATUS  
BIT  
DEFAULT  
DESCRIPTION  
R31  
SPDTXCHAN 1  
1Fh  
0
CON/PRO  
0
0
0 = Consumer Mode  
1 = Professional Mode (not supported by  
WM8581)  
1
2
AUDIO_N  
CPY_N  
1
0
0
0 = S/PDIF transmitted data is audio PCM.  
1 = S/PDIF transmitted data is not audio  
PCM.  
2
0 = Transmitted data has copyright asserted.  
1 = Transmitted data has no copyright  
assertion.  
5:3  
DEEMPH[2:0]  
5:3  
000  
000 = Data from Audio interface has no pre-  
emphasis.  
001 = Data from Audio interface has pre-  
emphasis.  
010 = Reserved (Audio interface has pre-  
emphasis).  
011 = Reserved (Audio interface has pre-  
emphasis).  
All other modes are reserved and should not  
be used.  
7:6  
CHSTMODE  
[1:0]  
7:6  
00  
00 = Only valid mode for consumer  
applications.  
Table 50 S/PDIF Transmitter Channel Status Bit Control 1  
REGISTER  
ADDRESS  
BIT  
LABEL  
CHANNEL  
STATUS  
BIT  
DEFAULT  
DESCRIPTION  
R32  
SPDTXCHAN 2  
20h  
7:0  
CATCODE  
[7:0]  
15:8  
00000000  
Category Code. Refer to S/PDIF  
specification IEC60958-3 for details.  
00h indicates “general” mode.  
Table 51 S/PDIF Transmitter Channel Status Bit Control 2  
PD Rev 4.0 April 2007  
60  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
CHANNEL  
STATUS  
BIT  
DEFAULT  
DESCRIPTION  
R33  
SPDTXCHAN 3  
21h  
3:0  
5:4  
SRCNUM  
[3:0]  
19:16  
0000  
00  
Source Number. No definitions are attached  
to data.  
CHNUM1[1:0]  
21:20  
Channel Number for Subframe 1  
CHNUM1  
Function  
00  
01  
10  
11  
Do not use channel number  
Send to Left Channel  
Send to Right Channel  
Do not use channel number  
7:6  
CHNUM2[1:0]  
00  
Channel Number for Subframe 2  
23:22  
CHNUM2  
Function  
00  
01  
10  
11  
Do not use channel number  
Send to Left Channel  
Send to Right Channel  
Do not use channel number  
Table 52 S/PDIF Transmitter Channel Status Bit Control 3  
REGISTER  
ADDRESS  
BIT  
LABEL  
CHANNEL  
STATUS  
BIT  
DEFAULT  
DESCRIPTION  
R34  
SPDTXCHAN 4  
22h  
3:0  
FREQ[3:0]  
27:24  
0001  
Sampling Frequency Indicated.  
See S/PDIF specification IEC60958-3 for  
details.  
5:4  
CLKACU[1:0]  
29:28  
11  
Clock Accuracy of Transmitted clock.  
00 = Level II  
01 = Level I  
10 = Level III  
11 = Interface frame rate not matched to  
sampling frequency.  
Table 53 S/PDIF Transmitter Channel Status Bit Control 4  
PD Rev 4.0 April 2007  
61  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
CHANNEL  
STATUS  
BIT  
DEFAULT  
DESCRIPTION  
R35  
SPDTXCHAN 5  
23h  
0
MAXWL  
32  
1
Maximum Audio sample word length  
0 = 20 bits  
1 = 24 bits  
3:1  
TXWL[2:0]  
35:33  
101  
Audio Sample Word Length.  
000 = Word Length Not Indicated  
TXWL[2:0]  
001  
MAXWL==1  
20 bits  
MAXWL==0  
16 bits  
010  
22 bits  
18 bits  
100  
23 bits  
19 bits  
101  
24 bits  
20 bits  
110  
21 bits  
17 bits  
All other combinations reserved  
7:4  
ORGSAMP  
[3:0]  
39:36  
0000  
Original Sampling Frequency. See S/PDIF  
specification for details.  
0000 = original sampling frequency not  
indicated  
Table 54 S/PDIF Transmitter Channel Status Bit Control 5  
S/PDIF RECEIVER  
INPUT SELECTOR  
The S/PDIF receiver has one dedicated input, SPDIFIN1. This pin is a IEC-60958-3-compatible  
comparator input by default or, if SPDIFIN1MODE is set, the pin will be a CMOS-compatible input.  
There are three other pins which can be configured as either S/PDIF inputs or general purpose  
outputs (GPOs). The four S/PDIF inputs are multiplexed to allow one input to go to the S/PDIF  
receiver for decoding. The S/PDIF receiver can be powered down using the SPDIFRXD register bit.  
PD Rev 4.0 April 2007  
62  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R36  
SPDMODE  
24h  
0
SPDIFIN1MODE  
1
Selects the input circuit type for the SPDIFIN1 input  
0 = CMOS-compatible input  
1 = Comparator input. Compatible with 500mVpp AC  
coupled consumer S/PDIF input signals as defined in  
IEC60958-3.  
2:1  
RXINSEL[1:0]  
00  
S/PDIF Receiver input mux select.  
The general purpose inputs must be configured using  
GPOxOP to be either CMOS or comparator inputs if  
selected by RXINSEL.  
00 = Select SPDIFIN1  
01 = Select SPDIFIN2 (MFP3)  
10 = Select SPDIFIN3 (MFP4)  
11 = Select SPDIFIN4 (MFP5)  
S/PDIF Receiver Word Length Truncation Mask  
6
WL_MASK  
0
0 = disabled, data word is truncated as described in  
Table 60.  
1 = enabled, data word is not truncated.  
GPO pin Configuration Select.  
R39  
GPO2  
26h  
3:0  
7:4  
GPO3OP[3:0]  
GPO4OP[3:0]  
0010  
0011  
1110 = Set GPO as S/PDIF input (CMOS-compatible  
input).  
1111 = Set GPO as S/PDIF input (compatible with  
500mVpp AC coupled consumer S/PDIF input signals  
as defined in IEC-60958-3).  
R40  
3:0  
GPO5OP[3:0]  
0100  
GPO3  
27h  
For GPO defaults, see Table 65.  
S/PDIF Receiver powerdown  
0 = S/PDIF Receiver enabled  
1 = S/PDIF Receiver disabled  
R51  
PWRDN 2  
33h  
5
SPDIFRXD  
1
Table 55 S/PDIF Receiver Input Selection Register  
AUDIO DATA HANDLING  
The S/PDIF receiver recovers the data and VUCP bits from each sub-frame. If the S/PDIF input data  
is in a non-compressed audio format the data can be internally routed to the stereo data input of  
DAC1. The WM8581 can detect when the data is in a non-compressed audio format and will  
automatically mute the DAC. See Non-Audio Detection section for more detail.  
The received data can also be output over the digital audio interfaces in any of the data formats  
supported. This can be performed while simultaneously using DAC1 for playback. The received data  
may also be re-transmitted via the S/PDIF transmitter.  
USER DATA  
The WM8581 can output recovered user data received using GPO pins. See Table 65 for General  
Purpose Pin control information.  
CHANNEL STATUS DATA  
The channel status bits are recovered from the incoming data stream and are used to control various  
functions of the device. The recovered MAXWL and RXWL bits are used to truncate the recovered  
24-bit audio word so that only the appropriate numbers of bits are used by the other interfaces  
(except the S/PDIF transmitter which always processes the full 24-bit recovered word).  
Should the recovered DEEMPH channel status be set, and the S/PDIF receiver is routed to DAC1,  
the de-emphasis filter is activated for DAC1.  
PD Rev 4.0 April 2007  
63  
w
WM8581  
Production Data  
The S/PDIF receiver reads channel status data from channel 1 only. The channel status data is  
stored in five read-only status registers which can be read via the serial interface (see Serial Interface  
Readback). When new channel status data has been recovered and stored in registers, the Channel  
Status Update (CSUD) bit is set to indicate that the status registers have updated and are ready for  
readback. After readback, CSUD will be cleared until the registers are next updated. The CSUD flag  
can be configured to be output on any of the GPO pins. The register descriptions for the channel  
status bits are given below.  
REGISTER  
ADDRESS  
BIT  
LABEL  
CHANNEL  
STATUS  
BIT  
DEFAULT  
DESCRIPTION  
R44  
SPDRXCHAN 1  
2Ch  
0
CON/PRO  
0
-
0 = Consumer Mode  
1 = Professional Mode  
The WM8581 is a consumer mode device.  
Detection of professional mode may give  
erroneous behaviour.  
(read-only)  
1
AUDIO_N  
1
-
Linear PCM Identification  
0 = Data word represents audio PCM  
samples.  
1 = Data word does not represent audio  
PCM samples.  
2
3
CPY_N  
2
3
-
-
0 = Copyright is asserted for this data.  
1 = Copyright is not asserted for this data.  
DEEMPH  
0 = Recovered S/PDIF data has no pre-  
emphasis.  
1 = Recovered S/PDIF data has pre-  
emphasis.  
5:4  
7:6  
Reserved  
CHSTMODE  
[1:0]  
5:4  
7:6  
-
-
Reserved for additional de-emphasis modes.  
00 = Only valid mode for consumer  
applications.  
Table 56 S/PDIF Receiver Channel Status Register 1  
PD Rev 4.0 April 2007  
64  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
CHANNEL  
STATUS  
BIT  
DEFAULT  
DESCRIPTION  
R45  
SPDRXCHAN 2  
2Dh  
7:0  
CATCODE  
[7:0]  
15:8  
-
Category Code.  
Refer to S/PDIF specification IEC60958-3 for  
details.  
00h indicates “general” mode.  
(read-only)  
Table 57 S/PDIF Receiver Channel Status Register 2  
REGISTER  
ADDRESS  
BIT  
LABEL  
CHANNEL  
STATUS  
BIT  
DEFAULT  
DESCRIPTION  
R46  
SPDRXCHAN 3  
2Eh  
3:0  
SRCNUM  
[3:0]  
19:16  
-
S/PDIF source number.  
Refer to S/PDIF specification IEC60958-3 for  
details.  
5:4  
7:6  
CHNUM1[1:0]  
21:20  
-
Channel number for sub-frame 1.  
(read-only)  
00 = Take no account of channel number  
(channel 1 defaults to left DAC)  
01 = channel 1 to left channel  
10 = channel 1 to right channel  
Channel number for sub-frame 2.  
CHNUM2[1:0]  
23:22  
00 = Take no account of channel number  
(channel 2 defaults to left DAC)  
01 = channel 2 to left channel  
10 = channel 2 to right channel  
Table 58 S/PDIF Receiver Channel Status Register 3  
REGISTER  
ADDRESS  
BIT  
LABEL  
CHANNEL  
STATUS  
BIT  
DEFAULT  
DESCRIPTION  
R47  
SPDRXCHAN 4  
2Fh  
3:0  
FREQ[3:0]  
27:24  
-
Sampling Frequency.  
Refer to S/PDIF specification IEC60958-3 for  
details.  
5:4  
CLKACU[1:0]  
29:28  
-
Clock Accuracy of received clock.  
00 = Level II  
(read-only)  
01 = Level I  
10 = Level III  
11 = Interface frame rate not matched to  
sampling frequency.  
Table 59 S/PDIF Receiver Channel Status Register 4  
PD Rev 4.0 April 2007  
65  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
CHANNEL  
STATUS  
BIT  
DEFAULT  
DESCRIPTION  
R48  
SPDRXCHAN 5  
30h  
0
MAXWL  
32  
-
Maximum Audio sample word length  
0 = 20 bits  
1 = 24 bits  
(read-only)  
3:1  
RXWL[2:0]  
35:33  
-
Audio Sample Word Length.  
000: Word Length Not Indicated  
RXWL[2:0]  
001  
MAXWL==1  
20 bits  
MAXWL==0  
16 bits  
010  
22 bits  
18 bits  
100  
23 bits  
19 bits  
101  
24 bits  
20 bits  
110  
21 bits  
17 bits  
All other combinations are reserved and may  
give erroneous operation. Data will be  
truncated internally when these bits are set  
unless WL_MASK is set.  
7:4  
ORGSAMP  
[3:0]  
39:36  
-
Original Sampling Frequency. Refer to  
S/PDIF specification IEC60958-3 for details.  
0000 = original sampling frequency not  
indicated  
Table 60 S/PDIF Receiver Channel Status Register 5  
PD Rev 4.0 April 2007  
66  
w
Production Data  
WM8581  
S/PDIF RECEIVER STATUS FLAGS  
There are several status flags generated by the S/PDIF Receiver, described below.  
FLAG  
DESCRIPTION  
VISIBILITY  
S/PDIF Status  
Register, GPO  
pins, SWMODE pin  
(when in hardware  
mode)  
UNLOCK  
Indicates that the S/PDIF Clock Recovery circuit is unlocked, or the  
incoming S/PDIF signal is not present.  
0 = Locked onto incoming S/PDIF stream.  
1 = Not locked to the incoming S/PDIF stream, or incoming stream  
is not present.  
INVALID  
Indicates that recovered S/PDIF data is marked as invalid.  
0 = Data marked as valid  
Interrupt Status  
Register  
1 = Data marked as invalid  
TRANS_ERR  
Indicates that recovered S/PDIF frame has parity errors or bi-phase  
encoding errors, or that sub-frames were recovered out of  
sequence  
Interrupt Status  
Register  
0 = No data errors or bi-phase encoding errors detected and sub-  
frame sequence correct  
1 = Data errors or bi-phase encoding errors detected or subframe  
sequence incorrect (missing preamble)  
AUDIO_N  
PCM_N  
Recovered Channel Status bit-1.  
Channel Status  
Register, S/PDIF  
Status Register  
0 = Data word represents audio PCM samples.  
1 = Data word does not represent audio PCM samples.  
Indicates that non-audio code (defined in IEC-61937) has been  
detected.  
S/PDIF Status  
Register  
0 = Sync code not detected.  
1 = Sync code detected – received data is not audio PCM.  
Recovered Channel Status bit-2 (active low)  
0 = Copyright is asserted for this data.  
CPY_N  
DEEMPH  
Channel Status  
Register, S/PDIF  
Status Register,  
GPO pins  
1 = Copyright is not asserted for this data.  
Recovered Channel Status bit-3  
Channel Status  
Register, S/PDIF  
Status Register,  
GPO pins  
0 = Recovered S/PDIF data has no pre-emphasis.  
1 = Recovered S/PDIF data has pre-emphasis  
REC_FREQ[1:0]  
Indicates recovered S/PDIF sample rate.  
00 = Invalid  
S/PDIF Status  
Register  
01 = 96kHz / 88.2kHz  
10 = 48kHz / 44.1kHz  
11 = 32kHz  
INT_N  
Interrupt signal (see section Interrupt Generation)  
Recovered validity-bit for current sub-frame  
Recovered user-bit for current sub-frame  
Recovered channel-bit for current sub-frame  
Recovered parity-bit for current sub-frame  
Indicates current sub-frame:  
GPO pins  
GPO pins  
GPO pins  
GPO pins  
GPO pins  
GPO pins  
V
U
C
P
SFRM_CLK  
1 = Sub-frame A  
0 = Sub-frame B  
192BLK  
CSUD  
Indicates start of 192 frame-block. High for duration of frame-0.  
GPO pins  
GPO pins  
Indicates that the 192 frame-block of channel status data has  
updated.  
ZFLAG  
Indicates ‘zero-detection’ in DACs. See page 45 for more details  
MUTE pin, GPO  
pins  
NON_AUDIO  
Logical OR of PCM_N and AUDIO_N  
GPO pins, SDO pin  
(when in hardware  
mode)  
Table 61 Status Flag Description  
PD Rev 4.0 April 2007  
67  
w
WM8581  
Production Data  
HARDWARE INTERRUPT GENERATION (INT_N)  
The hardware interrupt INT_N flag (active low) indicates that a change in status has occurred on one  
or more of the UNLOCK, INVALID, TRANS_ERR, NON_AUDIO, CPY_N, DEEMPH, CSUD or  
REC_FREQ flags. To determine which flag caused the interrupt, the Interrupt Status Register  
(INTSTAT) should be read when INT_N is asserted. INVALID, TRANS_ERR and CSUD generate an  
interrupt when the flag transitions from low to high. UNLOCK, NON_AUDIO, CPY_N, DEEMPH and  
REC_FREQ will generate an interrupt on any change in status. INT_N will remain asserted until it is  
cleared by reading the interrupt status register. If INVALID, TRANS_ERR or CSUD are still active  
when the interrupt status register is read, INT_N remains asserted.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R43  
INTSTAT  
2Bh  
0
UPD_UNLOCK  
-
UNLOCK flag update signal  
0 = INT_N not caused by update to UNLOCK flag  
1 = INT_N caused by update to UNLOCK flag  
INVALID flag interrupt signal  
(read-only)  
1
2
3
4
5
6
7
INT_INVALID  
INT_CSUD  
-
-
-
-
-
-
-
0 = INT_N not caused by INVALID flag  
1 = INT_N caused by INVALID flag  
CSUD flag interrupt signal  
0 = INT_N not caused by CSUD flag  
1 = INT_N caused by CSUD flag  
INT_TRANS  
_ERR  
TRANS_ERR flag interrupt signal  
0 = INT_N not caused by TRANS_ERR flag  
1 = INT_N caused by TRANS_ERR flag  
NON_AUDIO update signal  
UPD_NON_AUDIO  
UPD_CPY_N  
0 = INT_N not caused by update to NON_AUDIO flag  
1 = INT_N caused by update to NON_AUDIO flag  
CPY_N update signal  
0 = INT_N not caused by update to CPY_N flag  
1 = INT_N caused by update to CPY_N flag  
DEEMPH update signal  
UPD_DEEMPH  
UPD_REC_FREQ  
0 = INT_N not caused by update to DEEMPH flag  
1 = INT_N caused by update to DEEMPH flag  
REC_FREQ update signal  
0 = INT_N not caused by update to REC_FREQ flag  
1 = INT_N caused by update to REC_FREQ flag  
Table 62 Interrupt Status Register  
Where the INT_N has been asserted due to an updated status signal (UPD_UNLOCK,  
UPD_NON_AUDIO, UPD_CPY_N, UPD_DEEMPH, UPD_REC_FREQ) the S/PDIF Status Register  
SPDSTAT, register R49, can be read to reveal the status of the flag. See Table 63 The SPDSTAT  
register will update if the received Rx S/PDIF data stream changes their values.  
PD Rev 4.0 April 2007  
68  
w
Production Data  
REGISTER  
WM8581  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
ADDRESS  
R49  
0
AUDIO_N  
-
Recovered Channel Status bit-1.  
SPDSTAT  
31h  
0 = Data word represents audio PCM samples.  
1 = Data word does not represent audio PCM samples.  
(read-only)  
1
PCM_N  
-
Indicates that non-audio code (defined in IEC-61937)  
has been detected.  
0 = Sync code not detected.  
1 = Sync code detected – received data is not audio  
PCM.  
2
3
CPY_N  
-
-
Recovered Channel Status bit-2 (active low).  
0 = Copyright is asserted for this data.  
1 = Copyright is not asserted for this data.  
Recovered Channel Status bit-3  
0 = Recovered S/PDIF data has no pre-emphasis.  
1 = Recovered S/PDIF data has pre-emphasis  
Indicates recovered S/PDIF clock frequency:  
00 = Invalid  
DEEMPH  
5:4  
REC_FREQ  
[1:0]  
--  
01 = 96kHz / 88.2kHz  
10 = 48kHz / 44.1kHz  
11 = 32kHz  
6
UNLOCK  
-
Indicates that the S/PDIF Clock Recovery circuit is  
unlocked or that the input S/PDIF signal is not present.  
0 = Locked onto incoming S/PDIF stream.  
1 = Not locked to the incoming S/PDIF stream or the  
incoming S/PDIF stream is not present.  
Table 63 S/PDIF Status Register  
The interrupt and update signals used to generate INT_N can be masked as necessary. The MASK  
register bit prevents flags from asserting INT_N and from updating the Interrupt Status Register  
(R43). Masked flags update the S/PDIF Status Register (R49).  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R37  
INTMASK  
25h  
8:0  
MASK[8:0]  
000000000  
When a flag is masked, it does not update the Interrupt  
Status Register or assert INT_N.  
0 = unmask, 1 = mask.  
MASK[0] = mask control for UPD_UNLOCK  
MASK[1] = mask control for INT_INVALID  
MASK[2] = mask control for INT_CSUD  
MASK[3] = mask control for INT_TRANS_ERR  
MASK[4] = mask control for UPD_AUDIO_N  
MASK[5] = mask control for UPD_PCM_N  
MASK[6] = mask control for UPD_CPY_N  
MASK[7] = mask control for UPD_DEEMPH  
MASK[8] = mask control for UPD_REC_FREQ  
Table 64 Interrupt Mask Control Register  
PD Rev 4.0 April 2007  
69  
w
WM8581  
Production Data  
ERROR HANDLING IN SOFTWARE MODE  
When the TRANS_ERR flag is asserted, the recovered S/PDIF sub-frame is corrupted. When the  
INVALID flag is asserted, the recovered S/PDIF sub-frame is marked as being invalid.  
The S/PDIF receiver has two modes of error handling for these errors, manual and automatic. The  
mechanism for each flag is similar and is described below.  
MANUAL ERROR HANDLING  
When the flag is not masked using the MASK register, the recovered S/PDIF data is passed to the  
digital audio interface and DAC1 or to the S/PDIF transmitter (note 1) irrespective of the state of the  
flag and the data content of the recovered stream. In this case the application processor will be  
interrupted via the INT_N signal and appropriate action should be taken by the application processor  
to handle the error condition.  
AUTOMATIC ERROR HANDLING  
When the flag is masked using the MASK register, the WM8581 will automatically overwrite the  
recovered S/PDIF data with either all-zeros or the last valid data sample depending on the status of  
FILLMODE. In this case the application processor will not be interrupted via the INT_N signal and  
appropriate action will be taken by the WM8581 to handle the error condition.  
The automatic error handling can be disabled for the INVALID flag if the ‘ALWAYSVALID’ bit is set. In  
this case, recovered data which is marked as invalid will be allowed to pass to the digital audio  
interface or to the S/PDIF transmitter.  
Notes  
1. For the S/PDIF receiver to S/PDIF transmitter data path, only the INVALID flag will cause data to  
be overwritten, the TRANS_ERR flag is not used to overwrite data which is passed to the  
S/PDIF transmitter.  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R38  
GP01  
26h  
8
FILLMODE  
0
Fill Mode Overwrite Configuration  
Determines S/PDIF receiver action when TRANS_ERR or  
INVALID flag is masked and error condition sets the flag:  
0 = Data from S/PDIF receiver is overwritten with last valid  
data sample when flag is set.  
1 = Data from S/PDIF receiver is overwritten as all zeros  
when flag is set.  
8
ALWAYSVALID  
0
Automatic Error Handling Configuration for INVALID  
Flag  
R39  
GP02  
27h  
0 = INVALID flag automatic error handling enabled.  
1 = INVALID flag automatic error handling disabled.  
Table 65 S/PDIF Receiver Automatic Error Handling Configuration Registers  
NON-AUDIO DETECTION  
Non-Audio data is indicated by the AUDIO_N and PCM_N flags. AUDIO_N is recovered from the  
Channel Status block. PCM_N is set on detection of the 96-bit IEC-61937 non-audio data sync code,  
embedded in the data section of the S/PDIF frame. If DAC1 is sourcing the S/PDIF Receiver and  
either the AUDIO_N or PCM_N flags are asserted, DAC1 is automatically muted using the softmute  
feature. As described above, any change of AUDIO_N or PCM_N status will cause an INT_N  
interrupt (UPD_NON_AUDIO) to be generated. If the MASK register bit for AUDIO_N or PCM_N is  
set, then the associated signal will not generate an interrupt (UPD_NON_AUDIO) but the DAC will be  
muted.  
PD Rev 4.0 April 2007  
70  
w
Production Data  
WM8581  
S/PDIF INPUT/ GPO PIN CONFIGURATION  
The WM8581 has seven pins which can be configured as GPOs using the registers shown in Table  
65. The GPO pins can be used to output status data decoded by the S/PDIF receiver. These same  
pins may be used as S/PDIF inputs as described in Table 55.  
REGISTER  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
ADDRESS  
R38  
3:0  
7:4  
GPO1OP[3:0]  
GPO2OP[3:0]  
0000  
0001  
0000 = INT_N  
0001 = V  
GPO1  
26h  
0010 = U  
0011 = C  
R39  
3:0  
7:4  
GPO3OP[3:0]  
GPO4OP[3:0]  
0010  
0011  
0100 = P  
GPO2  
27h  
0101 = SFRM_CLK  
0110 = 192BLK  
0111 = UNLOCK  
1000 = CSUD  
1001 = Invalid  
1010 = ZFLAG  
1011 = NON_AUDIO  
1100 = CPY_N  
1101 = DEEMP  
R40  
3:0  
7:4  
GPO5OP[3:0]  
GPO6OP[3:0]  
0100  
0101  
GPO3  
28h  
R41  
3:0  
GPO7OP[3:0]  
0110  
GPO4  
29h  
1110 = Set GPO as S/PDIF input (CMOS-compatible  
input). Only applicable for GPO3/4/5.  
1111 = Set GPO as S/PDIF input (‘comparator’ input for  
AC coupled consumer S/PDIF signals). Only applicable  
for GPO3/4/5  
Table 65 GPO Control Registers  
POWERDOWN MODES  
The WM8581 has powerdown control bits allowing specific parts of the chip to be turned off when not  
in use.  
The ADC is powered down by setting the ADCPD register bit. The three stereo DACs each have a  
separate powerdown control bit, DACPD[2:0], allowing individual stereo DACs to be powered down  
when not in use. DACPD can be overwritten by setting ALLDACPD to powerdown all DACs  
The S/PDIF transmitter is powered down by setting SPDIFTXD. Setting SPDIFRXD powers down the  
S/PDIF receiver.  
The PLL, Oscillator and S/PDIF clock recovery circuits are powered down by setting PLLPD, OSCPD  
and SPDIFPD respectively.  
Setting all of ADCPD, DACPD[2:0], SPDIFTXD, SPDIFRXD and OUTPD[3:0] will powerdown  
everything except the references VMIDADC, ADCREF and VMIDDAC. These may be powered down  
by setting PWDN. Setting PWDN will override all other powerdown control bits. It is recommended  
that the ADC and DAC are powered down before setting PWDN. The default is for all powerdown bits  
to be set except OSCPD and PWDN.  
PD Rev 4.0 April 2007  
71  
w
WM8581  
Production Data  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R50  
PWRDN 1  
32h  
0
PWDN  
0
Master powerdown (overrides all  
powerdown registers)  
0 = All digital circuits running,  
outputs are active  
1 = All digital circuits in power  
down mode, outputs muted  
1
ADCPD  
1
ADC powerdown  
0 = ADC enabled  
1 = ADC disabled  
DAC powerdowns  
0 = DAC enabled  
1 = DAC disabled  
DACPD[0] = DAC1  
DACPD[1] = DAC2  
DACPD[2] = DAC3  
Overrides DACPD[3:0]  
4:2  
DACPD[2:0]  
111  
6
0
ALLDACPD  
OSCPD  
1
0
0 = DACs under control of  
DACPD[3:0]  
1= All DACs are disabled.  
OSC output powerdown  
0 = OSC output enabled  
1 = OSC output disabled  
R51  
PWRDN 2  
33h  
A CMOS input can be applied to  
the OSC input when powered  
down.  
1
2
3
PLLAPD  
PLLBPD  
SPDIFPD  
1
1
1
0 = PLLA enabled  
1 = PLLA disabled  
0 = PLLB enabled  
1 = PLLB disabled  
S/PDIF Clock Recovery  
PowerDown  
0 = S/PDIF enabled  
1 = S/PDIF disabled  
4
5
SPDIFTXD  
SPDIFRXD  
1
1
S/PDIF Transmitter powerdown  
0 = S/PDIF Transmitter enabled  
1 = S/PDIF Transmitter disabled  
S/PDIF Receiver powerdown  
0 = S/PDIF Receiver enabled  
1 = S/PDIF Receiver disabled  
Table 66 Powerdown Registers  
PD Rev 4.0 April 2007  
72  
w
Production Data  
WM8581  
INTERNAL POWER ON RESET CIRCUIT  
Figure 34 Internal Power On Reset Circuit Schematic  
The WM8581 includes an internal Power-On Reset Circuit, which is used to reset the digital logic into  
a default state after power up.  
Figure 34 shows a schematic of the internal POR circuit. The POR circuit is powered from AVDD.  
The circuit monitors DVDD and VMID and asserts PORB low if DVDD or VMID are below the  
minimum threshold Vpor_off.  
On power up, the POR circuit requires AVDD to be present to operate. PORB is asserted low until  
AVDD, DVDD and VMID voltages have risen above their reset thresholds. When these three  
conditions have been met, PORB is released high. When PORB is released high, all registers are in  
their default state and writes to the digital interface may take place.  
On power down, PORB is asserted low whenever DVDD or VMID drop below the minimum threshold  
Vpor_off.  
If AVDD is removed at any time, the internal Power On Reset circuit is powered down and the PORB  
output will follow the AVDD voltage.  
In most applications, the time required for the device to release PORB high will be determined by the  
charge time of the VMID node.  
PD Rev 4.0 April 2007  
73  
w
WM8581  
Production Data  
Figure 35 Typical Power up sequence where DVDD is powered before AVDD  
Figure 36 Typical Power up sequence where AVDD is powered before DVDD  
SYMBOL  
Vpora  
MIN  
0.5  
0.5  
1.0  
0.6  
TYP  
0.7  
0.7  
1.4  
0.8  
MAX  
1.0  
UNIT  
V
V
V
V
Vporr  
1.1  
Vpora_off  
Vpord_off  
2.0  
1.0  
Table 67 Typical POR Operation  
In a real application, the designer is unlikely to have control of the relative power up sequence of  
AVDD and DVDD. Using the POR circuit to monitor VMID ensures a reasonable delay between  
applying power to the device and Device Ready.  
PD Rev 4.0 April 2007  
74  
w
Production Data  
WM8581  
Figure 35 and Figure 36 show typical power up scenarios in a real system. Both AVDD and DVDD  
must be established, and VMID must have reached the threshold Vporr before the device is ready  
and can be written to. Any writes to the device before Device Ready will be ignored.  
Figure 35 shows DVDD powering up before AVDD. Figure 36 shows AVDD powering up before  
DVDD. In both cases, the time from applying power to Device Ready is dominated by the charge time  
of VMID.  
A 4.7µF capacitor (minimum) is recommended for decoupling on VMID. The charge time for VMID  
will dominate the time required for the device to become ready after power is applied. The time  
required for VMID to reach the threshold is a function of the VMID resistor string and the decoupling  
capacitor. To reduce transient audio effects during power on, the stereo DACs on the WM8581 have  
their outputs clamped to VMID at power-on. This increases the capacitive loading of the VMID  
resistor string, as the DAC output AC coupling capacitors must be charged to VMID, and hence the  
required charge time. To ensure minimum device startup time, the VMIDSEL bit is set by default,  
thus reducing the impedance of the resistor string. If required, the VMID string can be restored to a  
high impedance state to save power once the device is ready.  
REGISTER ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R29  
ADC CONTROL 1  
1Dh  
8
VMIDSEL  
1
VMID Impedance Selection  
0 = High impedance, power  
saving  
1 = Low impedance, fast power-  
on  
DEVICE ID READBACK  
Reading from registers R0, R1 and R2 returns the device ID and revision number. R0 returns 80h, R1  
returns 85h, R2 returns the device revision number. Device ID readback is not possible in continuous  
readback mode (CONTREAD=1).  
HARDWARE CONTROL MODE  
The WM8581 can be controlled in Hardware Control Mode or Software Control Mode. The method of  
control is determined by the state of the HWMODE pin. If the HWMODE pin is low, Software Control  
Mode is selected. If the HWMODE pin is high, Hardware Control Mode is selected.  
In Hardware Control Mode the user has limited control over the features of the WM8581. Most of the  
features will assume their default settings but some can be modified using external pins.  
HWMODE  
SWMODE  
0
1
0
1
Software Control Hardware Control  
2-wire control  
3-wire control  
Table 68 Hardware/Software Mode Setup  
DIGITAL ROUTING CONTROL  
See page 25 for a more detailed explanation of the Digital Routing Options within the WM8581. In  
Software Control Mode, the values of register bits DAC_SRC, PAIFTX_SRC and TXSRC configure  
the signal path routing between interfaces. In hardware mode, similar control can be achieved via  
pins DR1, DR2, DR3 and DR4 as detailed in Table 69 and Table 70.  
PIN  
DR1  
DR2  
0
1
DAC_SRC=S/PDIF receiver  
DAC_SRC=PAIF receiver  
PAIFTX_SRC=ADC output  
PAIFTX_SRC=S/PDIF  
receiver  
Table 69 DR1 / DR2 Operation  
PD Rev 4.0 April 2007  
75  
w
WM8581  
Production Data  
DR4  
DR3  
S/PDIF TRANSMITTER  
DATA SOURCE  
S/PDIF received data  
ADC digital output data  
Not available.  
0
0
1
1
0
1
0
1
PAIF receiver data  
Table 70 DR3 / DR4 Operation  
The Secondary Audio Interface (SAIF) is not operational in Hardware Mode.  
STATUS PINS  
In Hardware control mode, SDO and SWMODE pins provide S/PDIF status flag information.  
FLAG  
DESCRIPTION  
PIN  
SWMODE  
UNLOCK  
Indicates that the S/PDIF Clock Recovery circuit is unlocked  
or that the input S/PDIF signal is not present.  
0 = Locked to incoming S/PDIF stream.  
1 = Not locked to the incoming S/PDIF stream, or incoming  
stream not present.  
SDO  
NON_AUDIO  
Logical OR of PCM_N and AUDIO_N:  
PCM_N indicates that non-audio code (defined in IEC-61937)  
has been detected. AUDIO_N is the recovered Channel  
Status bit-1.  
Table 71 Hardware Mode Status Pins  
DIGITAL AUDIO INTERFACE CONTROL  
In Hardware Control Mode, CSB and SCLK become controls to configure the Primary Audio Interface  
data format and word length. The configuration applies to both transmit and receive sides of the  
interface. Table 72 below shows the options available.  
CSB  
SCLK  
FORMAT & WORD LENGTH  
24-bit right justified  
20-bit right justified  
24-bit left justified  
24-bit I2S  
0
0
1
1
0
1
0
1
Table 72 Audio Interface Hardware Mode Control  
DAC MUTE CONTROL  
In Hardware Control mode, the MUTE pin activates the softmute function on all the DACs. In  
Software Control mode, MUTE activates softmute on the DAC selected by the DZFM register (when  
the MPDENB bit is low). See page 37 for a detailed description of the softmute function and the  
other methods of activating softmute.  
When floating, the MUTE pin becomes an output for the ZFLAG flag.  
DESCRIPTION  
MUTE  
0
1
Normal Operation  
Mute DAC channels  
Floating  
MUTE is an output to indicate when Zero Detection occurs on all DACs  
(ZFLAG).  
H = detected, L = not detected.  
Table 73 MUTE Pin Control Options  
PD Rev 4.0 April 2007  
76  
w
Production Data  
WM8581  
PRIMARY AUDIO INTERFACE (TX) MASTER MODE CONTROL  
In Hardware Control Mode, the SDIN pin is used to enable the master mode function on the Primary  
Audio Interface transmitter. This has the same operation as the PAIFTX_MS register bit. The  
PAIFTX_RATE default settings of 256fs, and 64 BCLKs/LRCLK for BCLKSEL, are used in Hardware  
Control Mode. See page Error! Bookmark not defined. for more information on master mode  
operation.  
SDIN  
AUDIO INTERFACE (TX)  
0
1
Slave  
Master  
Table 74 Audio Interface (Transmitter) Master Mode Hardware Mode Control  
POWERDOWN CONTROL  
In Software Control Mode, the device is powered-down by default. In Hardware Control Mode, the  
chip is powered-up by default but can be powered down by setting the ALLPD(MFP7) input high.  
(Note that in Software Control Mode, this pin takes the function of SAIF_LRCLK or GPO7).  
ALLPD (MFP7)  
0
1
Powerup  
Powerdown  
Table 75 Hardware Mode Powerdown Control  
PD Rev 4.0 April 2007  
77  
w
WM8581  
Production Data  
REGISTER MAP  
The complete register map is shown below. The detailed description can be found in the relevant text of the device description. The  
WM8581 can be configured using the Control Interface. All unused bits should be set to ‘0’.  
REGISTER NAME  
ADDRESS  
B8  
B7  
B6  
B5  
B4  
B3  
B2  
B1  
B0  
DEFAULT  
R0  
00  
01  
02  
03  
04  
05  
06  
07  
PLLA 1/DEVID1  
PLLA_K[8:0]  
PLLA_K[17:9]  
100100001  
101111110  
001111101  
000010100  
100100001  
101111110  
001111101  
110010100  
R1  
R2  
R3  
R4  
R5  
R6  
R7  
PLLA 2/DEVID2  
PLLA 3/DEVREV  
PLLA 4  
0
0
PLLA_N[3:0]  
0
PLLA_K[21:18]  
FREQMODE_A[1:0]  
0
0
1
POSTSCALE_A PRESCALE_A  
PLLB 1  
PLLB_K[8:0]  
PLLB_K[17:9]  
PLLB 2  
PLLB 3  
0
PLLB_N[3:0]  
PLLB_K[21:18]  
MCLKOUTSRC[1:0]  
FREQMODE_B[1:0]  
PLLB 4  
CLKOUTSRC[1:0]  
1
POSTSCALE_B PRESCALE_B  
CLKSEL  
_MAN  
08  
0
0
0
TX_CLKSEL[1:0]  
ADC_CLKSEL[1:0]  
PAIFRX_BCLKSEL[1:0]  
PAIFRX_RATE[2:0]  
DAC_CLKSEL[1:0]  
000010000  
R8  
CLKSEL  
R9  
09  
0A  
0B  
0C  
0D  
0E  
0F  
10  
11  
12  
13  
PAIFRXMS_CLKSEL[1:0]  
PAIFRXMS  
PAIF 1  
PAIF 2  
000000010  
000000010  
011000010  
110001010  
010001010  
000001010  
011100100  
000001001  
000000000  
011111111  
000000000  
R10  
R11  
R12  
R13  
R14  
R15  
R16  
R17  
R18  
R19  
PAIFTX_BCLKSEL[1:0]  
0
0
0
PAIFTXMS  
SAIFMS  
PAIFRXBCP  
PAIFTXBCP  
PAIFTX_RATE[2:0]  
SAIF_RATE[2:0]  
SAIF_BCLKSEL[1:0]  
SAIF 1  
0
SAIFMS_CLKSEL[1:0]  
PAIFRXLRP  
PAIFTXLRP  
SAIFLRP  
PAIFRXWL[1:0]  
PAIFRXFMT[1:0]  
PAIF 3  
DAC_SRC[1:0]  
PAIFTX_SRC[1:0]  
SAIFTX_SRC[1:0]  
DACOSR  
0
PAIFTXWL[1:0]  
SAIFWL[1:0]  
PAIFTXFMT[1:0]  
SAIFFMT[1:0]  
DAC1SEL[1:0]  
PAIF 4  
SAIFBCP  
SAIF 2  
SAIF_EN  
DAC4SEL[1:0]  
DAC3SEL[1:0]  
DAC2SEL[1:0]  
DAC CONTROL 1  
DAC CONTROL 2  
DAC CONTROL 3  
DAC CONTROL 4  
DAC CONTROL 5  
RX2DAC_MODE  
0
0
0
0
IZD  
0
DZFM[2:0]  
0
PL[3:0]  
0
DEEMP[3:0]  
DEEMPALL  
PHASE[7:0]  
MUTEALL  
LDA1[7:0]  
MPDENB DACATC  
DZCEN  
DMUTE[3:0]  
DIGITAL ATTENUTATION  
DACL 1  
UPDATE  
UPDATE  
UPDATE  
UPDATE  
UPDATE  
UPDATE  
UPDATE  
UPDATE  
R20  
R21  
R22  
R23  
R24  
R25  
R26  
R27  
14  
15  
16  
17  
18  
19  
1A  
1B  
011111111  
011111111  
011111111  
011111111  
011111111  
011111111  
DIGITAL ATTENUTATION  
DACR 1  
RDA1[7:0]  
LDA2[7:0]  
RDA2[7:0]  
LDA3[7:0]  
RDA3[7:0]  
LDA4[7:0]  
RDA4[7:0]  
MASTDA[7:0]  
DIGITAL ATTENUTATION  
DACL 2  
DIGITAL ATTENUTATION  
DACR 2  
DIGITAL ATTENUTATION  
DACL 3  
DIGITAL ATTENUTATION  
DACR 3  
DIGITAL ATTENUTATION  
DACR 4  
011111111  
011111111  
011111111  
DIGITAL ATTENUTATION  
DACR 4  
MASTER DIGITAL  
ATTENUTATION  
UPDATE  
VMIDSEL  
R28  
R29  
R30  
1C  
1D  
1E  
ADC CONTROL 1  
SPDTXCHAN 0  
ADCRATE[2:0]  
ADCHPD ADCOSR AMUTEALL AMUTER AMUTEL 101000000  
TXVAL_  
SF1  
TXVAL_ TXVAL_  
SF0 OVWR  
REAL_  
0
0
0
0
0
0
0
TXSRC[1:0]  
000000010  
OVWCHAN  
THROUGH  
CHSTMODE[1:0]  
DEEMPH[2:0]  
CATCODE[7:0]  
CHNUM1[1:0]  
CLKACU[1:0]  
ORGSAMP[3:0]  
CPY_N AUDIO_N CON/PRO  
R31  
R32  
R33  
R34  
R35  
1F  
20  
21  
22  
23  
SPDTXCHAN 1  
SPDTXCHAN 2  
SPDTXCHAN 3  
SPDTXCHAN 4  
SPDTXCHAN 5  
000000000  
000000000  
CHNUM2[1:0]  
SRCNUM[3:0]  
FREQ[3:0]  
000000000  
000110001  
000001011  
0
0
TXWL[2:0]  
MAXWL  
PD Rev 4.0 April 2007  
78  
w
Production Data  
R36  
WM8581  
24  
25  
26  
27  
28  
29  
2A  
2B  
2C  
2D  
2E  
2F  
30  
31  
32  
33  
SPDMODE  
0
0
WL_MASK  
1
1
1
RXINSEL[1:0]  
000111001  
SPDIFIN1MODE  
R37  
R38  
R39  
R40  
R41  
R42  
R43  
R44  
R45  
R46  
R47  
R48  
R49  
R50  
R51  
INTMASK  
GPO1  
MASK[8:0]  
000000000  
GPO2OP[3:0]  
GPO1OP[3:0]  
GPO30P[3:0]  
GPO5OP[3:0]  
GPO70P[3:0]  
000010000  
FILLMODE  
GPO2  
GPO4OP[3:0]  
GPO6OP[3:0]  
000110010  
ALWAYSVALID  
GPO3  
0
0
0
001010100  
GPO4  
0
1
1
0
1
0
1
1
001110110  
Reserved  
1
0
0
0
010011000  
INTSTAT  
Error Flag Interupt Status Register  
Channel Status Register 1  
Channel Status Register 2  
Channel Status Register 3  
Channel Status Register 4  
Channel Status Register 5  
S/PDIF Status Register  
DACPD[3:0]  
-
SPDRXCHAN 1  
SPDRXCHAN 2  
SPDRXCHAN 3  
SPDRXCHAN 4  
SPDRXCHAN 5  
SPDSTAT  
PWRDN 1  
PWRDN 2  
-
-
-
-
-
-
0
0
ALLDACPD  
ADCPD  
PWDN  
001111110  
000111110  
0
0
0
0
0
0
SPDIFRXD  
0
SPDIFPD PLLBPD PLLAPD  
OSCPD  
SPDIFTXD  
READEN  
CONTREAD  
READMUX[2:0]  
R52  
R53  
34  
35  
READBACK  
RESET  
000000000  
n/a  
RESET  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
Fractional (K) part of PLLA frequency ratio (R).  
R0  
PLLA 1/  
DEVID1  
00h  
8:0  
PLLA_K[8:0]  
100100001  
Value K is one 22-digit binary number spread over registers R0,  
R1 and R2 as shown.  
Reading from these registers will return the device ID.  
R0 returns 10000001 = 81h  
R1  
8:0  
PLLA_K[17:9]  
101111110  
PLLA 2/  
DEVID2  
01h  
R1 returns 10000101 = 85h  
Device ID readback is not possible in continuous readback mode  
(CONTREAD=1).  
R2  
3:0  
7:4  
PLLA_K[21:18]  
PLLA_N[3:0]  
1101  
0111  
PLLA 3/  
DEVREV  
02h  
Integer (N) part of PLLA frequency ratio (R).  
Use values in the range 5 PLLA_N 13 as close as possible to  
8.  
Reading from this register will return the device revision number.  
PLL Pre-scale Divider Select  
R3  
PLLA 4  
03h  
0
1
PRESCALE_A  
0
0
0 = Divide by 1 (PLL input clock = oscillator clock)  
1 = Divide by 2 (PLL input clock = oscillator clock ÷ 2)  
Note: PRESCALE_A must be set to the same value as  
PRESCALE_B in PLL S/PDIF receiver mode.  
POSTSCALE_A  
PLL Post-scale Divider Select  
PLL S/PDIF Receiver Mode  
POSTSCALE_A is used to configure a 256fs or 128fs PLLACLK,  
POSTSCALE_B is not used. Refer to Table 45.  
PLL User Mode  
Used in conjunction with the FREQMODE_x bits. Refer to Table  
44.  
PD Rev 4.0 April 2007  
79  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
4:3  
FREQMODE_A[  
1:0]  
10  
PLL Output Divider Select  
PLL S/PDIF Receiver Mode  
FREQMODE_A is automatically controlled. FREQMODE_B is not  
used.  
PLL User Mode  
Used in conjunction with the POSTSCALE_x bits. Refer to Table  
44.  
R4  
PLLB 1  
04h  
8:0  
8:0  
PLLB_K[8:0]  
100100001  
101111110  
Fractional (K) part of PLLB frequency ratio (R).  
Value K is one 22-digit binary number spread over registers R4,  
R5 and R6 as shown.  
Note: PLLB_K must be set to specific values when the S/PDIF  
receiver is used. Refer to S/PDIF Receive Mode Clocking  
section for details.  
R5  
PLLB_K[17:9]  
PLLB 2  
05h  
R6  
3:0  
7:4  
PLLB_K[21:18]  
PLLB_N[3:0]  
1101  
0111  
PLLB 3  
06h  
Integer (N) part of PLL B frequency ratio (R).  
Use values in the range 5 PLLB_N 13 as close as possible to  
8
Note: PLLB_N must be set to specific values when the S/PDIF  
receiver is used. Refer to S/PDIF Receive Mode Clocking  
section for details.  
R7  
PLLB 4  
07h  
0
1
PRESCALE_B  
0
0
PLL Pre-scale Divider Select  
0 = Divide by 1 (PLL input clock = oscillator clock)  
1 = Divide by 2 (PLL input clock = oscillator clock ÷ 2)  
Note: PRESCALE_A must be set to the same value as  
PRESCALE_B in PLL S/PDIF receiver mode.  
POSTSCALE_B  
PLL Post-scale Divider Select  
PLL S/PDIF Receiver Mode  
POSTSCALE_A is used to configure a 256fs or 128fs PLLACLK,  
POSTSCALE_B is not used. Refer to Table 45.  
PLL User Mode  
Used in conjunction with the FREQMODE_x bits. Refer to Table  
44.  
4:3  
FREQMODE_B  
[1:0]  
10  
PLL Output Divider Select  
PLL S/PDIF Receiver Mode  
FREQMODE_A is automatically controlled. FREQMODE_B is not  
used.  
PLL User Mode  
Used in conjunction with the POSTSCALE_x bits. Refer to Table  
44.  
6:5  
8:7  
1:0  
MCLKOUTSRC  
CLKOUTSRC  
DAC_CLKSEL  
00  
11  
00  
MCLK pin output source  
00 = Input – Source MCLK pin  
01 = Output – Source PLLACLK  
10 = Output – Source PLLBCLK  
11 = Output – Source OSCCLK  
CLKOUT pin source  
00 = No Output (tristate)  
01 = Output – Source PLLACLK  
10 = Output – Source PLLBCLK  
11 = Output – Source OSCCLK  
DAC clock source  
R8  
CLKSEL  
08h  
00 = MCLK pin  
01 = PLLACLK  
10 = PLLBCLK  
11 = MCLK pin  
PD Rev 4.0 April 2007  
80  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
3:2  
ADC_CLKSEL  
00  
ADC clock source  
00 = ADCMLCK pin  
01 = PLLACLK  
10 = PLLBCLK  
11 = MCLK pin  
5:4  
TX_CLKSEL  
01  
S/PDIF Transmitter clock source  
00 = ADCMLCK pin  
01 = PLLACLK  
10 = PLLBCLK  
11 = MCLK pin  
6
CLKSEL_MAN  
0
Clock selection auto-configuration override  
0 = auto-configuration enabled, clock configuration follows  
restrictions described in page 43 to page 48.  
1 = auto-configuration disabled, clock configuration follows  
relevant CLKSEL bits in R8 to R11.  
R9  
PAIF 1  
09h  
2:0  
PAIFRX_RATE  
[2:0]  
010  
Master Mode LRCLK Rate  
000 = 128fs  
001 = 192fs  
010 = 256fs  
011 = 384fs  
100 = 512fs  
101 = 768fs  
110 = 1152fs  
4:3 PAIFRX_BCLKSEL  
[1:0]  
00  
Master Mode BCLK Rate  
00 = 64 BCLKs per LRCLK  
01 = 32 BCLKs per LRCLK  
10 = 16 BCLKs per LRCLK  
11 = BCLK = System Clock  
PAIF Receiver Master/Slave Mode Select  
0 = Slave Mode  
5
PAIFRXMS  
0
1 = Master Mode  
7:6  
PAIFRXMS_  
CLKSEL  
00  
PAIF Receiver Master Mode clock source  
00 = MCLK pin  
01 = PLLACLK  
10 = PLLBCLK  
11 = MCLK pin  
R10  
PAIF 2  
0Ah  
2:0  
PAIFTX_RATE  
[2:0]  
010  
Master Mode LRCLK Rate  
000 = 128fs  
001 = 192fs  
010 = 256fs  
011 = 384fs  
100 = 512fs  
101 = 768fs  
110 = 1152fs  
4:3 PAIFTX_BCLKSEL  
[1:0]  
00  
Master Mode BCLKRate  
00 = 64 BCLKs per LRCLK  
01 = 32 BCLKs per LRCLK  
10 = 16 BCLKs per LRCLK  
11 = BCLK = System Clock  
5
PAIFTXMS  
0
PAIF Transmitter Master/Slave Mode Select:  
0 = Slave Mode  
1 = Master Mode  
PD Rev 4.0 April 2007  
81  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R11  
SAIF1  
0Bh  
2:0  
SAIF_RATE  
[2:0]  
010  
Master Mode LRCLK Rate  
000 = 128fs  
001 = 192fs  
010 = 256fs  
011 = 384fs  
100 = 512fs  
101 = 768fs  
110 = 1152fs  
4:3  
SAIF_BCLKSEL  
[1:0]  
00  
Master Mode BCLK Rate  
00 = 64 BCLKs per LRCLK  
01 = 32 BCLKs per LRCLK  
10 = 16 BCLKs per LRCLK  
11 = BCLK = System Clock  
5
SAIFMS  
0
SAIF Master/Slave Mode Select  
0 = Slave Mode  
1 = Master Mode  
7:6  
SAIFMS_  
CLKSEL  
[1:0]  
11  
SAIF Master Mode clock source  
00 = ADCMCLK pin  
01 = PLLACLK  
10 = PLLBCLK  
11 = MCLK pin  
R12  
PAIF 3  
0Ch  
1:0  
3:2  
4
PAIFRXFMT  
[1:0]  
10  
10  
0
PAIF Receiver Audio Data Format Select  
11: DSP Format  
10: I2S Format  
01: Left justified  
00: Right justified  
PAIFRXWL  
[1:0]  
PAIF Receiver Audio Data Word Length  
11: 32 bits (see Note)  
10: 24 bits  
01: 20 bits  
00: 16 bits  
PAIFRXLRP  
In LJ/RJ/I2S modes  
0 = LRCLK not inverted  
1 = LRCLK inverted  
In DSP Format:  
0 = DSP Mode A  
1 = DSP Mode B  
5
6
PAIFRXBCP  
DACOSR  
0
0
PAIF Receiver BCLK polarity  
0 = BCLK not inverted  
1 = BCLK inverted  
DAC Oversampling Rate Control  
0= 128x oversampling  
1= 64x oversampling  
8:7  
DAC_SRC  
[1:0]  
11  
DAC1 Source:  
00 = S/PDIF received data.  
10 = SAIF Receiver data  
11 = PAIF Receiver data  
Note: When DAC_SRC = 00, DAC2/3/4 may be turned off,  
depending on RX2DAC_MODE  
PD Rev 4.0 April 2007  
82  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R13  
PAIF 4  
0Dh  
1:0  
PAIFTXFMT  
[1:0]  
10  
PAIF Transmitter Audio Data Format Select  
11: DSP Format  
10: I2S Format  
01: Left justified  
00: Right justified  
3:2  
PAIFTXWL  
[1:0]  
10  
PAIF Transmitter Audio Data Word Length  
11: 32 bits (see Note)  
10: 24 bits  
01: 20 bits  
00: 16 bits  
4
PAIFTXLRP  
0
In LJ/RJ/I2S modes  
0 = LRCLK not inverted  
1 = LRCLK inverted  
In DSP Format:  
0 = DSP Mode A  
1 = DSP Mode B  
5
PAIFTXBCP  
0
PAIF Receiver BCLK polarity  
0 = BCLK not inverted  
1 = BCLK inverted  
8:7  
PAIFTX_SRC  
[1:0]  
01  
Primary Audio Interface Transmitter Source  
00 = S/PDIF received data.  
01 = ADC digital output data.  
10 = SAIF Receiver data  
SAIF Audio Data Format Select  
11: DSP Format  
R14  
SAIF 2  
0Eh  
1:0  
3:2  
4
SAIFFMT  
[1:0]  
10  
10  
0
10: I2S Format  
01: Left justified  
00: Right justified  
SAIFWL  
[1:0]  
SAIF Audio Data Word Length  
11: 32 bits (see Note)  
10: 24 bits  
01: 20 bits  
00: 16 bits  
SAIFLRP  
In LJ/RJ/I2S modes  
0 = LRCLK not inverted  
1 = LRCLK inverted  
In DSP Format:  
0 = DSP Mode A  
1 = DSP Mode B  
5
6
SAIFBCP  
SAIF_EN  
0
0
SAIF BCLK polarity  
0 = BCLK not inverted  
1 = BCLK inverted  
SAIF Enable  
0 = SAIF disabled  
1 = SAIF enabled  
8:7  
SAIFTX_SRC  
[1:0]  
00  
Secondary Audio Interface Transmitter Source  
00 = S/PDIF received data.  
01 = ADC digital output data.  
11 = PAIF Receiver data  
PD Rev 4.0 April 2007  
83  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R15  
1:0  
DAC1SEL  
[1:0]  
00  
DAC digital input select  
DAC  
CONTROL  
1
00 = DAC takes data from DIN1  
01 = DAC takes data from DIN2  
10 = DAC takes data from DIN3  
11 = DAC takes data from DIN4  
3:2  
5:4  
7:6  
8
DAC2SEL  
[1:0]  
01  
10  
11  
0
0Fh  
DAC3SEL  
[1:0]  
DAC4SEL  
[1:0]  
RX2DAC_MODE  
DAC oversampling rate and power down control (only valid when  
DAC_SRC = 00, S/PDIF receiver)  
0 = SFRM_CLK determines oversampling rate, DACs 2/3  
powered down  
1 = PAIFRX_LRCLK determines oversampling rate, DACs 2/3  
source PAIF Receiver  
R16  
3:0  
PL[3:0]  
1001  
PL[3:0]  
Left O/P  
Mute  
Right O/P  
Mute  
DAC  
CONTROL  
2
0000  
0001  
Left  
Mute  
0010  
Right  
(L+R)/2  
Mute  
Mute  
10h  
0011  
Mute  
0100  
Left  
0101  
Left  
Left  
0110  
Right  
(L+R)/2  
Mute  
Left  
0111  
Left  
1000  
Right  
Right  
Right  
Right  
(L+R)/2  
(L+R)/2  
(L+R)/2  
(L+R)/2  
1001  
Left  
1010  
Right  
(L+R)/2  
Mute  
1011  
1100  
1101  
Left  
1110  
Right  
(L+R)/2  
1111  
6:4  
DZFM[2:0]  
000  
Selects the– source for ZFLAG  
000 -–All–DACs Zero Flag  
001 -–DAC1 Zero Flag  
010 -–DAC2 Zero Flag  
011 -–DAC3 Zero Flag  
100 -–DAC4 Zero F–ag  
101 - ZFLAG – 0–110 - ZFLAG = 0  
111 - ZFLAG = 0  
7
IZD  
0
Infinite zero detection circuit control and automute control  
0 = Infinite zero detect automute disabled  
1 = Infinite zero detect automute enabled  
De-emphasis mode select  
R17  
3:0  
DEEMP[3:0]  
0000  
DAC  
CONTROL  
3
DEEMP[0] = 1, enable De-emphasis on DAC1  
DEEMP[1] = 1, enable De-emphasis on DAC2  
DEEMP[2] = 1, enable De-emphasis on DAC3  
DEEMP[3] = 1, enable De-emphasis on DAC 4  
11h  
4
DEEMPALL  
0
0 = De-emphasis controlled by DEEMP[3:0]  
1 = De-emphasis enabled on all DACs  
PD Rev 4.0 April 2007  
84  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
Controls phase of DAC outputs  
R18  
7:0  
PHASE [7:0]  
11111111  
DAC  
CONTROL  
4
0 = inverted  
1 = non-inverted  
PHASE[0] = 0 inverts phase of DAC1L output  
PHASE[1] = 0 inverts phase of DAC1R output  
PHASE[2] = 0 inverts phase of DAC2L output  
PHASE[3] = 0 inverts phase of DAC2R output  
PHASE[4] = 0 inverts phase of DAC3L output  
PHASE[5] = 0 inverts phase of DAC3R output  
PHASE[6] = 0 inverts phase of DAC4L output  
PHASE[7] = 0 inverts phase of DAC4R output  
DAC channel soft mute enables  
12h  
R19  
3:0  
DMUTE[3:0]  
0000  
DAC  
CONTROL  
5
DMUTE[0] = 1, enable soft-mute on DAC1  
DMUTE[1] = 1, enable soft-mute on DAC2  
DMUTE[2] = 1, enable soft-mute on DAC3  
DMUTE[3] = 1, enable soft-mute on DAC4  
13h  
4
5
6
7
MUTEALL  
DZCEN  
0
0
0
0
DAC channel master soft mute. Mutes all DAC channels  
0 = disable soft-mute on all DACs  
1 = enable soft-mute on all DACs  
DAC Digital Volume Zero Cross Enable  
0 = Zero Cross detect disabled  
1 = Zero Cross detect enabled  
DACATC  
MPDENB  
Attenuator Control  
0 = All DACs use attenuations as programmed.  
1 = Right channel DACs use corresponding left DAC attenuations  
MUTE pin decode enable  
0 = MUTE activates soft-mute on DAC selected by DZFM  
1 = MUTE activates softmute on all DACs  
R20  
7:0  
8
LDA1[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC1 Left Channel (DACL1) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACL 1  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store LDA1 in intermediate latch (no change to output)  
1 = Apply LDA1 and update attenuation on all channels  
14h  
R21  
7:0  
8
RDA1[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC1 Right Channel (DACR1) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACR 1  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store RDA1 in intermediate latch (no change to output)  
1 = Apply RDA1 and update attenuation on all channels  
15h  
R22  
7:0  
8
LDA2[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC2 Left Channel (DACL2) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACL 2  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store LDA2 in intermediate latch (no change to output)  
1 = Apply LDA2 and update attenuation on all channels  
16h  
R23  
7:0  
8
RDA2[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC2 Right Channel (DACR2) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACR 2  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store RDA2 in intermediate latch (no change to output)  
1 = Apply RDA2 and update attenuation on all channels  
17h  
R24  
7:0  
8
LDA3[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC3 Left Channel (DACL3) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACL 3  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store LDA3 in intermediate latch (no change to output)  
1 = Apply LDA3 and update attenuation on all channels  
18h  
PD Rev 4.0 April 2007  
85  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R25  
7:0  
RDA3[7:0]  
11111111  
(0dB)  
Digital Attenuation control for DAC3 Right Channel (DACR3) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACR 3  
8
UPDATE  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store RDA3 in intermediate latch (no change to output)  
1 = Apply RDA3 and update attenuation on all channels  
19h  
R26  
7:0  
8
LDA4[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC4 Left Channel (DACL4) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACL 4  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store LDA4 in intermediate latch (no change to output)  
1 = Apply LDA4 and update attenuation on all channels  
1Ah  
R27  
7:0  
8
RDA4[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for DAC4 Right Channel (DACR4) in  
0.5dB steps. See Table 23  
DIGITAL  
ATTENUATION  
DACR 4  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store RDA4 in intermediate latch (no change to output)  
1 = Apply RDA4 and update attenuation on all channels  
1Bh  
R28  
7:0  
8
MASTDA[7:0]  
UPDATE  
11111111  
(0dB)  
Digital Attenuation control for all DAC channels in 0.5dB steps.  
See Table 23  
MASTER  
DIGITAL  
Not latched  
Controls simultaneous update of all Attenuation Latches  
0 = Store gain in intermediate latch (no change to output)  
1 = Apply gain and update attenuation on all channels  
ADC Mute select  
ATTENUATION  
1Ch  
R29  
0
1
AMUTEL  
AMUTER  
0
0
ADC  
CONTROL  
1
0 : Normal Operation  
1: mute ADC left  
ADC Mute select  
1Dh  
0 : Normal Operation  
1: mute ADC right  
2
AMUTEALL  
ADCOSR  
0
ADC Mute select  
0 : Normal Operation  
1: mute both ADC channels  
ADC oversample rate select  
0 = 128/64 x oversampling  
1 = 64/32 x oversampling  
3
0
4
ADCHPD  
0
ADC high-pass filter disable:  
0 = high-pass filter enabled  
1 = high-pass filter disabled  
7:5  
ADCRATE[2:0]  
010  
ADC Rate Control (only used when the S/PDIF Transmitter is the  
only interface sourcing the ADC)  
000 = 128fs  
001 = 192fs  
010 = 256fs  
011 = 384fs  
100 = 512fs  
101 = 768fs  
110 = 1152fs  
8
VMIDSEL  
1
VMID Impedance Selection  
0 = High impedance, power saving  
1 = Low impedance, fast power-on  
S/PDIF Transmitter Data Source  
00 = S/PDIF received data (see REAL_THROUGH)  
01 = ADC digital output data.  
R30  
SPDTXCHAN 0  
1Eh  
1:0  
TXSRC[1:0]  
10  
10 = Secondary Audio Interface  
11 = Audio Interface received data  
PD Rev 4.0 April 2007  
86  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
2
OVWCHAN  
0
Only used if TXSRC==00. Overwrites the ‘through-path’ Channel  
Bit with values determined by the channel-bit control registers.  
0 = Channel data equal to recovered channel data.  
1 = Channel data taken from channel status registers.  
S/PDIF Through Mode Control  
3
4
REAL_  
0
0
THROUGH  
0 = SPDIFOP pin sources output of S/PDIF Transmitter  
1 = SPDIFOP pins sources output of S/PDIF IN Mux  
S/PDIF Transmitter Validity Overwrite Mode  
TXVAL_OVWR  
0 = disabled, validity bit is 0 when transmitter sources ADC, PAIF  
or SAIF, or is matches the S/PDIF input validity when S/PDIF  
transmitter sources S/PDIF receiver.  
1 = enabled, validity bit transmitted for subframe 0 is defined by  
TXVAL_SF0, validity bit transmitted for subframe 1 is defined by  
TXVAL_SF1.  
5
6
TXVAL_SF0  
TXVAL_SF1  
0
0
Overwrite Mode S/PDIF Transmitter Validity Sub-Frame 0  
0 = transmit validity = 0  
1 = transmit validity = 1  
Overwrite Mode S/PDIF Transmitter Validity Sub-Frame 1  
0 = transmit validity = 0  
1 = transmit validity = 1  
R31  
SPDTXCHAN 1  
1Fh  
0
1
CON/PRO  
AUDIO_N  
CPY_N  
0
0
0 = Consumer Mode  
1 = Professional Mode (not supported by WM8581)  
0 = S/PDIF transmitted data is audio PCM.  
1 = S/PDIF transmitted data is not audio PCM.  
0 = Transmitted data has copyright asserted.  
1 = Transmitted data has no copyright assertion.  
000 = Data from Audio interface has no pre-emphasis.  
001 = Data from Audio interface has pre-emphasis.  
010 = Reserved (Audio interface has pre-emphasis).  
011 = Reserved (Audio interface has pre-emphasis).  
All other modes are reserved and should not be used.  
00 = Only valid mode for consumer applications.  
2
0
5:3  
DEEMPH[2:0]  
000  
7:6  
7:0  
CHSTMODE  
[1:0]  
00  
R32  
SPDTXCHAN 2  
20h  
CATCODE  
[7:0]  
00000000  
Category Code. Refer to S/PDIF specification for details.  
00h indicates “general” mode  
R33  
3:0  
5:4  
SRCNUM  
[3:0]  
0000  
00  
Source Number. No definitions are attached to data.  
SPDTXCHAN 3  
21h  
CHNUM1[1:0]  
Channel Number for Subframe 1  
CHNUM1  
Channel Status Bits[21:20]  
00  
01  
10  
11  
0000 = Do not use channel number  
0001 = Send to Left Channel  
0010 = Send to Right Channel  
0000 = Do not use channel number  
7:6  
3:0  
CHNUM2[1:0]  
00  
Channel Number for Subframe 2  
CHNUM2  
Channel Status Bits[23:22]  
00  
01  
10  
11  
0000 = Do not use channel number  
0001 = Send to Left Channel  
0010 = Send to Right Channel  
0000 = Do not use channel number  
R34  
FREQ[3:0]  
0001  
Sampling Frequency. See S/PDIF specification for details.  
0001 = Sampling Frequency not indicated.  
SPDTXCHAN 4  
PD Rev 4.0 April 2007  
87  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
Clock Accuracy of Generated clock.  
22h  
5:4  
CLKACU[1:0]  
11  
00 = Level II  
01 = Level I  
10 = Level III  
11 = Interface frame rate not matched to sampling frequency.  
Maximum Audio sample word length  
0 = 20 bits  
R35  
SPDTXCHAN 5  
23h  
0
MAXWL  
1
1 = 24 bits  
3:1  
TXWL[2:0]  
101  
Audio Sample Word Length.  
000 = Word Length Not Indicated  
TXWL[2:0]  
MAXWL==1  
MAXWL==  
0
001  
010  
100  
101  
110  
20 bits  
22 bits  
23 bits  
24 bits  
21 bits  
16 bits  
18 bits  
19 bits  
20 bits  
17 bits  
All other combinations reserved  
7:4  
0
ORGSAMP  
[3:0]  
0000  
1
Original Sampling Frequency. See S/PDIF specification for details.  
0000 = original sampling frequency not indicated  
Selects the input circuit type for the SPDIFIN1 input  
0 = CMOS-compatible input  
R36  
SPDMODE  
24h  
SPDIFIN1MODE  
1 = Comparator input. Compatible with 500mVpp AC coupled  
consumer S/PDIF input signals as defined in IEC-60958-3.  
2:1  
RXINSEL[1:0]  
00  
S/PDIF Receiver input mux select. Note that the general purpose  
inputs must be configured using GPOxOP to be either CMOS or  
comparator inputs if selected by RXINSEL.  
00 = SPDIFIN1  
01 = SPDIFIN2 (MFP3)  
10 = SPDIFIN3 (MFP4)  
11 = SPDIFIN4 (MFP5)  
6
WL_MASK  
MASK[8:0]  
0
S/PDIF Receiver Word Length Truncation Mask  
0 = disabled, data word is truncated as described in Table 60.  
1 = enabled, data word is not truncated.  
R37  
INTMASK  
25h  
8:0  
000000000  
When a flag is masked, it does not update the Error Register or  
contribute to the interrupt pulse.  
0 = unmask, 1 = mask.  
MASK[0] = mask control for UPD_UNLOCK  
MASK[1] = mask control for INT_INVALID  
MASK[2] = mask control for INT_CSUD  
MASK[3] = mask control for INT_TRANS_ERR  
MASK[4] = mask control for UPD_AUDIO_N  
MASK[5] = mask control for UPD_PCM_N  
MASK[6] = mask control for UPD_CPY_N  
MASK[7] = mask control for UPD_DEEMPH  
MASK[8] = mask control for UPD_REC_FREQ  
0000 = INT_N  
R38  
3:0  
GPO1OP[3:0]  
0000  
PD Rev 4.0 April 2007  
88  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
GPO1  
26h  
7:4  
GPO2OP[3:0]  
0001  
0001 = V  
0010 = U  
0011 = C  
0100 = P  
0101 = SFRM_CLK  
0110 = 192BLK  
0111 = UNLOCK  
1000 = CSUD  
1001 = Invalid  
1010 = ZFLAG  
1011 = NON_AUDIO  
1100 = CPY_N  
1101 = DEEMP  
1110 = Set GPO as S/PDIF input (standard CMOS input buffer).  
Only applicable for GPO3/4/5.  
1111 = Set GPO as S/PDIF input (‘comparator’ input for AC  
coupled consumer S/PDIF signals). Only applicable for GPO3/4/5  
8
FILLMODE  
0
Fill Mode Overwrite Configuration  
Determines S/PDIF receiver action when TRANS_ERR or  
INVALID flag is masked and error condition sets the flag:  
0 = Data from S/PDIF receiver is overwritten with last valid data  
sample when flag is set.  
1 = Data from S/PDIF receiver is overwritten as all zeros when flag  
is set.  
R39  
GPO2  
27h  
3:0  
7:4  
GPO3OP[3:0]  
GPO4OP[3:0]  
0010  
0011  
0000 = INT_N  
0001 = V  
0010 = U  
0011 = C  
0100 = P  
0101 = SFRM_CLK  
0110 = 192BLK  
0111 = UNLOCK  
1000 = CSUD  
1001 = Invalid  
1010 = ZFLAG  
1011 = NON_AUDIO  
1100 = CPY_N  
1101 = DEEMP  
1110 = Set GPO as S/PDIF input (standard CMOS input buffer).  
Only applicable for GPO3/4/5.  
1111 = Set GPO as S/PDIF input (‘comparator’ input for AC  
coupled consumer S/PDIF signals). Only applicable for GPO3/4/5  
8
ALWAYSVALID  
0
Automatic Error Handling Configuration for INVALID Flag  
0 = INVALID flag automatic error handling enabled.  
1 = INVALID flag automatic error handling disabled.  
0000 = INT_N  
R40  
GPO3  
28h  
3:0  
7:4  
GPO5OP[3:0]  
GPO6OP[3:0]  
0100  
0101  
0001 = V  
PD Rev 4.0 April 2007  
89  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
R41  
GPO4  
29h  
3:0  
GPO7OP[3:0]  
0110  
0010 = U  
0011 = C  
0100 = P  
0101 = SFRM_CLK  
0110 = 192BLK  
0111 = UNLOCK  
1000 = CSUD  
1001 = Invalid  
1010 = ZFLAG  
1011 = NON_AUDIO  
1100 = CPY_N  
1101 = DEEMP  
1110 = Set GPO as S/PDIF input (standard CMOS input buffer).  
Only applicable for GPO3/4/5.  
1111 = Set GPO as S/PDIF input (‘comparator’ input for AC  
coupled consumer S/PDIF signals). Only applicable for GPO3/4/5  
R43  
INTSTAT  
2Bh  
0
1
2
3
4
5
6
7
0
UPD_UNLOCK  
INT_INVALID  
INT_CSUD  
-
-
-
-
-
-
-
-
-
UNLOCK flag update signal  
0 = INT_N not caused by update to UNLOCK flag  
1 = INT_N caused by update to UNLOCK flag  
INVALID flag interrupt signal  
0 = INT_N not caused by INVALID flag  
1 = INT_N caused by INVALID flag  
CSUD flag interrupt signal  
0 = INT_N not caused by CSUD flag  
1 = INT_N caused by CSUD flag  
INT_TRANS_ERR  
UPD_NON_AUDIO  
UPD_CPY_N  
UPD_DEEMPH  
UPD_REC_FREQ  
CON/PRO  
TRANS_ERR flag interrupt signal  
0 = INT_N not caused by TRANS_ERR flag  
1 = INT_N caused by TRANS_ERR flag  
NON_AUDIO update signal  
0 = INT_N not caused by update to NON_AUDIO flag  
1 = INT_N caused by update to NON_AUDIO flag  
CPY_N update signal  
0 = INT_N not caused by update to CPY_N flag  
1 = INT_N caused by update to CPY_N flag  
DEEMPH update signal  
0 = INT_N not caused by update to DEEMPH flag  
1 = INT_N caused by update to DEEMPH flag  
REC_FREQ update signal  
0 = INT_N not caused by update to REC_FREQ flag  
1 = INT_N caused by update to REC_FREQ flag  
0 = Consumer Mode  
R44  
SPDRXCHAN 1  
2C  
1 = Professional Mode  
The WM8581 is a consumer mode device. Detection of  
professional mode may give erroneous behaviour.  
1
AUDIO_N  
-
Recovered S/PDIF Channel status bit 1.  
0 = Data word represents audio PCM samples.  
1 = Data word does not represent audio PCM samples.  
0 = Copyright is asserted for this data.  
2
3
CPY_N  
DEEMPH  
Reserved  
-
-
-
1 = Copyright is not asserted for this data.  
0 = Recovered S/PDIF data has no pre-emphasis.  
1 = Recovered S/PDIF data has pre-emphasis.  
Reserved for additional de-emphasis modes.  
5:4  
PD Rev 4.0 April 2007  
90  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
7:6  
CHSTMODE  
[1:0]  
-
00 = Only valid mode for consumer applications.  
R45  
SPDRXCHAN 2  
2Dh  
7:0  
CATCODE  
[7:0]  
-
Category Code. Refer to S/PDIF specification for details.  
00h indicates “general” mode.  
R46  
3:0  
5:4  
SRCNUM  
[3:0]  
-
-
Indicates number of S/PDIF source.  
Channel number for sub-frame 1.  
SPDRXCHAN 3  
2Eh  
CHNUM1[1:0]  
00 = Take no account of channel number (channel 1 defaults to  
left DAC)  
01 = channel 1 to left channel  
10 = channel 1 to right channel  
Channel number for sub-frame 2.  
7:6  
CHNUM2[1:0]  
00 = Take no account of channel number (channel 2 defaults to  
left DAC)  
01 = channel 2 to left channel  
10 = channel 2 to right channel  
Sampling Frequency. See S/PDIF specification for details.  
0001 = Sampling Frequency not indicated.  
Clock Accuracy of received clock.  
00 = Level II  
R47  
SPDRXCHAN 4  
2Fh  
3:0  
5:4  
FREQ[3:0]  
-
-
CLKACU[1:0]  
01 = Level I  
10 = Level III  
11 = Interface frame rate not matched to sampling frequency.  
R48  
SPDRXCHAN 5  
30h  
0
MAXWL  
-
-
Maximum Audio sample word length  
0 = 20 bits  
1 = 24 bits  
3:1  
RXWL[2:0]  
Audio Sample Word Length.  
000: Word Length Not Indicated  
RXWL[2:0]  
MAXWL==1  
MAXWL==  
0
001  
010  
100  
101  
110  
20 bits  
22 bits  
23 bits  
24 bits  
21 bits  
16 bits  
18 bits  
19 bits  
20 bits  
17 bits  
All other combinations are reserved and may give erroneous  
operation. Data will be truncated internally when these bits are set  
unless WL_MASK is set.  
7:4  
0
ORGSAMP  
[3:0]  
-
-
-
Original Sampling Frequency. See S/PDIF specification for details.  
0000 = original sampling frequency not indicated  
R49  
SPDSTAT  
31h  
AUDIO_N  
PCM_N  
Recovered Channel Status bit-1.  
0 = Data word represents audio PCM samples.  
1 = Data word does not represent audio PCM samples.  
1
Indicates that non-audio code (defined in IEC-61937) has been  
detected.  
0 = Sync code not detected.  
1 = Sync code detected – received data is not audio PCM.  
Recovered Channel Status bit-2.  
2
CPY_N  
-
0 = Copyright is asserted for this data.  
1 = Copyright is not asserted for this data.  
Note this signal is inverted and will cause an interrupt on logic 0.  
PD Rev 4.0 April 2007  
91  
w
WM8581  
Production Data  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
Recovered Channel Status bit-3  
3
DEEMPH  
-
0 = Recovered S/PDIF data has no pre-emphasis.  
1 = Recovered S/PDIF data has pre-emphasis  
Indicates recovered S/PDIF clock frequency:  
00 = Invalid  
5:4  
REC_FREQ  
[1:0]  
--  
01 = 96kHz / 88.2kHz  
10 = 48kHz / 44.1kHz  
11 = 32kHz  
6
0
UNLOCK  
PWDN  
-
Indicates that the S/PDIF Clock Recovery circuit is unlocked or  
that the input S/PDIF signal is not present.  
0 = Locked onto incoming S/PDIF stream.  
1 = Not locked to the incoming S/PDIF stream or the incoming  
S/PDIF stream is not present.  
R50  
PWRDN 1  
32h  
0
Chip Powerdown Control (works in tandem with the other  
powerdown registers):  
0 = All digital circuits running, outputs are active  
1 = All digital circuits in power save mode, outputs muted  
ADC powerdown:  
1
ADCPD  
1
0 = ADC enabled  
1 = ADC disabled  
5:2  
DACPD[3:0]  
1111  
DAC powerdowns (0 = DAC enabled, 1 = DAC disabled)  
DACPD[0] = DAC1  
DACPD[1] = DAC2  
DACPD[2] = DAC3  
DACPD[3] = DAC4  
6
0
ALLDACPD  
OSCPD  
1
0
Overrides DACPD[3:0]  
0 = DACs under control of DACPD[3:0]  
1= All DACs are disabled.  
OSC power down  
R51  
PWRDN 2  
33h  
0 = OSC enabled  
1 = OSC disabled  
1
2
3
PLLAPD  
PLLBPD  
SPDIFPD  
1
1
1
0 = PLLA enabled  
1 = PLLA disabled  
0 = PLLB enable  
1 = PLLB disable  
S/PDIF Clock Recovery PowerDown  
0 = S/PDIF enabled  
1 = S/PDIF disabled  
4
5
SPDIFTXD  
SPDIFRXD  
1
1
S/PDIF Transmitter powerdown  
0 = S/PDIF Transmitter enabled  
1 = S/PDIF Transmitter disabled  
S/PDIF Receiver powerdown  
0 = S/PDIF Receiver enabled  
1 = S/PDIF Receiver disabled  
Determines which status register is to be read back:  
000 = Error Register  
R52  
READBACK  
34h  
2:0  
READMUX  
[2:0]  
000  
001 = Channel Status Register 1  
010 = Channel Status Register 2  
011 = Channel Status Register 3  
100 = Channel Status Register 4  
101 = Channel Status Register 5  
110 = S/PDIF Status Register  
PD Rev 4.0 April 2007  
92  
w
Production Data  
WM8581  
REGISTER  
ADDRESS  
BIT  
LABEL  
DEFAULT  
DESCRIPTION  
Continuous Read Enable.  
3
CONTREAD  
0
0 = Continuous read-back mode disabled  
1 = Continuous read-back mode enabled  
Read-back mode enable.  
4
READEN  
RESET  
0
0 = read-back mode disabled  
1 = read-back mode enabled  
R53  
RESET  
35h  
8:0  
n/a  
Writing to this register will apply a reset to the device registers.  
PD Rev 4.0 April 2007  
93  
w
WM8581  
Production Data  
DIGITAL FILTER CHARACTERISTICS  
PARAMETER  
TEST CONDITIONS  
ADC Filter  
MIN  
TYP  
MAX  
0.4535fs  
0.01  
UNIT  
Passband  
0.01 dB  
-6dB  
0
0.5fs  
Passband ripple  
Stopband  
dB  
dB  
0.5465fs  
-65  
Stopband Attenuation  
f > 0.5465fs  
DAC Filter  
Passband  
0.05 dB  
-3dB  
0.444fs  
0.05  
0.487fs  
Passband ripple  
Stopband  
dB  
dB  
0.555fs  
-60  
Stopband Attenuation  
f > 0.555fs  
Table 76 Digital Filter Characteristics  
DAC FILTER RESPONSES  
0.2  
0
0.15  
0.1  
-20  
-40  
0.05  
0
-60  
-0.05  
-0.1  
-0.15  
-0.2  
-80  
-100  
-120  
0
0.5  
1
1.5  
2
2.5  
3
0
0.05  
0.1  
0.15  
0.2  
0.25  
0.3  
0.35  
0.4  
0.45  
0.5  
Frequency (Fs)  
Frequency (Fs)  
Figure 37 DAC Digital Filter Frequency Response  
– 44.1, 48 and 96KHz  
Figure 38 DAC Digital Filter Ripple –44.1, 48 and 96kHz  
0.2  
0
0
-20  
-40  
-60  
-80  
-0.2  
-0.4  
-0.6  
-0.8  
-1  
0
0.2  
0.4  
0.6  
0.8  
1
0
0.05  
0.1  
0.15  
0.2  
0.25  
0.3  
0.35  
0.4  
0.45  
0.5  
Frequency (Fs)  
Frequency (Fs)  
Figure 39 DAC Digital Filter Frequency Response  
– 192KHz  
Figure 40 DAC Digital Filter Ripple – 192kHz  
PD Rev 4.0 April 2007  
94  
w
Production Data  
WM8581  
DIGITAL DE-EMPHASIS CHARACTERISTICS  
0
-2  
0.4  
0.3  
0.2  
0.1  
0
-4  
-6  
-0.1  
-0.2  
-0.3  
-0.4  
-8  
-10  
0
5
10  
15  
20  
0
5
10  
15  
20  
Frequency (kHz)  
Frequency (kHz)  
Figure 41 De-Emphasis Frequency Response (44.1KHz)  
Figure 42 De-Emphasis Error (44.1KHz)  
0
1
0.8  
0.6  
0.4  
0.2  
0
-2  
-4  
-6  
-0.2  
-0.4  
-0.6  
-0.8  
-1  
-8  
-10  
0
5
10  
15  
20  
0
5
10  
15  
20  
Frequency (kHz)  
Frequency (kHz)  
Figure 43 De-Emphasis Frequency Response (48kHz)  
Figure 44 De-Emphasis Error (48kHz)  
ADC FILTER RESPONSES  
0.02  
0.015  
0.01  
0
-20  
-40  
-60  
-80  
0.005  
0
-0.005  
-0.01  
-0.015  
-0.02  
0
0.5  
1
1.5  
2
2.5  
3
0
0.05  
0.1  
0.15  
0.2  
0.25  
0.3  
0.35  
0.4  
0.45  
0.5  
Frequency (Fs)  
Frequency (Fs)  
Figure 45 ADC Digital Filter Frequency Response  
Figure 46 ADC Digital Filter Ripple  
PD Rev 4.0 April 2007  
95  
w
WM8581  
Production Data  
ADC HIGH PASS FILTER  
The WM8581 has a selectable digital high pass filter to remove DC offsets. The filter response is characterised by the following  
polynomial.  
1 - z-1  
H(z) =  
1 - 0.9995z-1  
0
-5  
-10  
-15  
0
0.0005  
0.001  
Frequency (Fs)  
0.0015  
0.002  
Figure 47 ADC Highpass Filter Response  
PD Rev 4.0 April 2007  
96  
w
Production Data  
WM8581  
APPLICATIONS INFORMATION  
RECOMMENDED EXTERNAL COMPONENTS  
Figure 48 Recommended–External Components - Hardware  
PD Rev 4.0 April 2007  
97  
w
WM8581  
Production Data  
Figure 49 Recommended–External Components - Software  
PD Rev 4.0 April 2007  
98  
w
Production Data  
WM8581  
PACKAGE DIMENSIONS  
FT: 48 PIN TQFP (7 x 7 x 1.0 mm)  
DM004.C  
b
e
36  
25  
37  
24  
E1  
E
48  
13  
1
12  
Θ
D1  
D
c
L
A1  
A
A2  
-C-  
SEATING PLANE  
ccc  
C
Dimensions  
(mm)  
Symbols  
MIN  
-----  
0.05  
0.95  
0.17  
0.09  
NOM  
-----  
-----  
1.00  
0.22  
-----  
MAX  
1.20  
0.15  
1.05  
0.27  
0.20  
A
A1  
A2  
b
c
D
D1  
E
E1  
e
L
Θ
9.00 BSC  
7.00 BSC  
9.00 BSC  
7.00 BSC  
0.50 BSC  
0.60  
0.45  
0o  
0.75  
7o  
3.5o  
Tolerances of Form and Position  
0.08  
ccc  
REF:  
JEDEC.95, MS-026  
NOTES:  
A. ALL LINEAR DIMENSIONS ARE IN MILLIMETERS.  
B. THIS DRAWING IS SUBJECT TO CHANGE WITHOUT NOTICE.  
C. BODY DIMENSIONS DO NOT INCLUDE MOLD FLASH OR PROTRUSION, NOT TO EXCEED 0.25MM.  
D. MEETS JEDEC.95 MS-026, VARIATION = ABC. REFER TO THIS SPECIFICATION FOR FURTHER DETAILS.  
PD Rev 4.0 April 2007  
99  
w
WM8581  
Production Data  
IMPORTANT NOTICE  
Wolfson Microelectronics plc (“Wolfson”) products and services are sold subject to Wolfson’s terms and conditions of sale, delivery  
and payment supplied at the time of order acknowledgement.  
Wolfson warrants performance of its products to the specifications in effect at the date of shipment. Wolfson reserves the right to  
make changes to its products and specifications or to discontinue any product or service without notice. Customers should  
therefore obtain the latest version of relevant information from Wolfson to verify that the information is current.  
Testing and other quality control techniques are utilised to the extent Wolfson deems necessary to support its warranty. Specific  
testing of all parameters of each device is not necessarily performed unless required by law or regulation.  
In order to minimise risks associated with customer applications, the customer must use adequate design and operating  
safeguards to minimise inherent or procedural hazards. Wolfson is not liable for applications assistance or customer product  
design. The customer is solely responsible for its selection and use of Wolfson products. Wolfson is not liable for such selection  
or use nor for use of any circuitry other than circuitry entirely embodied in a Wolfson product.  
Wolfson’s products are not intended for use in life support systems, appliances, nuclear systems or systems where malfunction  
can reasonably be expected to result in personal injury, death or severe property or environmental damage. Any use of products  
by the customer for such purposes is at the customer’s own risk.  
Wolfson does not grant any licence (express or implied) under any patent right, copyright, mask work right or other intellectual  
property right of Wolfson covering or relating to any combination, machine, or process in which its products or services might be or  
are used. Any provision or publication of any third party’s products or services does not constitute Wolfson’s approval, licence,  
warranty or endorsement thereof. Any third party trade marks contained in this document belong to the respective third party  
owner.  
Reproduction of information from Wolfson datasheets is permissible only if reproduction is without alteration and is accompanied  
by all associated copyright, proprietary and other notices (including this notice) and conditions. Wolfson is not liable for any  
unauthorised alteration of such information or for any reliance placed thereon.  
Any representations made, warranties given, and/or liabilities accepted by any person which differ from those contained in this  
datasheet or in Wolfson’s standard terms and conditions of sale, delivery and payment are made, given and/or accepted at that  
person’s own risk. Wolfson is not liable for any such representations, warranties or liabilities or for any reliance placed thereon by  
any person.  
ADDRESS:  
Wolfson Microelectronics plc  
Westfield House  
26 Westfield Road  
Edinburgh  
EH11 2QB  
United Kingdom  
Tel :: +44 (0)131 272 7000  
Fax :: +44 (0)131 272 7001  
Email :: sales@wolfsonmicro.com  
PD Rev 4.0 April 2007  
w
100  

相关型号:

WM8581AGEFT/RV

Multichannel CODEC with S/PDIF Transceiver
WOLFSON

WM8581AGEFT/V

Multichannel CODEC with S/PDIF Transceiver
WOLFSON

WM8581SEFT

Multichannel CODEC with S/PDIF Transceiver
WOLFSON

WM8581SEFV

Multichannel CODEC with S/PDIF Transceiver
WOLFSON

WM8581SERV

Multichannel CODEC with S/PDIF Transceiver
WOLFSON

WM8581_07

Multichannel CODEC with S/PDIF Transceiver
WOLFSON

WM8590

24-bit, 192kHz Stereo CODEC
WOLFSON

WM8590GEDS/RV

24-bit, 192kHz Stereo CODEC
WOLFSON

WM8590GEDS/V

24-bit, 192kHz Stereo CODEC
WOLFSON

WM8590_06

24-bit, 192kHz Stereo CODEC
WOLFSON

WM8591

24 BIT, 192 KHZ STEREO CODEC
WOLFSON

WM8591GEDRV

24 BIT, 192 KHZ STEREO CODEC
WOLFSON