Device Configuration for Skype Long-Range Speakerphone and TV Applications

Oct 17 2011
Add to myAnalog

Add article to the Resources section of myAnalog, to an existing project or to a new project.

Create New Project

Abstract

The MAX9860 audio voice codec provides an ideal solution for Skype® long-range audio-capture applications and enables high-quality voice transmission. Target applications include Skype for TV, set-top boxes, and speakerphones. By providing a flexible range of programmable gain settings and accepting sample rates up to 48kHz, the MAX9860 amplifies analog microphone signals and converts them to digital audio with performance in mind. In addition, the MAX9860's two microphone inputs allow the application to record from a two-microphone or four-microphone array using a beamforming algorithm for directional sensitivity and noise cancellation.

Introduction

The MAX9860 provides all the necessary system blocks and features to be used in a Skype voice-capture application. Any gain can be selected from 0dB to 50dB (using 1dB steps) between the microphone input pins and the internal analog-to-digital converter (ADC) (Figure 1). An additional gain of -12dB to +3dB can be selected at the output of the ADC. The output of the device's digital audio interface conforms to the standard I²S, left-justified, or TDM protocol for communication with the system's application processor. All settings are programmed though a 2-wire I²C compatible interface.
Figure 1. The MAX9860 block Diagram, ADC path.
Figure 1. The MAX9860 block Diagram, ADC path.

Suggested Microphone Preamp Circuit

For Skype applications, it is recommended to use an additional preamplifier stage before the MAX9860 analog inputs to ensure enough gain can be provided. Use a single-supply, dual-channel operational amplifier with low noise, such as the MAX4253 for this block. It is important to ensure that the signal-to-noise ratio (SNR) of the external op amp is greater than that of the MAX9860 to achieve better overall SNR performance. The external op-amp circuit can also serve as a lowpass filter for high-frequency noise rejection.
There are two recommended microphone configurations for long-range Skype applications: a four-microphone array and a two-microphone array. See Figure 2 and Figure 3 for the suggested input schematic when using a four-microphone array. When using a two-microphone array, remove MK3, MK4, FB3, FB4, C101, C102, R91, and R101. Also, change the value of R41 and R42 to 0Ω. See Figure 4 and Figure 5 for the suggested input schematic when using a two-microphone array.
Figure 2. A four-microphone input circuit.
Figure 2. A four-microphone input circuit.
Figure 3. A four-microphone op-amp circuit.
More detailed image.
(PDF, 282kB)
Figure 3. A four-microphone op-amp circuit.
Figure 4. A two-microphone input circuit.
Figure 4. A two-microphone input circuit.
Figure 5. A two-microphone op-amp circuit.
More detailed image.
(PDF, 278kB)
Figure 5. A two-microphone op-amp circuit.
A two-microphone array is supported by the MAX9860 by routing one microphone signal to the left channel input and the other microphone signal to the right channel input. A four-microphone array is supported by routing the sum of two microphone signals to the left channel input and the sum of the other two microphone signals to the right channel input.

Device Setup

To configure the MAX9860 for a Skype application, select the desired clock rates and interface modes via I²C registers 0x03–0x07 (Table 1). The MAX9860 can work with a master clock (MCLK) supplied from any system clock within 10MHz to 60MHz. In addition, the supported sample rates range from 8kHz to 48kHz, and include all common sample rates (8kHz, 16kHz, 24kHz, 32kHz, 44.1kHz, and 48kHz). For more information regarding the clock control registers, please refer to the MAX9860 data sheet.
Table 1. Recommended Register Settings
REGISTER B7 B6 B5 B4 B3 B2 B1 B0 REGISTER ADDRESS POR RECOMMENDED SETTING FOR SKYPE USE R/W
STATUS/INTERRUPT
Interrupt Status CLD SLD ULK 0 0 0 0 0 0x00 R
Microphone NG/AGC Readback NG AGC 0x01 R
Interrupt Enable ICLD ISLD IULK 0 0 0 0 0 0x02 0x00 0x10 R/W
CLOCK CONTROL
System Clock 0 0 PSCLK 0 FREQ 16KHZ 0x03 0x00 Depends on system clock requirements and desired sample rate R/W
Stereo Audio Clock Control High PLL NHI 0x04 0x00 R/W
Stereo Audio Clock Control Low NLO 0x05 0x00 R/W
DIGITAL AUDIO INTERFACE
Interface MAS WCI DBCI DDLY HIZ TDM 0 0 0x06 0x00 Depends on system interface requirements R/W
Interface 0 0 ABCI ADLY ST BSEL 0x07 0x00 R/W
DIGITAL FILTERING
Voice Filter AVFLT DVFLT 0x08 0x00 Depends on desired sample rate R/W
DIGITAL LEVEL CONTROL
DAC Attenuation DVA 0x09 0x00 0xFF R/W
ADC Output Levels ADCRL ADCLL 0x0A 0x00 0x33 R/W
DAC Gain and Sidetone 0 DVG DVST 0x0B 0x00 0x00 R/W
MICROPHONE LEVEL CONTROL
Microphone Gain 0 PAM PGAM 0x0C 0x00 0x34 as starting point. Adjust as necessary. R/W
RESERVED
Reserved 0 0 0 0 0 0 0 0 0 0 0x0D 0x00
MICROPHONE AUTOMATIC GAIN CONTROL
Microphone AGC AGCSRC AGCRLS AGCATK AGCHLD 0x0E 0x00 0x00 R/W
Noise Gate, Microphone AGC ANTH AGCTH 0x0F 0x00 0x00 R/W
POWER MANAGEMENT
System Shutdown Active-Low SHDN 0 0 0 DACEN 0 ADCLEN ADCREN 0x10 0x00 0x83 R/W
Ensure that the AGC is disabled by setting registers 0x0E and 0x0F to 0x00. Even though the MAX9860 has an on-board automatic gain control (AGC), it is typically wise to turn it off in a Skype application. Skype has its own AGC algorithm which runs on the host platform. The application program interface (API) provided by Skype to control the gain should be set to modify register 0x0C.
For optimum startup performance, select a starting gain of 0dB by writing 0x34 to register 0x0C. Next, enable the analog record path and device operation via register 0x83. Set bits 1 and 0 to enable the left and right ADC respectively. Set bit 7 to enable the MAX9860 for operation.
Once the device is enabled for operation, use register 0x0C to select a mic preamp gain and mic PGA gain that best suits the expected signal level at the analog inputs. See Table 2 for the recommended I²C register programming sequence.
Table 2. Recommended Programming Sequence
Address Value
0x10 0x00
0x0C 0x34
0x03–0x08 Depends on system requirements
0x09 0xFF
0x0A 0x33
0x0B 0x00
0x0E 0x00
0x0F 0x00
0x10 0x83
0x0C Set gain based on expected signal level

Layout and Grounding

Proper layout and grounding are essential for optimum performance in a Skype application. When designing a PCB for the MAX9860, partition the circuitry so that the analog sections of the MAX9860 are separated from the digital sections. This ensures that the analog audio traces do not need to be routed near digital traces. It is recommended to connect the microphones to the PCB with a twisted-pair cable. Place the microphones as close to the op amp as the physical design will allow.
To provide superior noise immunity at the input circuit, AC ground the negative microphone input signals (MICLN and MICRN) as close as possible to the output of the op amps (MIX_MICL and MIX_MICR, as shown in Figure 3 and Figure 5). Route MICLP and MICLN to the MAX9860 as a differential pair, ensuring that the positive and negative signals follow the same path as closely as possible with equal trace length. Use the same design procedure for MICRP and MICRN.
Use a large continuous ground plane on a dedicated layer of the PCB to minimize loop areas. Connect AGND, DGND, and MICGND directly to the ground plane using the shortest trace length possible. Proper grounding improves audio performance, minimizes crosstalk between channels, and prevents any digital noise from coupling into the analog audio signal.
Ground the bypass capacitors on REG, PREG, and REF directly to the ground plane with minimum trace length. Also, be sure to minimize the path length to AGND and MICGND. Bypass AVDD directly to AGND. Bypass MICBIAS directly to MICGND.
Connect all digital I/O termination to the ground plane with minimum path length to DGND. Bypass DVDD and DVDDIO directly to DGND.
The MAX9860's thin QFN package features an exposed thermal pad on its underside. This pad lowers the package's thermal resistance by providing a direct heat conduction path from the die to the PCB. Connect the exposed thermal pad to AGND.
An evaluation kit (EV kit) is available to provide an example layout for the MAX9860. The MAX9860EVKIT allows quick setup of the MAX9860 and includes easy-to-use software allowing all internal registers to be controlled.

Conclusion

The MAX9860 provides all the functionality necessary to provide high-quality audio capture with the flexibility to meet different system requirements. By following the recommended configuration outlined in this application note, a Skype application design can be easily obtained and prototyped. The MAX9860 EV kit and software are available upon request.

About The Authors

Evan Ragsdale

Latest Media 20

Subtitle
Learn More
Add to myAnalog

Add article to the Resources section of myAnalog, to an existing project or to a new project.

Create New Project