ZL38004 Dedicated Voice Processor with Dual Channel Codec Data Sheet A full Design Manual is available to qualified customers. To register, please send an email to [email protected]. June 2006 Ordering Information ZL38004QCG1 Features • 100 Pin LQFP Trays, Bake & Drypack *Pb Free Matte Tin - 40°C to +85°C 100 MHz (200 MIPs) Zarlink voice processor with Butterfly hardware accelerator and breakpoint/interrupt controller • Primary PCM port supports TDM (ST BUS, GCI or McBSP framing) or SSI modes at bit rates of 128, 256, 512, 1024, 2048, 4096, 8192 or 16384 Kb/sec • Separate slave (microcontroller) and master (Flash) SPI ports, maximum clock rate = 25 MHz • Watchdog and 2 auxiliary timers • 11 General Purpose Input/Output (GPIO) pins • On-board Data (26 Kbytes), Instruction (24 Kbytes RAM and Boot (3 Kbytes) ROM • Dual ∆Σ ADCs with input buffer gain selection programmable to either 8 or 16 kHz sampling • Dual ∆Σ DACs with output sampling of 8, 16, 44.1 and 48 kHz and internal output driver • 2048 tap Filter co-processor shared across up to 16 separate functions in 128 tap increments • General purpose UART port • Bootloadable for future Zarlink software upgrades • Dual function Inter-IC Sound (I2S) or Secondary TDM port • External oscillator or crystal/ceramic resonator • 1.2 V Core; 3.3 V IO with 5 V-tolerant inputs • IEEE-1149.1 compatible JTAG port Buffer CODEC[0] IRQ[15:0] DAC IRQ Timing Generator ButterFly Hardware Accelerator IRQ IRQ 27K Bytes I 2S IRQ PCM P1 IRQ Filter Co-processor APLL MCLK Watchdog AUX Timer1 AUX Timer2 IRQ 5 / CODEC[1:0] Device Clocks IRQ Master SPI 5 / IRQ Slave SPI 4 / PCM P0 IRQ 5 / JTAG Data RAM DAC 5 / Boot ROM 3K Bytes ADC IRQ PCM_LBCi PCM P0 Clock Chain CODEC[1] Driver OSC OSCi PCM_CLKi 24K Bytes DSP Core OSCo APLL Instruction RAM Interrupt Controller ADC Driver Buffer 100 MHz MCLK IRQ IRQ IRQ Figure 1 - Functional Block Diagram 3 Zarlink Semiconductor Inc. Zarlink, ZL and the Zarlink Semiconductor logo are trademarks of Zarlink Semiconductor Inc. Copyright 2006, Zarlink Semiconductor Inc. All Rights Reserved. UART 2 / GPIO 11 / ZL38004 Data Sheet Applications • Hands-free car kits • Full duplex speaker-phone for digital telephone • Echo cancellation for video conferences • Intercom Systems • Security Systems 1.0 Functional Description The ZL38004 is a hardware platform designed to support advanced acoustic echo canceller (with noise reduction) firmware applications available from Zarlink Semiconductor. These applications are resident in external memory and are down-loaded by the ZL38004 resident boot code during initialization. The firmware products and manuals available at the release of this data sheet are: ZLS38500: Acoustic Echo Canceller with Noise Reduction for Hands-Free Car Kits; ZLS38501 Speakerphone. If these applications do not meet your requirements, please contract your local Zarlink Sales Office for the latest firmware releases. The ZL38004 Advanced Acoustic Echo Canceller with Noise Reduction platform integrates Zarlink’s Voice Processor (ZVP) DSP Core with a number of internal peripherals. These peripherals include the following: • Two independent ∆Σ CODECs • Two PCM ports - ST BUS, GCI, McBSP or SSI operation • An I2S interface port • A 2048 tap Filter Co-processor • Two Auxiliary Timers and a Watchdog Timer • 11 GPIO pins • A UART interface • A Slave SPI port and a Master SPI port • A timing block that supports master and slave operation • An IEEE - 1149.1 compatible JTAG port The DSP Core can process up to four 8-bit audio channels, two 16-bit audio channels or two 8-bit and one 16-bit audio channel. These audio channels may originate and terminate with the Σ∆ CODECs, or be communicated to and from the DSP Core through the PCM ports or the I2S port. 4 Zarlink Semiconductor Inc. ZL38004 2.0 Data Sheet Core DSP Functional Block The ZL38004 DSP Core functional block, illustrated in Figure 1, is made up of a DSP Core, Interrupt Controller, Data RAM, Instruction RAM, BOOT ROM and a ButterFly Hardware Accelerator. This block controls the timing (APLL and Timing Generator), peripheral interfaces and Filter Co-processor through a peripheral address/data/control bus and 16 prioritized interrupts. The ZL38004 implementation of DSP core and Filter Co-processor have been optimized to efficiently support voice processing applications. These applications are described in detail in the firmware manuals associated with this hardware platform. When an interrupt occurs the DSP core saves its current status and jumps to the address of the associated interrupt service routine. 3.0 Codec[1:0] The ZL38004 has two 16-bit fully differential ∆Σ CODECs (CODEC 0/1) that can be programmed for 48 kHz or 44.1 kHz sampling, or to meet G.712 requirements at 8 kHz sampling or G.722 at 16 kHz sampling, see Figure 2. The ADC path consists of input signal pins C0/1_ADCi+ and C0/1_ADCi- (buffer output pins C0/1_BF0+ and C0/1_BFo-), which feed selectable Microphone Amplifier or Line Amplifier options. Once past the buffer the analog signal goes through a low pass antialiasing filter and to a 4th order feed-forward ∆Σ Modulator that produces a Pulse Density Modulated (PDM) signal. Next the PDM signal goes through a Low Pass Decimation Filter and then is converted into a 16-bit parallel word that can be read by the ZL38004 DSP (ADCout[15:0], Figures 2). The ZL38004 DSP will send 16-bit parallel word samples (DACin[15:0], Figure 2) to the DAC where they are converted to serial data and passed through an interpolation filter followed by a digital ∆Σ Modulator. The ∆Σ Modulator generates PDM data, which then passes through a 32-tap FIR reconstruction filter. The reconstructed analog signal is then passed to a unity voltage gain differential output driver and to pins C0/1_DACo+ and C0/1_DACo-. The CODEC bias voltages are generated by an internal bandgap circuit (BIAS_VCM, BIAS_RF+ and BIAS_RF-). Each ZL38004 CODEC has two loopbacks. When activated, the input analog signal on pins C0/1_ADC+/- is looped around to C0/1_DAC+/-. Pulse Density Modulated (PDM) serial data from the ADC Analog ∆Σ Modulator output is looped around to the input of the DAC Reconstruction Filter. At the same time 16-bit parallel data is looped around from DACin[15:0] to ADCout[15:0]. PDM serial data from the DAC Digital ∆Σ Modulator is looped around to the input of the ADC Digital Low Pass Decimation Filter. When the Parallel Loopback is activated the input analog signal on pins C0/1_ADC+/- is looped around to the C0/1_DAC+/- output. 16-bit parallel data from the ADC Digital Low Pass Decimation Filter is looped around to the DAC Digital Low Pass Interpolation Filter. This data may be read by the DSP, but parallel data written to the DAC by the DSP will be lost. CODEC0 and CODCE1 of the ZL38004 may be powered down if they are not required. See firmware manual. 5 Zarlink Semiconductor Inc. ZL38004 Data Sheet ZL38004 Analog Clock Select 3.0720 MHz 2.8224 MHz Analog Clock Buffer C0/1_BFo+ C0/1_ADCiC0/1_ADCi+ C0/1_BFo- Antialiasing Filter BIAS_VCM BIAS_RF+ BIAS_RF- Bias Generation C0/1_DACo+ C0/1_DACo- Digital LP Decimation Filter Analog ∆Σ Modulator CODEC PDM Loopback Digital ∆Σ Modulator Reconstruction Filter & Driver CODEC PDM Loopback Digital LP Interpolation Filter Analog Clock 16 ADCout [15:0] 16 16 DACin [15:0] CODEC Parallel Loopback Figure 2 - CODEC Block Diagram 4.0 PCM / I2S Ports The PCM ports 0 and 1 support data communication between an external peripheral device and the ZL38004 DSP Core using separate input (P0/1PCMi) and output (P0/1PCMo) serial streams with TDM (i.e., ST-BUS, GCI or McBSP) or SSI interface timing in both master or slave timing modes. Both PCM Ports 0 and 1 support the same functionality and modes of operation. PCM Port 1 pin functions are shared with the I2S Port pin functions. The I2S (Inter-IC Sound) port and PCM Port One share the same physical pins of the ZL38004. Selection of either I2S port operation or PCM Port One operation is done through the Port One PCM/I2S Select Register. See firmware manual. The I2S port can be used to connect external Analog-to-Digital Converters or CODECs to the internal DSP. This port can operate in master mode, where the ZL38004 is the source of the port clocks, or slave mode, where the bit and sampling clocks (I2S_SCK and I2S_ LRCK) are inputs to the ZL38004. In I2S port master mode the clock signal at output pin I2S_LRCK is the sampling frequency (fS), the clock signal at output I2S_SCK is 32 x fS, and the clock signal at output I2S_MCLK is 256 x fS. In I2S port slave mode the relationship between the clock signal at input pin I2S_LRCK and the clock signal at input I2S_SCK must be 32 x fS. In slave mode the 256 x fS relationship between fS and the I2S_MCLK is not mandatory, and the I2S_MCLK output pin will be in a high impedance state. Access to the control and status registers associated with these ports is through the Slave SPI port or UART. 6 Zarlink Semiconductor Inc. ZL38004 5.0 Data Sheet Host Microprocessor and Peripheral Interfaces The ZL38004 provides 1 master SPI port (with 2 chip selects), 1 slave SPI ports and an UART. The master SPI port’s primary function is to access and external FLASH memory to download firmware to the ZL38004. The control/status registers and memory of the ZL38004 can be accessed (R/W) by an external host through the Slave SPI and the UART ports. Register/Memory read and write accesses are carried out through a series of port read and write accesses as follows: 5.1 Master SPI (FLASH Port) The Master SPI port is used by the ZL38004 to access one or two peripheral devices (chip select signals SPIM_CS[1:0]). It supports both SPI and MICROWIRE modes of operation and can write up to 40 bits or read up to 32 bits in a single access. The Chip Select output signals may be programmed for a single access or burst access. All communication is MSB first and all pins of the master SPI port are outputs controlled by the ZL38004, except SPIM_MISO. 5.2 Slave SPI (Host Port) The slave SPI port may be used by an external host microprocessor to access (Read/Write) the ZL38004 internal control/status registers and memory. Access is initiated when the external host makes signal SPIS_CS low and is ended when this signal goes high. The host will then apply a clock (maximum 25 MHz) to signal SPIS_CLK to clock data out of SPIS_MISO and in on SPIS_MOSI. 5.3 UART The UART (Universal Asynchronous Receiver Transmitter) port may be used by an external host microprocessor to access (Read/Write) the ZL38004 internal control/status registers and memory. The ZL38004 DSP will set up the initial parameters of this port (i.e., master/slave, baud rate, stop bits, parity bit...) during the Boot process. After the device has been booted these port options can be changed as per the firmware manual. The UART port will support 8-bit data only with any combination of 1 start bit, 0 or 1 parity bit(s) and 1, 1.5 or 2 stop bit(s). The ZL38004 has 11 GPIO (General Purpose Input/Output) pins that can be individually configured as either input or output. These pins are intended for low frequency signalling. When a GPIO pin is defined as an input the state of that input pin is sampled with the internal master clock (Mclk = 100 MHz) and latched into the GPIO Read Register. This sampling can be stopped (Freeze) on an individual GPIO pin. Individual pins of GPIO[4:0] may have an internal pull-down resistor activated/deactivated and individual pins of GPIO[10:5] may have an internal pull-up activated/deactivated. Immediately after a power-on reset (RST pin) the GPIO pins are defined as inputs and their state is captured in the GPIO Start-Up Status Register. The state of this register is used by the Boot program to determine the base functionality and programming options of the device. Individual GPIO pins may also be defined as outputs with associated enable/disable (active/high impedance) control. 7 Zarlink Semiconductor Inc. For more information about all Zarlink products visit our Web Site at www.zarlink.com Information relating to products and services furnished herein by Zarlink Semiconductor Inc. or its subsidiaries (collectively “Zarlink”) is believed to be reliable. However, Zarlink assumes no liability for errors that may appear in this publication, or for liability otherwise arising from the application or use of any such information, product or service or for any infringement of patents or other intellectual property rights owned by third parties which may result from such application or use. Neither the supply of such information or purchase of product or service conveys any license, either express or implied, under patents or other intellectual property rights owned by Zarlink or licensed from third parties by Zarlink, whatsoever. Purchasers of products are also hereby notified that the use of product in certain ways or in combination with Zarlink, or non-Zarlink furnished goods or services may infringe patents or other intellectual property rights owned by Zarlink. This publication is issued to provide information only and (unless agreed by Zarlink in writing) may not be used, applied or reproduced for any purpose nor form part of any order or contract nor to be regarded as a representation relating to the products or services concerned. The products, their specifications, services and other information appearing in this publication are subject to change by Zarlink without notice. No warranty or guarantee express or implied is made regarding the capability, performance or suitability of any product or service. Information concerning possible methods of use is provided as a guide only and does not constitute any guarantee that such methods of use will be satisfactory in a specific piece of equipment. It is the user’s responsibility to fully determine the performance and suitability of any equipment using such information and to ensure that any publication or data used is up to date and has not been superseded. Manufacturing does not necessarily include testing of all functions or parameters. These products are not suitable for use in any medical products whose failure to perform may result in significant injury or death to the user. All products and materials are sold and services provided subject to Zarlink’s conditions of sale which are available on request. Purchase of Zarlink’s I2C components conveys a licence under the Philips I2C Patent rights to use these components in and I2C System, provided that the system conforms to the I2C Standard Specification as defined by Philips. Zarlink, ZL and the Zarlink Semiconductor logo are trademarks of Zarlink Semiconductor Inc. Copyright Zarlink Semiconductor Inc. All Rights Reserved. TECHNICAL DOCUMENTATION - NOT FOR RESALE