SigmaDSP Multichannel 28-Bit Audio Processor AD1940/AD1941

FEATURES
16-channel digital audio processor Accepts sample rates up to 192 kHz 28-bit × 28-bit multiplier with full 56-bit accumulator Fully programmable program RAM for custom program download Parameter RAM allows complete control of 1,024 parameters Control port features safeload for transparent parameter updates and complete mode and memory transfer control Target/slew RAM for click-free volume control and dynamic parameter updates Double precision mode for full 56-bit processing PLL for generating MCLK from 64 × fS, 256 × fS, 384 × fS, or 512 × fS clocks Hardware-accelerated DSP core 21 kB (6,144 words) data memory for up to 128 ms of audio delay at fs = 48 kHz Flexible serial data port with I2S-compatible, left-justified, and right-justified serial port modes 8- and 16-channel TDM input/output modes On-chip voltage regulator for compatibility with 3.3 V and 5 V systems Programmable low power mode Fast start-up and boot time from power-on or reset 48-lead LQFP plastic package

APPLICATIONS
Automotive sound systems Digital televisions Home theater systems (Dolby digital/DTS postprocessor) Multichannel audio systems Mini-component stereos Multimedia audio Digital speaker crossover Musical instruments In-seat sound systems (aircrafts/motor coaches)

FUNCTIONAL BLOCK DIAGRAM
4

AD1940/AD1941
VOLTAGE REGULATOR 2 SERIAL DATA/ TDM INPUTS 28 × 28 DSP CORE DATA FORMAT: 5.23 (SINGLE PRECISION) 10.46 (DOUBLE PRECISION) 4 SERIAL CONTROL INTERFACE 2 2 SERIAL DATA/ TDM OUTPUTS

MASTER CLOCK INPUT

PLL

RAM

ROM

Figure 1.

GENERAL DESCRIPTION
The AD1940/AD1941 are a complete 28-bit, single-chip, multichannel audio SigmaDSP™ for equalization, multiband dynamic processing, delay compensation, speaker compensation, and image enhancement. These algorithms can be used to compensate for the real world limitations of speakers, amplifiers, and listening environments, resulting in a dramatic improvement of perceived audio quality. The signal processing used in the AD1940/AD1941 is comparable to that found in high end studio equipment. Most of the processing is done in full, 56-bit double-precision mode, resulting in very good, low level signal performance and the absence of limit cycles or idle tones. The dynamics processor uses a sophisticated, multiple-breakpoint algorithm often found in high end broadcast compressors. The AD1940/AD1941 are a fully programmable DSP. Easy to use software allows the user to graphically configure a custom signal processing flow using blocks such as biquad filters, dynamics processors, and surround sound processors. An extensive control port allows click-free parameter updates, along with readback capability from any point in the algorithm flow. The AD1940/AD1941’s digital input and output ports allow a glueless connection to ADCs and DACs by multiple, 2-channel serial data streams or TDM data streams. When in TDM mode, the AD1940/AD1941 can input 8 or 16 channels of serial data, and can output 8 or 16 channels of serial data. The input and output port configurations can be individually set. The AD1940 is controlled by a 4-wire SPI® port; the AD1941 is controlled by a 2-wire I2C® bus. Other than the control interface, the functions of the two parts are identical.

Rev. B
Information furnished by Analog Devices is believed to be accurate and reliable. However, no responsibility is assumed by Analog Devices for its use, nor for any infringements of patents or other rights of third parties that may result from its use. Specifications subject to change without notice. No license is granted by implication or otherwise under any patent or patent rights of Analog Devices. Trademarks and registered trademarks are the property of their respective owners.

One Technology Way, P.O. Box 9106, Norwood, MA 02062-9106, U.S.A. Tel: 781.329.4700 www.analog.com Fax: 781.461.3113©2004–2010 Analog Devices, Inc. All rights reserved.

04607-0-001

SPI/I2C I/O

AD1940/AD1941 TABLE OF CONTENTS
Specifications..................................................................................... 3 Digital I/O ..................................................................................... 3 Power .............................................................................................. 3 Digital Timing ............................................................................... 4 PLL ................................................................................................. 5 Regulator........................................................................................ 5 Temperature Range ...................................................................... 5 Absolute Maximum Ratings ............................................................ 6 ESD Caution .................................................................................. 6 Digital Timing Diagrams ................................................................. 7 Pin Configuration and Function Descriptions ............................. 9 Features ............................................................................................ 11 Pin Functions .............................................................................. 12 Signal Processing ............................................................................ 14 Overview...................................................................................... 14 Numeric Formats........................................................................ 14 Programming .............................................................................. 14 Control Port..................................................................................... 15 Overview...................................................................................... 15 AD1940 SPI Port ........................................................................ 15 AD1941 I2C Port......................................................................... 15 RAMs and Registers ....................................................................... 19 Control Port Addressing ........................................................... 19 Parameter RAM Contents ......................................................... 19 Recommended Program/Parameter Loading Procedures .... 20 Target/Slew RAM ....................................................................... 20 Safeload Registers ....................................................................... 23 Data Capture Registers .............................................................. 23 DSP Core Control Register ....................................................... 24 RAM Configuration Register ................................................... 25 Control Port Read/Write Data Formats .................................. 25 Serial Data Input/Output Ports .................................................... 28 Serial Output Control Registers ............................................... 30 Serial Input Control Register .................................................... 30 Initialization .................................................................................... 33 Power-Up Sequence ................................................................... 33 Setting Master Clock/PLL Mode .............................................. 33 Voltage Regulator ....................................................................... 33 Outline Dimensions ....................................................................... 35 Ordering Guide .......................................................................... 35

REVISION HISTORY
4/10—Rev. A to Rev. B Changes to Voltage Regulator Section .....................................34 Updated Outline Dimensions ...................................................35 Changes to Ordering Guide ......................................................35 4/05—Rev. 0 to Rev. A Added AD1941 .............................................................. Universal Changes to Specifications ............................................................ 3 Changes to Pin Function Descriptions ...................................... 9 Changes to Features Section......................................................11 Changes to Pin Functions Section............................................13 Addition of AD1940 SPI Port Section .....................................15 Added Table 13 to Table 16 .......................................................18 7/04—Revision 0: Initial Version
Rev. B | Page 2 of 36

AD1940/AD1941 SPECIFICATIONS
Test conditions, unless otherwise noted. Table 1.
Parameter Supply Voltage (VDD) PLL Voltage (PLL_VDD) Output Voltage (ODVDD) INVDD Voltage Ambient Temperature Master Clock Input Load Capacitance Load Current Input Voltage, HI Input Voltage, LO Conditions 2.5 V 2.5 V 5.0 V 5.0 V 25°C 3.072 MHz, 64 × fs mode 50 pF ±1 mA 2.4 V 0.8 V

DIGITAL I/O
VDD = 2.25 V to 2.75 V. Specifications measured across −40°C to 125°C (case). Table 2.
Parameter Input Voltage, HI (VIH) Input Voltage, LO (VIL) Input Leakage (IIH) Input Leakage (IIL) High Level Output Voltage (VOH) High Level Output Voltage (VOH) Low Level Output Voltage (VOL) Low Level Output Voltage (VOL) Input Capacitance
1

Comments

Min 2.1

Max 0.8 10 10

ODVDD = 4.5 V, IOH = 1 mA ODVDD = 3.0 V, IOH = 1 mA ODVDD = 4.5 V, IOL = 1 mA 1 ODVDD = 3.0 V, IOL = 1 mA1

3.9 2.6 0.4 0.3 5

Unit V V μA μA V V V V pF

SDA is measured with a 3 mA sink current.

POWER
Table 3.
Parameter SUPPLIES Voltage Digital Current PLL Current Digital Current, Reset PLL Current, Reset DISSIPATION Operation, All Supplies Reset, All Supplies
1 2 3

Min 2.25

Typ 2.5 92 3.5 4.5 3 3 238.8 10.8

Max 1 2.75 155 2 8 133 8.5

Unit V mA mA mA mA mW mW

Maximum specifications are measured across −40°C to 125°C (case) and across VDD = 2.25 V to 2.75 V. Measurement running a typical large program that writes to all 16 outputs with 0 dB digital sine waves applied to all eight inputs. The end user’s program may differ. The digital reset current is specified for the given test conditions. This current scales with the input MCLK rate, so higher input clocks draw more current while in reset.

Rev. B | Page 3 of 36

6 0. RESET MCLK Period MCLK Period MCLK Period MCLK Period MCLK Period MCLK Duty Cycle BCLK_IN LO Pulse Width BCLK_IN HI Pulse Width LRCLK_IN Setup LRCLK_IN Hold SDATA_INx Setup SDATA_INx Hold LRCLK_OUTx Setup LRCLK_OUTx Hold BCLK_OUTx Falling to LRCLK_OUTx Timing Skew SDATA_OUTx Delay SDATA_OUTx Delay RESETB LO Pulse Width SPI PORT (AD1940) CCLK Pulse Width LO CCLK Pulse Width HI CLATCH Setup CLATCH Hold CLATCH Pulse Width HI CDATA Setup CDATA Hold COUT Delay 2 I C PORT (AD1941) SCL Clock Frequency SCL Low SCL High Setup Time (Start Condition) Hold Time (Start Condition) Setup Time (Stop Condition) Data Setup Time SDA and SCL Rise Time SDA and SCL Fall Time Bus-Free Time 1 2 Mnemonic tMP tMP tMP tMP tMP tMDC tBIL tBIH tLIS tLIH tSIS tSIH tLOS tLOH tTS tSODS tSODM tRLPW tCCPL tCCPH tCLS tCLH tCLPH tCDS tCDH tCOD fSCL tSCLL tSCLH tSCS tSCH tSSH tDS tSR tSF tBFT Comments 512 fS mode 384 fS mode 256 fS mode 64 fS mode Bypass mode Bypass mode Min 36 48 73 291 12 40 4 2 12 0 3 2 2 2 Max 244 366 488 1953 60 Unit ns ns ns ns ns % ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns ns kHz μs μs μs μs μs ns ns ns μs To BCLK_IN rising From BCLK_IN rising To BCLK_IN rising From BCLK_IN rising Slave mode Slave mode 2 Slave mode. the master clock runs at 1.AD1940/AD1941 DIGITAL TIMING VDD = 2.6 0. These specifications are based on the internal master clock period in a specific application. B | Page 4 of 36 .25 to 2. See Table 37. SERIAL DATA PORTS. from BCLK_OUTx falling Master mode. The values in parentheses are the timing values for fs = 48 kHz. Digital Timing 1 Parameter MASTER CLOCK. In normal operation.6 100 300 300 Between stop and start 1.75 V.536 × fs. Specifications measured across –40°C to 125°C. Table 4.3 17 17 To CCLK rising From CCLK rising To CCLK rising From CCLK rising From CCLK rising Relevent for repeated start condition First clock generated after this period All timing specifications are given for the default (I2S) states of the serial input control port and the serial output control ports.6 0. from BCLK_OUTx falling 10 1 × INTMCLK (14) 2 1 × INTMCLK (14)2 0 2 × INTMCLK + 4 (32)2 2 × INTMCLK (28)2 0 2 × INTMCLK + 2 (30)2 4 × INTMCLK +18 (74)2 400 1.3 0. Rev. so the internal master clock at fs = 48 kHz has a 14 ns period.

75 V.5 Max 2.75 V.25 to 2. Specifications measured across –40°C to 125°C. Table 6. Specifications measured across –40°C to 125°C.AD1940/AD1941 PLL VDD = 2.25 Typ 2. Parameter VSENSE Output Voltage Min 2.68 Unit V TEMPERATURE RANGE Table 7. Table 5. Parameter Lock Time Min Typ 3 Max 20 Unit ms REGULATOR VDD = 2. B | Page 5 of 36 . Parameter Functionality Guaranteed Min –40 –40 Typ Max +105 +125 Unit °C Ambient °C Case Rev.25 to 2.

0 +3.3 135 +150 300 Unit V V V V V °C °C °C Stresses above those listed under Absolute Maximum Ratings may cause permanent damage to the device.AD1940/AD1941 ABSOLUTE MAXIMUM RATINGS Table 8.3 –0.0 +6.3 Max +3. permanent damage may occur on devices subjected to high energy electrostatic discharges. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Rev. proper ESD precautions are recommended to avoid performance degradation or loss of functionality. This is a stress rating only and functional operation of the device at these or any other conditions above those indicated in the operational section of this specification is not implied. Therefore. B | Page 6 of 36 .3 –0.0 +6. Electrostatic charges as high as 4000 V readily accumulate on the human body and test equipment and can discharge without detection.0 INVDD + 0.5 Max Unit °C/W °C/W ESD CAUTION ESD (electrostatic discharge) sensitive device. Although this product features proprietary ESD protection circuitry. Package Characteristics Parameter θJA Thermal Resistance (Junctionto-Ambient) θJC Thermal Resistance (Junctionto-Case) Min Typ 72 19. –65 Table 9. Parameter VDD to DGND PLL_ VDD to PGND OD VDD to DGND INVDD to DGND Digital Inputs Maximum Junction Temperature Storage Temperature Range Soldering (10 sec) Min –0.3 ODVDD DGND – 0.

Serial Output Port Timing Rev. Serial Input Port Timing tBIH BCLK_OUTX tLCH tTS tBIL tLOS LRCLK_OUTX SDATA_OUTX LEFT-JUSTIFIED MODE tSDDS tSDDM MSB MSB-1 SDATA_OUTX I2S-JUSTIFIED MODE tSDDS tSDDM MSB SDATA_OUTX RIGHT-JUSTIFIED MODE 8-BIT CLOCKS (24-BIT DATA) 12-BIT CLOCKS (20-BIT DATA) 14-BIT CLOCKS (18-BIT DATA) 16-BIT CLOCKS (16-BIT DATA) tSDDS tSDDM MSB LSB Figure 3. B | Page 7 of 36 04607-0-014 04607-0-013 .AD1940/AD1941 DIGITAL TIMING DIAGRAMS tBIH BCLK_IN tLIH tBIL tLIS LRCLK_IN tSIS SDATA_INX LEFT-JUSTIFIED MODE MSB MSB-1 tSIH tSIS MSB SDATA_INX I2S-JUSTIFIED MODE tSIH tSIS MSB SDATA_INX RIGHT-JUSTIFIED MODE 8-BIT CLOCKS (24-BIT DATA) 12-BIT CLOCKS (20-BIT DATA) 14-BIT CLOCKS (18-BIT DATA) 16-BIT CLOCKS (16-BIT DATA) tSIS LSB tSIH tSIH Figure 2.

Master Clock and Reset Timing Rev. AD1941 I2C Port Timing tMP MCLK RESETB tRLPW Figure 6. B | Page 8 of 36 04607-0-016 04607-0-015 . AD1940 SPI Port Timing tTSCH SDA tDS tTSCH tSR tSCLH 04607-026 SCLK tSCLL tST tSCS tSSH Figure 5.AD1940/AD1941 tCLS tCCPL CLATCH CCLK CDATA tCLH tCLPH tCCPH tCDH tCDS COUT tCOD Figure 4.

PLL Control 2. 37 2 3 4 5 6 7 8 9 I/O IN IN IN IN Mnemonic VDD MCLK RESERVED PLL_CTRL0 PLL_CTRL1 PLL_CTRL2 PLL_GND PLL_VDD NC I2C_FILT_ENB LRCLK_IN BCLK_IN GND VDD SDATA_IN0 SDATA_IN1 SDATA_IN2/TDM_IN1 SDATA_IN3/TDM_IN0 ADR_SEL COUT CCLK CLATCH Description Core Power.AD1940/AD1941 PIN CONFIGURATIONS AND FUNCTION DESCRIPTIONS SDATA_OUT6 ODVDD SDATA_OUT6 ODVDD SDATA_OUT5 SDATA_OUT4 INVDD SDATA_OUT7 GND VREF VDRIVE VSENSE VSUPPLY SDATA_OUT5 SDATA_OUT4 SDATA_OUT7 VSUPPLY VREF VDRIVE VSENSE INVDD GND 48 47 46 45 44 43 42 41 40 39 38 37 VDD 48 47 46 45 44 43 42 41 40 39 38 37 36 GND 35 BCLK_OUT1 34 LRCLK_OUT1 33 ODVDD 32 SDATA_OUT3 31 SDATA_OUT2 30 SDATA_OUT1 29 SDATA_OUT0 28 ODVDD 27 BCLK_OUT0 26 LRCLK_OUT0 25 VDD VDD 1 MCLK 2 RESERVED 3 PLL_CTRL0 4 PLL_CTRL1 5 PLL_CTRL2 6 PLL_GND 7 PLL_VDD 8 NC 9 PIN 1 INDICATOR VDD 1 MCLK 2 RESERVED 3 PLL_CTRL0 4 PLL_CTRL1 5 PLL_CTRL2 6 PLL_GND 7 PLL_VDD 8 I2C_FILT_EN 9 LRCLK_IN 10 BCLK_IN 11 GND 12 VDD 36 GND 35 BCLK_OUT1 34 LRCLK_OUT1 33 ODVDD 32 SDATA_OUT3 31 SDATA_OUT2 30 SDATA_OUT1 29 SDATA_OUT0 28 ODVDD 27 BCLK_OUT0 26 LRCLK_OUT0 25 VDD PIN 1 INDICATOR AD1940 TOP VIEW (Not to Scale) AD1941 TOP VIEW (Not to Scale) LRCLK_IN 10 BCLK_IN 11 GND 12 13 14 15 16 17 18 19 20 21 22 23 24 13 14 15 16 17 18 19 20 21 22 23 24 SDATA_IN0 SDATA_IN0 RESETB ADR_SEL SDATA_IN2 SDATA_IN1 SDATA_IN2 SDATA_IN3 SDATA_IN3 SDATA_IN1 ADR_SEL COUT CCLK CLATCH CDATA RESETB GND 04607-0-002 GND VDD VDD NC SDA SCL NC NC = NO CONNECT NC = NO CONNECT Figure 7. 36. Serial Data Input 2/TDM Input 1. 36. Serial Data Input 3/TDM Input 0. AD1941 1. 48-Lead LQFP Pin Configuration. This pin should be connected to ground. PLL Control 1. 24. 25. Core Power. Clock for SPI. Serial Data Input 1. 37 2 3 4 5 6 7 8 21. Serial Data Input 0. 12. Master Clock Input. 48-Lead LQFP Pin Configuration. Pin Function Descriptions Pin No. IN IN IN IN IN IN IN IN OUT IN IN Rev. Active Low. 24. I2C Filter Enable. AD1940 Figure 8. PLL Ground. Bit Clock for Serial or TDM Data Inputs. 25. 48 48 13 13 14 14 15 12 16 16 17 17 18 18 19 20 21 AD1940 1. PLL Control 0. No Connect. AD1941 Table 10. Control Port Address Select. SPI Data Latch. SPI Data Output. Left/Right Clock for Serial or TDM Data Inputs. 22 9 10 10 11 11 12. B | Page 9 of 36 04607-0-011 . Digital Ground. PLL Power.

Reference Level for Voltage Regulator. Serial Data Output 2. Serial Data Output 6. 33. AD1941 19 20 23 26 27 28.3 V or 5 V. Serial Data Output 0/TDM (16. 33. B | Page 10 of 36 . Drive for External PNP Transistor. Usually 3. Digital Power Level.AD1940/AD1941 AD1940 22 Pin No./TDM (8-Channel) Output 1. Reset the AD1940/AD1941. Input Voltage Reference. Left/Right Clock Output 0. Serial Data Output 7/Data Capture Output. Serial Data Output 5. Left/Right Clock Output 1. Should be tied to VDD. Bit Clock Output 0. Serial Data Output 3. 40 29 30 31 32 34 35 38 39 41 42 43 44 45 46 47 Rev. I2C Clock. Bit Clock Output 1.or 8-Channel) Output 0. I2C Serial Data I/O. Serial Data Output 1. Voltage Level Input to Regulator. 23 26 27 28. 40 29 30 31 32 34 35 38 39 41 42 43 44 45 46 47 I/O IN IN/OUT IN IN IN/OUT IN/OUT OUT OUT OUT OUT IN/OUT IN/OUT OUT OUT OUT OUT IN IN OUT OUT Mnemonic CDATA SDA SCL RESETB LRCLK_OUT0 BCLK_OUT0 ODVDD SDATA_OUT0/TDM_O0 SDATA_OUT1 SDATA_OUT2 SDATA_OUT3 LRCLK_OUT1 BCLK_OUT1 SDATA_OUT4/TDM_O1 SDATA_OUT5 SDATA_OUT6 SDATA_OUT7/DCSOUT INVDD VSUPPLY VSENSE VDRIVE VREF Description Data Input for SPI. Power Connection for Output Pins. Serial Data Output 4.

dynamics processors. An on-board voltage regulator can be used to operate the chip with 3. The AD1940/AD1941 have a sophisticated control port that supports complete read/write capability of all memory locations. The target/slew RAM contains 64 locations and can be used as channel volume controls or for other parameter updates. The AD1940/AD1941 operate from a single 2. The remaining two data capture registers can be used to send any internal captured signal to a stereo digital output signal on Pin SDATA_OUT7 for driving external DACs or digital analyzers. rightjustified. and mixer levels. The AD1940/AD1941 have very flexible serial data input/output ports that allow glueless interconnection to a variety of ADCs. RAM configuration.23 (SINGLE PRECISION) 10. double precision) optimized for audio processing. A master clock phase-locked loop (PLL) allows the AD1940/ AD1941 to be clocked from a variety of different clock speeds. These RAM locations take a target value for a given parameter and ramp the current parameter value to the new value using a specified time constant and one of a selection of linear or logarithmic curves. SAFELOAD REGISTER PROGRAM RAM 1536 × 40 PARAMETER RAM 1024 × 28 COEFFICIENT ROM 512 × 28 04607-0-003 MEMORY CONTROLLERS VOLTAGE REGULATOR 4 REGULATOR GROUP Figure 9. left-justified. 20.46 (DOUBLE PRECISION) 2 MCLK PLL BOOT ROM BOOT ROM 4 CONTROL REGISITER SERIAL CONTROL PORT TRAP REG. 2 DATA MEMORY 6k × 28 TARGET/SLEW RAM 64 × 28 28 × 28 DSP CORE SERIAL DATA/ TDM OUTPUT GROUP 2 SERIAL DATA/TDM INPUT GROUP PLL MODE SELECT MASTER CLOCK INPUT CONTROL PORT I/O GROUP ADDRESS SELECT RESETB 2 DATA FORMAT: 5. Serial Output 8 to 15. general-purpose DSPs. DACs. such as IIR equali-zation filters. The values stored in the parameter RAM control individual signal processing blocks. Five control registers (Core. Six of these captured signals can be accessed by reading from the data capture registers through the control port. New values are written to the parameter RAM using the control port. The parts’ program RAM can be loaded with a custom program after power-up.3 V or 5 V supplies. Block Diagram Rev. which is initialized on power-up by an internal boot ROM. and 24 bits in all modes. It can support 16. They are fabricated on a single monolithic integrated circuit and are housed in 48-lead LQFP packages for operation over the –40°C to +105°C temperature range.AD1940/AD1941 FEATURES The core of the AD1940/AD1941 is a 28-bit DSP (56-bit. Handshaking is included for ease of memory uploads/downloads. 256 × fS. 384 × fS. S/PDIF receivers and trans-mitters. Serial Output 0 to 7. or 512 × fS to generate the core’s internal master clock. The AD1940 is SPI-controlled and the AD1941 is controlled by an I2C bus. The AD1940/AD1941 contain eight independent data capture circuits that can be programmed to tap the signal flow of the processor at any point in the DSP algorithm flow. and sample rate converters. B | Page 11 of 36 . The AD1940/AD1941 accepts serial audio data in MSB first and twos complement format. The AD1940/AD1941 can be configured in I2S.5 V power supply. and serial input) are provided to offer complete control of the chip’s configuration and serial modes. A safeload feature allows parameters to be transparently updated without causing clicks on the output signals. Signal processing parameters are stored in a 1024 location parameter RAM. or TDM serial port-compatible modes. The PLL can accept inputs of 64 × fS. audio delays.

An in-depth description of using the PLL is found in the Setting Master Clock/PLL Mode section. SCL (AD1941) I2C Clock. In dual-wire 8-channel mode. The input port is always in a slave configuration. allowing the AD1940/AD1941 to simultaneously communicate with two external devices with different serial formats. They are grouped into two groups of four pins (Pins 0 to 3 and Pins 4 to 7). It is three-stated when an SPI read is not active. SDA (AD1941) I2C Serial Data. These input clocks are associated with the SDATA_IN0 through SDATA_IN3 signals. each group can be independently set to any of the available serial modes. SDATA_OUT0/TDM_O0 SDATA_OUT1 SDATA_OUT2 SDATA_OUT3 SDATA_OUT4/TDM_O1 SDATA_OUT5 SDATA_OUT6 SDATA_OUT7/DCSOUT Serial Data/TDM/Data Capture Outputs. This clock pair is used for outputs SDATA_OUT0 through SDATA_OUT3. names. On power-up. B | Page 12 of 36 . using a variety of standard 2-channel formats. Two of these eight pins (SDATA_OUT0 and SDATA_OUT4) can be used as TDM outputs in either dual-wire 8-channel mode or single-wire 16channel mode (TDM_OUT0 only). Channels 0 to 15 are input on SDATA_IN2. These pins are used for serial digital outputs. The functionality of these pins is described in the Setting Master Clock/PLL Mode section. The line connected to this pin should have a 2 kΩ pull-up resistor on it. depending on the address and read/write bit that are sent at the beginning of the SPI transaction. Channels 0 to 7 are output on SDATA_OUT0 and Channels 8 to 15 on SDATA_OUT4. SDATA_IN2 and SDATA_IN3 are dual-function pins that can be set to a variety of standard 2-channel formats or to TDM mode. Rev. This clock pair is used for outputs SDATA_OUT4 through SDATA_OUT7. This pin is always an input because the AD1941 cannot act as a master on the I2C bus. CCLK (AD1940) SPI Bit Clock. CDATA (AD1940) Serial Data Input for the SPI Control Port. Two of these four pins (SDATA_IN2 and SDATA_IN3) can be used as TDM inputs in either dual-wire 8-channel mode or single-wire 16-channel mode (TDM_O0 only). Channels 0 to 7 are input on SDATA_IN3 and Channels 8 to 15 on SDATA_IN2. LRCLK_OUT0 BCLK_OUT0 Output Clocks. SDATA_OUT7 can also be used as a data capture output.AD1940/AD1941 PIN FUNCTIONS Table 10 shows the AD1940/AD1941’s pin numbers. LRCLK_IN BCLK_IN Left/Right and Bit Clocks for Timing the Input Data. and functions. For non-TDM systems. In single-wire 16-channel mode. these eight pins can output 16 channels of digital audio. LRCLK_OUT1 BCLK_OUT1 Output Clocks. In slave mode. See the Serial Data Input/Output Ports section for further explanation. COUT (AD1940) Serial Data Output for the SPI Port. In slave mode. these pins are set to slave mode to avoid conflicts with external master mode devices. This must go low at the beginning of an SPI transaction and high at the end of a transaction. Input pins have a logic threshold compatible with TTL input levels and may be used in systems with 3. The AD1940/AD1941 uses a PLL to generate the appropriate internal clock for the DSP core.3 V or 5 V logic. The line connected to this pin should have a 2 kΩ pull-up resistor on it. these clocks are inputs to the AD1940/AD1941. On power-up. These pins also function as frame sync and bit clock for the input TDM stream. MCLK Master Clock Input. The data line is bidirectional. these pins are set to slave mode to avoid conflicts with external master mode devices. This is used for reading back registers and memory locations. PLL_CTRL0 PLL_CTRL1 PLL_CTRL2 PLL Mode Control Pins. these clocks are inputs to the AD1940/AD1941. In dual-wire 8-channel mode. See the Serial Data Input/Output Ports section for further explanation. as described in the Data Capture Registers section. Each SPI transaction may take a different number of CCLKs to complete. SDATA_IN0 SDATA_IN1 SDATA_IN2/TDM_IN1 SDATA_IN3/TDM_IN0 Serial Data/TDM Inputs. This clock may either run continuously or be gated off between SPI transactions. The serial format is selected by writing to Bits 2:0 of the serial input port control register. CLATCH (AD1940) SPI Latch Signal.

This pin selects the address for the AD1940/ AD1941’s communication with the control port.5 V to 5. GND (4) Digital Ground. The base of the voltage regulator’s external PNP transistor is driven from this pin. This allows two AD1940s to be used with a single CLATCH signal or two AD1941s to be used on the same I2C bus. This is usually 3. This enables (active low) the I C spike filter.3 V or 5 V.192 internal MCLK cycles (referenced to the rising edge of RESETB). This pin is tied to the board’s main voltage supply. which corresponds to 1. This pin is driven by an internal 1.366 external MCLK cycles if the part is in 256 × fS mode. The voltage on this pin must always be at or above the level of ODVDD. 2. PLL_GND PLL Ground.5 V nominal. VREF Voltage Reference for Regulator. Rev.AD1940/AD1941 I2C_FILT_ENB (AD1941) I C Spike Filter Enable/Disable. which is used to prevent noise or glitches on the I2C bus from improperly affecting the AD1941. The highest voltage level that the input pin sees should be connected to INVDD. INVDD Peak Input Voltage Level.5 V nominal. The voltage can range from 2. the AD1940/AD1941 goes through an initialization sequence where the program and parameter RAMs are initialized with the contents of the on-board boot ROMs. VSUPPLY Main Supply Voltage Level. ODVDD (3) VDD for All Digital Outputs. PLL_VDD Supply for AD1940/AD1941 PLL. VSENSE should be tied to VDD. B | Page 13 of 36 . After RESETB goes high. The high levels of the digital output signals are set on this pin. and the data RAMs are also set to 0. New values should not be written to the control port until the initialization is complete.15 V reference voltage. RESETB Active-Low Reset Signal. The voltage level on the VDD pins is sensed on VSENSE. This is to protect the chip inputs from voltage overstress.0 V. ADR_SEL Address Select. All registers are set to 0. VDD (4) Digital VDD for Core. The initialization is complete after 8. 2 2 VSENSE Digital Power Level. VDRIVE Drive for External Transistor. 2.

0 0111 1111 1111 1111 1111 1111 1111 = (16. The available signal processing blocks are explained in the following sections.0 0010 0000 0000 0000 0000 0000 0000 = 4.536 instruction cycles per audio sample. 4-BIT SIGN EXTENSION SIGNAL PROCESSING (5. Analog Devices also provides proprietary and third-party algorithms for applications such as matrix decoding. There are 1.23 DIGITAL CLIPPER 1. Many of the signal processing functions are coded using full.0. the AD1940/AD1941’s default program passes the unprocessed input signals to the outputs (Figure 28) but the outputs are muted by default (see Power-Up Sequence section). resulting in an internal clock rate of 73. B | Page 14 of 36 04607-0-005 .728 MHz (for fS = 48 kHz).25 1111 1111 1111 1111 1111 1111 1111 = (1 LSB below 0. The AD1940/AD1941 use the same numeric format for both the coefficient values (stored in the parameter RAM) and the signal data values. bass enhancement.0 1111 1110 0000 0000 0000 0000 0000 = –0. The signal processing flow is set by using the ADI-supplied software. 56-bit double-precision arithmetic. dynamics processors.23 DATA IN SERIAL PORT Figure 10.23 5.0 − 1 LSB) Examples: 1000 0000 0000 0000 0000 0000 0000 = –16. mixers. This clips the More blocks are always in development.0 1111 1000 0000 0000 0000 0000 0000 = –1. Four extra headroom bits are used in the processor to allow internal gains up to 24 dB without clipping. A digital clipper circuit is used between the output of the DSP core and the serial output ports (see Figure 10). The serial port accepts up to 24 bits on the input and is signextended to the full 28 bits of the core. top four bits of the signal to produce a 24-bit output with a range of 1. This DSP runs in a stream-oriented manner.or quad-speed inputs by reducing the number of instructions/sample. The format is as follows: Numerical Format: 5.536 instructions are executed each sample period. Additional gains can be achieved by initially scaling down the input signal in the signal flow.25 0000 1000 0000 0000 0000 0000 0000 = 1. compile the design. which can be set in the core control register. The user simply can connect graphical blocks such as biquad filters. where A is the number of bits to the left of the decimal point and B is the number of bits to the right of the decimal point. and delays in a signal flow schematic. The AD1940/AD1941 may also be set up to accept double. Numeric Precision and Clipping Structure PROGRAMMING On power-up.B format. This allows internal gains of up to 24 dB without encountering internal clipping. and surround virtualizers.23 Range: –16.AD1940/AD1941 SIGNAL PROCESSING OVERVIEW The AD1940/AD1941 are designed to provide all signal processing functions commonly used in stereo or multichannel playback systems. Fractional number systems are specified by an A.0 (minus 1 LSB) to –1. Contact an ADI sales representative for information about licensing these algorithms. The signal processing blocks can be arranged in a custom program that can be loaded to the AD1940/AD1941’s RAM.0 1110 0000 0000 0000 0000 0000 0000 = –4. which allows graphical entry and realtime control of all signal processing functions. No knowledge of writing DSP code is needed to program this part. The input and output word lengths are 24 bits.0 – 1 LSB). and load the program and parameter files into the AD1940/AD1941’s program RAM through the control port.0) 0000 0000 0000 0000 0000 0000 0000 = 0. Rev.0 0000 0010 0000 0000 0000 0000 0000 = 0. The part can be programmed easily using graphical tools provided by Analog Devices.23 FORMAT) 1.0 to (+16. meaning all 1.23 5. Signal processing blocks available in the provided libraries include • • • • • • • • • • • • Single.and double-precision biquad filters Mono and multichannel dynamics processors Mixers and splitters Tone and noise generators First-order filters Fixed and variable gain RMS look-up tables Loudness Delay Stereo enhancement (Phat Stereo™) Dynamic bass boost Interpolators and dececimators NUMERIC FORMATS It is common in DSP systems to use a standardized method of specifying numeric formats.

The AD1941 has four possible slave addresses. they can be loaded without halting the program. A timing diagram is shown in Figure 4. In burst write mode. the address is 0000001. Other functions. The LSB of this first byte determines whether the SPI transaction is a read (Logic Level 1) or a write (Logic Level 0). Generic SPI Word Format Byte 0 chip_adr [6:0]. and then restarted. A sample timing diagram of a single SPI read operation is shown in Figure 12. In this example. In cases where large blocks of data need to be downloaded. A control word consists of the chip address. These are unique addresses for the device and are illustrated in Table 12. carry information between the AD1941 and the system I2C master controller. The COUT pin goes from three-state to driven at the beginning of Byte 3. This allows other SPI-compatible peripherals to share the same readback line. etc. The exact formats for specific types of writes are shown in Table 26 to Table 35. Two pins. When ADR_SEL is low. The safeload registers can be used to buffer a full set of parameters (for example. the five coefficients of a biquad) and then transfer these parameters into the active program within one audio frame. COUT data is shifted out of the AD1940/AD1941 on the falling edge of CCLK and should be clocked into the receiving device. etc. The safeload mode uses internal logic to prevent contention between the DSP core and the control port. In cases where only a few parameters need to be changed. The CLATCH signal goes low at the beginning of a transaction and high at the end of a transaction. the register/RAM subaddress. All SPI transactions follow the same basic format. Subaddress The 12-bit subaddress word is decoded into a location in one of the memories or registers. The CCLK signal latches CDATA on a low-to-high transition. serial data (SDA) and serial clock (SCL). The LSB AD1940 SPI PORT The SPI port uses a 4-wire interface. The COUT signal remains three-stated until a read operation is requested. Table 11. when it is high. such as a microcontroller. and COUT signals. The CDATA signal carries the serial input data and the COUT signal is the serial output data. an initial subaddress is given followed by a continuous sequence of data for consecutive memory/register locations. This allows two AD1940s to share a CLATCH signal. and subsequent bytes carry the data. This subaddress needs to be two bytes because the memories within the AD1940/AD1941 are directly addressable. All data written should be MSB first. edge. program. subadr [11:8] Byte 2 subadr [7:0] Byte 3 Data Byte 4.AD1940/AD1941 CONTROL PORT OVERVIEW The AD1940/AD1941 have many different control options that can be set through an SPI or I2C interface. Data Bytes The number of data bytes varies according to the register or memory being accessed. which means that it never initiates a data transfer. the chip address is 0000000. or parameter data. The first byte of a control word (Byte 0) contains the 7-bit chip address plus the R/W bit. The AD1940 uses a 4-wire SPI control port and the AD1941 uses a 2-wire I2C bus control port. R/W Byte 1 0000. This is typically done during the booting sequence at start-up or when loading a new program into RAM. All subsequent bytes (Bytes 3. This subaddress is the location of the appropriate RAM location or register. B | Page 15 of 36 . such as mute and input/output mode control. The number of bytes per word depends on the type of data that is written. Each slave device is recognized by a unique address. The AD1940/AD1941 have several mechanisms for updating signal processing parameters in real time without causing pops or clicks. and the data to be written. The detailed data format diagram for continuous mode operation is given in the Control Port Read/Write Data Formats section. the output of the DSP core can be halted (using Bit 9 of the core control register). The control port is capable of full read/write operation for all of the memories and registers. Bytes 0 to 2 contain the addresses and R/W bit. The next two bytes (Bytes 1 and 2) form the subaddress of the memory or register location within the AD1940/AD1941. AD1941 I2C PORT The AD1941 supports a 2-wire serial (I2C-compatible) microprocessor bus driving multiple peripherals. two for writing operations and two for reading. consisting of CLATCH.) contain the data. and their sizes exceed the range of single-byte addressing. A sample timing diagram for a single SPI write operation to the parameter RAM is shown in Figure 11. 4. are programmed by writing to the control registers. To avoid unwanted side effects while loading parameters on the fly. on CCLK’s rising Rev. Most signal processing parameters are controlled by writing new values to the parameter RAM using the control port. the SigmaDSP provides the safeload registers. CCLK. The AD1941 is always a slave on the I2C bus. The chip address is set by the ADR_SEL pin. CDATA. Data Chip Address R/W The first byte of an SPI transaction includes the 7-bit chip address and a R/W bit. new data loaded. shown in Table 11. yet operate independently. such as control port. All addresses may be accessed in both a single-address mode or a burst mode.

During a given SCL high period. If the highest subaddress location is reached while in write mode. the data for the invalid byte is not loaded into any subaddress register. Enabling this filter guarantees that all isolated spikes. so the autoincrement feature knows the mapping between subaddresses and the word length of the destination register (or memory location). both positive and negative. defined by a high-to-low transition on SDA while SCL remains high. A Logic 0 on the LSB of the first byte means the master writes information to the peripheral. This increment happens automatically if a stop condition is not encountered after a single-word write. I2C Read and Write Operations Table 13 shows the timing of a single-word write operation. Typically. Every ninth clock. The device that recognizes the transmitted address responds by pulling the data line low during the ninth clock pulse. This figure shows an example where the target destination registers are two bytes. can be used for writing large amounts of data to contiguous memory locations. Figure 13 shows the timing of an I2C write. All other devices withdraw from the bus at this point and return to the idle condition. The registers and memories in the AD1941 range in width from one to five bytes. AD1941 I2C Addresses ADR_SEL 0 0 1 1 R/W 0 1 0 1 Slave Address 0x28 0x29 0x2A 0x2B Stop and start conditions can be detected at any stage during the data transfer. a no-acknowledge is issued by the AD1941 and the part returns to the idle condition. the largest spike that is filtered is 67 ns wide. In read mode. Table 12. Table 14 shows the timing of a burst mode write sequence. The R/W bit determines the direction of the data. or a single stop condition followed by a single start condition. If an invalid subaddress is issued by the user. The timing of a single word read operation is shown in Table 15. The seventh bit of the address is set by tying the ADR_SEL pin of the AD1941 to Logic Level 0 or Logic Level 1. all devices on the I2C bus are in an idle state. After the AD1941 acknow-ledges the receipt of the subaddress. one of two actions are taken. Rev. The I2C master initiates a data transfer by establishing a start condition. B | Page 16 of 36 . where the subaddresses are automatically incremented at word boundaries. the AD1941 issues an acknowledge by pulling SDA low.AD1940/AD1941 of the byte sets either a read or write operation. the AD1941 outputs the highest subaddress register contents until the master device issues a no-acknowledge. This indicates that an address/data stream will follow. The AD1941 knows to increment its subaddress register every two bytes because the requested subaddress corresponds to a register or memory area with word lengths of two bytes. A Logic 1 on the LSB of the first byte means the master reads information from the peripheral. A data transfer is always terminated by a stop condition. Table 16 shows the timing of a burst mode read sequence. indicating a write opera-tion. This ninth bit is known as an acknowledge bit. The filter is active when the I2C_FILT_ENB pin is low and is disabled when the pin is high. A data transfer takes place until a stop condition is encountered. Note that the first R/W bit is still a 0. the master must issue a repeated start command followed by the chip address byte with the R/W set to 1 (read). Burst mode addressing. The AD1941 knows to increment its subaddress register every two bytes because the requested subaddress corresponds to a register or memory area with a 2-byte word length. Logic Level 1 corresponds to a read operation and Logic Level 0 corresponds to a write operation. This is because the subaddress still needs to be written in order to set up the internal address. the AD1941 always decodes the subaddress and sets the autoincrement circuit so that the address increments after the appropriate number of bytes. The AD1941 I2C port uses a spike filter that can be enabled or disabled by the I2C_FILT_ENB pin. This causes the AD1941’s SDA to turn around and begin driving data back to the master. If the user exceeds the highest subaddress while in autoincrement mode. A stop condition occurs when SDA transitions from low to high while SCL is held high. The master then responds every ninth pulse with an acknowledge pulse to the AD1941. indicating the end of a read. these cause an immediate jump to the idle condition. This figure shows an example where the target read registers are two bytes. If these conditions are asserted out of sequence with normal read and write operations. Other address ranges may have a variety of word lengths ranging from one to five bytes. All devices on the bus respond to the start condition and read the next byte (7-bit address + R/W bit) MSB first. A no-acknowledge condition is where the SDA line is not pulled low on the ninth clock pulse on SCL. which is where the devices monitor the SDA and SCL lines for a start condition and the proper address. Addressing Initially. one stop condition. less than 50 ns wide are removed from the I2C signal. the AD1941 does not issue an acknowledge and returns to the idle condition. the user should only issue one start condition.

B | Page 17 of 36 04607-027 ACK.AD1940/AD1941 CLATCH CCLK 04607-0-006 CDATA MSB BYTE 0 LSB BYTE 1 BYTE 2 BYTE 3 Figure 11. AD1941 I2C Write Format Rev. BY AD1941 FRAME 1 CHIP ADDRESS BYTE 1 FRAME 2 SUBADDRESS BYTE 1 SCK (CONTINUED) SDA (CONTINUED) FRAME 3 SUBADDRESS BYTE 2 ACK. BY AD1941 FRAME 4 DATA BYTE 1 Figure 13. SPI Read Format (Single Read Mode) SCK SDA START BY MASTER 0 0 0 0 0 0 ADR SEL R/W ACK. BY STOP BY AD1941 MASTER . BY AD1941 ACK. SPI Write Format (Single Write Mode) CLATCH CCLK CDATA BYTE 0 BYTE 1 BYTE 2 04607-0-007 COUT HI-Z DATA DATA DATA HI-Z Figure 12.

BY AD1941 FRAME 4 CHIP ADDRESS BYTE SCK (CONTINUED) SDA (CONTINUED) 04607-028 ACK. Burst Mode I2C Write S Chip Address. B | Page 18 of 36 . BY STOP BY MASTER MASTER Figure 14. R/W = 1 AS Data Byte 1 AM Data Byte 2 … AM Data Byte N P Table 16. Byte 1 AM Data Word 1.AD1940/AD1941 SCK SDA START BY MASTER ADR SEL R/W ACK.Acknowledge by Master AS . R/W = 0 AS Subaddress High AS Subaddress Low AS S Chip Address.Stop Bit AM .Acknowledge by Slave Rev. AD1941 I2C Read Format Table 13. Byte 2 AM … P S . BY AD1941 FRAME 2 SUBADDRESS BYTE 1 FRAME 1 CHIP ADDRESS BYTE 1 SCK (CONTINUED) SDA (CONTINUED) ACK. BY AD1941 ACK. R/W = 0 AS Subaddress High AS Subaddress Low AS S Chip Address. R/W = 1 AS Data Word 1. BY REPEATED AD1941 START BY MASTER FRAME 3 SUBADDRESS BYTE 2 ADR R/W SEL ACK. Byte 1 AS Data Word 1. BY MASTER FRAME 5 READ DATA BYTE 1 FRAME 6 READ DATA BYTE 2 ACK. Byte 2 AS Data Word 2.Start Bit P . R/W = 0 AS Subaddress High AS Subaddress Low AS Data Byte 1 AS Data Byte 2 … AS Data Byte N P Table 14. Byte 1 AS Data Word 2. Burst Mode I2C Read S Chip Address. Single Word I2C Read S Chip Address. R/W = 0 AS Subaddress High AS Subaddress Low AS Data Word 1. Byte 2 AS … P Table 15. Single Word I2C Write S Chip Address.

read: 2 bytes Write: 1 byte. read: 2 bytes Write: 2 bytes. with 1. 1. Rev. Direct Read/Write. This mode of operation is normally used during a complete new load of the RAMs. Safeload Write. resulting in clicks and pops in the audio stream. The target/slew RAMs need to be written through the safeload registers. read: 4 bytes Write: 5 bytes. The program and parameter RAMs are initialized on power-up from on-board boot ROMs. Safeload writes may be done in either single write mode or burst mode. The data format of the parameter RAM is twos complement 5.0 (minus 1 LSB) to –16. Note that it is also possible to use this mode during live program execution. the parameter RAM is unavailable to the DSP core during control writes. This method can be used for dynamic updates while live program material is playing through the AD1940/ AD1941.AD1940/AD1941 RAMS AND REGISTERS Table 17. read: 1 byte Write: 2 bytes.0. Up to five safeload registers can be loaded with parameter RAM address/data. The address space encompasses a set of registers and three RAMs: one each for holding signal processing parameters. and ramping parameter values. but since there is no handshaking between the core and the control port. This method is not available for writing to the program RAM or control registers. while the RAM is not busy.0 represented by the binary word 0000 1000 0000 0000 0000 0000 0000. read: 2 bytes Write: 1 byte. The data is then transferred to the requested address when the RAM is not busy. a complete update of one biquad section can occur in one audio frame. using burst mode addressing. holding the program instructions. The following sections discuss these two options in more detail. Control Port Addresses SPI/ I2C Subaddress 0–1023 (0x0000–0x03FF) 1024–2559 (0x0400–0x09FF) 2560–2623 (0x0A00–0x0A3F) 2624–2628 (0x0A40–0x0A44) 2629–2633 (0x0A45–0x0A49) 2634–2639 (0x0A4A–0x0A4F) 2640–2641 (0x0A50–0x0A51) 2642 (0x0A52) 2643 (0x0A53) 2644 (0x0A54) 2645 (0x0A55) 2646 (0x0A56) Register Name Parameter RAM Program RAM Target/Slew RAM Parameter RAM Data Safeload Registers 0–4 Parameter RAM Indirect Address Safeload Registers 0–4 Data Capture Registers 0–5 (Control Port Readback) Data Capture Registers (Digital Output) DSP Core Control Register RAM Configuration Register Serial Output Control Register 1 (Channels 0–7) Serial Output Control Register 2 (Channels 8–15) Serial Input Control Register Read/Write Word Length Write: 4 bytes. CONTROL PORT ADDRESSING Table 17 shows the addressing of the AD1940/AD1941’s RAM and register spaces. read: 3 bytes Write: 2 bytes. program. PARAMETER RAM CONTENTS The parameter RAM is 28 bits wide and occupies Addresses 0 to 1023. read: n/a Write: 2 bytes. read: n/a Write: 2 bytes. Options for Parameter Updates The parameter RAM can be written and read using one of the two following methods. The parameter RAM is initialized to all 0s on power-up. read: 1 byte Table 18. read: n/a Write: 5 bytes. read: 5 bytes Write: 5 bytes. This means that the coefficients may range from +16. B | Page 19 of 36 . Table 18 shows the sizes and available writing modes of the parameter. For example. RAM Read/Write Modes Memory Parameter RAM Program RAM Target/Slew RAM Size 1024 × 28 1536 × 40 64 × 34 Subaddress Range 0–1023 (0x0000–0x03FF) 1024–2559 (0x0400–0x09FF) 2560–2623 (0x0A00–0x0A3F) Read Yes Yes No Write Yes Yes Yes (via safeload) Burst Mode Available Yes Yes Yes 2 Write Modes Direct write 1 or safeload write Direct write1 Safeload write 1 2 DSP core should be shut down first to avoid clicks/pops. The clear register bit in the core control register should be set to 0 using this mode to avoid any clicks or pops in the outputs.23. and target/slew RAMs. read: n/a Write: 2 bytes. This method allows direct access to the program and parameter RAMs. 2.

the serial output registers. 1. Rev. Assert Bit 7 of the core control register to initiate a datamemory clear sequence. This begins a volume ramp down. Assert Bit 9 (low to assert) and Bit 6 (high to assert) of the core control register. The lower 28 bits contain the target data in 5. #_of_steps [2:0]. and RC Type Ramp Data Write Byte 0 000000. Assert Bit 7 of the core control register to initiate a datamemory clear sequence. the default power-up program). Wait for this ramp down to complete (the user may poll Bit 13 of the core control register. data [27:24] Bytes 2–4 Data [23:0] 2. curve_type [1:0] Byte 1 update_step [0]. B | Page 20 of 36 . curve_type [1:0] Byte 1 time_const [3:0]. data [15:12] Bytes 2–4 Data [11:0]. Table 20 shows the data write format for the constant time ramping. Fill the parameter RAM using burst mode writes. Fill the parameter RAM using burst mode writes. Data can only be written to the target/slew RAM using the safeload registers as described in the Safeload Registers section. If the loaded program does use the target/slew RAM as the main system volume control. all slew RAM values return to their original premuted states. Fill the program RAM using burst mode writes. the lower 28 bits contain 16 bits in 2. Constant dB. 7. Fill the program RAM using burst mode writes. Table 19. each of which can be set to autoramp from one value to a desired final value in one of four modes. reserved [11:0] 6. and the serial input registers. When this bit is deasserted. Each of the 64 locations in the slew RAM are linked to corresponding locations in the target RAM. If the newly loaded program also uses the target/slew RAM. 5. 5. A mute slew RAM bit is included in the core control register to simultaneously set all the slew RAM target values to 0. Wait at least 100 μs for this sequence to complete. Assert Bit 9 (low to assert—default setting) and Bit 6 (high to assert) of the core control register. Constant Time Ramp Data Write Byte 0 000000. Linear. Wait at least 100 μs for this sequence to complete. the processor core should be disabled to prevent unpleasant noises from appearing at the audio output. and the serial input registers. If the loaded program does not use the target/slew RAM as the main system volume control (for example. Typically. The AD1940/AD1941 contain several mechanisms for disabling the core. 3. Table 20. 4. with a time constant determined by the upper bits of the target RAM. Summary The target/slew RAM is used by the DSP when a program is loaded into the program RAM that uses one or more locations in the slew RAM to access internal coefficient data. The target RAM is 34 bits wide. This zeroes the accumulators. 4. these coefficients are used for volume controls or smooth crossfading effects. the serial output registers. The upper six bits are used to determine the type and speed of the ramp envelope in all modes. or simply wait for a given amount of time). the corresponding slew RAM location begins to ramp toward the target.14 format and 12 bits to set the current step. This is useful for implementing a global multichannel mute. For constant time ramping. deassert Bit 12 of the core control register to begin a volume ramp up procedure. The value is updated once per audio frame (LRCLK period). 2. 1.23 format for the linear and exponential (constant dB and RC type) ramp types. When a new value is written to the target RAM using the control port. Assert Bit 12 of the core control register. but may be used to update any value in the parameter RAM. Deassert Bit 9 and Bit 6 of the core control register to allow the core to begin normal operation TARGET/SLEW RAM The target/slew RAM is a bank of 64 RAM locations. 3. This bit is automatically cleared after the operation is complete. Deassert Bit 9 and Bit 6 of the core control register. The format of the data write for linear and exponential formats is shown in Table 19. This bit is automatically cleared after the operation is complete.AD1940/AD1941 RECOMMENDED PROGRAM/PARAMETER LOADING PROCEDURES When writing large amounts of data to the program or parameter RAM in direct write mode. This zeroes the accumulators.

Value is automatically reset after the step value is updated. The slew RAM initializes to a value of 1.14 format. • RC type—Value slews to target using the difference between target and current values to calculate the step size. the target/slew RAM initializes to preset values. with the 34-bit command again written with six leading zeros to extend the data write to five bytes.2 –0. The parts of the constant time target RAM write are the following: • • Ramp Type (2 bits). Linear Update Math Linear math is the addition or subtraction of a constant value (step).23 Format The result of the equation is normalized to a 5. The equation to describe this step size is step = 213 102×( tconst − 5 ) 20 The following sections detail how the control port writes to the target/slew RAM to control the time constant and ramp type parameters. 2.23 data format. with the number of steps equal to 23-bit setting + 6. When writing to the RAM. The resulting curve has a constant rise and decay when measured in dB. these bits should all be set to 0. The target RAM initializes to a linear ramp type with a time constant of 5 and the data set to 1. Number of Steps (3 bits). Slew RAM—Linear Update Increasing Ramp • Rev. except the half-scale constant time ramp plot. • Constant Time—Value slews to the target in a fixed number of steps in a linear fashion. Update Step (1 bit).3 ms. An example of this kind of update is shown in Figure 15 and Figure 16.4 ms (–60 dB relative to 0 dB full scale). Constant dB—Value slews to target using the current value to calculate the step size. Table 21. These defaults give a full-scale (1. The parts of the target RAM write are the following: • • Ramp Type (2 bits) Time Constant (4 bits) 0000 = Fastest 1111 = Slowest Data (28 Bits): 5. All slew RAM figure examples. producing a simple RC type curve for rising and falling.0 to 0. Set to 1 when new target is loaded to trigger step value update. All figures except the constant time plots (Figure 19 and Figure 21) use a time constant of 0x7 (0x0 being the fastest and 0xF being the slowest). The number of steps that it takes to slew to the target value is set by these three bits.4 0. Target and Slew RAM Initialization On reset. Target/Slew RAM Ramp Type Settings Setting 00 01 10 11 Ramp Type Linear Constant dB RC type Constant time • • • • Data (16 bits).8 0.8 –1 0 10 20 TIME (ms) 30 04607-0-017 • Ramp Type 4—Constant Time (34-Bit Write) The target word for the constant time ramp type is written in five parts. show an increasing or decreasing ramp between –80 dB and 0 dB (full scale).75 ms to 213. Ramp Types 1 to 3: Linear.0.6 –0. This gives a time constant range from 6. The control port mute has no affect on this type.4 –0.2 0 –0. B | Page 21 of 36 . 000 = 64 001 = 128 010 = 256 011 = 512 100 = 1024 101 = 2048 110 = 4096 111 = 8196 Figure 15. Reserved (12 bits). Constant dB.AD1940/AD1941 The four ramping curve types are Linear—Value slews to target using a fixed step size. The 34-bit command is written with six leading 0s to extend the data write to five bytes. 1 0. RC Type (34-Bit Write) The target word for the first three ramp types is broken up into three parts.0.0) ramp time of 21.6 OUTPUT LEVEL (V) 0.

8 –1 0 5 10 15 20 TIME (ms) 25 30 04607-0-019 –0.8 –1. each step size is set to the current value in the slew data.4 0. When the ramp type bits are set to 10 (RC type).8 0.0 0. and is show in Figure 19.4 –0.2 0 –0.2 0 –0. Slew RAM—Constant dB Update Increasing Ramp 35 Figure 20.2 0 –0. Figure 17 and Figure 18 show examples of this type of target/slew RAM ramping.4 –0.2 –0.4 –0.8 –1 0 5 10 15 20 TIME (ms) 25 30 35 Figure 17.6 1.6 1 0.27 s (–60 dB relative to 0 dB full scale).2 –0.8 –1.6 04607-029 0.4 1 0. Full Scale Rev.2 0 –0.4 0. Slew RAM—Linear Update Decreasing Ramp Figure 18.8 0.2 –0. Slew RAM—Constant Time Update Increasing Ramp.6 04607-0-018 0.8 0.4 0. Full Scale OUTPUT LEVEL (V) –0.4 –0.6 Figure 19. A decreasing ramp of both the constant dB and RC type ramps is a mirror image of the constant dB increasing ramp.AD1940/AD1941 1.0 0 5 10 20 15 TIME (ms) 25 30 35 35 Figure 16. B | Page 22 of 36 .6 –0.2 –0. When the ramp type is set to 01 (constant dB).0 0 5 10 15 20 TIME (ms) 25 30 35 OUTPUT LEVEL (V) 0.1 ms to 1.2 –0.8 0.8 0. Slew RAM—Constant dB and RC Type Update Decreasing Ramp.0 0.6 OUTPUT LEVEL (V) 0. Slew RAM—RC Type Update Increasing Ramp Constant dB and RC Type (Exponential) Update Math Exponential math is accomplished by shifts and adds with a range from 6. 1 0.6 04607-030 –0.6 OUTPUT LEVEL (V) OUTPUT LEVEL (V) 0.8 –1 0 5 10 15 20 TIME (ms) 25 30 04607-0-020 –0.2 0 –0. the step sizes are equal to the difference between the values in the target RAM and slew RAM.6 –0.4 0.4 0.

Data Capture Control Registers (2634–2641) Register Bits 12:2 1:0 Function 11-Bit program counter address Register select 00 = Mult_X_input 01 = Mult_Y_input 10 = MAC_output 11 = Accum_fback OUTPUT LEVEL (V) 0 5 10 15 20 TIME (ms) 25 30 35 Figure 22. To prevent instability from occurring. You can see that the ramp takes the same amount of time as the previous ramp from –80 dB to 0 dB.6 –0. Slew RAM—Constant Time Update Increasing Ramp. and another five for indirectly addressing the target/slew RAMs) with the desired parameter or target/slew RAM address and data. To eliminate this problem. the filter could execute for one or two audio frames with a mix of Rev.535 that corresponds to the program step number where the capture occurs. a capture count and a register select must be set.8 –1. A constant time decreasing ramp plot is shown in Figure 21. For each of the data capture registers. The capture count is a number between 0 and 1. SAFELOAD REGISTERS Many applications require real time control of signal processing parameters. The AD1940/AD1941 contain six independent control portreadable data capture registers. regardless of the difference in the initial state and the target value. only those two registers are sent. The safeload logic automatically sends only those safeload registers that have been written to since the last safeload operation.8 –1 0 5 10 15 20 TIME (ms) 25 30 04607-0-021 35 Figure 21. mixer gains. the AD1940/AD1941 load a set of 10 registers in the control port (five for 28-bit parameters. the other three registers are not sent to the RAM and can still hold old or invalid data. The equation for this step size is Step = (Target Data − Slew Data)/(Number of Steps) DATA CAPTURE REGISTERS The AD1940/AD1941’s data capture feature allows the data at any node in the signal processing flow to be sent to one of six control port-readable registers or to a serial output pin.8 0. The safeload registers can be used to update either the parameter RAM or target/slew RAM values. if only two parameters are to be sent.2 0 –0. The register select field programs one of four registers in the DSP core that is transferred to the data capture register when the program Figure 20 shows a plot of the target/slew RAM operating in constant time mode.4 0.2 0 –0. 128 steps are used to reach the target value.2 –0. The digital output registers are output on SDATA_OUT7 when the data capture serial out enable bit (Bit 14) is set in serial output Control Register 2. Program lengths should be limited to 1. B | Page 23 of 36 . Figure 21 shows a plot of a constant time ramp from –80 dB to –6 dB (half scale) using 128 steps. or dynamics processing curves. Otherwise. For example. Table 22. These registers are useful when debugging the signal processing flow. Slew RAM—Constant Time Update Decreasing Ramp. Half Scale 1. It can be guaranteed that the safeload will have occurred within one LRCLK period (21 μs at fs = 48 kHz) of the initiate safe transfer bit being set. multichannel virtualizing parameters. the appropriate initiate safe transfer bit (there are separate bits for parameter and target/slew loads) in the core control register should be set to initiate the loading into RAM.0 04607-031 old and new coefficients. When the initial safe transfer bit (in the core control register) is asserted. leading to transients that could take a long time to decay. This mix could cause temporary instability. This type of ramping takes a fixed amount of time for a given number of steps. Once these registers are loaded.6 OUTPUT LEVEL (V) 0. all of the parameters of a biquad filter must be updated at the same time.4 –0. such as filter coefficients. This can be used to monitor and display information about internal signal levels or compressor/limiter activity. and two digital output capture registers.0 0.531 cycles (1.6 0. For this example.AD1940/AD1941 1 0. Five registers are used because a biquad filter uses five coefficients and it is desirable to be able to do a complete biquad update in one transaction.4 0. Full Scale Constant Time Update Math Constant time math is accomplished by adding a step value that is calculated after each new target is loaded.4 –0.8 0.6 –0.2 –0. only two of the five safeload registers must be written to.536 − 5) to ensure that the SigmaDSP is able to perform the safeloads.

This bit is read-only and is automatically cleared by reading. so it is best to first assert the mute slew RAM bit (if slew RAM locations are used as volume controls in the program) to avoid a click or pop when shutdown is asserted. DSP CORE CONTROL REGISTER The controls in this register set the operation of the AD1940/ AD1941’s DSP core. Like the other register bits. this one powers up to 0. DSP Core Control Register (2642) Register Bits 15:14 13 12 11 10 9 8 7 6 5 4 3:2 Function Reserved Slew RAM muted (read-only) Mute slew RAM. all RAM locations return to their previous state. all locations Reserved. Rev. Operation in this mode may require custom assembly language coding in the ADI graphical tools. Data Capture Output Register Select Setting 00 01 10 11 Register Multiplier X input (Mult_X_input) Multiplier Y input (Mult_Y_input) Multiplier-Accumulator Output (MAC_out) Accumulator Feedback (Accum_fback) operation is identical to writing all 0s to the data portion of the target RAM. Bits 6 to 9 can be set to initiate a shutdown of the core. Slew RAM Muted (Bit 13) This bit is set to 1 when the slew RAM mute operation has been completed.AD1940/AD1941 counter equals the capture count. The capture registers can be accessed by reading from locations 2634 to 2639 (for control port capture registers). Table 24. and therefore the time constant and linear/ exponential curve selection is determined by the bits that have been previously written to the high bits of the target RAM. All Locations (Bit 12) Setting this bit to 1 initiates a mute of all 64 slew RAM locations. 1:0 Use Serial Out LRCLK for Output Latch (Bit 10) Normally. This is intended to prevent noise from inadvertently occurring during the power-up sequence. When reset to 0. This control bit is included for maximum flexibility and is normally not used. The format for reading and writing to the data capture registers can be seen in Table 32 and Table 33. Mute Slew RAM. This bit is only functional if slew RAM locations are used in the custom program design. the input to the DSP multiplier is set to 0. Setting this bit to 1 allows the output LRCLK signal to control this data transfer rather than the internal endof-sequence signal. active low Force multiplier to 0 Inititalize data memory with 0s Mute serial input port Initiate safe transfer to target RAM Initiate safe transfer to parameter RAM Input serial port to sequencer sync 00 = LRCLK 01 = LRCLK/2 10 = LRCLK/4 11 = LRCLK/8 Program length 00 = 1536 01 = 768 10 = 384 11 = 192 The capture count and register select bits are set by writing to one of the eight data capture registers at the following register addresses: 2634: Control Port Data Capture Setup Register 0 2635: Control Port Data Capture Setup Register 1 2636: Control Port Data Capture Setup Register 2 2637: Control Port Data Capture Setup Register 3 2638: Control Port Data Capture Setup Register 4 2639: Control Port Data Capture Setup Register 5 2640: Digital Out Data Capture Setup Register 0 2641: Digital Out Data Capture Setup Register 1 The captured data is in 5.19 twos complement data format for all eight register select fields. Keep in mind that the AD1940/AD1941’s default program does not use any slew RAM volume controls. Table 23. it is desirable to transfer the internal core data multiple times during a single input audio sample period. The mute Force Multiplier to Zero (Bit 8) When this bit is set to 1. B | Page 24 of 36 . when the output sample rate is set to some multiple of the input sampling rate). Clear Registers to All Zeros (Bit 9) Setting this bit to 0 sets the contents of the accumulators and serial output registers to 0. data is transferred from the DSP core to the serial output registers at the end of each program cycle. The output is muted when this is performed. which results in the multiplier output being 0. The data that must be written to set up the data capture is a concatenation of the 11-bit program count index with the 2-bit register select field. In some cases (for example. so this bit has no effect in that case.23 data-word. This means the AD1940/AD1941 power up in clear mode and do not pass a signal until a 1 is written to this bit. The four LSBs are truncated from the internal 5. set to 0 Use serial out LRCLK for output latch Clear internal registers to all 0s. The capture count and register select values that correspond to the desired point to be monitored in the signal processing flow can be found in a file output from the program compiler. The register select field selections are shown in Table 23.

For normal operation. a 96 kHz input can be used with a 48 kHz output. the data memories in the AD1940/AD1941 can be divided into modulo and nonmodulo portions by programming the RAM configuration register (Table 25). then the power Rev. For fS = 96 kHz.536 instructions for fS = 48 kHz. These bits set the length of the internal program. This bit is cleared to 0 after the operation is complete. Of five safeload registers pairs (address/data). In some cases the AD1940/AD1941 may be used to decimate an incoming signal by some integer factor. This address offset counter is incremented automatically at the audio frame rate. For this reason. In this case. B | Page 25 of 36 . this register may be left in its default state. 40-bit words written to the program RAM are not appended with any 0s because it is already a full 5 bytes. RAM CONFIGURATION REGISTER The AD1940/AD1941 use a modulo RAM addressing scheme to allow filters and other blocks to be coded easily without requiring filter data to be explicitly moved during the filtering operation. but the program length can be shortened by factors of 2 to accommodate sample rates higher than 48 kHz. and an 11-bit RAM/ register address. This feature is included for maximum programming flexibility and may be used in the case of special software development. when the program length is set to 384 steps with fS = 48 kHz. For example. Of five safeload register pairs (address/data). Table 25. only those registers that have been written since the last safeload event are transferred. The address range from 0 to 512 × (RAM configuration register contents) is treated as modulo memory with autoincrementing address offset registers. allowing two consecutive input samples to be processed during a single audio output frame. The default program length is 1. Initiate Safe Transfer to Target RAM (Bit 5) Setting this bit to 1 initiates a safeload transfer to the target/slew RAM. The control port knows how many data bytes to expect based on the address that is received in the first three bytes. 1 LSB corresponds to 512 locations. consumption of the part is cut approximately in half. In order to fit into a byte-oriented format.144 (6 k words) data words. This is accomplished by adding the contents of an address offset counter to the actual base address supplied in the AD1940/AD1941’s cores. only those registers that have been written since the last safeload event are transferred. the internal sequencer is synchronized to the incoming audio frame rate by comparing the internal program counter with the edge of the LRCLK input signal. If the program length is set to 768 steps and fS = 48 kHz instead of 96 kHz. it is desirable to synchronize the sequencer to a submultiple of the incoming LRCLK rate so more than one audio input sample is available to the program during a single audio output frame. the 16 serial input channels are forced to all 0s. Low Power Mode This setting can also be used to reduce the power consumption of the AD1940/AD1941. For example. This allows easy programming of common microcontroller chips. Initiate Safe Transfer to Parameter RAM (Bit 4) Setting this bit to 1 initiates a safeload transfer to the parameter RAM.536 program steps and fS = 48 kHz. the program length should be set to 384 steps (10). Note that addresses in this range automatically wrap around the modulo boundary as set by the register. 0s are appended to the data fields before the MSB in order to extend the data word to the next multiple of eight bits. Correspondingly. This bit clears when the operation is completed. RAM Configuration Register (2643) Register Bits 7:4 3:0 Function Reserved RAM modulo. the program length should be set to 768 (01). Address 0 corresponds to the first target RAM location. a read/write bit. max = 0b1100 (6 k words) Zero Serial Input Port (Bit 6) When this bit is set to 1. however. In some cases. This method works well for most audio applications that involve filtering. This bit should be asserted after a complete program/parameter download has occurred to ensure click-free operation. 28-bit words written to the parameter RAM are appended with four leading 0s to reach 32 bits (four bytes). bypassing the autoincrementing address offset counter. Operation in this mode may require custom assembly language coding in the ADI graphical tools. A program length of 192 steps is available. it is desirable to have direct access to the RAM. Address 0 corresponds to the first parameter RAM location. or 6. the power consumption is about ¼ of what it is in normal operation with 1. For fS = 192 kHz. but is not commonly used. which sets up the entire RAM to use the autoincrement feature. if these bits are set to 01 (LRCLK/2). The maximum setting of this register is the full size of the RAM. This feature is not normally used with ADI supplied blocks. Program Length (Bits 1:0) 96 kHz and 192 kHz Modes CONTROL PORT READ/WRITE DATA FORMATS The read/write formats of the control port are designed to be byte oriented.AD1940/AD1941 Initialize Data Memory with Zeros (Bit 7) Setting this bit to 1 initializes all data memory locations to 0. This bit clears when the operation is completed. These zero extended data fields are appended to a 3-byte field consisting of a 7-bit chip address. Input Serial Port to Sequencer Sync (Bits 3:2) Normally.

Burst mode may be used to fill contiguous register or RAM locations. param [27:0] param_adr + 2 <—param_adr—> 1 Burst mode data transfers can continue beyond the three words that are illustrated here in the same sequential word format. Control Register Read/Write Format (Core. W/R Byte 1 0000. The register/RAM address autoincrements until the data transfer reaches the IC's last address. as would be done in a single address write. Table 27. W/R Byte 1 0000. param_adr [11:8] Byte 2 param_adr [7:0] Byte 3 0000. Control Register Read/Write Format (RAM Configuration. A burst mode write is done by writing the address and data of the first RAM/register location to be written. prog_adr [11:8] Byte 2 prog_adr [7:0] Bytes 3–7 prog [39:0] Table 29. W/R Byte 1 0000. Serial Out 0. Serial Out 1) Byte 0 chip_adr [6:0]. param [27:0] param_adr + 1 Bytes 11-14 1 0000. The register/RAM address autoincrements until the data transfer reaches the IC's last address. to eight bytes (for a program RAM write). reg_adr [11:8] Byte 2 reg_adr [7:0] Byte 3 data [7:0] Rev. W/R Byte1 0000. param [27:24] Bytes 4–6 param [23:0] Bytes 7-10 0000. prog_adr [11:8] Byte 2 prog_adr [7:0] Bytes 3-7 prog [39:0] <—prog_adr—> 1 Bytes 8-12 prog [39:0] prog_adr +1 Bytes 13-17 1 prog [39:0] prog_adr +2 Burst mode data transfers can continue beyond the three words that are illustrated here in the same sequential word format. Rather than ending the control port transaction (by bringing the CLATCH signal high in the Table 26. param [27:24] Bytes 4–6 param [23:0] AD1940/AD1941. Serial Input) Byte 0 chip_adr [6:0]. the next data word can be written immediately without first writing its specific address). Parameter RAM Block Read/Write Format (Burst Mode) Byte 0 chip_adr [6:0]. after the data word. B | Page 26 of 36 . Table 30. Program RAM Read/Write Format (Single Address) Byte 0 chip_adr [6:0]. Parameter RAM Read/Write Format (Single Address) Byte 0 chip_adr [6:0]. even across the boundaries of the different RAMs and registers. param_adr [11:8] Byte 2 param_adr [7:0] Byte 3 0000. Table 28. W/R Byte 1 0000. W/R Byte1 0000. reg_adr [11:8] Byte 2 reg_adr [7:0] Byte 3 data [15:8] Byte 4 data [7:0] Table 31. The AD1940/AD1941 control ports autoincrement the address of each write. Program RAM Block Read/Write Format (Burst Mode) Byte 0 chip_adr [6:0].AD1940/AD1941 The total number of bytes for a single location write command can vary from four bytes (for a control register write).

regsel [1:0] 2 Progcount [10:0] = value of program counter where trap occurs (the table of values is generated by the program compiler). data_capture_adr [11:8] Byte 2 data_capture_adr [7:0] Bytes 3–5 data [23:0] Table 34. Safeload Register Address Write Format Byte 0 chip_adr [6:0]. param_adr [9:8] Byte 4 param_adr [7:0] Rev. data_capture_adr [11:8] Byte 2 data_capture_adr [7:0] Byte 3 000. safeload_adr [11:8] Byte 2 safeload_adr [7:0] Byte 3 000000. W/R Byte 1 0000. Data Capture Register Write Format Byte 0 chip_adr [6:0]. B | Page 27 of 36 . W/R 1 2 Byte 1 0000. data [33:32] Bytes 4–7 data [31:0] Table 35. W/R Byte 1 0000. W/R Byte 1 0000. safeload_adr [11:8] Byte 2 safeload_adr [7:0] Byte 3 000000.AD1940/AD1941 Table 32. Regsel [1:0] selects one of four registers (see Data Capture Registers section). progcount [10:6] 1 Byte 4 progcount [5:0]1. Safeload Register Data Write Format Byte 0 chip_adr [6:0]. Data Capture (Control Port Readback) Register Read Format Byte 0 chip_adr [6:0]. Table 33.

but they are truncated internally. or 16-bit). and on SDATA_IN2 in 16-channel TDM mode. The two clock domains on the serial output ports can generate two separate 8-channel TDM streams or one 16-channel TDM stream. The left channel data field always precedes the right channel data field in the 2-channel streams. In all modes except for the right-justified modes (MSB delayed by 8. clock types. 8-channel. Proper operation of the right-justified modes requires that there be exactly 64 BCLKs per audio frame. 18-. LRCLK_OUT0 and BCLK_OUT0 are clocks for Serial Output Ports 0 to 7. the parts cannot generate a TDM bit clock that is fast enough to support 96 kHz or 192 kHz. The AD1940/AD1941 must be in slave mode for 16-channel TDM mode. 12. Left-Justified. Serial Output Port Master/Slave Mode Capabilities fS 48 kHz 96 kHz 192 kHz 2-Channel Modes (I2S. and 16-channel TDM. The default settings of all serial port control registers correspond to 2-channel I2S mode. or 16 BCLKs Delayed from start of word clock by one BCLK Delayed from start of word clock by one BCLK Rev. 20-. and Slots 4 to 7 (or Slots 8 to 15 in 16-channel TDM) are in the second half of the frame. and data format. Extra bits do not cause an error. Data is processed in twos complement. Proper operation of the right-justified modes requires the LSB to align with the edge of the LRCLK. MSB first format. The LRCLK in TDM mode can be input to the AD1940/AD1941 as either a 50/50 duty cycle clock or as a bitwide pulse. the AD1940/AD1941 can be masters for 48 kHz and 96 kHz data. The input control register allows control of clock polarity and data input modes. The TDM data is input on SDATA_IN2 and SDATA_IN3 when in 2 × 8-channel TDM mode. Table 36 displays the modes in which the serial output port will function. The valid data formats are I2S . The serial modes are set in the serial output and serial input control registers. the serial port accepts an arbitrary number of bits up to a limit of 24. In 8-channel TDM mode. All register settings apply to both master and slave modes unless otherwise noted. Slots 0 to 3 (8-channel TDM) or Slots 0 to 7 (16-channel TDM) fall in the first half of the audio frame. but not for 192 kHz data. The output control registers give the user control of clock polarities. unless the data is sampled at 48 kHz. left-justified. or 16). right-justified (24-. but are truncated internally. clock frequencies. the serial port accepts an arbitrary number of bits up to a limit of 24. Data Format Configurations Format I2S (Figure 23) Left-Justified (Figure 24) Right-Justified (Figure 25) TDM with Clock (Figure 26) TDM with Pulse (Figure 27) LRCLK Polarity Frame begins on falling edge Frame begins on rising edge Frame begins on rising edge Frame begins on falling edge Frame begins on rising edge LRCLK Type Clock Clock Clock Clock Pulse BCLK Polarity Data changes on falling edge Data changes on falling edge Data changes on falling edge Data changes on falling edge Data changes on falling edge MSB Position Delayed from LRCLK edge by one BCLK Aligned with LRCLK edge Delayed from LRCLK edge by 8. All registers default to being set as all 0s.AD1940/AD1941 SERIAL DATA INPUT/OUTPUT PORTS The AD1940/AD1941’s flexible serial data input and output ports can be set to accept or transmit data in 2-channel formats or in an 8.or 16-channel TDM stream. Table 36. Right-Justified) Master and slave Master and slave Master and slave 8-Channel TDM Master and slave Master and slave Slave only 16-Channel TDM Master and slave Slave only Slave only Table 37. Table 37 shows the proper configurations for standard audio data formats. B | Page 28 of 36 . Extra bits do not cause an error. 12. In the TDM modes. the data is clocked by LRCLK_OUT0 and BCLK_OUT0. and LRCLK_OUT1 and BCLK_OUT1 Clock Ports 8 to 15. When in 16-channel TDM mode. In all modes except for the right-justified modes.

B | Page 29 of 36 . 16-channel stream 0 = Indepenent 1 = Linked LRCLK polarity 0 = Frame begins on falling edge 1 = Frame begins on rising edge BCLK polarity 0 = Data changes on falling edge 1 = Data changes on rising edge Master/Slave 0 = Slave 1 = Master BCLK frequency (master mode only) 00 = core_clock/24 01 = core_clock/12 10 = core_clock/6 11 = core_clock/3 Frame sync frequency (master mode only) 00 = core_clock/1536 01 = core_clock/768 10 = core_clock/384 Frame sync type 0 = LRCLK 1 = Pulse Serial output/TDM mode control 0 = 8 Serial data outputs 1 = Enable TDM (8. Channels 0–7 00 = 24 bits 01 = 20 bits 10 = 16 bits 11 = Reserved Table 39. Serial Output Control Register 2 (Channels 8–15) (2645) Bits 15 Function Dither enable 0 = Disabled 1 = Enabled Data capture serial out enable (Uses SDATA_OUT7) 0 = Disable 1 = Enable LRCLK polarity 0 = Frame begins on falling edge 1 = Frame begins on rising edge BCLK polarity 0 = Data changes on falling edge 1 = Data changes on rising edge Master/Slave 0 = Slave 1 = Master BCLK frequency (master mode only) 00 = core_clock/24 01 = core_clock/12 10 = core_clock/6 11 = core_clock/3 Frame sync frequency (master mode only) 00 = core_clock/1536 01 = core_clock/768 10 = core_clock/384 Frame sync type 0 = LRCLK 1 = Pulse Serial output/TDM mode control 0 = 8 serial data outputs 1 = Enable TDM on SDATA_OUT4 (8-channel) or SDATA_OUT0 (16-channel) MSB position 000 = Delay by 1 001 = Delay by 0 010 = Delay by 8 011 = Delay by 12 100 = Delay by 16 101 Reserved 111 Reserved Output word length.AD1940/AD1941 Table 38.or 16-channel) on SDATA_OUT0 MSB position 000 = Delay by 1 001 = Delay by 0 010 = Delay by 8 011 = Delay by 12 100 = Delay by 16 101 Reserved 111 Reserved Output word length. Serial Output Control Register 1 (Channels 0–7) (2644) Bits 15 Function Dither enable 0 = Diabled 1 = Enabled Internally link TDM streams into single. Channels 8–15 00 = 24 bits 01 = 20 bits 10 = 16 bits 11 = Reserved 14 14 13 13 12 12 11 11 10:9 10:9 8:7 8:7 6 6 5 5 4:2 4:2 1:0 1:0 Rev.

when set to 1. the TDM output stream is output in a single 16-channel stream on SDATA_OUT0. when this bit is set to 0.728 MHz core clock. Internally Link TDM Streams into Single 16-Channel Stream (Bit 14. Table 40. this is reversed. This bit must be set in both serial output control registers to enable 16-channel TDM on SDATA_OUT0. Frame Sync Frequency (Bits 8:7) When the output port is used as a clock master. these bits set the frequency of the output word clock on the LRCLK_OUTx pins. SDATA_OUT7 is set as the output of the data capture digital output registers (2640–2641). B | Page 30 of 36 . TDM data is output on two independent 8-channel streams on Pins SDATA_OUT0 and SDATA_OUT4. with the two streams coming in on SDATA_IN2/TDM_IN1 and SDATA_IN3/TDM_IN0. Data changes on the falling edge of BCLK_OUTx when this bit is set to 0. When this polarity bit is set to 0. 16-bit When this bit is set to 1. the signal is a word clock with a 50% duty cycle. The default setting is slave. on power-up. See the Data Capture Registers section for a full explanation of this mode. 3 BCLK Polarity (Bit 12) This bit controls on which edge of the bit clock the output data is clocked. Pins BCLK_OUTx and LRCLK_OUTx are set as inputs until this bit is set to 1. Channels 0 to 7 are input on TDM_IN0 and Channels 8 to 15 come in on TDM_IN1. The serial input port can also operate with a pulse input signal. In this case. input on TDM_IN1. the signal is a pulse with a duration of one bit clock at the beginning of the data frame. When set to 1. the right input data clocked when LRCLK_IN is high. LRCLK Polarity (Bit 4) When set to 0. 18-bit 110 = Right-justified. Serial Output/TDM Mode Control (Bit 5) Setting this bit to 1 changes the output port from multiple serial outputs to a single TDM output stream on the appropriate SDATA_OUTx pin. Serial Output Control Register 2) When set to 1.728 MHz core clock. When set to 1. When set to 1 and running in TDM mode. Rev. this is reversed. SERIAL INPUT CONTROL REGISTER 8-/16-Channel TDM Input (Bit 5) Setting this bit to 0 puts the AD1940/AD1941 into dual 8-channel TDM input mode. When set to 0. 2:0 Master/Slave (Bit 11) This bit sets whether the output port is a clock master or slave. the left channel data is clocked when LRCLK is low. 20-bit 101 = Right-justified. data is clocked in starting with the next appropriate BCLK edge (set in Bit 3 of this register) that follows a falling edge on the LRCLK_IN pin. these bits set the frequency of the output bit clock. 24-bit 100 = Right-justified. and on the rising edge when this bit is set at 1. Setting this bit to 1 puts the part in 16-channel TDM input mode. Serial Output Control Register 1) MSB Position (Bits 4:2) These three bits set the position of the MSB of data with respect to the LRCLK edge. 4 LRCLK Polarity (Bit 13) When set to 0. the first edge of the pulse is used by the AD1940/AD1941 to start the data frame. In TDM mode. The data outputs of the AD1940/AD1941 are always MSB first. All bits following the LSB are set to 0. which is divided down from the internal 73. which is divided down from the internal 73. the input data is valid on the BCLK edge following a rising edge on the word clock (LRCLK_IN). BCLK Frequency (Bits 10:9) When the output port is being used as a clock master. Serial Input Control Register (2646) Register Bits 5 Function 8-/16-channel TDM input 0 = Dual 8-channel TDM 1 = 16-channel TDM input LRCLK polarity 0 = Frame begins on falling edge 1 = Frame begins on rising edge BCLK polarity 0 = Data changes on falling edge 1 = Data changes on rising edge Serial input mode 000 = I2S 001 = Left-justified 010 = TDM 011 = Right-justified. Frame Sync Type (Bit 6) This bit sets the type of signal on the LRCLK_OUTx pins. Data Capture Serial Out Enable (Bit 14. rather than a clock. a low pulse should be used. and a high pulse should be used when the bit it set to 1.AD1940/AD1941 SERIAL OUTPUT CONTROL REGISTERS Dither Enable (Bit 15) Setting this bit to 1 enables dither on the appropriate channels. the left channel data on the SDATA_INx pins is clocked when LRCLK_IN is low. When set to 0. Output Word Length (Bits 1:0) These bits set the word length of the output data-word. at which time they become clock outputs. and the right data clocked when LRCLK is high.

then low. and on the rising edge when this bit is set at 1. Right-Justified Mode—16 to 24 Bits per Channel Rev. To work in this mode on either the input or output serial ports. The clock diagrams for these modes are shown in Figure 23. the AD1940/AD1941 should be set to frame beginning on the rising edge of LRCLK. Left-Justified Mode—16 to 24 Bits per Channel LRCLK BCLK SDATA MSB LEFT CHANNEL LSB 1 /FS RIGHT CHANNEL 04607-0-025 MSB LSB Figure 25. AD1940/AD1941 expects the MSB of each data slot delayed by one BCLK from the beginning of the slot.AD1940/AD1941 BCLK Polarity (Bit 3) This bit controls on which edge of the bit clock the input data changes. Bits 3 and 4 of this control register override the settings in Bits 2:0. and Figure 25. and on which edge it is clocked. Figure 27 shows an example of a TDM stream running with a pulse word clock. B | Page 31 of 36 04607-0-024 LRCLK BCLK LEFT CHANNEL RIGHT CHANNEL . When in 16-channel TDM mode. the AD1940/ AD1941’s data starts after the edge defined by Bit 4. Figure 24. Channels 0 to 3 are in the first half of the frame. Figure 26 shows just one of the formats in which the AD1940/AD1941 can operate in TDM mode. Please refer to the Serial Data Input/Output Ports section for a more complete description of the modes of operation. Data changes on the falling edge of BCLK_IN when this bit is set to 0. In 8-channel TDM mode. so all four bits must be changed together for proper operation in some modes. and Channels 4 to 7 are in the second half. Figure 26 shows an 8-channel TDM stream with a high-to-low triggered LRCLK and data changing on the falling edge of the BCLK. and MSB position delayed from the start of the word clock by one BCLK. which would be used to interface to ADI codecs in their auxiliary mode. and the second half-frame holds Channels 8 to 15. The LRCLK BCLK SDATA MSB LEFT CHANNEL RIGHT CHANNEL 04607-0-023 LSB 1 /FS MSB LSB Figure 23. Serial Input Mode (Bits 2:0) These two bits control the data format that the input port expects to receive. Table 37 explains the clock settings for each of these formats. I2S Mode—16 to 24 Bits per Channel SDATA MSB LSB MSB 1 /FS LSB Figure 24. just like in the stereo I2S format. which is opposite from the default setting of Bit 4. the first half-frame holds Channels 0 to 7. When these bits are set to accept a TDM input. Note that for left-justified and right-justified modes the LRCLK polarity is high. data changing on the falling edge of BCLK.

B | Page 32 of 36 04607-0-022 SLOT 0 SLOT 1 SLOT 2 SLOT 3 SLOT 4 SLOT 5 SLOT 6 SLOT 7 .AD1940/AD1941 LRCLK 256 BCLKs BCLK 32 BCLKs DATA SLOT 0 SLOT 1 SLOT 2 SLOT 3 SLOT 4 SLOT 5 SLOT 6 SLOT 7 LRCLK 04607-0-012 BCLK MSB MSB–1 MSB–2 DATA Figure 26. TDM Mode with Pulse Word Clock Rev. 8-Channel TDM Mode LRCLK BCLK MSB TDM SDATA CH 0 MSB TDM 8TH CH 32 BCLKs Figure 27.

5 V is generated at the transistor’s collector. PLL_VDD and VSENSE. or 512 × fS. The default boot ROM program simply copies the serial inputs to the serial outputs with no processing. a single capacitor. which is connected to the VDD pins. 384 × fS. the boot sequence still completes before the PLL locks to the input clock. DVDD Figure 28. If the AD1940/AD1941 are set to receive double-rate signals (by reducing the number of program steps/sample by a factor of 2 using the core control register). In normal operation. or 128 × fS. and PLL_CTRL2. but are not necessary for operation. The reference voltage on VREF is 1. If the mode is changed on the fly. PLL_CTRL1. The boot sequence. although this setting is not recommended for normal operation. The recommended design for the voltage regulator is shown in Figure 29. and PLL_CTRL2 pins. as shown in Figure 28. During this time. VDD is the main system voltage (3. Reset is synched to the falling edge of the internal MCLK. 256 × fS.3 V or 5 V) and should be connected to VSUPPLY. The data memories are also cleared during this time. then the master clock frequencies must be either 32 × fS. 96 × fS. where the clock present on MCLK is fed directly to the DSP core. The PLL takes approximately 3 ms to lock. 64 × fS. A 1 kΩ resistor should be connected between VDRIVE and VSUPPLY. where fS is the input sampling rate. Since the boot sequence requires a stable master clock. VDRIVE is connected to the base of the PNP transistor. or 256 × fS. The only external components needed for this are a PNP transistor such as a ZX5T953G. the contents of the internal program boot ROM are copied to the internal program RAM memory and the parameter RAM (all 0s) is filled with values from its associated boot ROM. The Rev. lasts for 8. which starts on the rising edge of the RESETB pin. Default Program Signal Flow SETTING MASTER CLOCK/PLL MODE The AD1940/AD1941’s MCLK input feeds a PLL. which generates the 1536 × fS clock to run the DSP core. 64 × fS. Assuming even the slowest possible signal on this pin. Coming out of reset. the input to MCLK must be one of the following. 128 × fS.15 V and is generated by the regulator. VOLTAGE REGULATOR The AD1940/AD1941 include an on-board voltage regulator that allows the chip to be used in systems where a 2.5 V supply is not available. a clock signal must be present on MCLK so that the AD1940/AD1941 can complete their initialization routine. If the AD1940/AD1941 are set to receive quad rate signals (by reducing the number of program steps/sample by a factor of 4 using the core control register). 192 × fS. Table 41. a click or pop may result on the outputs. PLL Modes MCLK Input 64 × fS 256 × fS 384 × fS 512 × fS Bypass 1 PLL_CTRL2 0 0 X1 1 1 PLL_CTRL1 0 1 X1 0 1 PLL_CTRL0 0 0 1 0 0 X = don’t care The clock mode should not be changed without also resetting the AD1940/AD1941.AD1940/AD1941 INITIALIZATION POWER-UP SEQUENCE The AD1940/AD1941 have a built-in power-up sequence that initializes the contents of all internal RAMs. SDATA_IN0 SDATA_IN1 SDATA_IN2 SDATA_IN3 SDATA_OUT0 SDATA_OUT1 SDATA_OUT2 SDATA_OUT3 SDATA_OUT4 SDATA_OUT5 SDATA_OUT6 SDATA_OUT7 04607-0-004 PLL can also run in bypass mode. The 10 μF and 100 nF capacitors shown in this schematic are recommended for bypassing. and a single resistor.192 cycles of the signal on the MCLK pin at start-up. Voltage Regulator Design 04607-0-009 . the user should avoid writing to or reading from the registers until the MCLK input signal has settled and the PLL has locked. then the master clock frequencies must be 16 × fS. B | Page 33 of 36 + 10μF ZX5T953G + 10μF 100nF 1kΩ 100nF 1nF VSUPPLY PLL_VDD VSENSE VREF VDRIVE VDD AD1940/AD1941 Figure 29. a 64 × fS clock. PLL_CTRL1. The power-up default signal processing flow in the AD1940/ AD1941 simply takes the eight inputs and copies these signals to the 16 digital outputs. The state of the PLL_CTRLx pins should be changed while RESETB is held low. On power-up.3 V or 5 V is. A 1 nF capacitor should be connected between this pin and ground. Here. but 3. 2. according to Table 41. the clock mode is immediately set by the PLL_CTRL0. The mode is set on PLL_CTRL0.

The maximum current draw of the AD1940/AD1941 is 163 mA (maximum digital current + maximum PLL current). the transistor’s current amplification factor (hFE or beta) should be at least 100. First. the transistor’s collector needs to be able to dissipate the heat generated when regulating from 3.3 V – 2. Rev. Second. and VSENSE can be tied to ground. The equations for the minimum power dissipation specs for both 3. VSUPPLY should be connected to the same or higher potential as the VDD pin.5 V) × 163 mA = 480 mW (3.3 V and 5 V follow: (5 V – 2. B | Page 34 of 36 .5 V) × 163 mA = 130 mW If the regulator is not used in the design.5 V.AD1940/AD1941 There are two specifications that should be taken into consideration when choosing a regulator transistor. VDRIVE.3 V or 5 V to 2. VREF.

27 0.00 SQ 6.20 0. 13” Tape and Reel 48-Lead LQFP 48-Lead LQFP.22 0.80 0.05 12 13 24 25 SEATING PLANE VIEW A 0.15 0.80 37 36 1.08 COPLANARITY (PINS DOWN) 7.45 1.20 7. B | Page 35 of 36 051706-A VIEW A 0.60 MAX 48 1 PIN 1 9.AD1940/AD1941 OUTLINE DIMENSIONS 0.5° 0° 0. Rev.35 TOP VIEW 0.20 9. 13” Tape and Reel Evaluation Board Evaluation Board Package Option ST-48 ST-48 ST-48 ST-48 Z = RoHS Compliant Part.45 1.40 1.17 .09 7° 3.50 BSC LEAD PITCH ROTATED 90° CCW COMPLIANT TO JEDEC STANDARDS MS-026-BBC Figure 30.00 SQ 8. 48-Lead Low-Profile Quad Flat Package [LQFP] (ST-48) Dimensions shown in millimeters ORDERING GUIDE Model 1 AD1940YSTZ AD1940YSTZRL AD1941YSTZ AD1941YSTZRL Eval-AD1940AZ Eval-AD1940MINIBZ 1 Temperature Range –40°C to +105°C –40°C to +105°C –40°C to +105°C –40°C to +105°C Package Description 48-Lead LQFP 48-Lead LQFP.60 0.75 0.

Inc. provided that the system conforms to the I2C Standard Specification as defined by Philips.AD1940/AD1941 NOTES Purchase of licensed I2C components of Analog Devices or one of its sublicensed Associated Companies conveys a license for the purchaser under the Philips I2C Patent Rights to use these components in an I2C system. B | Page 36 of 36 . D04607-0-4/10(B) Rev. Trademarks and registered trademarks are the property of their respective owners. ©2004–2010 Analog Devices. All rights reserved.

Sign up to vote on this title
UsefulNot useful