Download Datasheet

STA321MP
Scalable digital microphone processor
Datasheet - production data
Description
TQFP - 64
10 mm x 10 mm
VFQFPN - 56
8 mm x 8 mm
Features
 8 digital processing channels each 24-bit
– 6 channels of PDM input
– 2 additional virtual channels
 >100 dB SNR and dynamic range
 Digital gain/attenuation +58 dB to -100 dB in
0.5 dB steps
 Soft volume update
 Individual channel and master level control
 Up to 10 independent 32-bit userprogrammable biquads (EQ) per channel
 Bass/treble tone control
 Pre- and post-EQ full 8-channel input mix on all
8 channels
 Dual independent limiters/compressors
 Dynamic range compression or anti-clipping
modes
 Individual channel and master soft/hard mute
The STA321MP is a PDM high-performance
multichannel processor with ultra-low quiescent
current designed for general-purpose digital
microphone applications. The device is fully
digital and is comprised of three main sections.
The first section is the PDM input interface which
can accept up to six serial digital inputs. The
second section is a high-quality audio processor
allowing flexible channel mixing/muxing and
provides up to 10 biquads for general sound
equalization and voice enhancement with
independent volume control. The last block is the
I²S output interface which streams out the
processed digital audio. The output interface can
also be programmed for flexible channel
mapping. The device offers some of the most
commonly required audio enhancements such as
programmable voice tuning and equalization,
limiter/compressor for improved voice quality,
multiband selection for customizable microphone
usage and configurable wind-noise rejection. The
embedded digital processor allows offloading the
microphone processing from the main CPU or
SoC, moving it to the device.
The STA321MP has six digital microphone inputs,
providing connections for up to three dualmembrane microphones.
 3 I²S data outputs
 I²S data output channel mapping function
 Independent channel volume and DSP bypass
 Channel mapping of any input to any
processing channel
Applications
Table 1. Device summary
Order code
Package
Packaging
STA321MPLTR
TQFP64
Tape and reel
STA321MPL
TQFP64
Tray
STA321MPTR
VFQFPN56
Tape and reel
STA321MP
VFQFPN56
Tray
 Tablets
 Gaming
 Audio conference sets
 Legacy microphone-equipped devices
September 2013
This is information on a product in full production.
DocID022647 Rev 5
1/84
www.st.com
84
Contents
STA321MP
Contents
1
2
3
4
Device overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.1
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
2.2
Thermal data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
2.3
Recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
2.4
Electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Microphone interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.1
PDM clock generator (for microphones) . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2
PDM resampling interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3
PDM recombination (dual-membrane microphone support) . . . . . . . . . . 15
3.4
Low-pass filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.5
Sensitivity adjustment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.6
Normal channel attenuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.7
Thresholds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
I2C bus operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1
4.1.1
Data transition or change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.2
Start condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.3
Stop condition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1.4
Data input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2
Device addressing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3
Write operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.4
2/84
Communication protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.3.1
Byte write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3.2
Multi-byte write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Read operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4.1
Current address byte read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4.2
Current address multi-byte read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4.3
Random address byte read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
DocID022647 Rev 5
STA321MP
Contents
4.4.4
5
Random address multi-byte read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.1
Register summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
5.2
Register description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.1
Configuration register A (0x00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5.2.2
Configuration register C (0x02) - serial output formats . . . . . . . . . . . . . 26
5.2.3
Configuration register D (0x03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2.4
Configuration register E (0x04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.5
Configuration register F (0x05) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.6
Configuration register G (0x06) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.7
Configuration register H (0x07) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.8
Configuration register I (0x08) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2.9
Master mute register (0x09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.10
Master volume register (0x0A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.11
Channel 1 volume (0x0B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.12
Channel 2 volume (0x0C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.13
Channel 3 volume (0x0D) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.14
Channel 4 volume (0x0E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.2.15
Channel 5 volume (0x0F) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.16
Channel 6 volume (0x10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.17
Channel 7 volume (0x11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.18
Channel 8 volume (0x12) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2.19
Channel 1 volume trim, mute, bypass (0x13) . . . . . . . . . . . . . . . . . . . . 35
5.2.20
Channel 2 volume trim, mute, bypass (0x14) . . . . . . . . . . . . . . . . . . . . 35
5.2.21
Channel 3 volume trim, mute, bypass (0x15) . . . . . . . . . . . . . . . . . . . . 35
5.2.22
Channel 4 volume trim, mute, bypass (0x16) . . . . . . . . . . . . . . . . . . . . 36
5.2.23
Channel 5 volume trim, mute, bypass (0x17) . . . . . . . . . . . . . . . . . . . . 36
5.2.24
Channel 6 volume trim, mute, bypass (0x18) . . . . . . . . . . . . . . . . . . . . 36
5.2.25
Channel 7 volume trim, mute, bypass (0x19) . . . . . . . . . . . . . . . . . . . . 36
5.2.26
Channel 8 volume trim, mute, bypass (0x1A) . . . . . . . . . . . . . . . . . . . . 36
5.2.27
Fine volume (FineVol) (0x5B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.28
Channel input mapping channels 1 and 2 (0x1B) . . . . . . . . . . . . . . . . . 38
5.2.29
Channel input mapping channels 3 and 4 (0x1C) . . . . . . . . . . . . . . . . . 38
5.2.30
Channel input mapping channels 5 and 6 (0x1D) . . . . . . . . . . . . . . . . . 38
5.2.31
Channel input mapping channels 7 and 8 (0x1E) . . . . . . . . . . . . . . . . . 38
5.2.32
AGEQ - graphic EQ 80-Hz band (0x23) . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.33
BGEQ - graphic EQ 300-Hz band (0x24) . . . . . . . . . . . . . . . . . . . . . . . 39
DocID022647 Rev 5
3/84
Contents
STA321MP
5.3
4/84
5.2.34
CGEQ - graphic EQ 1-kHz band (0x25) . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.35
DGEQ - graphic EQ 3-kHz band (0x26) . . . . . . . . . . . . . . . . . . . . . . . . 39
5.2.36
EGEQ - graphic EQ 8-kHz band (0x27) . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2.37
Biquad internal channel loop-through (0x28) . . . . . . . . . . . . . . . . . . . . . 40
5.2.38
Mix internal channel loop-through (0x29) . . . . . . . . . . . . . . . . . . . . . . . 41
5.2.39
EQ bypass (0x2A) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2.40
Tone control bypass (0x2B) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.2.41
Tone control (0x2C) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.42
Channel limiter select channels 1, 2, 3, 4 (0x2D) . . . . . . . . . . . . . . . . . 42
5.2.43
Channel limiter select channels 5, 6, 7, 8 (0x2E) . . . . . . . . . . . . . . . . . 42
5.2.44
Limiter 1 attack/release rate (0x2F) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.2.45
Limiter 1 attack/release threshold (0x30) . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.46
Limiter 2 attack/release rate (0x31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.47
Limiter 2 attack/release threshold (0x32) . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.48
Limiter description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2.49
Channel 1 and 2 output timing (0x33) . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2.50
Channel 3 and 4 output timing (0x34) . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2.51
Channel 5 and 6 output timing (0x35) . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.2.52
Channel 7 and 8 output timing (0x36) . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2.53
Coefficient address register 1 (0x3B) . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2.54
Coefficient address register 2 (0x3C) . . . . . . . . . . . . . . . . . . . . . . . . . . 48
5.2.55
Coefficient b1 data register, bits 23:16 (0x3D) . . . . . . . . . . . . . . . . . . . . 48
5.2.56
Coefficient b1 data register, bits 15:8 (0x3E) . . . . . . . . . . . . . . . . . . . . . 49
5.2.57
Coefficient b1 data register, bits 7:0 (0x3F) . . . . . . . . . . . . . . . . . . . . . . 49
5.2.58
Coefficient b2 data register, bits 23:16 (0x40) . . . . . . . . . . . . . . . . . . . . 49
5.2.59
Coefficient b2 data register, bits 15:8 (0x41) . . . . . . . . . . . . . . . . . . . . . 49
5.2.60
Coefficient b2 data register, bits 7:0 (0x42) . . . . . . . . . . . . . . . . . . . . . . 49
5.2.61
Coefficient a1 data register, bits 23:16 (0x43) . . . . . . . . . . . . . . . . . . . . 49
5.2.62
Coefficient a1 data register, bits 15:8 (0x44) . . . . . . . . . . . . . . . . . . . . . 49
5.2.63
Coefficient a1 data register, bits 7:0 (0x45) . . . . . . . . . . . . . . . . . . . . . . 50
5.2.64
Coefficient a2 data register, bits 23:16 (0x46) . . . . . . . . . . . . . . . . . . . . 50
5.2.65
Coefficient a2 data register, bits 15:8 (0x47) . . . . . . . . . . . . . . . . . . . . . 50
5.2.66
Coefficient a2 data register, bits 7:0 (0x48) . . . . . . . . . . . . . . . . . . . . . . 50
5.2.67
Coefficient b0 data register, bits 23:16 (0x49) . . . . . . . . . . . . . . . . . . . . 50
5.2.68
Coefficient b0 data register, bits 15:8 (0x4A) . . . . . . . . . . . . . . . . . . . . . 50
5.2.69
Coefficient b0 data register, bits 7:0 (0x4B) . . . . . . . . . . . . . . . . . . . . . . 50
5.2.70
Coefficient write control register (0x4C) . . . . . . . . . . . . . . . . . . . . . . . . . 51
Reading a coefficient from RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
DocID022647 Rev 5
STA321MP
6
Contents
5.4
Reading a set of coefficients from RAM . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.5
Writing a single coefficient to RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
5.6
Writing a set of coefficients to RAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Configuration registers (0x77; 0x78; 0x79) . . . . . . . . . . . . . . . . . . . . . . 54
6.1
Post-scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.2
Variable max power correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.2.1
6.3
Variable distortion compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
6.3.1
6.4
6.5
7
MPCC1-2 (0x4D, 0x4E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
DCC1-2 (0x4F, 0x50) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
PSCorrect registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.4.1
PSC1-2: ripple correction value (RCV) (0x51, 0x52) . . . . . . . . . . . . . . . 59
6.4.2
PSC3: correction normalization value (CNV) (0x53) . . . . . . . . . . . . . . . 59
PDM and recombination IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.5.1
Mike recombination RAM BIST (0x5C) . . . . . . . . . . . . . . . . . . . . . . . . . 59
6.5.2
Recombination control register 1 (0x5D) . . . . . . . . . . . . . . . . . . . . . . . . 60
6.5.3
PDM control register (0x5E) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
6.5.4
Recombination control register 2, 3 and 4 (0x5F; 0x60; 0x61) . . . . . . . 61
6.5.5
Recombination control register 5, 6 and 7 (0x62; 0x63; 0x64) . . . . . . . 63
6.5.6
Recombination control register 8, 9 and 10 (0x65; 0x66; 0x67) . . . . . . 65
6.5.7
Recombination control register 11, 12 and 13 (0x68; 0x69; 0x6A) . . . . 66
6.5.8
Zero-mute threshold/hysteresis and RMS zero-mute selectors (0x6F) . 67
6.5.9
RMS post-processing selectors and Fs autodetection (0x70) . . . . . . . . 69
6.5.10
Clock manager configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
6.5.11
RMS level registers (0x7A, 0x7B, 0x7C, 0x7D) . . . . . . . . . . . . . . . . . . . 72
Startup/shutdown pop noise removal . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.1
DPT: PWM and tristate delay (0x80) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.2
Configuration register (0x81) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
7.3
User-defined delay time (0x82) and (0x83) . . . . . . . . . . . . . . . . . . . . . . . 76
8
Package information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
9
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
DocID022647 Rev 5
5/84
List of tables
STA321MP
List of tables
Table 1.
Table 2.
Table 3.
Table 4.
Table 5.
Table 6.
Table 7.
Table 8.
Table 9.
Table 10.
Table 11.
Table 12.
Table 13.
Table 14.
Table 15.
Table 16.
Table 17.
Table 18.
Table 19.
Table 20.
Table 21.
Table 22.
6/84
Device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Pin description STA321MPL (TQFP64) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Pin description: STA321MP (VFQFPN56) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Thermal data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
General interface electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
DC electrical characteristics: 3.3-V buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Modes for PDM resampling interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Register summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Serial audio output formats according to sampling rate . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
RAM block for biquads, mixing, and bass management. . . . . . . . . . . . . . . . . . . . . . . . . . . 59
Gain adjustment (sensitivity). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
Normal channel attenuation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Threshold configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
RMS channel select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Zero-detect threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
Zero-detect hysteresis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
RMS post-processing channel select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
VFQFPN56 (8 x 8 mm) package dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Exposed pad variations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
DocID022647 Rev 5
STA321MP
List of figures
List of figures
Figure 1.
Figure 2.
Figure 3.
Figure 4.
Figure 5.
Figure 6.
Figure 7.
Figure 8.
Figure 9.
Figure 10.
Figure 11.
Figure 12.
Figure 13.
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Channel signal flow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Pin connections STA321MPL - TQFP64 (top view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Pin connections STA321MP - VFQFPN56 (top view). . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
PDM clock generator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
PDM recombination block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Write mode sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Read mode sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Basic limiter and volume flow diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Biquad filter structure with quantization error noise shaping . . . . . . . . . . . . . . . . . . . . . . . 58
Channel mixer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
TQFP64 (10 x 10 mm) package dimensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
VFQFPN56 (8 x 8 mm) package outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
DocID022647 Rev 5
7/84
Device overview
STA321MP
1
Device overview
1.1
Block diagram
Figure 1. Block diagram
SA SCL SDA
XTI
CKOUT
O U T1 A /B
I2C
PLL
O U T2 A /B
O U T3 A /B
FFX
SYSTEM
CONTROL
SYSTEM
TIMING
O U T4 A /B
O U T5 A /B
O U T6 A /B
OVERSAMPLING
O U T7 A /B
LRCKO
PDM1
PDM2
PDM3
PDM4
PDM5
PDM6
B IC K O
SERIAL
DATA
IN
CHANNEL
MAPPING
TREBLE
BASS,EQ
(BIQUADS)
VOLUME
LIMITING
Figure 2. Channel signal flow
8/84
DocID022647 Rev 5
SERIAL
DATA
OUT
SDO 12
SDO 34
SDO 56
SDO 78
STA321MP
1.2
Device overview
Pin description
Figure 3. Pin connections STA321MPL - TQFP64 (top view)
DocID022647 Rev 5
9/84
Device overview
STA321MP
Table 2. Pin description STA321MPL (TQFP64)
Pin number
Type
Name
1
5-V tolerant TTL input buffer
PDM_CLK
PDM I/F CLK
6
5-V tolerant TTL input buffer
PDMIN_6
PDM input channel 6
7
5-V tolerant TTL input buffer
PDMIN_5
PDM input channel 5
8
5-V tolerant TTL input buffer
PDMIN_4
PDM input channel 4
9
5-V tolerant TTL input buffer
PDMIN_3
PDM input channel 3
10
5-V tolerant TTL input buffer
PDMIN_2
PDM input channel 2
11
5-V tolerant TTL input buffer
PDMIN_1
PDM input channel 1
15
5-V tolerant TTL Schmitt trigger input buffer
RESETN
Global reset
16
CMOS input buffer with pull-down
PLLB
Bypass phase-locked loop
17
1.8-V CMOS input buffer with pull-down
SA
Select address (I2C)
18
Bidirectional buffer: 5-V tolerant TTL Schmitt
trigger input; 3.3-V capable 2 mA slew-rate
controlled output
SDA
Serial data (I2C)
19
5-V tolerant TTL Schmitt trigger input buffer
SCL
Serial clock (I2C)
20
5-V tolerant TTL Schmitt trigger input buffer
XTI
Crystal oscillator input (clock input)
N.C.
Not connected
GND
PLL ground
21
10/84
Description
23
Analog ground
25
3.3-V capable TTL tristate 4 mA output buffer CKOUT
Clock output
29
3.3-V capable TTL 2 mA output buffer
OUT8B
PWM channel 8 output B
30
3.3-V capable TTL 2 mA output buffer
OUT8A
PWM channel 8 output A
31
3.3-V capable TTL 2 mA output buffer
OUT7B
PWM channel 7 output B
32
3.3-V capable TTL 2 mA output buffer
OUT7A
PWM channel 7 output A
33
3.3-V capable TTL 2 mA output buffer
OUT6B
PWM channel 6 output B
34
3.3-V capable TTL 2 mA output buffer
OUT6A
PWM channel 6 output A
38
3.3-V capable TTL 2 mA output buffer
OUT5B
PWM channel 5 output B
39
3.3-V capable TTL 2 mA output buffer
OUT5A
PWM channel 5 output A
40
3.3-V capable TTL 2 mA output buffer
OUT4B
PWM channel 4 output B
41
3.3-V capable TTL 2 mA output buffer
OUT4A
PWM channel 4 output A
42
3.3-V capable TTL 2 mA output buffer
OUT3B
PWM channel 3 output B
43
3.3-V capable TTL 2 mA output buffer
OUT3A
PWM channel 3 output A
47
3.3-V capable TTL 2 mA output buffer
OUT2B
PWM channel 2 output B
48
3.3-V capable TTL 2 mA output buffer
OUT2A
PWM channel 2 output A
49
3.3-V capable TTL 2 mA output buffer
OUT1B
PWM channel 1 output B
50
3.3-V capable TTL 2 mA output buffer
OUT1A
PWM channel 1 output A
51
3.3-V capable TTL 4 mA output buffer
EAPD
Ext. amp power-down
DocID022647 Rev 5
STA321MP
Device overview
Table 2. Pin description STA321MPL (TQFP64) (continued)
Pin number
Type
Name
Description
55
3.3-V capable TTL 2 mA output buffer
BICKO
Output serial clock
56
3.3-V capable TTL 2 mA output buffer
LRCKO
Output left/right clock
57
3.3-V capable TTL 2 mA output buffer
SDO_12
Output serial data channels 1 & 2
58
3.3-V capable TTL 2 mA output buffer
SDO_34
Output serial data channels 3 & 4
62
3.3-V capable TTL 2 mA output buffer
SDO_56
Output serial data channels 5 & 6
63
3.3-V capable TTL 2 mA output buffer
SDO_78
Output serial data channels 7 & 8
64
5-V tolerant TTL Schmitt trigger input buffer
PWDN
Device power-down
3.3-V digital supply voltage
VDD
3.3-V supply
2,4,13, 27,36,
Digital ground
45,53,60
GND
Ground
14,21,22,26,
37, 46, 54,61
NC
3,12,24,
28,35,
44,52,59
DocID022647 Rev 5
Not connected
11/84
Device overview
STA321MP
Figure 4. Pin connections STA321MP - VFQFPN56 (top view)
Table 3. Pin description: STA321MP (VFQFPN56)
Pin number
1
Type
Name
5-V tolerant TTL input buffer
2
PDM_CLK
PDM I/F CLK
RES
Reserved connect to GND
5
5-V tolerant TTL input buffer
PDMIN_6
PDM input channel 6
6
5-V tolerant TTL input buffer
PDMIN_5
PDM input channel 5
7
5-V tolerant TTL input buffer
PDMIN_4
PDM input channel 4
8
5-V tolerant TTL input buffer
PDMIN_3
PDM input channel 3
9
5-V tolerant TTL input buffer
PDMIN_2
PDM input channel 2
10
5-V tolerant TTL input buffer
PDMIN_1
PDM input channel 1
13
5-V tolerant TTL Schmitt trigger input buffer
RESETN
Global reset
RES
Reserved connect to GND
SA
Select address (I2C)
14
15
12/84
Description
1.8-V CMOS input buffer with pull-down
DocID022647 Rev 5
STA321MP
Device overview
Table 3. Pin description: STA321MP (VFQFPN56) (continued)
Pin number
Type
Name
Description
16
Bidirectional buffer: 5-V tolerant TTL Schmitt
trigger input; 3.3-V capable 2 mA slew-rate
controlled output
SDA
Serial data (I2C)
17
5-V tolerant TTL Schmitt trigger input buffer
SCL
Serial clock (I2C)
18
5-V tolerant TTL Schmitt trigger input buffer
XTI
Crystal oscillator input (clock input)
N.C.
Not connected
19
20
Analog ground
GNDA
PLL ground
22
3.3-V capable TTL tristate 4 mA output buffer
CKOUT
Clock output
25
3.3-V capable TTL 2 mA output buffer
OUT8B
PWM channel 8 output B
26
3.3-V capable TTL 2 mA output buffer
OUT8A
PWM channel 8 output A
27
3.3-V capable TTL 2 mA output buffer
OUT7B
PWM channel 7 output B
28
3.3-V capable TTL 2 mA output buffer
OUT7A
PWM channel 7 output A
29
3.3-V capable TTL 2 mA output buffer
OUT6B
PWM channel 6 output B
30
3.3-V capable TTL 2 mA output buffer
OUT6A
PWM channel 6 output A
33
3.3-V capable TTL 2 mA output buffer
OUT5B
PWM channel 5 output B
34
3.3-V capable TTL 2 mA output buffer
OUT5A
PWM channel 5 output A
35
3.3-V capable TTL 2 mA output buffer
OUT4B
PWM channel 4 output B
36
3.3-V capable TTL 2 mA output buffer
OUT4A
PWM channel 4 output A
37
3.3-V capable TTL 2 mA output buffer
OUT3B
PWM channel 3 output B
38
3.3-V capable TTL 2 mA output buffer
OUT3A
PWM channel 3 output A
41
3.3-V capable TTL 2 mA output buffer
OUT2B
PWM channel 2 output B
42
3.3-V capable TTL 2 mA output buffer
OUT2A
PWM channel 2 output A
43
3.3-V capable TTL 2 mA output buffer
OUT1B
PWM channel 1 output B
44
3.3-V capable TTL 2 mA output buffer
OUT1A
PWM channel 1 output A
45
3.3-V capable TTL 4 mA output buffer
EAPD
Ext. amp power-down
48
3.3-V capable TTL 2 mA output buffer
BICKO
Output serial clock
49
3.3-V capable TTL 2 mA output buffer
LRCKO
Output left/right clock
50
3.3-V capable TTL 2 mA output buffer
SDO_12
Output serial data channels 1 & 2
51
3.3-V capable TTL 2 mA output buffer
SDO_34
Output serial data channels 3 & 4
54
3.3-V capable TTL 2 mA output buffer
SDO_56
Output serial data channels 5 & 6
55
3.3-V capable TTL 2 mA output buffer
SDO_78
Output serial data channels 7 & 8
56
5-V tolerant TTL Schmitt trigger input buffer
PWDN
Device power-down
3,11,21,24,
31,39,46,52
3.3-V digital supply voltage
VDD
3.3-V supply
4,12,23,32,
40,47,53
Digital ground
GND
Ground
DocID022647 Rev 5
13/84
Electrical characteristics
STA321MP
2
Electrical characteristics
2.1
Absolute maximum ratings
Table 4. Absolute maximum ratings
Symbol
2.2
Parameter
Min
Typ
Max
Unit
VDD
3.3-V I/O power supply
-0.5
4
V
VSA
Voltage on SA pin 15 (pin 17 in TQFP-64)
-0.5
2
V
Vi
Voltage on input pins
-0.5
VDD + 0.5 V
Vo
Voltage on output pins
-0.5
VDD + 0.3 V
Tstg
Storage temperature
-40
150
°C
Tamb
Ambient operating temperature
-40
90
°C
Thermal data
Table 5. Thermal data
Symbol
Rthj-amb
2.3
Parameter
Min
Thermal resistance, junction to ambient
Typ
Max
85
Unit
°C/W
Recommended operating conditions
Table 6. Recommended operating conditions
Symbol
14/84
Parameter
Min
Typ
Max
VDD
I/O power supply
3.0
3.3
3.6
VSA
Voltage on SA pin 15 (STA321MP),
pin 17 (STA321MPL)
1.55
1.8
1.95
Tj
Operating junction temperature
-40
25
125
DocID022647 Rev 5
Unit
V
°C
STA321MP
2.4
Electrical characteristics
Electrical specifications
The following specifications are valid for VDD = 3.3 V ± 0.3 V, VSA = 0 V and Tamb = 25 °C,
unless otherwise stated.
Table 7. General interface electrical specifications
Symbol
Parameter
Conditions
Min
Typ
Max
Unit
Iil
Low-level input, no pull-up
Vi = 0 V
1
µA
Iih
High-level input, no pull-down
Vi = VDD
2
µA
IOZ
Tristate output leakage without
pull-up/down
Vi = VDD
2
µA
Vesd
Electrostatic protection
(human body model)
Leakage < 1 µA
2000
V
Table 8. DC electrical characteristics: 3.3-V buffers
Symbol
Parameter
Conditions
Min
Typ
Max
Unit
0.8
V
VIL
Low-level input voltage
VIH
High-level input voltage
VILhyst
Low-level threshold
Input falling
0.8
1.35
V
VIHhyst
High-level threshold
Input rising
1.3
2.0
V
Vhyst
Schmitt trigger hysteresis
0.3
0.8
V
Vol
Low-level output
0.2
V
Voh
High-level output
Idd
2.0
V
IoI = 100 µA
Ioh = -100 µA
VDD0.2
V
Ioh = -2 mA
2.4
V
Reset conditions
15
Normal conditions with CKOUT
60
Quiescent current
mA
DocID022647 Rev 5
15/84
Microphone interface
STA321MP
3
Microphone interface
3.1
PDM clock generator (for microphones)
In order to correctly start up the device in the microphone processor mode, it is necessary to
set registers 0x00 to 0x9B and register 0x5D to 0x01.
The CKOUT pin can be used to properly provide a clock source for digital microphones.
When the mikemode bit is asserted (reg 0x5D bit 0), the CKOUT generator is automatically
configured in order to generate a clock with sys_clk/32 frequency (corresponding to a PDM
oversampling rate of 64).
For example, considering a base sample frequency of:
Fs = 44.1 kHz
XTI = 11.289 MHz (user provided)
System clock = 90.3168 MHz (system generated)
Clock out = 2.8224 MHz (system generated)
Fs = 48.0 kHz
XTI = 12.288 MHz (user provided)
System clock= 98.304 MHz (system generated)
Clock out = 3.072 MHz (system generated)
Technical details
The clock generator creates two output clocks with the same frequency, CKOUT270
has a 270 degrees phase shift with respect to CKOUT. One is exported outside the device
and used to clock the microphones, the other is used internally to clock the PDM interface of
the STA321MP.
16/84
DocID022647 Rev 5
STA321MP
Microphone interface
Figure 5. PDM clock generator
STA321MPL
CLK Generator
PDM Selector
CLKOUT
Dual Microphone 1
CLK
DataOut
CLKOUT_270
PDM_IC_CLK
PDM_1
PDM_1
PDM_2
PDM_2
PDM_3
PDM_3
PDM_4
PDM_4
PDM_5
PDM_5
PDM_6
PDM_6
D/S
0
Dual Microphone 2
CLK
DataOut
D/S
0
Dual Microphone 3
CLK
3.2
DataOut
D/S
0
PDM resampling interface
The PDM resampling interface is used to properly sample external data.
It can work in three different modes: Compatibility mode, Dual-membrane and Advanced. In
each mode data are sampled at the rising or falling edge.
Table 9. Modes for PDM resampling interface
Mode
Behavior
00
Compatibility (old)
01
Reserved
10
Dual-membrane
11
Advanced
Compatibility mode
In this mode every channel is sampled at the rising edge.
Dual-membrane mode
The dual-membrane mode is a particular configuration (automatically applied when the
proper bit is asserted) which permits the use of the dual-membrane microphone. In
particular it has 2 PDM data channels (normal and high) muxed in a single wire. The normal
channel is sampled at the falling edge, while the high channel is sampled at the rising edge.
Advanced mode
In this mode every channel can be sampled at the rising or falling edge according to the
configuration register.
DocID022647 Rev 5
17/84
Microphone interface
3.3
STA321MP
PDM recombination (dual-membrane microphone support)
Dual microphone scenario:
A dual-membrane microphone has two separate PDM signal paths:

Normal channel for moderate SPL (Sound Pressure Level) acoustic signals

High channel for high SPL acoustic signals
The sensitivity of the high channel is configurable and is set by default to 20 dBSPL lower
than the sensitivity of the normal channel in order to avoid saturation in any part of the signal
path.
The two channels can be combined together in order to enlarge the dynamic range and
have a good trade-off between the DNR and the noise floor (which is lower in the case of the
normal channel).
The main functionality is based on a signal level measurement and a dual-threshold system.
If the signal of the normal channel is:

above the upper threshold (TH_H), the output will be taken from the high channel

under the lower threshold (TH_N), the output will be taken from the normal channel

between TH_H and TH_N, the output will be a combination of the high and normal
channels.
Figure 6. PDM recombination block diagram
Mike_N
Low Pass
Norm_Atten
Level Meter
Sens_Adj
Mike Recomb output
TH_H
TH_N
Recombination Engine
Mike_H
Low Pass
3.4
Low-pass filter
A filter is provided (and needed) in order to suppress the noise outside the audio band that
may be still present before the recombination stage.
The filter is a 2nd order IIR (Infinite Impulse Response) low-pass with a cutoff frequency of
20 kHz and it can be bypassed through the I2C bit.
Configuration registers: 0x62(6), 0x63(6), 0x64(6)
18/84
DocID022647 Rev 5
STA321MP
3.5
Microphone interface
Sensitivity adjustment
The sensitivity adjustment control can be used to compensate the differences between the
theoretical and the real sensitivity. It is applied to all the membranes of the microphone.
Sensitivity adjustment = [-4, 3.875) with a 0.125 dB step
Configuration registers: 0x5F(5-0), 0x60(5-0), 0x61(5-0)
3.6
Normal channel attenuation
The NORM_Att is a parameter must be set to the sensitivity difference between the High
SPL channel and the Normal SPL channel. By default its value is set to 20 dB.
Configuration registers: 0x52(5-0), 0x63(5-0), 0x64(5-0)
3.7
Thresholds
The two thresholds can be configured in order to control/select the recombination engine
behavior. In particular they can be used to give more weight (in the final output) to the
Normal Channel or to the High Channel which will lead to choose the trade-off between
having lower distortion (High Channel) or lower noise floor (Normal Channel).
Configuration registers: 0x65(5-0), 0x66(5-0), 0x67(5-0), 0x68(5-0), 0x69(5-0), 0x6A(5-0)
DocID022647 Rev 5
19/84
I2C bus operation
4
STA321MP
I2C bus operation
The STA321MP supports the I2C protocol via the input ports SCL and SDA_IN (master to
slave) and the output port SDA_OUT (slave to master).
This protocol defines any device that sends data on to the bus as a transmitter and any
device that reads the data as a receiver.
The device that controls the data transfer is known as the master and the other as the slave.
The master always starts the transfer and provides the serial clock for synchronization. The
STA321MP is always a slave device in all of its communications.
4.1
Communication protocol
4.1.1
Data transition or change
Data changes on the SDA line must only occur when the SCL clock is low. An SDA
transition while the clock is high is used to identify a START or STOP condition.
4.1.2
Start condition
START is identified by a high-to-low transition of the data bus SDA signal while the clock
signal SCL is stable in the high state. A START condition must precede any command for
data transfer.
4.1.3
Stop condition
STOP is identified by a low-to-high transition of the data bus SDA signal while the clock
signal SCL is stable in the high state. A STOP condition terminates communication between
the STA321MP and the bus master.
4.1.4
Data input
During the data input the STA321MP samples the SDA signal on the rising edge of clock
SCL.
For correct device operation the SDA signal must be stable during the rising edge of the
clock and the data can change only when the SCL line is low.
4.2
Device addressing
To start communication between the master and the Omega FFX core, the master must
initiate with a start condition. Following this, the master sends 8 bits onto the SDA line (MSB
first) corresponding to the device select address and read or write mode.
The 7 most significant bits are the device address identifiers, corresponding to the I2C bus
definition. In the STA321MP the I2C interface has two device addresses depending on the
SA port configuration, 0x40 or 0100000x when SA = 0, and 0x42 or 0100001x when SA = 1.
The 8th bit (LSB) identifies read or write operation RW, this bit is set to 1 in read mode and 0
for write mode. After a START condition the STA321MP identifies on the bus the device
20/84
DocID022647 Rev 5
I2C bus operation
STA321MP
address and if a match is found, it acknowledges the identification on SDA bus during the
9th-bit time. The byte following the device identification byte is the internal space address.
4.3
Write operation
Following the START condition the master sends a device select code with the RW bit set
to 0. The STA321MP acknowledges this and the writes for the byte of internal address.
After receiving the internal byte address the STA321MP again responds with an
acknowledgement.
4.3.1
Byte write
In the byte write mode the master sends one data byte, this is acknowledged by the Omega
FFX core. The master then terminates the transfer by generating a STOP condition.
4.3.2
Multi-byte write
The multi-byte write modes can start from any internal address. The master generating a
STOP condition terminates the transfer.
Figure 7. Write mode sequence
ACK
DEV-ADDR
BYTE
WRITE
ACK
SUB-ADDR
RW
START
STOP
ACK
MULTIBYTE
WRITE
DEV-ADDR
START
ACK
DATA IN
ACK
SUB-ADDR
ACK
DATA IN
ACK
DATA IN
STOP
RW
DocID022647 Rev 5
21/84
I2C bus operation
STA321MP
4.4
Read operation
4.4.1
Current address byte read
Following the START condition, the master sends a device select code with the RW bit set
to 1. The STA321MP acknowledges this and then responds by sending one byte of data.
The master then terminates the transfer by generating a STOP condition.
4.4.2
Current address multi-byte read
The multi-byte read modes can start from any internal address. Sequential data bytes are
read from sequential addresses within the STA321MP. The master acknowledges each data
byte read and then generates a STOP condition, terminating the transfer.
4.4.3
Random address byte read
Following the START condition, the master sends a device select code with the RW bit set
to 0. The STA321MP acknowledges this and then the master writes the internal address
byte. After receiving the internal byte address, the STA321MP again responds with an
acknowledgement. The master then initiates another START condition and sends the device
select code with the RW bit set to 1. The STA321MP acknowledges this and then responds
by sending one byte of data. The master then terminates the transfer by generating a STOP
condition.
4.4.4
Random address multi-byte read
The multi-byte read mode can start from any internal address. Sequential data bytes are
read from sequential addresses within the STA321MP. The master acknowledges each data
byte read and then generates a STOP condition, terminating the transfer.
Figure 8. Read mode sequence
ACK
CURRENT
ADDRESS
READ
DEV-ADDR
NO ACK
DATA
RW
START
STOP
ACK
RANDOM
ADDRESS
READ
DEV-ADDR
ACK
SUB-ADDR
RW
RW= ACK
HIGH
START
SEQUENTIAL
CURRENT
READ
ACK
DEV-ADDR
DEV-ADDR
S TAR T
NO ACK
DATA
RW
ACK
STOP
ACK
DATA
DATA
NO ACK
DATA
STOP
START
ACK
SEQUENTIAL
RANDOM
READ
DEV-ADDR
START
22/84
ACK
ACK
SUB-ADDR
RW
DEV-ADDR
S TAR T
ACK
DATA
RW
DocID022647 Rev 5
ACK
DATA
NO ACK
DATA
STOP
STA321MP
Registers
5
Registers
5.1
Register summary
Table 10. Register summary
Addr
Name
D7
D6
D5
D4
COS1
COS0
DSPB
IR1
SAOD4
D3
D2
D1
D0
IR0
MCS2
MCS1
MCS0
SAOFB
SAO3
SAO2
SAO1
SAO0
Configuration
0x00
CONFA
0x01
0x02
ConfC
0x03
ConfD
MPC
CSZ4
CSZ3
CSZ2
CSZ1
CSZ0
OM1
OM0
0x04
ConfE
C8BO
C7BO
C6BO
C5BO
C4BO
C3BO
C2BO
C1BO
0x05
ConfF
PWMS2 PWMS1 PWMS0 BQL
PSL
DEMP
DRC
HPB
0x06
ConfG
MPCV
DCCV
HPE
AM2E
AME
COD
SID
PWMD
0x07
ConfH
ECLE
LDTE
BCLE
IDE
ZDE
SVE
ZCE
NSBW
0x08
ConfI
EAPD
PSCE
Volume control
0x09
MMUTE
MMUTE
0x0A
Mvol
MV7
MV6
MV5
MV4
MV3
MV2
MV1
MV0
0x0B
C1Vol
C1V7
C1V6
C1V5
C1V4
C1V3
C1V2
C1V1
C1V0
0x0C
C2Vol
C2V7
C2V6
C2V5
C2V4
C2V3
C2V2
C2V1
C2V0
0x0D
C3Vol
C3V7
C3V6
C3V5
C3V4
C3V3
C3V2
C3V1
C3V0
0x0E
C4Vol
C4V7
C4V6
C4V5
C4V4
C4V3
C4V2
C4V1
C4V0
0x0F
C5Vol
C5V7
C5V6
C5V5
C5V4
C5V3
C5V2
C5V1
C5V0
0x10
C6Vol
C6V7
C6V6
C6V5
C6V4
C6V3
C6V2
C6V1
C6V0
0x11
C7Vol
C7V7
C7V6
C7V5
C7V4
C7V3
C7V2
C7V1
C7V0
0x12
C8Vol
C8V7
C8V6
C8V5
C8V4
C8V3
C8V2
C8V1
C8V0
0x13
C1VTMB C1M
C1VBP
C1VT4
C1VT3
C1VT2
C1VT1
C1VT0
0x14
C2VTMB C2M
C2VBP
C2VT4
C2VT3
C2VT2
C2VT1
C2VT0
0x15
C3VTMB C3M
C3VBP
C3VT4
C3VT3
C3VT2
C3VT1
C3VT0
0x16
C4VTMB C4M
C4VBP
C4VT4
C4VT3
C4VT2
C4VT1
C4VT0
0x17
C5VTMB C5M
C5VBP
C5VT4
C5VT3
C5VT2
C5VT1
C5VT0
0x18
C6VTMB C6M
C6VBP
C6VT4
C6VT3
C6VT2
C6VT1
C6VT0
0x19
C7VTMB C7M
C7VBP
C7VT4
C7VT3
C7VT2
C7VT1
C7VT0
0x1A
C8VTMB C8M
C8VBP
C8VT4
C8VT3
C8VT2
C8VT1
C8VT0
DocID022647 Rev 5
23/84
Registers
STA321MP
Table 10. Register summary (continued)
Addr
Name
D7
D6
D5
D4
D3
D2
D1
D0
Input mapping
0x1B
C12im
C2IM2
C2IM1
C2IM0
C1IM2
C1IM1
C1IM0
0x1C
C34im
C4IM2
C4IM1
C4IM0
C3IM2
C3IM1
C3IM0
0x1D
C56im
C6IM2
C6IM1
C6IM0
C5IM2
C5IM1
C5IM0
0x1E
C78im
C8IM2
C8IM1
C8IM0
C7IM2
C7IM1
C7IM0
C7BLP
C6BLP
C5BLP
C3BLP
C2BLP
C1BLP
Processing loop
0x28
BQlp
C8BLP
C4BLP
0x29
MXlp
C8MXLP C7MXLP C6MXLP C5MXLP C4MXLP C3MXLP C2MXLP C1MXLP
Processing bypass
0x2A
EQbp
C8EQBP C7EQBP C6EQBP C5EQB
0x2B
ToneBP C8TCB
C4EQBP C3EQBP C2EQBP C1EQBP
C7TCB
C6TCB
C5TCB
C4TCB
C3TCB
C2TCB
C1TCB
TTC2
TTC1
TTC0
BTC3
BTC2
BTC1
BTC0
Tone control
0x2C
Tone
TTC3
Dynamics control
0x2D
C1234ls C4LS1
C4LS0
C3LS1
C3LS0
C2LS1
C2LS0
C1LS1
C1LS0
0x2E
C5678ls C8LS1
C8LS0
C7LS1
C7LS0
C6LS1
C6LS0
C5LS1
C5LS0
0x2F
L1ar
L1A3
L1A2
L1A1
L1A0
L1R3
L1R2
L1R1
L1R0
0x30
L1atrt
L1AT3
L1AT2
L1AT1
L1AT0
L1RT3
L1RT2
L1RT1
L1RT0
0x31
L2ar
L2A3
L2A2
L2A1
L2A0
L2R3
L2R2
L2R1
L2R0
0x32
L2atrt
L2AT3
L2AT2
L2AT1
L2AT0
L2RT3
L2RT2
L2RT1
L2RT0
PWM output timing
0x33
C12ot
C2OT2
C2OT1
C2OT0
C1OT2
C1OT1
C1OT0
0x34
C34ot
C4OT2
C4OT1
C4OT0
C3OT2
C3OT1
C3OT0
0x35
C56ot
C6OT2
C6OT1
C6OT0
C5OT2
C5OT1
C5OT0
0x36
C78ot
C8OT2
C8OT1
C8OT0
C7OT2
C7OT1
C7OT0
I²S output channel mapping
24/84
0x37
C12om
C2OM2
C2OM1
C2OM0
C1OM2
C1OM1
C1OM0
0x38
C34om
C4OM2
C4OM1
C4OM0
C3OM2
C3OM1
C3OM0
0x39
C56om
C6OM2
C6OM1
C6OM0
C5OM2
C5OM1
C5OM0
0x3A
C78om
C8OM2
C8OM1
C8OM0
C7OM2
C7OM1
C7OM0
DocID022647 Rev 5
STA321MP
Registers
Table 10. Register summary (continued)
Addr
Name
D7
D6
D5
D4
D3
D2
D1
D0
User-defined coefficient RAM
0x3B
Cfaddr1
CFA9
CFA8
0x3C
Cfaddr2 CFA7
CFA6
CFA5
CFA4
CFA3
CFA2
CFA1
CFA0
0x3D
B1cf1
C1B23
C1B22
C1B21
C1B20
C1B19
C1B18
C1B17
C1B16
0x3E
B1cf2
C1B15
C1B14
C1B13
C1B12
C1B11
C1B10
C1B9
C1B8
0x3F
B1cf3
C1B7
C1B6
C1B5
C1B4
C1B3
C1B2
C1B1
C1B0
0x40
B2cf1
C2B23
C2B22
C2B21
C2B20
C2B19
C2B18
C2B17
C2B16
0x41
B2cf2
C2B15
C2B14
C2B13
C2B12
C2B11
C2B10
C2B9
C2B8
0x42
B2cf3
C2B7
C2B6
C2B5
C2B4
C2B3
C2B2
C2B1
C2B0
0x43
A1cf1
C3B23
C3B22
C3B21
C3B20
C3B19
C3B18
C3B17
C3B16
0x44
A1cf2
C3B15
C3B14
C3B13
C3B12
C3B11
C3B10
C3B9
C3B8
0x45
A1cf3
C3B7
C3B6
C3B5
C3B4
C3B3
C3B2
C3B1
C3B0
0x46
A2cf1
C4B23
C4B22
C4B21
C4B20
C4B19
C4B18
C4B17
C4B16
0x47
A2cf2
C4B15
C4B14
C4B13
C4B12
C4B11
C4B10
C4B9
C4B8
0x48
A2cf3
C4B7
C4B6
C4B5
C4B4
C4B3
C4B2
C4B1
C4B0
0x49
B0cf1
C5B23
C5B22
C5B21
C5B20
C5B19
C5B18
C5B17
C5B16
0x4A
B0cf2
C5B15
C5B14
C5B13
C5B12
C5B11
C5B10
C5B9
C5B8
0x4B
B0cf3
C5B7
C5B6
C5B5
C5B4
C5B3
C5B2
C5B1
C5B0
0x4C
Cfud
WA
W1
0x4D
MPCC1
MPCC15 MPCC14 MPCC13 MPCC12 MPCC11 MPCC10 MPCC9
MPCC8
0x4E
MPCC2
MPCC7
MPCC6
MPCC5
MPCC4
MPCC3
MPCC2
MPCC1
MPCC0
0x4F
DCC1
DCC15
DCC14
DCC13
DCC12
DCC11
DCC10
DCC9
DCC8
0x50
DCC2
DCC7
DCC6
DCC5
DCC4
DCC3
DCC2
DCC1
DCC0
0x51
PSC1
RCV11
RCV10
RCV9
RCV8
RCV7
RCV6
RCV5
RCV4
0x52
PSC2
RCV3
RCV2
RCV1
RCV0
CNV11
CNV10
CNV9
CNV8
0x53
PSC3
CNV7
CNV6
CNV5
CNV4
CNV3
CNV2
CNV1
CNV0
0x57
BACT
R8BACT R7BACT R6BACT R5BACT R4BACT R3BACT R2BACT R1BCAT
0x58
BEND
R8BEND R7BEND R6BEND
0x59
BBAD
R8BBAD R7BBAD R6BBAD R5BBAD R4BBAD R3BBAD R2BBAD R1BBAD
0x5A
L12new
0x5B
FineVol
BIST
R5BEND
R4BEND R3BEND R2BEND R1BEND
NLENAR
CFINE8 CFINE7 CFINE6 CFINE5
DocID022647 Rev 5
CFINE4 CFINE3 CFINE2 CFINE1
25/84
Registers
STA321MP
Table 10. Register summary (continued)
Addr
Name
D7
D6
D5
D4
D3
D2
D1
D0
PDM and recombination IP interface
0x5C
MRBist
MHFail
MHBad
MHEnd
0x5D
RCTR1
Boost6db
0x5E
PDMCT AdvM6
AdvM5
0x5F
RCTR2
bypRM1
CH1GG[5:0]
0x60
RCTR3
bypRM2
CH2GG[5:0]
0x61
RCTR4
bypRM3
CH3GG[5:0]
0x62
RCTR5
LP1en
CH1NCA[5:0]
0x63
RCTR6
LP2en
CH2NCA[5:0]
0x64
RCTR7
LP3en
CH3NCA[5:0]
0x65
RCTR8
CH1TH_N[5:0]
0x66
RCTR9
CH2TH_N[5:0]
0x67
RCTR10
CH3TH_N[5:0]
0x68
RCTR11
CH1TH_H[5:0]
0x69
RCTR12
CH2TH_H[5:0]
0x6A
RCTR13
CH3TH_H[5:0]
AdvM4
MHAct
MNFail
MNBad
MNEnd
MNAct
I²S_byp
I²S_en
mike_en mike_byp m_mode
AdvM3
AdvM2
AdvM1
PDMSM[1:0]
Clock manager configuration/status registers
0x71
pllfrac1
PLFI15
PLFI14
PLFI13
PLFI12
PLFI11
PLFI10
PLFI9
PLFI8
0x72
pllfrac0
PLFI7
PLFI6
PLFI5
PLFI4
PLFI3
PLFI2
PLFI1
PLFI0
0x73
pll div
PLLDD1 PLLDD0 PLLND5 PLLND4
0x74
pll conf0 PDPDC PLLFC
0x75
pll conf1
PLLBYP PLLDPR LOWEN BST32K
0x76
pll stat
PLLBYS PLLPDS OSCOK LOWCKS
PLLND3 PLLND2 PLLND1 PLLND0
PLSTRB PLSTBB PLIFD3
PLIFD2
PLIFD1
PLIFD0
Biquad configuration
0x77
CBQ1
EBQ3_1 EBQ3_0 EBQ2_1 EBQ2_0
EBQ1_1 EBQ1_0 EBQ0_0 EBQ0_0
0x78
CBQ2
EBQ7_1 EBQ7_0 EBQ6_1 EBQ6_0
EBQ5_1 EBQ5_0 EBQ4_0 EBQ4_0
0x79
CBQ3
nshen
EBQ9_1 EBQ9_0 EBQ8_0 EBQ8_0
RMS status registers
0x7A
rmsZMH RZM15
RZM14
RZM13
RZM12
RZM11
RZM10
RZM9
RZM8
0X7B
rmsZML RZM7
RZM6
RZM5
RZM4
RZM3
RZM2
RZM1
RZM0
0X7C
rmsPOH RPO15
RPO14
RPO13
RPO12
RPO11
RPO10
RPO9
RPO8
0X7D
rmsPOL RPO7
RPO6
RPO5
RPO4
RPO3
RPO2
RPO1
RPO0
DPT4
DPT3
DPT2
DPT1
DPT0
RL0
RD
SID1
FBYP
RTP
Tristate startup/shutdown pop removal signals
26/84
0x80
DPT
0x81
CFR129 RL3
0x82
TSDLY1 UDDT15 UDDT14 UDDT13 UDDT12 UDDT11 UDDT10 UDDT9
UDDT8
0x83
TSDLY2 UDDT7
UDDT0
RL2
UDDT6
RL1
UDDT5
UDDT4
DocID022647 Rev 5
UDDT3
UDDT2
UDDT1
STA321MP
Registers
5.2
Register description
5.2.1
Configuration register A (0x00)
D7
D6
D5
D4
D3
D2
D1
D0
COS1
COS0
DSPB
IR1
IR0
MCS2
MCS1
MCS0
1
0
0
1
1
0
1
1
Bit
RW
RST
Name
0
RW
1
MCS0
1
RW
1
MCS1
2
RW
0
MCS2
Description
Master clock select: selects the ratio between the
input sampling frequency (PDM I/FCLK)and the
input clock (XTI).
 The internal clock depends on the external clock freq. provided to the XTI pin. It can be
either 90.3168 MHz or 98.304 MHz in case of XTI is respectively 11.2896MHz or
12.288MHz.
 The relationship between the input clock XTI and the PDM interface clock is determined
by both the MCSn and the IRn (input rate) register bits. IR[1,0] = 11 sets the PDM
interface enable and MCS[2:0]=011 means XTI=4*PDM interface clock.
If XTI input is not used, related pin must be tied to GND.
MCS[2:0]
Input sampling rate
IR
fs (kHz)
XTI
11
1xx
011
010
001
000
2*PDM_CK
4*PDM_CK
6*PDM_CK
8*PDM_CK
12*PDM_CK
Interpolation ratio select
Bit
RW
RST
Name
0
RW
0
DSPB
Description
DSP bypass bit:
0: normal operation
1: bypass of biquad and bass/treble functions
Setting the DSPB bit bypasses the biquad function of the FFX core.
DocID022647 Rev 5
27/84
Registers
STA321MP
COS [1,0]
CKOUT frequency
00
PLL output
01
PLL output / 4
10
PLL output / 8
11
PLL output / 16
cos [1,0] sets the clock out value; clock out frequency is a ratio of the internal clock, such
ratio depends on the cos[1,0] setting.
Example cos[1,0] =10:
XTI = 12.288
PLL output = 98.304 MHz
CK_out = 98.304 / 8 = 12.288
Clock out is automatically configured in order to obtain a frequency of 64 Fs (sys_clock/32)
if the bit0 of the register 0x5D is asserted. This generates a valid clock to be provided to a
digital (PDM) microphone.
28/84
DocID022647 Rev 5
STA321MP
5.2.2
Registers
Configuration register C (0x02) - serial output formats
D7
D6
D5
D4
D3
D2
D1
D0
SAOD4
SAOFB
SAO3
SAO2
SAIO
SAO0
0
0
0
0
0
0
Bit
RW
RST
Name
0
RW
0
SAO0
1
RW
0
SAO1
2
RW
0
SAO2
3
RW
0
SAO3
Description
Serial audio output interface format: determines the
interface format of the output serial digital audio
interface.
The STA321MP features a serial audio output interface that consists of 8 channels. The
serial audio output always acts as a slave to the serial audio input interface and, therefore,
all output clocks are synchronous with the input clocks. The output sampling frequency (fs)
is also equivalent to the input sampling frequency. In the case of PDM input, the serial audio
output acts as a master with an output sampling frequency of 8 xfs, 4 xfs or fs depending on
SAOD4 bit. The output serial format can be selected independently from the input format
and is done via the SAO and SAOFB bits.
Bit
RW
RST
Name
4
RW
0
SAOFB
Bit
RW
RST
Name
Description
SAOD4
Enables decimation by 4 on SAO interface for PDM
input; no effect for others.
0: div by 1
1: div by 4 (1)
5
RW
0
Description
Determines MSB or LSB first for all SAO formats:
0: MSB first
1: LSB first
1. To avoid any aliasing on SAO streaming, a low-pass filter is needed to be implemented in one of the
available user-programmable biquads.
DocID022647 Rev 5
29/84
Registers
STA321MP
Table 11. Serial audio output formats according to sampling rate
BICKO
SAO[3:0]
Interface data format
0111
I²S data
1111
Left/right-justified 16-bit data
1110
I²S data
0001
Left-justified data
1010
Right-justified 24-bit data
1011
Right-justified 20-bit data
1100
Right-justified 18-bit data
1101
Right-justified 16-bit data
0000
I²S data
0001
Left-justified data
0010
Right-justified 24-bit data
0011
Right-justified 20-bit data
0100
Right-justified 18-bit data
0101
Right-justified 16-bit data
32 * fs
48 * fs
64 * fs
30/84
DocID022647 Rev 5
STA321MP
5.2.3
Registers
Configuration register D (0x03)
D7
D6
D5
D4
D3
D2
D1
D0
MPC
CSZ4
CSZ3
CSZ2
CSZ1
CSZ0
OM1
OM0
1
1
1
1
1
1
1
0
Bit
RW
RST
Name
0
RW
0
OM0
1
RW
1
OM1
Description
FFX power output mode: selects configuration of
FFX output
The FFX power output mode selects how the FFX output timing is configured. Different
power devices use different output modes.
Bit
RW
RST
Name
2
RW
1
CSZ0
3
RW
1
CSZ1
4
RW
1
CSZ2
5
RW
1
CSZ3
6
RW
1
CSZ4
CSZ[4:0]
Description
Contra size register: when OM[1,0] = 11, this register
determines the size of the FFX compensating pulse
from 0 clock ticks to 31 clock periods
Compensating pulse size
00000
0 clock period compensating pulse size
00001
1 clock period compensating pulse size
…
11111
…
31 clock period compensating pulse size
DocID022647 Rev 5
31/84
Registers
5.2.4
STA321MP
Configuration register E (0x04)
D7
D6
D5
D4
D3
D2
D1
D0
C8BO
C7BO
C6BO
C5BO
C4BO
C3BO
C2BO
C1BO
0
0
0
0
0
0
0
0
Bit
RW
RST
Name
0
RW
0
C1BO
1
RW
0
C2BO
2
RW
0
C3BO
3
RW
0
C4BO
4
RW
0
C5BO
5
RW
0
C6BO
6
RW
0
C7BO
7
RW
0
C8BO
Description
Channels 1, 2, 3, 4, 5, 6, 7, and 8 binary output mode
enable bits. A setting of 0 indicates ordinary FFX
tristate output. A setting of 1 indicates binary output
mode.
Each individual channel output can be set to output a binary PWM stream. In this mode
output A of a channel will be considered the positive output and output B is the negative
inverse.
5.2.5
Configuration register F (0x05)
D7
D6
D5
D4
D3
D2
D1
D0
PWMS2
PWMS1
PWMS0
BQL
PSL
DEMP
DRC
HPB
0
0
0
0
0
0
0
0
Bit
RW
RST
Name
0
RW
0
HPB
Description
High-pass filter bypass bit: setting of one bypasses
internal AC coupling digital high-pass filter
The STA321MP features an internal digital high-pass filter for the purpose of AC coupling.
The purpose of this filter is to prevent DC signals from passing through an FFX amplifier. DC
signals can cause speaker damage.
If HPB = 1, then the filter that the high-pass filter utilizes is made available as userprogrammable biquad #1.
Bit
RW
RST
Name
1
RW
0
DRC
Description
Dynamic range compression/anti-clipping
0: limiters act in anti-clipping mode
1: limiters act in dynamic range compression mode
Both limiters can be used in one of two ways, anti-clipping or dynamic range compression.
When used in anti-clipping mode, the limiter threshold values are constant and dependent
on the limiter settings.
32/84
DocID022647 Rev 5
STA321MP
Registers
In dynamic range compression mode, the limiter threshold values vary with the volume
settings allowing a nighttime listening mode that provides a reduction in the dynamic range
regardless of the volume level.
Bit
RW
RST
Name
2
RW
0
DEMP
Description
De-emphasis:
0: no de-emphasis
1: de-emphasis
By setting this bit to one de-emphasis will be implemented on all channels. When this is
used it takes the place of biquad #7 in each channel and any coefficients using biquad #1
will be ignored. The DSPB (DSP bypass) bit must be set to 0 for de-emphasis to function.
Bit
RW
RST
Name
3
RW
0
PSL
Description
Post-scale link:
0: each channel uses individual post-scale value
1: each channel uses channel 1 post-scale value
Post-scale functionality can be used for power-supply error correction. For multi-channel
applications running off the same power-supply, the post-scale values can be linked to the
value of channel 1 for ease of use and in order to update the values faster.
Bit
RW
RST
Name
4
RW
0
BQL
Description
Biquad link:
0: each channel uses coefficient values
1: each channel uses channel 1 coefficient values
For ease of use, all channels can use the biquad coefficients loaded into the channel 1
coefficient RAM space by setting the BQL bit to 1. Therefore, any EQ updates only have to
be performed once.
Bit
RW
RST
Name
7:5
RW
00
PWMS[2:0]
PWMS[1:0]
Description
PWM speed selection
PWM output speed
000
Normal speed (384 kHz) (all channels)
001
Half-speed (192 kHz) (all channels)
010
Double-speed (768 kHz) (all channels)
011
Normal speed (channels 1-6), double-speed (channels 7-8)
100
Odd speed (341.3 kHz) (all channels)
DocID022647 Rev 5
33/84
Registers
5.2.6
STA321MP
Configuration register G (0x06)
D7
D6
D5
D4
D3
D2
D1
D0
MPCV
DCCV
HPE
AM2E
AME
COD
SID
PWMD
0
0
0
0
0
0
0
0
Bit
RW
RST
Name
0
RW
0
PWMD
1
RW
0
SID
Serial interface (I²S out) disable:
0: I²S output normal
1: no I²S output
2
RW
0
COD
Clock output disable:
0: clock output normal
1: no clock output
Bit
RW
RST
Name
3
RW
0
AME
Description
PWM output disable:
0: PWM output normal
1: no PWM output
Description
AM mode enable:
0: normal FFX operation
1: AM reduction mode FFX operation
The STA321MP features an FFX processing mode that minimizes the amount of noise
generated in the frequency range of AM radio. This mode is intended for use when FFX is
operating in a device with an active AM tuner. The SNR of the FFX processing is reduced to
~83 dB in this mode, which is still greater than the SNR of AM radio.
Bit
RW
RST
Name
4
RW
0
AM2E
Description
AM2 mode enable:
0: normal FFX operation
1: AM2 reduction mode FFX operation
The STA321MP features two FFX processing modes that minimize the amount of noise
generated in the frequency range of AM radio. This second mode is intended for use when
FFX is operating in a device with an active AM tuner. This mode eliminates the noiseshaper.
Bit
RW
RST
Name
5
RW
0
HPE
Description
FFX headphone enable:
0: channels 7 and 8 normal FFX operation
1: channels 7 and 8 headphone operation
Channels 7 and 8 can be configured to be processed and output in such a manner that
headphones can be driven using an appropriate output device. This signal is a differential
3-wire drive called FFX headphone.
34/84
DocID022647 Rev 5
STA321MP
5.2.7
Registers
Bit
RW
RST
Name
6
RW
0
DCCV
Bit
RW
RST
Name
7
RW
0
MPCV
Description
Distortion compensation variable enable:
0: uses the preset DC coefficient
1: uses the DCC coefficient
Description
Max power correction variable:
0: uses the standard MPC coefficient
1: uses the MPCC bits for the MPC coefficient
Configuration register H (0x07)
D7
D6
D5
D4
D3
D2
D1
D0
ECLE
LDTE
BCLE
IDE
ZDE
SVE
ZCE
NSBW
0
1
1
1
1
1
1
0
Bit
RW
RST
Name
Description
0
RW
0
NSBW
Noise-shaper bandwidth selection:
1: 3rd order NS
0: 4th order NS
Bit
RW
RST
Name
Description
1
RW
1
ZCE
Zero-crossing volume enable:
1: volume adjustments will only occur at digital zerocrossings
0: volume adjustments will occur immediately
The ZCE bit enables zero-crossing volume adjustments. When volume is adjusted on digital
zero-crossings, no clicks will be audible.
Bit
RW
RST
Name
2
RW
1
SVE
Bit
RW
RST
Name
3
RW
1
ZDE
Description
Soft volume enable:
1: volume adjustments use soft volume
0: volume adjustments occur immediately
Description
Zero-detect mute enable: setting of 1 enables the
automatic zero-detect mute
Setting the ZDE bit enables the zero-detect automatic mute. See Section 6.5.8 for more
details.
DocID022647 Rev 5
35/84
Registers
STA321MP
Bit
RW
RST
Name
4
RW
1
IDE
Description
Invalid input detect mute enable:
1: enable the automatic invalid input detect mute
Setting the IDE bit enables this function, which looks at the input I²S data and will
automatically mute if the signals are perceived as invalid.
Bit
RW
RST
Name
5
RW
1
BCLE
Description
Binary output mode clock loss detection enable
The BCLE bit detects loss of input MCLK in binary mode and will output 50% duty cycle.
Bit
RW
RST
Name
6
RW
1
LDTE
Description
LRCLK double trigger protection enable
The LDTE bit actively prevents double triggering of LRCLK.
Bit
RW
RST
Name
7
RW
0
ECLE
Description
Auto EAPD on clock loss
When active, the ECLE bit will issue a device power-down signal (EAPD) on clock loss
detection.
5.2.8
Configuration register I (0x08)
D7
D6
D5
D4
D3
D2
D1
D0
EAPD
PSCE
0
0
This feature utilizes an ADC on SDI78 that provides power supply ripple information for
correction. Registers PSC1, PSC2, PSC3 are utilized in this mode.
36/84
Bit
RW
RST
Name
0
RW
0
PSCE
Bit
RW
RST
Name
7
RW
0
EAPD
Description
Power supply ripple correction enable:
0: normal operation
1: PSCorrect operation
Description
External amplifier power-down:
0: external power stage power-down active
1: normal operation
DocID022647 Rev 5
STA321MP
5.2.9
Registers
Master mute register (0x09)
D7
D6
D5
D4
D3
D2
D1
D0
MMUTE
0
5.2.10
Master volume register (0x0A)
D7
D6
D5
D4
D3
D2
D1
D0
MV7
MV6
MV5
MV4
MV3
MV2
MV1
MV0
1
1
1
1
1
1
1
1
Note:
The value of the volume derived from MVOL is dependent on the AMV AutoMode volume
settings.
5.2.11
Channel 1 volume (0x0B)
5.2.12
5.2.13
5.2.14
D7
D6
D5
D4
D3
D2
D1
D0
C1V7
C1V6
C1V5
C1V4
C1V3
C1V2
C1V1
C1V0
0
1
1
0
0
0
0
0
Channel 2 volume (0x0C)
D7
D6
D5
D4
D3
D2
D1
D0
C2V7
C2V6
C2V5
C2V4
C2V3
C2V2
C2V1
C2V0
0
1
1
0
0
0
0
0
Channel 3 volume (0x0D)
D7
D6
D5
D4
D3
D2
D1
D0
C3V7
C3V6
C3V5
C3V4
C3V3
C3V2
C3V1
C3V0
0
1
1
0
0
0
0
0
Channel 4 volume (0x0E)
D7
D6
D5
D4
D3
D2
D1
D0
C4V7
C4V6
C4V5
C4V4
C4V3
C4V2
C4V1
C4V0
0
1
1
0
0
0
0
0
DocID022647 Rev 5
37/84
Registers
5.2.15
5.2.16
5.2.17
5.2.18
5.2.19
5.2.20
5.2.21
38/84
STA321MP
Channel 5 volume (0x0F)
D7
D6
D5
D4
D3
D2
D1
D0
C5V7
C5V6
C5V5
C5V4
C5V3
C5V2
C5V1
C5V0
0
1
1
0
0
0
0
0
Channel 6 volume (0x10)
D7
D6
D5
D4
D3
D2
D1
D0
C6V7
C6V6
C6V5
C6V4
C6V3
C6V2
C6V1
C6V0
0
1
1
0
0
0
0
0
Channel 7 volume (0x11)
D7
D6
D5
D4
D3
D2
D1
D0
C7V7
C7V6
C7V5
C7V4
C7V3
C7V2
C7V1
C7V0
0
1
1
0
0
0
0
0
Channel 8 volume (0x12)
D7
D6
D5
D4
D3
D2
D1
D0
C8V7
C8V6
C8V5
C8V4
C8V3
C8V2
C8V1
C8V0
0
1
1
0
0
0
0
0
Channel 1 volume trim, mute, bypass (0x13)
D7
D6
C1M
C1VBP
0
0
D5
0
D4
D3
D2
D1
D0
C1VT4
C1VT3
C1VT2
C1VT1
C1VT0
1
0
0
0
0
Channel 2 volume trim, mute, bypass (0x14)
D7
D6
C2M
C2VBP
0
0
D5
0
D4
D3
D2
D1
D0
C2VT4
C2VT3
C2VT2
C2VT1
C2VT0
1
0
0
0
0
Channel 3 volume trim, mute, bypass (0x15)
D7
D6
C3M
C3VBP
0
0
D5
0
D4
D3
D2
D1
D0
C3VT4
C3VT3
C3VT2
C3VT1
C3VT0
1
0
0
0
0
DocID022647 Rev 5
STA321MP
5.2.22
5.2.23
5.2.24
5.2.25
5.2.26
5.2.27
Registers
Channel 4 volume trim, mute, bypass (0x16)
D7
D6
C4M
C4VBP
0
0
D5
D4
D3
D2
D1
D0
C4VT4
C4VT3
C4VT2
C4VT1
C4VT0
1
0
0
0
0
0
Channel 5 volume trim, mute, bypass (0x17)
D7
D6
C5M
C5VBP
0
0
D5
D4
D3
D2
D1
D0
C5VT4
C5VT3
C5VT2
C5VT1
C5VT0
1
0
0
0
0
0
Channel 6 volume trim, mute, bypass (0x18)
D7
D6
C6M
C6VBP
0
0
D5
D4
D3
D2
D1
D0
C6VT4
C6VT3
C6VT2
C6VT1
C6VT0
1
0
0
0
0
0
Channel 7 volume trim, mute, bypass (0x19)
D7
D6
C7M
C7VBP
0
0
D5
D4
D3
D2
D1
D0
C7VT4
C7VT3
C7VT2
C7VT1
C7VT0
1
0
0
0
0
0
Channel 8 volume trim, mute, bypass (0x1A)
D7
D6
C8M
C8VBP
0
0
D5
D4
D3
D2
D1
D0
C8VT4
C8VT3
C8VT2
C8VT1
C8VT0
1
0
0
0
0
0
Fine volume (FineVol) (0x5B)
D7
D6
D5
D4
D3
D2
D1
D0
CFINE8
CFINE7
CFINE6
CFINE5
CFINE4
CFINE3
CFINE2
CFINE1
0
0
0
0
0
0
0
0
Bit
0-7
RW
RW
RST
0
Name
CFINEx
Description
Set for each channel a fine volume of -0.25dB,
this value has to be added to the whole volume.
0: fine vol off
1: fine vol on
DocID022647 Rev 5
39/84
Registers
STA321MP
The volume structure of the STA321MP consists of individual volume registers for each
channel and a master volume register that provides an offset to each channel’s volume
setting. There is also an additional offset for each channel called channel volume trim. The
individual channel volumes are adjustable in 0.5 dB steps from +48 dB to -78 dB. As an
example if C5V = 0xXX or +XXX dB and MV = 0xXX or -XX dB, then the total gain for
channel 5 = XX dB. The channel volume trim is adjustable independently on each channel
from -10 dB to +10 dB in 1 dB steps. A fine volume configuration register could be used to
offset at 0.25 dB step each channel.
The master mute when set to 1 will mute all channels at once, whereas the individual
channel mutes (CnM) will mute only that channel. Both the master mute and the channel
mutes provide a "soft mute" with the volume ramping down to mute in 8192 samples from
the maximum volume setting at the internal processing rate (~192 kHz). A "hard mute" can
be obtained by commanding a value of 0xFF (255) to any channel volume register or the
master volume register. When volume offsets are provided via the master volume register
any channel whose total volume is less than -91 dB will be muted. All changes in volume
take place at zero-crossings when ZCE = 1 (configuration register H) on a per-channel basis
as this creates the smoothest possible volume transitions. When ZCE = 0, volume updates
occur immediately. Each channel also contains an individual channel volume bypass. If a
particular channel has volume bypassed via the CnVBP = 1 register, then only the channel
volume setting for that particular channel affects the volume setting, the master volume
setting will not affect that channel. Each channel also contains a channel mute. If CnM = 1,
a soft mute is performed on that channel.
MV[7:0]
Volume offset from channel value
0x00
0 dB
0x01
-0.5 dB
0x02
-1 dB
…
…
0x4C
-38 dB
…
…
0xFE
-127 dB
0xFF
Hardware channel mute
CnV[7:0]
40/84
Volume
0x00
+48 dB
0x01
+47.5 dB
0x02
+47 dB
…
…
0x5F
+0.5 dB
0x60
0 dB
0x61
-0.5 dB
…
…
0xFE
-79.5 dB
0xFF
Hardware channel mute
DocID022647 Rev 5
STA321MP
Registers
CnVT[4:0]
5.2.28
0x00 to 0x06
+10 dB
0x07
+9 dB
…
…
0x0F
+1 dB
0x10
0 dB
0x11
-1 dB
…
…
0x19
-9 dB
0x1A to 0x1F
-10 dB
Channel input mapping channels 1 and 2 (0x1B)
D7
5.2.29
D5
D4
C2IM2
C2IM1
0
0
D3
D2
D1
D0
C2IM0
C1IM2
C1IM1
C1IM0
1
0
0
0
D2
D1
D0
D6
D5
D4
D3
C4IM2
C4IM1
C4IM0
C3IM2
C3IM1
C3IM0
0
1
1
0
1
0
D2
D1
D0
Channel input mapping channels 5 and 6 (0x1D)
D7
5.2.31
D6
Channel input mapping channels 3 and 4 (0x1C)
D7
5.2.30
Volume
D6
D5
D4
D3
C6IM2
C6IM1
C6IM0
C5IM2
C5IM1
C5IM0
1
0
1
1
0
0
D2
D1
D0
Channel input mapping channels 7 and 8 (0x1E)
D7
D6
D5
D4
D3
C8IM2
C8M1
C8IM0
C7IM2
C7IM1
C7IM0
1
1
1
1
1
0
Each channel received via I²S can be mapped to any internal processing channel via the
channel input mapping registers. This allows for flexibility in processing, simplifies output
stage designs, and enables the ability to perform crossovers. The default settings of these
registers map each I²S input channel to its corresponding processing channel.
DocID022647 Rev 5
41/84
Registers
STA321MP
CnIM[2:0]
5.2.32
000
Channel 1
001
Channel 2
010
Channel 3
011
Channel 4
100
Channel 5
101
Channel 6
110
Channel 7
111
Channel 8
AGEQ - graphic EQ 80-Hz band (0x23)
D7
5.2.33
D4
D3
D2
D1
D0
AGEQ4
AGEQ3
AGEQ2
AGEQ1
AGEQ0
0
1
1
1
1
D6
D5
D4
D3
D2
D1
D0
BGEQ4
BGEQ3
BGEQ2
BGEQ1
BGEQ0
0
1
1
1
1
D6
D5
D4
D3
D2
D1
D0
CGEQ4
CGEQ3
CGEQ2
CGEQ1
CGEQ0
0
1
1
1
1
D4
D3
D2
D1
D0
DGEQ4
DGEQ3
DGEQ2
DGEQ1
DGEQ0
0
1
1
1
1
DGEQ - graphic EQ 3-kHz band (0x26)
D7
42/84
D5
CGEQ - graphic EQ 1-kHz band (0x25)
D7
5.2.35
D6
BGEQ - graphic EQ 300-Hz band (0x24)
D7
5.2.34
Serial input from
D6
D5
DocID022647 Rev 5
STA321MP
5.2.36
Registers
EGEQ - graphic EQ 8-kHz band (0x27)
D7
D6
D5
D4
D3
D2
D1
D0
EGEQ4
EGEQ3
EGEQ2
EGEQ1
EGEQ0
0
1
1
1
1
xGEQ[4:0]
5.2.37
Boost / cut
11111
+16
11110
+15
11101
+14
…
…
10000
+1
01111
0
01110
-1
…
…
00001
-14
00000
-15
Biquad internal channel loop-through (0x28)
D7
D6
D5
D4
D3
D2
D1
D0
C8BLP
C7BLP
C6BLP
C5BLP
C4BLP
C3BLP
C2BLP
C1BLP
0
0
0
0
0
0
0
0
Each internal processing channel can receive two possible inputs at the input to the biquad
block. The input can come either from the output of that channel’s MIX#1 engine or from the
output of the bass/treble (biquad #10) of the previous channel. In this scenario, channel 1
receives channel 8. This enables the use of more than 10 biquads on any given channel at
the loss of the number of separate internal processing channels.
Bit
7:0
RW
RW
RST
0
Name
CnBLP
Description
For n = 1 to 8:
0: input from channel n MIX#1 engine output - normal
operation
1: input from channel (n - 1) biquad #10 output - loop
operation.
DocID022647 Rev 5
43/84
Registers
5.2.38
STA321MP
Mix internal channel loop-through (0x29)
D7
D6
D5
D4
D3
D2
D1
D0
C8MXLP
C7MXLP
C6MXLP
C5MXLP
C4MXLP
C3MXLP
C2MXLP
C1MXLP
0
0
0
0
0
0
0
0
Each internal processing channel can receive two possible sets of inputs at the input to the
Mix#1 block. The inputs can come from the outputs of the interpolation block as normally
occurs (CnMXLP = 0) or they can come from the outputs of the Mix#2 block. This enables
the use of additional filtering after the second mix block at the expense of losing this
processing capability on the channel.
Bit
RW
7:0
5.2.39
RW
RST
0
Name
Description
CnMXLP
For n = 1 to 8:
0: inputs to channel n MIX#1 engine from interpolation
outputs - normal operation
1: inputs to channel n MIX#1 engine from MIX#2 engine
outputs - loop operation
EQ bypass (0x2A)
D7
D6
D5
D4
D3
D2
D1
D0
C8EQBP
C7EQBP
C6EQBP
C5EQBP
C4EQCBP
C3EQBP
C2EQBP
C1EQBP
0
0
0
0
0
0
0
0
EQ control can be bypassed on a per-channel basis. If EQ control is bypassed on a given
channel, the prescale and all 10 filters (high-pass, biquads, de-emphasis, bass
management cross-over, bass, treble in any combination) are bypassed for that channel.
5.2.40
Bit
RW
RST
Name
7:0
RW
0
CnEQBP
Description
For n = 1 to 8:
0: perform EQ on channel n - normal operation
1: bypass EQ on channel n
Tone control bypass (0x2B)
D7
D6
D5
D4
D3
D2
D1
D0
C8TCB
C7TCB
C6TCB
C5TCB
C4TCB
C3TCB
C2TCB
C1TCB
0
0
0
0
0
0
0
0
Tone control (bass/treble) can be bypassed on a per-channel basis. If tone control is
bypassed on a given channel, the two filters that tone control utilizes are made available as
user-programmable biquads #9 and #10.
44/84
DocID022647 Rev 5
STA321MP
5.2.41
Registers
Tone control (0x2C)
D7
D6
D5
D4
D3
D2
D1
D0
TTC3
TTC2
TTC1
TTC0
BTC3
BTC2
BTC1
BTC0
0
1
1
1
0
1
1
1
This is the tone control boost / cut as a function of the BTC and TTC bits.
BTC[3:0] / TTC[3:0)
5.2.42
5.2.43
5.2.44
Boost / cut
0000
-12 dB
0001
-12 dB
…
…
0111
-4 dB
0110
-2 dB
0111
0 dB
1000
+2 dB
1001
+4 dB
…
…
1101
+12 dB
1110
+12 dB
1111
+12dB
Channel limiter select channels 1, 2, 3, 4 (0x2D)
D7
D6
D5
D4
D3
D2
D1
D0
C4LS1
C4LS0
C3LS1
C3LS0
C2LS1
C2LS0
C1LS1
C1LS0
0
0
0
0
0
0
0
0
Channel limiter select channels 5, 6, 7, 8 (0x2E)
D7
D6
D5
D4
D3
D2
D1
D0
C8LS1
C8LS0
C7LS1
C7LS0
C6LS1
C6LS0
C5LS1
C5LS0
0
0
0
0
0
0
0
0
Limiter 1 attack/release rate (0x2F)
D7
D6
D5
D4
D3
D2
D1
D0
L1A3
L1A2
L1A1
L1A0
L1R3
L1R2
L1R1
L1R0
0
1
1
0
1
0
1
0
DocID022647 Rev 5
45/84
Registers
5.2.45
5.2.46
5.2.47
5.2.48
STA321MP
Limiter 1 attack/release threshold (0x30)
D7
D6
D5
D4
D3
D2
D1
D0
L1AT3
L1AT2
L1AT1
L1AT0
L1RT3
L1RT2
L1RT1
L1RT0
0
1
1
0
1
0
0
1
Limiter 2 attack/release rate (0x31)
D7
D6
D5
D4
D3
D2
D1
D0
L2A3
L2A2
L2A1
L2A0
L2R3
L2R2
L2R1
L2R0
0
1
1
0
1
0
1
0
Limiter 2 attack/release threshold (0x32)
D7
D6
D5
D4
D3
D2
D1
D0
L2AT3
L2AT2
L2AT1
L2AT0
L2RT3
L2RT2
L2RT1
L2RT0
0
1
1
0
1
0
0
1
Limiter description
The STA321MP includes two independent limiter blocks. The purpose of the limiters is to
automatically reduce the dynamic range of a recording to prevent the outputs from clipping
in anti-clipping mode or to actively reduce the dynamic range for a better listening
environment such as a nighttime listening mode which is often needed for DVDs. The two
modes are selected via the DRC bit in configuration register B, bit 7 address 0x02. Each
channel can be mapped to either limiter or not mapped, meaning that the channel will clip
when 0 dBFS is exceeded. Each limiter will look at the present value of each channel that is
mapped to it, select the maximum absolute value of all these channels, perform the limiting
algorithm on that value, and then, if needed, adjust the gain of the mapped channels in
unison.
The limiter attack thresholds are determined by the LnAT registers. It is recommended in
anti-clipping mode to set this to 0 dBFS, which corresponds to the maximum unclipped
output power of an FFX amplifier. Since gain can be added digitally within the STA321MP it
is possible to exceed 0 dBFS or any other LnAT setting. When this occurs, the limiter, when
active, will automatically start reducing the gain. The rate at which the gain is reduced when
the attack threshold is exceeded is dependent upon the attack rate register setting for that
limiter. The gain reduction occurs on a peak-detect algorithm.
The release of the limiter, when the gain is again increased, is dependent on an RMS-detect
algorithm. The output of the volume/limiter block is passed through an RMS filter. The output
of this filter is compared to the release threshold, determined by the release threshold
register. When the RMS filter output falls below the release threshold, the gain is again
increased at a rate dependent upon the release rate register. The gain can never be
increased past its set value and therefore the release will only occur if the limiter has already
reduced the gain. The release threshold value can be used to set what is effectively a
minimum dynamic range, this is helpful as overlimiting can reduce the dynamic range to
virtually zero and cause program material to sound lifeless.
46/84
DocID022647 Rev 5
STA321MP
Registers
In AC mode the attack and release thresholds are set relative to full-scale. In DRC mode the
attack threshold is set relative to the maximum volume setting of the channels mapped to
that limiter and the release threshold is set relative to the maximum volume setting plus the
attack threshold.
Figure 9. Basic limiter and volume flow diagram
Limiter
RMS
Attenuation
Saturation
Gain/Volume
Input
Output
Gain
CnLS[1,0]
Channel limiter mapping
00
Channel has limiting disabled
01
Channel is mapped to limiter #1
10
Channel is mapped to limiter #2
LnA[3:0]
Attack rate (dB/ms)
0000
3.1584 (fast)
0001
2.7072
0010
2.2560
0011
1.8048
0100
1.3536
0101
0.9024
0110
0.4512
0111
0.2256
1000
0.1504
1001
0.1123
1010
0.0902
1011
0.0752
1100
0.0645
1101
0.0564
1110
0.0501
1111
0.0451 (slow)
DocID022647 Rev 5
47/84
Registers
STA321MP
LnR[3:0]
Release rate (dB/ms)
0000
0.5116 (fast)
0001
0.1370
0010
0.0744
0011
0.0499
0100
0.0360
0101
0.0299
0110
0.0264
0111
0.0208
1000
0.0198
1001
0.0172
1010
0.0147
1011
0.0137
1100
0.0134
1101
0.0117
1110
0.0110
1111
0.0104 (slow)
Anti-clipping (AC)
(dB relative to FS)
LnAT[3:0]
48/84
0000
-12
0001
-10
0010
-8
0011
-6
0100
-4
0101
-2
0110
0
0111
+2
1000
+3
1001
+4
1010
+5
1011
+6
1100
+7
1101
+8
1110
+9
1111
+10
DocID022647 Rev 5
STA321MP
Registers
Anti-clipping (AC)
(dB relative to FS)
LnRT[3:0]
0000
-
0001
-29 dB
0010
-20 dB
0011
-16 dB
0100
-14 dB
0101
-12 dB
0110
-10 dB
0111
-8 dB
1000
-7 dB
1001
-6 dB
1010
-5 dB
1011
-4 dB
1100
-3 dB
1101
-2 dB
1110
-1 dB
1111
-0 dB
Dynamic range compression (DRC)
(dB relative to volume)
LnAT[3:0]
0000
-31
0001
-29
0010
-27
0011
-25
0100
-23
0101
-21
0110
-19
0111
-17
1000
-16
1001
-15
1010
-14
1011
-13
1100
-12
1101
-10
1110
-7
1111
-4
DocID022647 Rev 5
49/84
Registers
STA321MP
Dynamic range compression (DRC)
(db relative to volume + LnAT)
LnRT[3:0]
5.2.49
0000
-
0001
-38 dB
0010
-36 dB
0011
-33 dB
0100
-31 dB
0101
-30 dB
0110
-28 dB
0111
-26 dB
1000
-24 dB
1001
-22 dB
1010
-20 dB
1011
-18 dB
1100
-15 dB
1101
-12 dB
1110
-9 dB
1111
-6 dB
Channel 1 and 2 output timing (0x33)
D7
5.2.50
D4
C2OT2
C2OT1
1
0
D3
D2
D1
D0
C2OT0
C1OT2
C1OT1
C1OT0
0
0
0
0
D2
D1
D0
D6
D5
D4
D3
C4OT2
C4OT1
C4OT0
C3OT2
C3OT1
C3OT0
1
1
0
0
1
0
D2
D1
D0
Channel 5 and 6 output timing (0x35)
D7
50/84
D5
Channel 3 and 4 output timing (0x34)
D7
5.2.51
D6
D6
D5
D4
C6OT2
C6OT1
C6OT0
C5OT2
C5OT1
C5OT0
1
0
1
0
0
1
DocID022647 Rev 5
D3
STA321MP
5.2.52
Registers
Channel 7 and 8 output timing (0x36)
D7
D6
D5
D4
C8OT2
C8OT1
1
1
D3
D2
D1
D0
C8OT0
C7OT2
C7OT1
C7OT0
1
0
1
1
The centering of the individual channel PWM output periods can be adjusted by the output
timing registers. The PWM slot settings can be chosen to ensure that pulse transitions do
not occur at the same time on different channels using the same power device. There are 8
possible settings, the appropriate setting varies based on the application and connections to
the FFX power devices.
CnOT[2:0]
5.2.53
000
1
001
2
010
3
011
4
100
5
101
6
110
7
111
8
Coefficient address register 1 (0x3B)
D7
5.2.54
5.2.55
PWM slot
D6
D5
D4
D3
D2
D1
D0
CFA9
CFA8
0
0
Coefficient address register 2 (0x3C)
D7
D6
D5
D4
D3
D2
D1
D0
CFA7
CFA6
CFA5
CFA4
CFA3
CFA2
CFA1
CFA0
0
0
0
0
0
0
0
0
Coefficient b1 data register, bits 23:16 (0x3D)
D7
D6
D5
D4
D3
D2
D1
D0
C1B23
C1B22
C1B21
C1B20
C1B19
C1B18
C1B17
C1B16
0
0
0
0
0
0
0
0
DocID022647 Rev 5
51/84
Registers
5.2.56
5.2.57
5.2.58
5.2.59
5.2.60
5.2.61
5.2.62
52/84
STA321MP
Coefficient b1 data register, bits 15:8 (0x3E)
D7
D6
D5
D4
D3
D2
D1
D0
C1B15
C1B14
C1B13
C1B12
C1B11
C1B10
C1B9
C1B8
0
0
0
0
0
0
0
0
Coefficient b1 data register, bits 7:0 (0x3F)
D7
D6
D5
D4
D3
D2
D1
D0
C1B7
C1B6
C1B5
C1B4
C1B3
C1B2
C1B1
C1B0
0
0
0
0
0
0
0
0
Coefficient b2 data register, bits 23:16 (0x40)
D7
D6
D5
D4
D3
D2
D1
D0
C2B23
C2B22
C2B21
C2B20
C2B19
C2B18
C2B17
C2B16
0
0
0
0
0
0
0
0
Coefficient b2 data register, bits 15:8 (0x41)
D7
D6
D5
D4
D3
D2
D1
D0
C2B15
C2B14
C2B13
C2B12
C2B11
C2B10
C2B9
C2B8
0
0
0
0
0
0
0
0
Coefficient b2 data register, bits 7:0 (0x42)
D7
D6
D5
D4
D3
D2
D1
D0
C2B7
C2B6
C2B5
C2B4
C2B3
C2B2
C2B1
C2B0
0
0
0
0
0
0
0
0
Coefficient a1 data register, bits 23:16 (0x43)
D7
D6
D5
D4
D3
D2
D1
D0
C1B23
C1B22
C1B21
C1B20
C1B19
C1B18
C1B17
C1B16
0
0
0
0
0
0
0
0
Coefficient a1 data register, bits 15:8 (0x44)
D7
D6
D5
D4
D3
D2
D1
D0
C3B15
C3B14
C3B13
C3B12
C3B11
C3B10
C3B9
C3B8
0
0
0
0
0
0
0
0
DocID022647 Rev 5
STA321MP
5.2.63
5.2.64
5.2.65
5.2.66
5.2.67
5.2.68
5.2.69
Registers
Coefficient a1 data register, bits 7:0 (0x45)
D7
D6
D5
D4
D3
D2
D1
D0
C3B7
0
C3B6
0
C3B5
0
C3B4
0
C3B3
0
C3B2
0
C3B1
0
C3B0
0
Coefficient a2 data register, bits 23:16 (0x46)
D7
D6
D5
D4
D3
D2
D1
D0
C4B23
C4B22
C4B21
C4B20
C4B19
C4B18
C4B17
C4B16
0
0
0
0
0
0
0
0
Coefficient a2 data register, bits 15:8 (0x47)
D7
D6
D5
D4
D3
D2
D1
D0
C4B15
0
C4B14
0
C4B13
0
C4B12
0
C4B11
0
C4B10
0
C4B9
0
C4B8
0
Coefficient a2 data register, bits 7:0 (0x48)
D7
D6
D5
D4
D3
D2
D1
D0
C4B7
0
C4B6
0
C4B5
0
C4B4
0
C4B3
0
C4B2
0
C4B1
0
C4B0
0
Coefficient b0 data register, bits 23:16 (0x49)
D7
D6
D5
D4
D3
D2
D1
D0
C5B23
C5B22
C5B21
C5B20
C5B19
C5B18
C5B17
C5B16
0
0
0
0
0
0
0
0
Coefficient b0 data register, bits 15:8 (0x4A)
D7
D6
D5
D4
D3
D2
D1
D0
C5B15
C5B14
C5B13
C5B12
C5B11
C5B10
C5B9
C5B8
0
0
0
0
0
0
0
0
Coefficient b0 data register, bits 7:0 (0x4B)
D7
D6
D5
D4
D3
D2
D1
D0
C5B7
C5B6
C5B5
C5B4
C5B3
C5B2
C5B1
C5B0
0
0
0
0
0
0
0
0
DocID022647 Rev 5
53/84
Registers
5.2.70
STA321MP
Coefficient write control register (0x4C)
D7
D6
D5
D4
D3
D2
D1
D0
WA
W1
0
0
Coefficients for EQ and Bass Management are handled internally in the STA321MP via
RAM. Access to this RAM is available to the user via an I2C register interface.
A collection of I2C registers are dedicated to this function. One contains a coefficient base
address, five sets of three store the values of the 24-bit coefficients to be written or that were
read, and one contains bits used to control the write of the coefficient(s) to RAM. The
following are instructions for reading and writing coefficients.
54/84
DocID022647 Rev 5
STA321MP
5.3
5.4
Registers
Reading a coefficient from RAM
1.
Write the top 2 bits of address to I2C register 0x3B
2.
Write the bottom 8 bits of address to I2C register 0x3C
3.
Read the top 8 bits of coefficient in I2C address 0x3D
4.
Read the middle 8 bits of coefficient in I2C address 0x3E
5.
Read the bottom 8 bits of coefficient in I2C address 0x3F
Reading a set of coefficients from RAM
1.
Write the top 2 bits of address to I2C register 0x3B
2.
Write the bottom 8 bits of address to I2C register 0x3C
3.
Read the top 8 bits of coefficient in I2C address 0x3D
4.
Read the middle 8 bits of coefficient in I2C address 0x3E
5.
Read the bottom 8 bits of coefficient in I2C address 0x3F
6.
Read the top 8 bits of coefficient b2 in I2C address 0x40
7.
Read the middle 8 bits of coefficient b2 in I2C address 0x41
8.
Read the bottom 8 bits of coefficient b2 in I2C address 0x42
9.
Read the top 8 bits of coefficient a1 in I2C address 0x43
10. Read the middle 8 bits of coefficient a1 in I2C address 0x44
11. Read the bottom 8 bits of coefficient a1 in I2C address 0x45
12. Read the top 8 bits of coefficient a2 in I2C address 0x46
13. Read the middle 8 bits of coefficient a2 in I2C address 0x47
14. Read the bottom 8 bits of coefficient a2 in I2C address 0x48
15. Read the top 8 bits of coefficient b0 in I2C address 0x49
16. Read the middle 8 bits of coefficient b0 in I2C address 0x4A
17. Read the bottom 8 bits of coefficient b0 in I2C address 0x4B
5.5
Writing a single coefficient to RAM
1.
Write the top 2 bits of address to I2C register 0x3B
2.
Write the bottom 8 bits of address to I2C register 0x3C
3.
Write the top 8 bits of coefficient in I2C address 0x3D
4.
Write the middle 8 bits of coefficient in I2C address 0x3E
5.
Write the bottom 8 bits of coefficient in I2C address 0x3F
6.
Write 1 to the W1 bit in I2C address 0x4C
DocID022647 Rev 5
55/84
Registers
5.6
STA321MP
Writing a set of coefficients to RAM
1.
Write the top 2 bits of starting address to I2C register 0x3B
2.
Write the bottom 8 bits of starting address to I2C register 0x3C
3.
Write the top 8 bits of coefficient b1 in I2C address 0x3D
4.
Write the middle 8 bits of coefficient b1 in I2C address 0x3E
5.
Write the bottom 8 bits of coefficient b1 in I2C address 0x3F
6.
Write the top 8 bits of coefficient b2 in I2C address 0x40
7.
Write the middle 8-bits of coefficient b2 in I2C address 0x41
8.
Write the bottom 8 bits of coefficient b2 in I2C address 0x42
9.
Write the top 8 bits of coefficient a1 in I2C address 0x43
10. Write the middle 8 bits of coefficient a1 in I2C address 0x44
11. Write the bottom 8 bits of coefficient a1 in I2C address 0x45
12. Write the top 8 bits of coefficient a2 in I2C address 0x46
13. Write the middle 8 bits of coefficient a2 in I2C address 0x47
14. Write the bottom 8 bits of coefficient a2 in I2C address 0x48
15. Write the top 8-bits of coefficient b0 in I2C address 0x49
16. Write the middle 8 bits of coefficient b0 in I2C address 0x4A
17. Write the bottom 8 bits of coefficient b0 in I2C address 0x4B
18. Write 1 to the WA bit in I2C address 0x4C
The mechanism for writing a set of coefficients to RAM provides a method of updating the
five coefficients corresponding to a given biquad (filter) simultaneously to avoid possible
unpleasant acoustic side-effects.
When using this technique, the 10-bit address would specify the address of the biquad b1
coefficient (for example, decimals 0, 5, 10, 15, …, 100, … 395), and the STA321MP will
generate the RAM addresses as offsets from this base value to write the complete set of
coefficient data.
56/84
DocID022647 Rev 5
STA321MP
6
Configuration registers (0x77; 0x78; 0x79)
Configuration registers (0x77; 0x78; 0x79)
CBQ1 (reg 0x77)
D7
D6
D5
D4
D3
D2
D1
D0
EBQ3_1
EBQ3_0
EBQ2_1
EBQ2_0
EBQ1_1
EBQ1_0
EBQ0_0
EBQ0_0
0
0
0
0
0
0
0
0
CBQ2 (reg 0x78)
D7
D6
D5
D4
D3
D2
D1
D0
EBQ7_1
EBQ7_0
EBQ6_1
EBQ6_0
EBQ5_1
EBQ5_0
EBQ4_1
EBQ4_0
0
0
0
0
0
0
0
0
D5
D4
D3
D2
D1
D0
nshen
EBQ9_1
EBQ9_0
EBQ8_1
EBQ8_0
1
0
0
0
0
CBQ3 (reg 0x79)
D7
D6
0
0
0
The STA321MP EQ biquads use the following equation:
Y[n] = 2 * (b0 / 2) * X[n] + 2 * (b1 / 2) * X[n-1] + b2 * X[n-2] - 2 * (a1 / 2) * Y[n-1] - a2 * Y[n-2]
= b0 * X[n] + b1 * X[n-1] + b2 * X[n-2] - a1 * Y[n-1] - a2 * Y[n-2]
where Y[n] represents the output and X[n] represents the input. Multipliers are 24-bit signed
fractional multipliers, with coefficient values in the range of 0x800000 (-1) to 0x7FFFFF
(0.9999995231628). The default coefficient range (+/-1) can be reconfigured to 2 or 4
with the 0x77, 0x78 and 0x79 I2C registers. The coefficients range setting is common for all
the channels.

(EBQx_1;EBQx_0)=”00”: Biquad x use +/-1 range

(EBQx_1;EBQx_0)=”01”: Biquad x use +/-2 range

(EBQx_1;EBQx_0)=”10”: Biquad x use +/-4 range

(EBQx_1;EBQx_0)=”11”: reserved
Coefficients stored in the user-defined coefficient RAM are referenced in the following
manner:
CxHy0 = b1 / 2
CxHy1 = b2
CxHy2 = -a1 / 2
CxHy3 = -a2
CxHy4 = b0 / 2
where x represents the channel and the y the biquad number. For example, C0H41 is the b2
coefficient in the fourth biquad for channel 2.
DocID022647 Rev 5
57/84
Configuration registers (0x77; 0x78; 0x79)
STA321MP
By default, all user-defined filters are pass-through where all coefficients are set to 0, except
the b0/2 coefficient which is set to 0x400000 (representing 0.5). Mix coefficients use only 1
range.
A special feature inside the digital processing block is available (active when the nshen bit is
set to ‘1’). In case of poles positioned at very low frequencies, biquads filters can generate
some audible quantization noise or unwanted DC level. In order to avoid this kind of effect a
quantization noise-shaping capability can be used. The filter structure including this special
feature, relative to each biquad is shown in Figure 10.
The new feature can be enabled independently for each biquad using the I2C registers. The
D7 bit, when set, is responsible for activating this function on the crossover filter while the
other bits address any specific biquads according to the previous table. Channels 1 and 2
share the same settings. Bit D7 is effective also for channel 3 if the related OCFG is used.
Figure 10. Biquad filter structure with quantization error noise shaping
In(t)
b0
z-1
-
+
Q
z-1
Out(t)
z-1
b1
a1
z-1
z-1
b2
a2
Figure 11. Channel mixer
CxMIX1
Channel 1
CxMIX2
Channel 2
CxMIX3
Channel 3
CxMIX4
Channel 4
CxMIX5
Channel 5
CxMIX6
Channel 6
CxMIX7
Channel 7
CxMIX8
Channel 8
58/84
DocID022647 Rev 5
Channel x
STA321MP
6.1
Configuration registers (0x77; 0x78; 0x79)
Post-scale
The STA321MP provides one additional multiplication after the last interpolation stage and
before the distortion compensation on each channel. This is a 24-bit signed fractional
multiply.
The scale factor for this multiply is loaded into RAM using the same I2C registers as the
biquad coefficients and the bass-management.
This post-scale factor can be used in conjunction with an ADC-equipped microcontroller to
perform power-supply error correction. All channels can use the channel 1 by setting the
post-scale link bit.
Table 12. RAM block for biquads, mixing, and bass management
Index
Index
(decimal)
(hex)
0
0x00
1
Parameter
Channel 1 - Biquad 1
Coefficient
Default
C1H10 (b1/2)
0x000000
0x01
C1H11 (b2)
0x000000
2
0x02
C1H12 (a1/2)
0x000000
3
0x03
C1H13 (a2)
0x000000
4
0x04
C1H14 (b0/2)
0x400000
5
0x05
Channel 1 - Biquad 2
C1H20
0x000000
…
…
…
…
…
49
0x31
Channel 1 - Biquad 10
C1HA4
0x400000
50
0x32
Channel 2 - Biquad 1
C2H10
0x000000
51
0x33
C2H11
0x000000
…
…
…
…
…
99
0x63
Channel 2 - Biquad 10
C2HA4
0x4000000
100
0x64
Channel 3 - Biquad 1
C3H10
0x000000
…
…
…
…
…
399
0x18F
Channel 8 - Biquad 10
C8HA4
0x400000
400
0x190
Channel 1 - Pre-scale
C1PreS
0x7FFFFF
401
0x191
Channel 2 - Pre-scale
C2PreS
0x7FFFFF
402
0x192
Channel 3 - Pre-scale
C3PreS
0x7FFFFF
…
…
…
…
…
407
0x197
Channel 8 - Pre-scale
C8PreS
0x7FFFFF
408
0x198
Channel 1 - Post-scale
C1PstS
0x7FFFFF
409
0x199
Channel 2 - Post-scale
C2PstS
0x7FFFFF
…
…
…
…
…
415
0x19F
Channel 8 - Post-scale
C8PstS
0x7FFFFF
416
0x1A0
Channel 1 - Mix# 1 1
C1MX11
0x7FFFFF
DocID022647 Rev 5
59/84
Configuration registers (0x77; 0x78; 0x79)
STA321MP
Table 12. RAM block for biquads, mixing, and bass management (continued)
60/84
Index
Index
(decimal)
(hex)
Parameter
Coefficient
Default
417
0x1A1
Channel 1 - Mix#1 2
C1MX12
0x000000
…
…
…
…
…
423
0x1A7
Channel 1 - Mix#1 8
C1MX18
0x000000
424
0x1A8
Channel 2 - Mix#1 1
C2MX11
0x000000
425
0x1A9
Channel 2 - Mix#1 2
C2MX12
0x7FFFFF
…
…
…
…
…
479
0x1DF
Channel 8 - Mix#1 8
C8MX18
0x7FFFFF
480
0x1E0
Channel 1 - Mix#2 1
C1MX21
0x7FFFFF
481
0x1E1
Channel 1 - Mix#2 2
C1MX22
0x000000
…
…
…
…
…
487
0x1E7
Channel 1 - Mix#2 8
C1MX28
0x000000
488
0x1E8
Channel 2 - Mix#2 1
C2MX21
0x000000
489
0x1E9
Channel 2 - Mix#2 2
C2MX22
0x7FFFFF
…
…
…
…
…
543
0x21F
Channel 8 - Mix#2 8
C8MX28
0x7FFFFF
DocID022647 Rev 5
STA321MP
Configuration registers (0x77; 0x78; 0x79)
6.2
Variable max power correction
6.2.1
MPCC1-2 (0x4D, 0x4E)
MPCC bits determine the 16 MSBs of the MPC compensation coefficient. This coefficient is
used in place of the default coefficient when MPCV = 1.
D7
D6
D5
D4
D3
D2
D1
D0
MPCC15
MPCC14
MPCC13
MPCC12
MPCC11
MPCC10
MPCC9
MPCC8
0
0
1
0
1
1
0
1
D7
D6
D5
D4
D3
D2
D1
D0
MPCC7
MPCC6
MPCC5
MPCC4
MPCC3
MPCC2
MPCC1
MPCC0
1
1
0
0
0
0
0
0
6.3
Variable distortion compensation
6.3.1
DCC1-2 (0x4F, 0x50)
The DCC bits determine the 16 MSBs of the distortion compensation coefficient. This
coefficient is used in place of the default coefficient when DCCV = 1.
D7
D6
D5
D4
D3
D2
D1
D0
DCC15
DCC14
DCC13
DCC12
DCC11
DCC10
DCC9
DCC8
1
1
1
1
0
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
DCC7
DCC6
DCC5
DCC4
DCC3
DCC2
DCC1
DCC0
0
0
1
1
0
0
1
1
DocID022647 Rev 5
61/84
Configuration registers (0x77; 0x78; 0x79)
6.4
STA321MP
PSCorrect registers
An ADC is used to input ripple data to SDI78. The left channel (7) is used internally. No
audio data can therefore be used on these channels, although all channel mapping and
mixing from other inputs to channels 7 and 8 internally are still valid.
6.4.1
PSC1-2: ripple correction value (RCV) (0x51, 0x52)
This value is equivalent to the negative maximum ripple peak as a percentage of Vcc
(MPR), scaled by the inverse of the maximum ripple p-p as a percentage of the full-scale
analog input to the ADC. It is represented as a 1.11 signed fractional number.
6.4.2
D7
D6
D5
D4
D3
D2
D1
D0
RCV11
RCV10
RCV9
RCV8
RCV7
RCV6
RCV5
RCV4
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
RCV3
RCV2
RCV1
RCV0
CNV11
CNV10
CNV9
CNV8
0
0
0
0
1
1
1
1
PSC3: correction normalization value (CNV) (0x53)
This value is equivalent to 1 / (1+MPR) expressed as a 0.12 unsigned fractional number.
D7
D6
D5
D4
D3
D2
D1
D0
CNV7
CNV6
CNV5
CNV4
CNV3
CNV2
CNV1
CNV0
1
1
1
1
1
1
1
1
6.5
PDM and recombination IP
6.5.1
Mike recombination RAM BIST (0x5C)
62/84
D7
D6
D5
D4
D3
D2
D1
D0
MHFail
MHBad
MHEnd
MHAct
MNFail
MNBad
MNEnd
MNAct
0
0
0
0
0
0
0
0
DocID022647 Rev 5
STA321MP
6.5.2
Configuration registers (0x77; 0x78; 0x79)
Bit
RW
RST
Name
Description
7
RW
0
MHFail
‘1’ : MHBist computation bit fail
6
RW
0
MHBad
‘1’ : MHBist computation bad
5
RW
0
MHEnd
‘1’ : MHBist computation finished
4
RW
0
MHAct
‘1’ : MHBist computation start
3
RW
0
MNFail
‘1’ : MNBist computation bit fail
2
RW
0
MNBad
‘1’ : MNBist computation bad
1
RW
0
MNEnd
‘1’ : MNBist computation finished
0
RW
0
MNAct
‘1’ : MNBist computation start
Recombination control register 1 (0x5D)
D7
D6
D5
D4
D3
Boost6db
0
0
0
0
0
D2
D1
D0
mike_en
mike_byp
m_mode
0
0
0
Bit
RW
RST
Name
Description
7
RW
0
Boost6dB(1)
'1': Output (after recombination) multiplied x2
'0': Output (after recombination) as it is
6
RW
0
5
RW
0
4
RW
0
3
RW
0
2
RW
0
mike_en
'1': Microphone recombination IP is active
‘0': Microphone recombination IP is not active
(acts like an HW Bypass)
1
RW
0
mike_byp
'1': Microphone recombination is bypassed
'0': Microphone recombination is used
0
RW
0
m_mode
'1': Auto-configuration of the CLKOUT generator
to Fout = sys_clk/32
'0': CLKOUT is configured only through COS bits
1. Mike recomb only
DocID022647 Rev 5
63/84
Configuration registers (0x77; 0x78; 0x79)
6.5.3
6.5.4
STA321MP
PDM control register (0x5E)
D7
D6
D5
D4
D3
D2
AdvM6
AdvM5
AdvM4
AdvM3
AdvM2
AdvM1
0
0
0
0
0
0
Bit
RW
RST
Name
7
RW
AdvM6
6
RW
AdvM5
5
RW
AdvM4
4
RW
AdvM3
3
RW
AdvM2
2
RW
AdvM1
1
RW
0
RW
D0
PDMSM[1:0]
0
0
Description
PDMSM
PDM channel x sampling edge configuration:
'1': rising edge (of internal _CLK)
'0': falling edge (of internal _CLK)
(Active in Advance mode only, PDMSM = ’11’)
00: Normal mode
01: reserved
10: Dual-membrane
11: Advanced
Recombination control register 2, 3 and 4 (0x5F; 0x60; 0x61)
D7
D6
D5
D4
D3
bypRM1
D2
D1
D0
CH1GG[5:0]
0
0
1
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
bypRM2
CH2GG[5:0]
0
0
1
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
0
0
bypRM3
0
64/84
D1
0
CH3GG[5:0]
1
RST
0
Bit
RW
7
RW
reserved
6
RW
bypRMx
5
RW
4
RW
3
RW
2
RW
1
RW
0
RW
0
Name
CHxGG[5:0]
0
Description
'1': Recombination of Mike_x is bypassed
'0': Recombination of Mike_x is active
see Table 13
DocID022647 Rev 5
STA321MP
Configuration registers (0x77; 0x78; 0x79)
Table 13. Gain adjustment (sensitivity)
Index
dB
Index
dB
Index
dB
0x00
-4
0x16
-1.25
0x2C
1.5
0x01
-3.875
0x17
-1.125
0x2D
1.625
0x02
-3.75
0x18
-1
0x2E
1.75
0x03
-3.625
0x19
-0.875
0x2F
1.875
0x04
-3.5
0x1A
-0.75
0x30
2
0x05
-3.375
0x1B
-0.625
0x31
2.125
0x06
-3.25
0x1C
-0.5
0x32
2.25
0x07
-3.125
0x1D
-0.375
0x33
2.375
0x08
-3
0x1E
-0.25
0x34
2.5
0x09
-2.875
0x1F
-0.125
0x35
2.625
0x0A
-2.75
0x20
0
0x36
2.75
0x0B
-2.625
0x21
0.125
0x37
2.875
0x0C
-2.5
0x22
0.25
0x38
3
0x0D
-2.375
0x23
0.375
0x39
3.125
0x0E
-2.25
0x24
0.5
0x3A
3.25
0x0F
-2.125
0x25
0.625
0x3B
3.375
0x10
-2
0x26
0.75
0x3C
3.5
0x11
-1.875
0x27
0.875
0x3D
3.625
0x12
-1.75
0x28
1
0x3E
3.75
0x13
-1.625
0x29
1.125
0x3F
3.875
0x14
-1.5
0x2A
1.25
0x15
-1.375
0x2B
1.375
DocID022647 Rev 5
65/84
Configuration registers (0x77; 0x78; 0x79)
6.5.5
STA321MP
Recombination control register 5, 6 and 7 (0x62; 0x63; 0x64)
D7
D6
D5
D4
D3
LP1en
D1
D0
CH1NCA[5:0]
0
1
1
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
LP2en
CH2NCA[5:0]
0
1
1
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
0
0
LP3en
0
CH3NCA[5:0]
1
Bit
RW
7
RW
6
RW
5
RW
4
RW
3
RW
2
RW
1
RW
0
RW
1
RST
0
0
Name
LPxen
CHxNCA[5:0]
66/84
D2
0
Description
'1': Low-pass filter of mike x is enabled
'0': Low-pass filter of mike x is not enabled
see Table 14
DocID022647 Rev 5
STA321MP
Configuration registers (0x77; 0x78; 0x79)
Table 14. Normal channel attenuation
Index
dB
Index
dB
Index
dB
0x00
0
0x16
18.75
0x2C
21.5
0x01
10.5
0x17
18.875
0x2D
21.625
0x02
11
0x18
19
0x2E
21.75
0x03
11.5
0x19
19.125
0x2F
21.875
0x04
12
0x1A
19.25
0x30
22
0x05
12.5
0x1B
19.375
0x31
22.5
0x06
13
0x1C
19.5
0x32
23
0x07
13.5
0x1D
19.625
0x33
23.5
0x08
14
0x1E
19.75
0x34
24
0x09
14.5
0x1F
19.875
0x35
24.5
0x0A
15
0x20
20
0x36
25
0x0B
15.5
0x21
20.125
0x37
25.5
0x0C
16
0x22
20.25
0x38
26
0x0D
16.5
0x23
20.375
0x39
26.5
0x0E
17
0x24
20.5
0x3A
27
0x0F
17.5
0x25
20.625
0x3B
27.5
0x10
18
0x26
20.75
0x3C
28
0x11
18.125
0x27
20.875
0x3D
28.5
0x12
18.25
0x28
21
0x3E
29
0x13
18.375
0x29
21.125
0x3F
29.5
0x14
18.5
0x2A
21.25
0x15
18.625
0x2B
21.375
DocID022647 Rev 5
67/84
Configuration registers (0x77; 0x78; 0x79)
6.5.6
STA321MP
Recombination control register 8, 9 and 10 (0x65; 0x66; 0x67)
D7
D6
D5
D4
D3
D2
D1
D0
CH1TH_N[5:0]
0
0
1
1
0
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
CH2TH_N[5:0]
0
0
1
1
0
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
1
1
CH3TH_N[5:0]
0
0
Bit
RW
7
RW
6
RW
5
RW
4
RW
3
RW
2
RW
1
RW
0
RW
1
RST
1
0
Name
Description
Reserved
CHxTH_N[5:0]
68/84
0
see Table 15
DocID022647 Rev 5
STA321MP
Configuration registers (0x77; 0x78; 0x79)
Table 15. Threshold configuration
6.5.7
Index
dB
Index
dB
Index
dB
Index
dB
Index
dB
Index
dB
0x00
0
0x0B
-11
0x16
-22
0x21
-33
0x2C
-44
0x37
-55
0x01
-1
0x0C
-12
0x17
-23
0x22
-34
0x2D
-45
0x38
-56
0x02
-2
0x0D
-13
0x18
-24
0x23
-35
0x2E
-46
0x39
-57
0x03
-3
0x0E
-14
0x19
-25
0x24
-36
0x2F
-47
0x3A
-58
0x04
-4
0x0F
-15
0x1A
-26
0x25
-37
0x30
-48
0x3B
-59
0x05
-5
0x10
-16
0x1B
-27
0x26
-38
0x31
-49
0x3C
-60
0x06
-6
0x11
-17
0x1C
-28
0x27
-39
0x32
-50
0x3D
-61
0x07
-7
0x12
-18
0x1D
-29
0x28
-40
0x33
-51
0x3E
-62
0x08
-8
0x13
-19
0x1E
-30
0x29
-41
0x34
-52
0x3F
-63
0x09
-9
0x14
-20
0x1F
-31
0x2A
-42
0x35
-53
0x0A
-10
0x15
-21
0x20
-32
0x2B
-43
0x36
-54
Recombination control register 11, 12 and 13 (0x68; 0x69; 0x6A)
D7
D6
D5
D4
D3
D2
D1
D0
CH1TH_H[5:0]
0
0
0
1
1
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
CH2TH_H[5:0]
0
0
0
1
1
0
1
1
D7
D6
D5
D4
D3
D2
D1
D0
1
1
CH3TH_H[5:0]
0
0
0
Bit
RW
RST
7
RW
0
6
RW
0
5
RW
0
4
RW
1
3
RW
1
2
RW
0
1
RW
1
0
RW
1
1
1
Name
0
Description
Reserved
CHxHCT[5:0]
see Table 15
DocID022647 Rev 5
69/84
Configuration registers (0x77; 0x78; 0x79)
6.5.8
STA321MP
Zero-mute threshold/hysteresis and RMS zero-mute selectors (0x6F)
Zero-mute (0x6F)
D7
D6
D5
D4
D3
D2
D1
D0
RMSZS2
RMSZS1
RMSZS0
ZMTHS2
ZMTHS1
ZMTHS0
ZMHYS1
ZMHYS0
0
0
0
0
0
0
0
0
Bit
RW
RST
Name
7
RW
0
RMSZS2
6
RW
0
RMSZS1
5
RW
0
RMSZS0
4
RW
0
ZMTHS2
3
RW
0
ZMTHS1
2
RW
0
ZMTHS1
1
RW
0
ZMHYS1
0
RW
0
ZMHYS0
Description
Select channel for reading the zero-mute RMS
level on registers rmsZMH (0x7A) & rmsZML
(0x7B).
Select the zero-mute threshold level. If signal is
below this level, output will be in switch off mode.
Select the hysteresis window width.
The STA321MP implements an RMS-based zero-detect function (on serial input interface
data) able to detect in a very reliable way the presence of an input signal, so that the power
bridge outputs can be automatically connected to ground. When active, the function will
mute the output PWM when the input level become less than threshold - hysteresis.
Once muted, the PWM will be unmuted when the input level is detected greater than
threshold + hysteresis .
The measured level is then reported (each input channel is selected by RMSZS[2:0] value)
on registers 0x7A, 0x7B.
Table 16. RMS channel select
70/84
RMSZS[2:0]
Channel
000
1
001
2
010
3
011
4
100
5
101
6
110
7
111
8
DocID022647 Rev 5
STA321MP
Configuration registers (0x77; 0x78; 0x79)
Table 17. Zero-detect threshold
ZMTHS[2:0]
Equivalent input level (dB)
000
-78
001
-84
010
-90
011
-96
100
-102
101
-108
110
-114
111
-114
Table 18. Zero-detect hysteresis
ZMHYS[1:0]
Equivalent input level hysteresis(dB)
00
3
01
4
10
5
11
6
DocID022647 Rev 5
71/84
Configuration registers (0x77; 0x78; 0x79)
6.5.9
STA321MP
RMS post-processing selectors and Fs autodetection (0x70)
D7
D6
D5
D4
RMSOS2
RMSOS1
RMSOS0
0
0
0
D3
D2
D1
D0
FXLRC0
0
0
0
0
0
RMS out selector
Bit
RW
RST
Name
Description
7
RW
0
RMSOS2
6
RW
0
RMSOS1
5
RW
0
RMSOS0
RMS post-processing selectors. For each
channel the current RMS value after the
processing step is available on registers rmsPOH
(0x7C) and rmsPOL (0x7D).
Table 19. RMS post-processing channel select
RMSOS[2:0]
Channel
000
1
001
2
010
3
011
4
100
5
101
6
110
7
111
8
Fs autodetection
Bit
0
72/84
RW
RW
RST
0
Name
FXLRC0
Description
If set to 1, the IR and BST32K parameters are
auto-selected by the Fs autodetection internal
block; otherwise, the I2C register values are
used.
DocID022647 Rev 5
STA321MP
6.5.10
Configuration registers (0x77; 0x78; 0x79)
Clock manager configuration
PLL configuration registers (0x71, 0x72, 0x73, 0x74)
PLL multiplication factor (fractional part, H) (0x71)
D7
D6
D5
D4
D3
D2
D1
D0
0
0
0
D2
D1
D0
0
0
0
PLLFI[15:8]
0
0
0
0
0
PLL multiplication factor (fractional part, L) (0x72)
D7
D6
D5
D4
D3
PLLFI[7:0]
0
0
0
0
0
PLL multiplication factor (integral part) named as N Division Factor (NDIV)
and dithering (0x73)
D7
D6
D5
D4
D3
PLLDD[1:0]
0
D2
D1
D0
0
0
PLLND[5:0]
0
0
0
Bit
RW
RST
Name
7
RW
0
PLLDD1
6
RW
0
PLLDD0
5
RW
0
PLLND5
4
RW
0
PLLND4
3
RW
0
PLLND3
2
RW
1
PLLND2
1
RW
0
PLLND1
0
RW
1
PLLND0
0
0
Description
PLL dithering:
00 : PLL clock dithering disabled
01 : PLL clock dithering enabled (triangular)
10 : PLLclock dithering enabled (rectangular)
11 : reserved
N (loop) Division Factor
This factor should be:
DocID022647 Rev 5
5  N DIV  55
73/84
Configuration registers (0x77; 0x78; 0x79)
STA321MP
PLL input division factor and others (0x74)
D7
D6
D5
D4
D3
D2
D1
D0
PDPDC
PLLFC
PLSTRB
PLSTBB
PLIDF3
PLIDF2
PLIDF1
PLIDF0
0
0
0
0
0
0
0
0
By default the STA321MP is able to configure the embedded PLL automatically depending
on the MCS bits (reg 0x00). For certain applications and to provide flexibility to the user, a
manual PLL configuration can be used (setting PLLFC to 1). The output PLL frequency
formula is:
Fin
FI 
Fout = ----------   ND + -------IDF 
2 16
when PLLFC = 1
Fin
Fout = ----------   ND 
IDF
when PLLFC = 0
Clock manager configuration register (0x75)
D7
D5
D4
D3
D2
D1
D0
PLLBYP
PLLDPR
LOWEN
BST32K
0
0
0
0
Bit
RW
RST
Name
3
RW
0
PLLBYP
PLL bypass enable
‘0’: disabled
‘1’: bypassed
PLLDPR
PLL direct programming
‘0’: PLL configuration depends on MCS
‘1’: PLL configuration depends on I2C regs (0x72,
0x73 and 0x74)
2
74/84
D6
RW
0
Description
1
RW
0
LOWEN
Low clock enable
‘0’: if input clock is too slow, master clock will become
the internal oscillator clock (20 MHz), PLL bypassed
‘1’: disabled
0
RW
0
BST32K
Boost oversampling for fs = 32 kHz
‘0’: disabled
‘1’: input oversampling is selected x 3
DocID022647 Rev 5
STA321MP
Configuration registers (0x77; 0x78; 0x79)
Clock manager status register (0x76)
D7
6.5.11
D6
D5
D4
D3
D2
D1
D0
PLLBYS
PLLPDS
OSCOK
LOWCKS
0
0
0
0
Bit
RW
RST
Name
3
R
0
PLLBYS
PLL bypass status
‘0’: normal
‘1’: bypassed
2
R
0
PLLPDS
PLL power-down status
‘0’: normal
‘1’: standby
Oscillator clock OK
‘0’: not ready
‘1’: ready
1
R
0
OSCOK
0
R
0
LOWCKS
Description
Low clock status
‘0’: normal
‘1’: input clock too slow
RMS level registers (0x7A, 0x7B, 0x7C, 0x7D)
Two set of registers are available to monitor the RMS level detected by the zero-mute block
and after the signal processing.
The measured level for a selected channel is given in 0x7A & 0x7B (zero-mute level) and
0x7C & 0x7D (PWM out level) according to the following expression:
Value(dB) = 20Log(rms[15:0]/(216 x 0.635))
where rms[15:0] is an unsigned integer formed by:
rms[15:0] = rmsZMH[7:0], rmsZML[7:0] for zero-mute level
or
rms[15:0] = rmsPOH[7:0], rmsPOL[7:0] for PWM output level
DocID022647 Rev 5
75/84
Configuration registers (0x77; 0x78; 0x79)
STA321MP
rmsZMx
D7
D6
D5
D4
D3
D2
D1
D0
RZM15
RZM14
RZM13
RZM12
RZM11
RZM10
RZM9
RZM8
0
0
0
0
0
0
0
0
RZM7
RZM6
RZM5
RZM4
RZM3
RZM2
RZM1
RZM0
0
0
0
0
0
0
0
0
rmsZMH
Bit
RW
RST
Name
Description
7
R
RZM15
6
R
RZM14
5
R
RZM13
4
R
RZM12
3
R
RZM11
2
R
RZM10
1
R
RZM9
0
R
RZM8
RMS zero-detect level register, H
rmsZML
Bit
RW
RST
Name
7
R
RZM7
6
R
RZM6
5
R
RZM5
4
R
RZM4
3
R
RZM3
2
R
RZM2
1
R
RZM1
0
R
RZM0
Description
RMS zero detect level register, L
rmsPOx
76/84
D7
D6
D5
D4
D3
D2
D1
D0
RPO15
RPO14
RPO13
RPO12
RPO11
RPO10
RPO9
RPO8
0
0
0
0
0
0
0
0
RPO7
RPO6
RPO5
RPO4
RPO3
RPO2
RPO1
RPO0
0
0
0
0
0
0
0
0
DocID022647 Rev 5
STA321MP
Configuration registers (0x77; 0x78; 0x79)
rmsPOH
Bit
RW
RST
Name
7
R
RPO15
6
R
RPO14
5
R
RPO13
4
R
RPO12
3
R
RPO11
2
R
RPO10
1
R
RPO9
0
R
RPO8
Description
RMS PWM out (post-processing) register, H
rmsPOL
Bit
RW
RST
Name
7
R
RPO7
6
R
RPO6
5
R
RPO5
4
R
RPO4
3
R
RPO3
2
R
RPO2
1
R
RPO1
0
R
RPO0
Description
RMS PWM out (post-processing) register, L
DocID022647 Rev 5
77/84
Startup/shutdown pop noise removal
STA321MP
7
Startup/shutdown pop noise removal
7.1
DPT: PWM and tristate delay (0x80)
D7
7.2
D5
D4
D3
D2
D1
D0
DPT4
DPT3
DPT2
DPT1
DPT0
1
1
1
0
0
Bit
RW
RST
Name
0
RW
0
DPT0
1
RW
0
DPT1
2
RW
1
DPT2
3
RW
1
DPT3
4
RW
1
DPT4
Description
Set a delay between the PWM and the tristate
signal to compensate the external amplifier delay.
Configuration register (0x81)
D7
D6
D5
D4
D3
D2
D1
D0
RL3
RL2
RL1
RL0
RD
SID1
FBYP
RTP
0
0
0
0
0
1
0
1
RST
Name
Bit
78/84
D6
RW
0
RW
1
RTP
Bit
RW
RST
Name
1
RW
0
FBYP
Description
Remove tristate initial pulses
1: remove the tristate initilal pulses with frequency less
than 16 kHz
0: the tristate initial pulses are not removed
Description
Fault user-defined bypass mode
1: the fault internal management is disabled
0: the fault internal management is enabled
DocID022647 Rev 5
STA321MP
Startup/shutdown pop noise removal
Bit
RW
RST
Name
Description
2
RW
1
SID1
Serial interface (I²S out)
1: SDO_56 is connected to the fault signal and SDO_78
outputs the tristate signal
0: I²S out normal
Bit
RW
RST
Name
Description
RD
Startup/shutdown pop noise disable
1: the startup/shutdown tristate sequence used to remove
the pop noise is disabled
0: the startup/shutdown tristate signal sequence used to
remove the pop noise is enabled. This feature is available
only when PWMS output speed is set to 384 kHz.
3
RW
0
Bit
RW
RST
Name
4
RW
0
RL0
5
RW
0
RL1
6
RW
0
RL2
7
RW
0
RL3
Description
Set a tristate duration (same value for
startup/shutdown pop noise removal)
RL[3:0]
7.3
Tristate duration
0000
default duration equal to 116 ms
0001
default value x2
0010
default value x3
0011
default value x4
0100
default value x5
0101
default value x6
0110
default value x7
User-defined delay time (0x82) and (0x83)
D7
D6
D5
D4
D3
D2
D1
D0
UDDT15
UDDT14
UDDT13
UDDT12
UDDT11
UDDT10
UDDT9
UDDT8
0
0
0
0
0
0
0
0
D7
D6
D5
D4
D3
D2
D1
D0
UDDT7
UDDT6
UDDT5
UDDT4
UDDT3
UDDT2
UDDT1
UDDT0
1
1
1
1
1
1
1
1
DocID022647 Rev 5
79/84
Package information
8
STA321MP
Package information
In order to meet environmental requirements, ST offers these devices in different grades of
ECOPACK® packages, depending on their level of environmental compliance. ECOPACK®
specifications, grade definitions and product status are available at: www.st.com.
ECOPACK® is an ST trademark.
Figure 12. TQFP64 (10 x 10 mm) package dimensions
mm
inch
DIM.
MIN.
TYP.
MAX.
A
MIN.
TYP.
1.60
A1
0.05
0.15
0.063
0.002
0.006
A2
1.35
1.40
1.45
0.053
B
0.17
0.22
0.27
0.0066 0.0086 0.0106
0.055
0.057
C
0.09
D
11.80
12.00
12.20
0.464
0.472
0.480
D1
9.80
10.00
10.20
0.386
0.394
0.401
0.0035
D3
7.50
0.295
e
0.50
0.0197
E
11.80
12.00
12.20
0.464
0.472
0.480
E1
9.80
10.00
10.20
0.386
0.394
0.401
0.45
0.60
0.75
0.0177 0.0236 0.0295
E3
7.50
L
OUTLINE AND
MECHANICAL DATA
MAX.
0.295
L1
1.00
K
0˚ (min.), 3.5˚ (min.), 7˚(max.)
0.0393
ccc
0.080
TQFP64 (10 x 10 x 1.4mm)
0.0031
D
D1
A
D3
A2
A1
48
33
49
32
0.08mm ccc
E
E1
E3
B
B
Seating Plane
17
64
1
16
C
L
L1
e
K
TQFP64
0051434 E
80/84
DocID022647 Rev 5
STA321MP
Package information
Table 20. VFQFPN56 (8 x 8 mm) package dimensions
mm
Reference
Min.
Typ.
Max.
A
0.80
0.90
1.00
A1
0
0.05
D
8.00
D2
See exposed pad variations
E
8.00
E2
See exposed pad variations
b
b1
e (pad pitch)
0.25
0.30
0.35
0.20
0.25
0.30
(1)
L1
0.05
0.15
aaa
0.15
bbb
0.10
ddd
0.05
eee
0.08
fff
0.10
ccc
0.10
1. Refer to Figure 13.
Table 21. Exposed pad variations
D2
E2
Variation
Min.
Typ.
Max
Min.
Typ.
Max.
A
5.85
5.90
5.95
5.85
5.90
5.95
B
4.25
4.30
4.35
4.25
4.30
4.35
DocID022647 Rev 5
81/84
Package information
STA321MP
Figure 13. VFQFPN56 (8 x 8 mm) package outline
The axis of each pad must lie simultaneously in both tolerance zones.
(4) - The terminal A1 corner must be identified on the top surface through inked or lasered mark dot.
A distinguishing feature is allowable on the bottom surface of the package, chamfer at die paddle corner to
identify the terminal A1. Exact shape of each corner is optional.
(5) – All dimensions are in mm.
826820
82/84
DocID022647 Rev 5
STA321MP
9
Revision history
Revision history
Table 22. Document revision history
Date
Revision
Changes
07-Feb-2012
1
Initial release
20-Dec-2012
2
Updated pins 17, 21, and 22 in Figure 3: Pin connections STA321MPL - TQFP64 (top
view) and Table 2: Pin description STA321MPL (TQFP64)
05-Mar-2013
3
Updated Description
Updated Table 1: Device summary
Updated Section 1.2: Pin description, Table 2, 3
Updated Table 4, 5, 6, 7
Removed section “Pin description”
Added Section 3: Microphone interface, Figure 5, 6, and Table 9
Added Section 4.4: Read operation
Removed “Application reference schematics” section
Updated Section 5: Registers, Section 5.1, Table 10: Register summary, Section 5.2,
added Figure 9
Added Section 5.2.3: Configuration register D (0x03)
Added Section 5.2.27: Fine volume (FineVol) (0x5B)
Added Section 5.2.32 through Section 5.2.36
Added Section 5.2.42 through Section 5.2.48
Renamed Section 6 and added Section 6.4 and 6.5
Added Section 7: Startup/shutdown pop noise removal
02-May-2013
4
Textual update in Section 3.6: Normal channel attenuation and Interpolation ratio select
03-Sep-2013
5
Added sentence “If XTI input is not used, related pin must be tied to GND”
Chapter 5.2.1: Configuration register A (0x00) on page 27.
DocID022647 Rev 5
83/84
STA321MP
Please Read Carefully:
Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the
right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any
time, without notice.
All ST products are sold pursuant to ST’s terms and conditions of sale.
Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no
liability whatsoever relating to the choice, selection or use of the ST products and services described herein.
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this
document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products
or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such
third party products or services or any intellectual property contained therein.
UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED
WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS
OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
ST PRODUCTS ARE NOT AUTHORIZED FOR USE IN WEAPONS. NOR ARE ST PRODUCTS DESIGNED OR AUTHORIZED FOR USE
IN: (A) SAFETY CRITICAL APPLICATIONS SUCH AS LIFE SUPPORTING, ACTIVE IMPLANTED DEVICES OR SYSTEMS WITH
PRODUCT FUNCTIONAL SAFETY REQUIREMENTS; (B) AERONAUTIC APPLICATIONS; (C) AUTOMOTIVE APPLICATIONS OR
ENVIRONMENTS, AND/OR (D) AEROSPACE APPLICATIONS OR ENVIRONMENTS. WHERE ST PRODUCTS ARE NOT DESIGNED
FOR SUCH USE, THE PURCHASER SHALL USE PRODUCTS AT PURCHASER’S SOLE RISK, EVEN IF ST HAS BEEN INFORMED IN
WRITING OF SUCH USAGE, UNLESS A PRODUCT IS EXPRESSLY DESIGNATED BY ST AS BEING INTENDED FOR “AUTOMOTIVE,
AUTOMOTIVE SAFETY OR MEDICAL” INDUSTRY DOMAINS ACCORDING TO ST PRODUCT DESIGN SPECIFICATIONS.
PRODUCTS FORMALLY ESCC, QML OR JAN QUALIFIED ARE DEEMED SUITABLE FOR USE IN AEROSPACE BY THE
CORRESPONDING GOVERNMENTAL AGENCY.
Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void
any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any
liability of ST.
ST and the ST logo are trademarks or registered trademarks of ST in various countries.
Information in this document supersedes and replaces all information previously supplied.
The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners.
© 2013 STMicroelectronics - All rights reserved
STMicroelectronics group of companies
Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan Malaysia - Malta - Morocco - Philippines - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America
www.st.com
84/84
DocID022647 Rev 5