■ 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
2
■ 3 I
S data outputs
2
■ I
S data output channel mapping function
■ Independent channel volume and DSP bypass
■ Channel mapping of any input to any
processing channel
Applications
■ Tablets
■ Smartphones
■ Gaming
■ Audio conference sets
■ Legacy microphone-equipped devices
STA321MP
TQFP - 64
10 mm x 10 mm
Description
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
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 clock to the PDM interface is provided on this pin and will be used by the device to
sample the digital microphone data. This clock must be used to clock both the interface and
the microphones. The clock frequency must not exceed the upper limit of the microphone’s
specific clock frequency (please refer to the datasheet of the specific microphone used).
PDM input channels (PDMIN_1/6)
Audio information enters the device through the PDM input channels. These input pins
receive the digital output signal from the microphones.
RESET
Driving this pin low turns off the outputs and returns all settings to their defaults.
I2C bus
The SDA and SCL pins operate per the Phillips I2C specification. See Section 5: I2C bus
operation.
Phase-locked loop (PLL)
The phase-locked loop section provides the system timing signals and CKOUT.
Clock output (CKOUT)
System synchronization and master clocks are provided by CKOUT. This clock can be
conveniently divided and then used to clock both the PDM interface and the microphones.
Please refer to Figure 6.
PWM outputs (OUT1 through OUT8)
The PWM outputs provide the input signal for the power devices.
Serial data out (SDO_12, SDO_34, SDO_56, SDO_78)
These are the outputs for audio information. Six different formats are available including I2S,
left- or right-justified, LSB or MSB first, with word widths of 16, 18, 20 and 24 bits.
Device power-down (PWDN)
Pulling PWDN low begins the power-down sequence which puts the STA321MP into a
low-power state. EAPD (pin 45 of the VFQFN-56 or pin 51 of the TQFP-64) goes low
approximately 30 ms later.
14/50Doc ID 022647 Rev 1
STA321MPI2C bus operation
5 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.
5.1 Communication protocol
5.1.1 Data transition or change
Data changes on the SDA line must only occur when the SCL clock is low. SDA transition
while the clock is high is used to identify a START or STOP condition.
5.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.
5.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
STA321MP and the bus master.
5.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.
5.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 to 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 I
definition. In the STA321MP the I
SA port configuration, 0x40 or 0100000x when SA = 0, and 0x42 or 0100001x when SA = 1.
th
The 8
0 for write mode. After a START condition the STA321MP identifies on the bus the device
bit (LSB) identifies a read or write operation RW, this bit is set to 1 in read mode and
2
C interface has two device addresses depending on the
2
C bus
Doc ID 022647 Rev 115/50
I2C bus operationSTA321MP
A
A
A
A
A
A
A
address and if a match is found, it acknowledges the identification on SDA bus during the
th
9
-bit time. The byte following the device identification byte is the internal space address.
5.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 then waits for the byte of internal address.
After receiving the internal byte address the STA321MP again responds with an
acknowledgement.
5.3.1 Byte write
In the byte write mode the master sends one data byte, which is acknowledged by the FFX
core. The master then terminates the transfer by generating a STOP condition.
5.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 4.Write mode sequence
BYTE
WRITE
MULTIBYTE
WRITE
DEV-ADDR
START
DEV-ADDR
START
ACK
SUB-ADDR
RW
ACK
SUB-ADDR
RW
Figure 5.Read mode sequence
CURRENT
ADDRESS
READ
RANDOM
ADDRESS
READ
SEQUENTIAL
CURRENT
READ
SEQUENTIAL
RANDOM
READ
START
START
START
START
DEV-ADDR
DEV-ADDR
DEV-ADDR
DEV-ADDR
RW=
HIGH
ACK
RW
ACK
RW
ACK
ACK
RW
NO ACK
DATA
ACK
SUB-ADDR
ACK
DATA
ACK
SUB-ADDR
STOP
DATA
DEV-ADDR
DEV-ADDR
ACK
ACK
DATA IN
DATA IN
CK
STOP
CK
DATA IN
CK
STOP
AM045330v1
CK
WRTRATS
ACK
CK
WRTRATS
DATA
DATA
DATA
NO ACK
NO ACK
STOP
STOP
CK
DATA
CKNO ACK
DATA
STOP
AM045331v1
16/50Doc ID 022647 Rev 1
STA321MPApplication reference schematic
6 Application reference schematic
Figure 6.Reference schematic for STA321MP-based application
Master clock select: selects the ratio between the
input sampling frequency (PDM I/FCLK) and the
input clock(XTI).
The STA321MP supports a sampling rate of 2.8224 MHz. Therefore the internal clock is:
●90.3168 MHz for the respective sampling frequency
The external clock frequency provided to the XTI pin must be a multiple of the input
sampling frequency (fs). The relationship between the input clock and the input sampling
rate is determined by both the MCSn and the IRn (input rate) register bits. The MCSn bits
determine the PLL factor generating the internal clock and the IRn bits determine the
oversampling ratio used internally.
Input sampling rate
fs (kHz)
IR
1XX011010001000
MCS[2:0]
PDM I/F 2822.4112 * fs4 * fs6 * fs8 * fs10 * fs
Interpolation ratio select
BitRWRSTNameDescription
3RW0IR0Interpolation ratio select: selects the internal
4RW 0 IR1
interpolation ratio based on the input sampling
frequency
The STA321MP has variable interpolation (oversampling) settings such that internal
processing and FFX output rates remain consistent. The first processing block interpolates
by either 4 times, 2 times, or 1 time (pass-through).
The oversampling ratio of this interpolation is determined by the IR bits.
I
IR[1,0]
Input sampling rate
Fs (kHz)
112822.4PDM CLK to 176.4 kHz conversion
Doc ID 022647 Rev 121/50
st
stage interpolation ratio
1
RegistersSTA321MP
BitRWRSTNameDescription
DSP bypass bit:
0RW0DSPB
0: normal operation
1: bypass of biquad and bass/treble functions
Setting the DSPB bit bypasses the biquad function of the FFX core.
●External Dual Flip Flop PDM I/F = CKOUT/4 = 2.8224 MHz, also provided to the
microphones
●MCS[2:0]= 011: XTI /Fs = 4
22/50Doc ID 022647 Rev 1
STA321MPRegisters
7.2.2 Configuration register C (0x02) - serial output formats
D7D6D5D4D3D2D1D0
SAOFBSAO3SAO2SAIOSAO0
00000
BitRWRSTNameDescription
0RW 0 SAO0
1RW 0 SAO1
2RW 0 SAO2
3RW 0 SAO3
The STA321MP features a serial audio output interface that consists of 8 channels.
The serial audio output acts as a master with an output sampling frequency of 176.4 kHz.
The output serial format can be selected independently from the input format and is done
via the SAO and SAOFB bits.
BitRWRSTNameDescription
Serial audio output interface format: determines the
interface format of the output serial digital audio
interface.
Determines MSB or LSB first for all SAO formats:
4RW 0 SAOFB
0: MSB first
1: LSB first
BICKI = BICKOSAO[3:0]Interface data format
2
0111I
S data
32 * fs
1111Left/right-justified 16-bit data
1110I
2
S data
0001Left-justified data
1010Right-justified 24-bit data
48 * fs
1011Right-justified 20-bit data
1100Right-justified 18-bit data
1101Right-justified 16-bit data
0000I
2
S data
0001Left-justified data
0010Right-justified 24-bit data
64 * fs
0011Right-justified 20-bit data
0100Right-justified 18-bit data
0101Right-justified 16-bit data
Doc ID 022647 Rev 123/50
RegistersSTA321MP
7.2.3 Configuration register E (0x04)
D7D6D5D4D3D2D1D0
C8BOC7BOC6BOC5BOC4BOC3BOC2BOC1BO
00000000
BitRWRSTNameDescription
0RW 0 C1BO
1RW 0 C2BO
2RW 0 C3BO
3RW 0 C4BO
4RW 0 C5BO
5RW 0 C6BO
6RW 0 C7BO
7RW 0 C8BO
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.
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.
7.2.4 Configuration register F (0x05)
D7D6D5D4D3D2D1D0
PWMS2PWMS1PWMS0BQLPSLDEMPDRCHPB
00000000
BitRWRSTNameDescription
0RW 0 HPB
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.
BitRWRSTNameDescription
1RW0DRC
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.
High-pass filter bypass bit: a setting of 1 bypasses
the internal AC coupling digital high-pass filter
Dynamic range compression/anti-clipping
0: limiters act in anti-clipping mode
1: limiters act in dynamic range compression mode
24/50Doc ID 022647 Rev 1
STA321MPRegisters
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.
BitRWRSTNameDescription
De-emphasis:
2RW 0 DEMP
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.
BitRWRSTNameDescription
Post-scale link:
3RW0PSL
0: each channel uses individual post-scale values
1: each channel uses channel 1 post-scale values
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.
BitRWRSTNameDescription
Biquad link:
4RW 0 BQL
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.
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.
BitRWRSTNameDescription
AM2 mode enable:
4RW 0 AM2E
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.
BitRWRSTNameDescription
FFX headphone enable:
5RW 0 HPE
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.
26/50Doc ID 022647 Rev 1
STA321MPRegisters
BitRWRSTNameDescription
Distortion compensation variable enable:
6RW0DCCV
0: uses preset DC coefficient
1: uses DCC coefficient
BitRWRSTNameDescription
Max power correction variable:
7RW 0 MPCV
0: use standard MPC coefficient
1: use MPCC bits for MPC coefficient
7.2.6 Configuration register H (0x07)
D7D6D5D4D3D2D1D0
ECLELDTEBCLEIDEZDESVEZCENSBW
01111110
BitRWRSTNameDescription
Noise-shaper bandwidth selection:
0RW0NSBW
1: 3
rd
order NS
0: 4th order NS
BitRWRSTNameDescription
Zero-crossing volume enable:
1RW1 ZCE
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.
Zero-detect mute enable: setting of 1 enables the
automatic zero-detect mute
Setting the ZDE bit enables the zero-detect automatic mute. The zero-detect circuit looks at
the input data to each processing channel after the channel-mapping block. If any channel
receives 2048 consecutive zero value samples (regardless of fs), then that individual
channel is muted if this function is enabled.
Setting the IDE bit enables this function, which looks at the input I2S data and will
automatically mute if the signals are perceived as invalid.
BitRWRSTNameDescription
5RW1BCLEBinary output mode clock loss detection enable
The BCLE bit detects loss of input MCLK in binary mode and will output 50% duty cycle.
BitRWRSTNameDescription
6RW1LDTELRCLK double trigger protection enable
The LDTE bit actively prevents double triggering of LRCLK.
BitRWRSTNameDescription
7RW1ECLEAuto EAPD on clock loss
The ECLE bit controls the device power down signal (EAPD) on clock loss detection. This
function is enabled by default. It is strongly recommended to avoid spurious noise during the
on-off sequence. The STA321MP has the ECLE bit set to 0.
7.2.7 Configuration register I (0x08)
D7D6D5D4D3D2D1D0
EAPDPSCE
00
This feature utilizes an ADC on SDI78 that provides power supply ripple information for
correction. Registers PSC1, PSC2, PSC3 are utilized in this mode.
BitRWRSTNameDescription
0RW0PSCE
BitRWRSTNameDescription
7RW0EAPD
Power supply ripple correction enable:
0: normal operation
1: PSCorrect operation
External amplifier power down:
0: external power stage power-down active
1: normal operation
28/50Doc ID 022647 Rev 1
STA321MPRegisters
7.2.8 Master mute register (0x09)
D7D6D5D4D3D2D1D0
MMUTE
0
7.2.9 Master volume register (0x0A)
D7D6D5D4D3D2D1D0
MV7MV6MV5MV4MV3MV2MV1MV0
11111111
Note:The value of the volume derived from MVOL is dependent on the AMV AutoMode volume
settings.
7.2.10 Channel 1 volume (0x0B)
D7D6D5D4D3D2D1D0
C1V7C1V6C1V5C1V4C1V3C1V2C1V1C1V0
01100000
7.2.11 Channel 2 volume (0x0C)
D7D6D5D4D3D2D1D0
C2V7C2V6C2V5C2V4C2V3C2V2C2V1C2V0
01100000
7.2.12 Channel 3 volume (0x0D)
D7D6D5D4D3D2D1D0
C3V7C3V6C3V5C3V4C3V3C3V2C3V1C3V0
01100000
7.2.13 Channel 4 volume (0x0E)
D7D6D5D4D3D2D1D0
C4V7C4V6C4V5C4V4C4V3C4V2C4V1C4V0
01100000
Doc ID 022647 Rev 129/50
RegistersSTA321MP
7.2.14 Channel 5 volume (0x0F)
D7D6D5D4D3D2D1D0
C5V7C5V6C5V5C5V4C5V3C5V2C5V1C5V0
01100000
7.2.15 Channel 6 volume (0x10)
D7D6D5D4D3D2D1D0
C6V7C6V6C6V5C6V4C6V3C6V2C6V1C6V0
01100000
7.2.16 Channel 7 volume (0x11)
D7D6D5D4D3D2D1D0
C7V7C7V6C7V5C7V4C7V3C7V2C7V1C7V0
01100000
7.2.17 Channel 8 volume (0x12)
D7D6D5D4D3D2D1D0
C8V7C8V6C8V5C8V4C8V3C8V2C8V1C8V0
01100000
7.2.18 Channel 1 volume trim, mute, bypass (0x13)
D7D6D5D4D3D2D1D0
C1MC1VBPC1VT4C1VT3C1VT2C1VT1C1VT0
00010000
7.2.19 Channel 2 volume trim, mute, bypass (0x14)
D7D6D5D4D3D2D1D0
C2MC2VBPC2VT4C2VT3C2VT2C2VT1C2VT0
00010000
7.2.20 Channel 3 volume trim, mute, bypass (0x15)
D7D6D5D4D3D2D1D0
C3MC3VBPC3VT4C3VT3C3VT2C3VT1C3VT0
00010000
30/50Doc ID 022647 Rev 1
STA321MPRegisters
7.2.21 Channel 4 volume trim, mute, bypass (0x16)
D7D6D5D4D3D2D1D0
C4MC4VBPC4VT4C4VT3C4VT2C4VT1C4VT0
00010000
7.2.22 Channel 5 volume trim, mute, bypass (0x17)
D7D6D5D4D3D2D1D0
C5MC5VBPC5VT4C5VT3C5VT2C5VT1C5VT0
00010000
7.2.23 Channel 6 volume trim, mute, bypass (0x18)
D7D6D5D4D3D2D1D0
C6MC6VBPC6VT4C6VT3C6VT2C6VT1C6VT0
00010000
7.2.24 Channel 7 volume trim, mute, bypass (0x19)
D7D6D5D4D3D2D1D0
C7MC7VBPC7VT4C7VT3C7VT2C7VT1C7VT0
00010000
7.2.25 Channel 8 volume trim, mute, bypass (0x1A)
D7D6D5D4D3D2D1D0
C8MC8VBPC8VT4C8VT3C8VT2C8VT1C8VT0
00010000
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 the 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. 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
Doc ID 022647 Rev 131/50
RegistersSTA321MP
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
0x000 dB
0x01-0.5 dB
0x02-1 dB
……
0x4C-38 dB
……
0xFE-127 dB
0xFFHardware channel mute
CnV[7:0]Volume
0x00+48 dB
0x01+47.5 dB
0x02+47 dB
……
0x5F+0.5 dB
0x600 dB
0x61-0.5 dB
……
0xFE-79.5 dB
0xFFHardware channel mute
CnVT[4:0]Volume
0x00 to 0x06+10 dB
0x07+9 dB
……
0x0F+1 dB
0x100 dB
0x11-1 dB
……
0x19-9 dB
0x1A to 0x1F-10 dB
32/50Doc ID 022647 Rev 1
STA321MPRegisters
7.2.26 Channel input mapping channels 1 and 2 (0x1B)
D7D6D5D4D3D2D1D0
C2IM2C2IM1C2IM0C1IM2C1IM1C1IM0
001000
7.2.27 Channel input mapping channels 3 and 4 (0x1C)
D7D6D5D4D3D2D1D0
C4IM2C4IM1C4IM0C3IM2C3IM1C3IM0
011010
7.2.28 Channel input mapping channels 5 and 6 (0x1D)
D7D6D5D4D3D2D1D0
C6IM2C6IM1C6IM0C5IM2C5IM1C5IM0
101100
7.2.29 Channel input mapping channels 7 and 8 (0x1E)
D7D6D5D4D3D2D1D0
C8IM2C8M1C8IM0C7IM2C7IM1C7IM0
111110
Each channel received via I2S 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
000Channel 1
001Channel 2
010Channel 3
011Channel 4
100Channel 5
101Channel 6
110Channel 7
111Channel 8
2
S input channel to its corresponding processing channel.
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.
BitRWRSTNameDescription
For n = 1 to 8:
0: input from channel n MIX#1 engine output - normal
Each internal processing channel can receive two possible sets of inputs at the inputs 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.
BitRWRSTNameDescription
For n = 1 to 8:
0: inputs to channel n MIX#1 engine from interpolation
7:0RW0CnMXLP
outputs - normal operation
1: inputs to channel n MIX#1 engine from MIX#2 engine
outputs - loop operation
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.
BitRWRSTNameDescription
7:0RW0CnEQBP
7.2.33 Tone control bypass (0x2B)
D7D6D5D4D3D2D1D0
C8TCBC7TCBC6TCBC5TCBC4TCBC3TCBC2TCBC1TCB
00000000
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.
For n = 1 to 8:
0: perform EQ on channel n - normal operation
1: bypass EQ on channel n
Doc ID 022647 Rev 135/50
RegistersSTA321MP
7.2.34 Tone control (0x2C)
D7D6D5D4D3D2D1D0
TTC3TTC2TTC1TTC0BTC3BTC2BTC1BTC0
01110111
This is the tone control boost / cut as a function of the BTC and TTC bits.
BTC[3:0] / TTC[3:0)Boost / cut
0000-12 dB
0001-12 dB
……
0111-4 dB
0110-2 dB
01110 dB
1000+2 dB
1001+4 dB
……
1101+12 dB
1110+12 dB
1111+12dB
7.2.35 Channel 1 and 2 output timing (0x33)
D7D6D5D4D3D2D1D0
C2OT2C2OT1C2OT0C1OT2C1OT1C1OT0
100000
7.2.36 Channel 3 and 4 output timing (0x34)
D7D6D5D4D3D2D1D0
C4OT2C4OT1C4OT0C3OT2C3OT1C3OT0
110010
7.2.37 Channel 5 and 6 output timing (0x35)
D7D6D5D4D3D2D1D0
C6OT2C6OT1C6OT0C5OT2C5OT1C5OT0
101001
36/50Doc ID 022647 Rev 1
STA321MPRegisters
7.2.38 Channel 7 and 8 output timing (0x36)
D7D6D5D4D3D2D1D0
C8OT2C8OT1C8OT0C7OT2C7OT1C7OT0
111011
The centering of the individual channel PWM output periods can be adjusted by the output
timing registers. 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]PWM slot
0001
0012
0103
0114
1005
1016
1107
1118
7.2.39 Channel I2S output mapping channels 1 and 2 (0x37)
D7D6D5D4D3D2D1D0
C2OM2C2OM1C2OM0C1OM2C1OM1C1OM0
001000
7.2.40 Channel I2S output mapping channels 3 and 4 (0x38)
D7D6D5D4D3D2D1D0
C4OM2C4OM1C4OM0C3OM2C3OM1C3OM0
011010
7.2.41 Channel I2S output mapping channels 5 and 6 (0x39)
D7D6D5D4D3D2D1D0
C6OM2C6OM1C6OM0C5OM2C5OM1C5OM0
101100
Doc ID 022647 Rev 137/50
RegistersSTA321MP
7.2.42 Channel I2S output mapping channels 7 and 8 (0x3A)
D7D6D5D4D3D2D1D0
C8OM2C8M1C8OM0C7OM2C7OM1C7OM0
111110
Each I2S output channel can receive data from any channel output of the volume block.
Which channel a particular I
2
S output receives is dependent upon that channel’s CnOM
register bits.
CnOM[2:0]Serial output from
000Channel 1
001Channel 2
010Channel 3
011Channel 4
100Channel 5
101Channel 6
110Channel 7
111Channel 8
7.2.43 Coefficient address register 1 (0x3B)
D7D6D5D4D3D2D1D0
CFA9CFA8
00
7.2.44 Coefficient address register 2 (0x3C)
D7D6D5D4D3D2D1D0
CFA7CFA6CFA5CFA4CFA3CFA2CFA1CFA0
00000000
7.2.45 Coefficient b1 data register, bits 23:16 (0x3D)
D7D6D5D4D3D2D1D0
C1B23C1B22C1B21C1B20C1B19C1B18C1B17C1B16
00000000
38/50Doc ID 022647 Rev 1
STA321MPRegisters
7.2.46 Coefficient b1 data register, bits 15:8 (0x3E)
D7D6D5D4D3D2D1D0
C1B15C1B14C1B13C1B12C1B11C1B10C1B9C1B8
00000000
7.2.47 Coefficient b1 data register, bits 7:0 (0x3F)
D7D6D5D4D3D2D1D0
C1B7C1B6C1B5C1B4C1B3C1B2C1B1C1B0
00000000
7.2.48 Coefficient b2 data register, bits 23:16 (0x40)
D7D6D5D4D3D2D1D0
C2B23C2B22C2B21C2B20C2B19C2B18C2B17C2B16
00000000
7.2.49 Coefficient b2 data register, bits 15:8 (0x41)
D7D6D5D4D3D2D1D0
C2B15C2B14C2B13C2B12C2B11C2B10C2B9C2B8
00000000
7.2.50 Coefficient b2 data register, bits 7:0 (0x42)
D7D6D5D4D3D2D1D0
C2B7C2B6C2B5C2B4C2B3C2B2C2B1C2B0
00000000
7.2.51 Coefficient a1 data register, bits 23:16 (0x43)
D7D6D5D4D3D2D1D0
C1B23C1B22C1B21C1B20C1B19C1B18C1B17C1B16
00000000
7.2.52 Coefficient a1 data register, bits 15:8 (0x44)
D7D6D5D4D3D2D1D0
C3B15C3B14C3B13C3B12C3B11C3B10C3B9C3B8
00000000
Doc ID 022647 Rev 139/50
RegistersSTA321MP
7.2.53 Coefficient a1 data register, bits 7:0 (0x45)
D7D6D5D4D3D2D1D0
C3B7C3B6C3B5C3B4C3B3C3B2C3B1C3B0
00000000
7.2.54 Coefficient a2 data register, bits 23:16 (0x46)
D7D6D5D4D3D2D1D0
C4B23C4B22C4B21C4B20C4B19C4B18C4B17C4B16
00000000
7.2.55 Coefficient a2 data register, bits 15:8 (0x47)
D7D6D5D4D3D2D1D0
C4B15C4B14C4B13C4B12C4B11C4B10C4B9C4B8
00000000
7.2.56 Coefficient a2 data register, bits 7:0 (0x48)
D7D6D5D4D3D2D1D0
C4B7C4B6C4B5C4B4C4B3C4B2C4B1C4B0
00000000
7.2.57 Coefficient b0 data register, bits 23:16 (0x49)
D7D6D5D4D3D2D1D0
C5B23C5B22C5B21C5B20C5B19C5B18C5B17C5B16
00000000
7.2.58 Coefficient b0 data register, bits 15:8 (0x4A)
D7D6D5D4D3D2D1D0
C5B15C5B14C5B13C5B12C5B11C5B10C5B9C5B8
00000000
7.2.59 Coefficient b0 data register, bits 7:0 (0x4B)
D7D6D5D4D3D2D1D0
C5B7C5B6C5B5C5B4C5B3C5B2C5B1C5B0
00000000
40/50Doc ID 022647 Rev 1
STA321MPRegisters
7.2.60 Coefficient write control register (0x4C)
D7D6D5D4D3D2D1D0
WAW1
00
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 I
A collection of I
2
C registers are dedicated to this function. One contains a coefficient base
2
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.
7.3 Reading a coefficient from RAM
1.Write the top 2 bits of the address to I2C register 0x3B
2. Write the bottom 8 bits of the address to I
3. Read the top 8 bits of the coefficient from I
4. Read the middle 8 bits of the coefficient from I
5. Read the bottom 8 bits of the coefficient from I
2
C register 0x3C
2
C address 0x3D
2
C address 0x3E
2
C address 0x3F
7.4 Reading a set of coefficients from RAM
1.Write the top 2 bits of the address to I2C register 0x3B
2. Write the bottom 8 bits of the address to I
3. Read the top 8 bits of the coefficient from I
4. Read the middle 8 bits of the coefficient from I
5. Read the bottom 8 bits of the coefficient from I
6. Read the top 8 bits of coefficient b2 from I
7. Read the middle 8 bits of coefficient b2 from I
8. Read the bottom 8 bits of coefficient b2 from I
9. Read the top 8 bits of coefficient a1 from I
10. Read the middle 8 bits of coefficient a1 from I
11. Read the bottom 8 bits of coefficient a1 from I
12. Read the top 8 bits of coefficient a2 from I
13. Read the middle 8 bits of coefficient a2 from I
14. Read the bottom 8 bits of coefficient a2 from I
15. Read the top 8 bits of coefficient b0 from I
16. Read the middle 8 bits of coefficient b0 from I
17. Read the bottom 8 bits of coefficient b0 from I
2
C register 0x3C
2
C address 0x3D
2
C address 0x3E
2
C address 0x3F
2
C address 0x40
2
C address 0x41
2
C address 0x42
2
C address 0x43
2
C address 0x44
2
C address 0x45
2
C address 0x46
2
C address 0x47
2
C address 0x48
2
C address 0x49
2
C address 0x4A
2
C address 0x4B
C register interface.
Doc ID 022647 Rev 141/50
RegistersSTA321MP
7.5 Writing a single coefficient to RAM
1.Write the top 2 bits of the address to I2C register 0x3B
2. Write the bottom 8 bits of the address to I
3. Write the top 8 bits of the coefficient in I
4. Write the middle 8 bits of the coefficient in I
5. Write the bottom 8 bits of the coefficient in I
6. Write 1 to the W1 bit in I
2
C address 0x4C
2
C register 0x3C
2
C address 0x3D
2
C address 0x3E
2
C address 0x3F
7.6 Writing a set of coefficients to RAM
1.Write the top 2 bits of the starting address to I2C register 0x3B
2. Write the bottom 8 bits of the starting address to I
3. Write the top 8 bits of coefficient b1 in I
4. Write the middle 8 bits of coefficient b1 in I
2
C address 0x3D
2
5. Write the bottom 8 bits of coefficient b1 in I
6. Write the top 8 bits of coefficient b2 in I
7. Write the middle 8 bits of coefficient b2 in I
2
C address 0x40
2
8. Write the bottom 8 bits of coefficient b2 in I
9. Write the top 8 bits of coefficient a1 in I
10. Write the middle 8 bits of coefficient a1 in I
2
C address 0x43
2
11. Write the bottom 8 bits of coefficient a1 in I
12. Write the top 8 bits of coefficient a2 in I
13. Write the middle 8 bits of coefficient a2 in I
2
C address 0x46
2
14. Write the bottom 8 bits of coefficient a2 in I
15. Write the top 8 bits of coefficient b0 in I
16. Write the middle 8 bits of coefficient b0 in I
2
C address 0x49
2
17. Write the bottom 8 bits of coefficient b0 in I
18. Write 1 to the WA bit in I
2
C address 0x4C
2
C register 0x3C
C address 0x3E
2
C address 0x3F
C address 0x41
2
C address 0x42
C address 0x44
2
C address 0x45
C address 0x47
2
C address 0x48
C address 0x4A
2
C address 0x4B
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 specifies 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.
42/50Doc ID 022647 Rev 1
STA321MPEqualization and mixing
8 Equalization and mixing
Figure 8.Channel mixer
CxMIX1
Channel 1
CxMIX2
Channel 2
CxMIX3
Channel 3
8.1 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 I
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 channel 1 by setting the postscale link bit.
Table 10.RAM block for biquads, mixing, and bass management
Channel 4
Channel 5
Channel 6
Channel 7
Channel 8
CxMIX4
CxMIX5
CxMIX6
CxMIX7
CxMIX8
Chann el x
2
C registers as the
AM045333v1
Index
(decimal)
Index
(hex)
CoefficientDefault
00x00Channel 1 - Biquad 1C1H10 (b1/2)0x000000
10x01C1H11 (b2)0x000000
20x02C1H12 (a1/2)0x000000
30x03C1H13 (a2)0x000000
40x04C1H14 (b0/2)0x400000
50x05Channel 1 - Biquad 2C1H200x000000
Doc ID 022647 Rev 143/50
Equalization and mixingSTA321MP
Table 10.RAM block for biquads, mixing, and bass management (continued)
Index
(decimal)
……………
490x31Channel 1 - Biquad 10C1HA40x400000
500x32Channel 2 - Biquad 1C2H100x000000
510x33C2H110x000000
……………
990x63Channel 2 - Biquad 10C2HA40x4000000
1000x64Channel 3 - Biquad 1C3H100x000000
……………
3990x18FChannel 8 - Biquad 10C8HA40x400000
4000x190Channel 1 - Pre-ScaleC1PreS0x7FFFFF
4010x191Channel 2 - Pre-ScaleC2PreS0x7FFFFF
402 0x192Channel 3 - Pre-ScaleC3PreS0x7FFFFF
……………
407 0x197Channel 8 - Pre-ScaleC8PreS0x7FFFFF
4080x198Channel 1 - Post-ScaleC1PstS0x7FFFFF
4090x199Channel 2 - Post-ScaleC2PstS0x7FFFFF
……………
Index
(hex)
CoefficientDefault
4150x19FChannel 8 - Post-ScaleC8PstS0x7FFFFF
4160x1A0Channel 1 - Mix#1 1C1MX110x7FFFFF
4170x1A1Channel 1 - Mix#1 2C1MX120x000000
……………
4230x1A7Channel 1 - Mix#1 8C1MX180x000000
4240x1A8Channel 2 - Mix#1 1C2MX110x000000
4250x1A9Channel 2 - Mix#1 2C2MX120x7FFFFF
……………
4630x1CFChannel 8 - Mix#1 8C8MX180x7FFFFF
4640x1D0Channel 1 - Mix#2 1C1MX210x7FFFFF
4650x1D1Channel 1 - Mix#2 2C1MX220x000000
……………
4710x1D7Channel 1 - Mix#2 8C1MX280x000000
4720x1D8Channel 2 - Mix#2 1C2MX210x000000
4730x1D9Channel 2 - Mix#2 2C2MX220x7FFFFF
……………
5270x20FChannel 8 - Mix#2 8C8MX280x7FFFFF
44/50Doc ID 022647 Rev 1
STA321MPEqualization and mixing
8.2 Variable max power correction
8.2.1 MPCC1-2 (0x4D, 0x4E)
The MPCC bits determine the 16 MSBs of the MPC compensation coefficient. This
coefficient is used in place of the default coefficient when MPCV = 1.
D7D6D5D4D3D2D1D0
MPCC15MPCC14MPCC13MPCC12MPCC11MPCC10MPCC9MPCC8
00101101
D7D6D5D4D3D2D1D0
MPCC7MPCC6MPCC5MPCC4MPCC3MPCC2MPCC1MPCC0
11000000
8.3 Variable distortion compensation
8.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.
D7D6D5D4D3D2D1D0
DCC15DCC14DCC13DCC12DCC11DCC10DCC9DCC8
11110011
D7D6D5D4D3D2D1D0
DCC7DCC6DCC5DCC4DCC3DCC2DCC1DCC0
00110011
8.4 Reserved registers
●Address: (0x01)
●Address: (0x03)
●Address: (0x51, 0x52)
●Address(0x53)
Doc ID 022647 Rev 145/50
Package informationSTA321MP
9 Package information
In order to meet environmental requirements, ST offers these devices in different grades of
ECOPACK
specifications, grade definitions and product status are available at: www.st.com.
ECOPACK
®
packages, depending on their level of environmental compliance. ECOPACK®
®
is an ST trademark.
9.1 TQFP64 package
Figure 9.TQFP64 (10 x 10 x 1.4 mm) mechanical data and package dimensions
DIM.
A1.600.063
A10.050.15 0.0020.006
A21.35 1.40 1.45 0.053 0.055 0.057
B0.17 0.22 0.27 0.006 6 0.0086 0.0106
C0.090.0035
D11.80 12.00 12.20 0.464 0 .472 0.480
D19.80 10.00 10.2 0 0.3860.394 0.401
D37.500.295
e0.500.0197
E11.80 12.00 12.20 0.464 0.472 0.480
E19.80 10. 00 10.20 0.3860.394 0.401
E37.500.295
L0 .45 0.60 0.75 0.0177 0.0236 0.0295
L11.000. 0393
K0˚ (min.), 3.5˚ (min.), 7˚(max.)
ccc0.0800.0031
mminch
MIN. TYP. MAX. MIN. TYP. MAX.
OUTLINE AND
MECHANICAL DATA
TQFP64 (10 x 10 x 1.4mm)
D
D1
D3
48
49
B
64
1
e
TQFP64
33
32
E3
17
16
46/50Doc ID 022647 Rev 1
A
A2
A1
0.08mm
ccc
Seating Plane
B
E
E1
C
L1
L
K
0051434 E
STA321MPPackage information
9.2 VFQFPN56 package
Figure 10. VFQFPN56 (8 x 8 x 0.9 mm) package mechanical outline
8268201_B
Doc ID 022647 Rev 147/50
Package informationSTA321MP
Table 11.VFQFPN56 (8 x 8 x 0.9 mm) package dimensions
mm
Reference
Min.Typ.Max.
A0.800.901.00
A100.05
D8.00
D2Refer to the exposed pad variations in Ta bl e 1 2
E8.00
E2Refer to the exposed pad variations in Ta bl e 1 2
b0.250.300.35
b10.200.250.30
e (pad pitch)
(1)
L10.050.15
aaa0.15
bbb0.10
ddd0.05
eee0.08
fff0.10
ccc0.10
1. Refer to Figure 10 on page 47
Table 12.Exposed pad variations
D2E2
Var iat ion
Min.Typ.Max.Min.Typ.Max.
A5.855.905.955.855.905.95
B4.254.304.354.254.304.35
48/50Doc ID 022647 Rev 1
STA321MPRevision history
10 Revision history
Table 13.Document revision history
DateRevisionChanges
07-Feb-20121Initial release.
Doc ID 022647 Rev 149/50
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.
UNLESS EXPRESSLY APPROVED IN WRITING BY TWO AUTHORIZED ST REPRESENTATIVES, ST PRODUCTS ARE NOT
RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING
APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY,
DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE
GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK.
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.