STA380BW STMicroelectronics
STA380BW STMicroelectronics
STA380BW STMicroelectronics
Sound Terminal®
2.1-channel high-efficiency digital audio system
Datasheet - production data
Contents
1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2 Pin connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.1 Connection diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Electrical specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1 Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.2 Thermal data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3 Recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.4 Electrical specifications - digital section . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 Electrical specifications - power section . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.6 Power on/off sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Device overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.1 Processing data path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
4.2 Input oversampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3 STCompressorTM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.1 STC block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.2 Band splitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.3 Level meter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.4 Mapper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
4.3.5 Attenuator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.6 Dynamic attack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
4.3.7 Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.8 Stereo link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.3.9 Programming of coefficients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.3.10 Memory map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.22 Dynamic control registers (addr 0x23 - 0x26 / addr 0x43 - 0x46) . . . . . . 72
6.22.1 Limiter 1 attack/release rate (L1AR addr 0x23) . . . . . . . . . . . . . . . . . . . 72
6.22.2 Limiter 1 attack/release threshold (L1ATRT addr 0x24) . . . . . . . . . . . . 72
6.22.3 Limiter 2 attack/release rate ( L2AR addr 0x25) . . . . . . . . . . . . . . . . . . 72
6.22.4 Limiter 2 attack/release threshold ( L2 ATRT addr 0x26) . . . . . . . . . . . . 72
6.22.5 Limiter 1 extended attack threshold (addr 0x43) . . . . . . . . . . . . . . . . . . 76
6.22.6 Limiter 1 extended release threshold (addr 0x44) . . . . . . . . . . . . . . . . . 76
6.22.7 Limiter 2 extended attack threshold (addr 0x45) . . . . . . . . . . . . . . . . . . 77
6.22.8 Limiter 2 extended release threshold (addr 0x46) . . . . . . . . . . . . . . . . . 77
6.23 User-defined coefficient control registers (addr 0x27 - 0x37) . . . . . . . . . . 77
6.23.1 Coefficient address register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.23.2 Coefficient b1 data register bits 23:16 . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.23.3 Coefficient b1 data register bits 15:8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.23.4 Coefficient b1 data register bits 7:0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.23.5 Coefficient b2 data register bits 23:16 . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.23.6 Coefficient b2 data register bits 15:8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.23.7 Coefficient b2 data register bits 7:0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.23.8 Coefficient a1 data register bits 23:16 . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.23.9 Coefficient a1 data register bits 15:8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.23.10 Coefficient a1 data register bits 7:0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.23.11 Coefficient a2 data register bits 23:16 . . . . . . . . . . . . . . . . . . . . . . . . . . 78
6.23.12 Coefficient a2 data register bits 15:8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.23.13 Coefficient a2 data register bits 7:0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.23.14 Coefficient b0 data register bits 23:16 . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.23.15 Coefficient b0 data register bits 15:8 . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.23.16 Coefficient b0 data register bits 7:0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.23.17 Coefficient write/read control register . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.23.18 User-defined EQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.23.19 Pre-scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.23.20 Post-scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
6.24 Fault-detect recovery constant registers (addr 0x3C - 0x3D) . . . . . . . . . . 84
6.25 Extended configuration register (addr 0x47) . . . . . . . . . . . . . . . . . . . . . . 84
6.25.1 Extended post-scale range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.25.2 Extended attack rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.25.3 Extended biquad selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
6.26 PLL configuration registers (address 0x52; 0x53; 0x54; 0x55;
0x56; 0x57) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
8.1 Typical output configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
List of tables
List of figures
1 Description
STA380BW
2 Pin connections
TEST MODE
GND_DIG2
VDD_DIG2
INT_LINE
PWRDN
RESET
LRCKI
BICKI
SDA
SCL
SDI
SA
48
47
46
45
44
43
42
41
40
39
38
37
VCC_REG 1 36 MCLK
VSS_REG 2 35 AGND_PLL
OUT2B 3 34 VREG_FILT
GND2 4 33 TWARN/FFX4A
VCC2 5 32 EAPD/FFX4B
OUT2A 6 31 FFX3B
OUT1B 7
STA380BW 30 FFX3A
VCC1 8 29 GND_DIG1
GND1 9 28 VDD_DIG1
OUT1A 10 27 GND
VDD_REG 11 26 N.C.
GND_REG 12 25 GND
13
14
15
16
17
18
19
20
21
22
23
24
GND
GND
GND
GND
N.C.
N.C.
N.C.
N.C.
N.C.
N.C.
N.C.
N.C.
Note: To improve thermal dissipation, all the N.C. (no internal connection) pins must be connected
to GND.
3 Electrical specifications
VCC
Don’t care
VDD_DIG
HW RESET TR TC
HW PWDN
TR = minimum time between XTI master clock stable and Reset removal: 1 ms
TC = minimum time between Reset removal and I2C program, sequence start: 1ms
Note: The definition of a stable clock is when fmax - fmin < 1 MHz.
Section 6.13.1: Serial data interface gives information on setting up the I2S interface.
VCC
Don’t care
VDD_DIG
Soft Mute
Reg. 0x07 Don’t care FE Don’t care
Data 0xFE
Soft EAPD
Reg. 0x05
Bit 7 = 0
Note: The register addresses for Soft Mute and Soft EAPD refer to Sound Terminal compatibility
(see Section 7: Register description: Sound Terminal compatibility on page 100) and are not
the default addresses.
4 Device overview
The mentioned hyperlink in this section relates to the default New Map Section 6: Register
description: New Map.
I2S Input
Interface Sampling Frequency = Fs
The second processing stage embeds a mixing block, a biquadratic/crossover filter, a DRC
stage, the volume control, a DC cut filter and a post scaler. Depending on the device
settings, the following configuration and features are available:
2.1 output with individually configurable anticlipper/DRCs (Figure 7): two individually
configurable DRC/anticlippers are available while the eighth biquadratic filter, jointly
with the mixer block, can be used to perform LFE. This configuration and features
ensure the backward compatibility with previous Sound Terminal® products.
Figure 7. Processing path, second part: 2.1 output with individually configurable
anticlipper/DRCs
L C1Mx1 Ch an n el ½
Biq uad #8 An ti-clipper
Ch an n el 1 DC Cut
+ --------------
Hi-p ass XO
Vo lume
/
DRC
Filter
Po st Scale
R C1Mx2 Filter
C2Mx1 Ch an n el ½
Biq uad #8 An ti-clipper
Ch an n el 2 DC Cut
+ --------------
Hi-p ass XO
Vo lume
/
DRC
Filter
Po st Scale
C2Mx2 Filter
C3Mx1 Ch an n el 3
Biq uad #8 An ti-clipper
Ch an n el 3 DC Cut
+ --------------
Lo w-p ass XO
Vo lume
/
DRC
Filter
Po st Scale
C3Mx2 filter
2.0 output with B2DRC (Figure 8): the mixer and the eighth biquadratic filter are used to
divide the channel into two sub-bands, then each sub-band is independently processed
by a DRC block. The two bands are then re-composed and fed to the following
processing blocks. The crossover frequency is user-selectable. This configuration and
features ensure the backward compatibility with the previous Sound Terminal®
products. For further information please refer to Chapter 6.11.1: Dual-band DRC.
Channel 3
DRC 2
Volume
L C1Mx1
B2DRC
- Channel 1 DC Cut
+ Hi-pass XO
filter
+ Volume
DRC 1 + Filter
Post Scale
R C1Mx2
C2Mx1
B2DRC
Channel 2
+ Hi-pass XO
filter - + Volume
DRC 1
C2Mx2
C3Mx1
Channel 3 DC Cut
Volume
DRC 2 + Filter
Post Scale
+
C3Mx2
2.1 output with STCompressorTM (Figure 9): the STA380BW embeds the latest, state-
of-the-art multi-band dynamic, range compressor, called STCompressorTM. When
using this configuration, up to 10 biquad filters are available for dedicated processing.
Please refer to Section 4.3: STCompressorTM for further information about this feature.
L C1Mx1 Channel ½
Biquad #8 Volume
DC Cut
+ --------------
Hi-pass XO
STCompressor And
Limiter
Filter
Post Scale
R C1Mx2 Filter
C2Mx1 Channel ½
Biquad #8 Volume
DC Cut
+ --------------
Hi-pass XO
STCompressor And
Limiter
Filter
Post Scale
C2Mx2 Filter
C3Mx1 Channel 3
Biquad #8 Volume
DC Cut
+ --------------
Low-pass XO
And
Limiter
Filter
Post Scale
C3Mx2 filter
4.3 STCompressorTM
The STCompressorTM (STC from now on) is a stereo, dual-band Dynamic Range Control
(DRC) and its main purpose is to provide optimum output power level control for speaker
protection, preserving as much as possible the original audio quality of the signal.
Two main I2C registers control the STC behavior: STCCFG0 and STCCFG1. On top of the
data flow control bits, these registers also allow enabling the checksum engine to protect the
STC filters from erroneous coefficients downloads, thus improving the final application
circuitry and safety of the speakers.
O ffset
Ban d 0
(Lo w freq s) Level
Meter
Map p er Atten uato r X
In p ut O utp ut
Ch 0 Ban d Ch 0
Sp litter Ban d 1 DRC 1 +
(Hig h freq s)
Level
Map p er Atten uato r X
Meter
O ffset
DRC 2
O ffset
Ban d 0
(Lo w freq s)
Level
Map p er Atten uato r X
In p ut Meter O utp ut
Ch 1 Ban d Ch 1
Sp litter Ban d 1 DRC 3 +
(Hig h freq s) Level
Map p er Atten uato r X
Meter
O ffset
The STC takes as input 2 channels and every channel is processed independently (i.e. an
independent DRC for each band of each channel) following the steps listed below
(Figure 10):
1. Splits the input signal into 2 bands (band splitter)
2. Measures the level of the signal (level meter)
3. Computes the attenuation (mapper)
4. Applies the attenuation and offset (attenuator)
The band splitter settings are common to both the processing channels while the settings of
the remaining blocks can be independently set for each band of each processing channel.
Caution: All the settings explained hereafter apply only to the behavior of the STCompressorTM. For
the settings concerning other device operating configurations (see Chapter 4.1: Processing
data path) please refer to the appropriate paragraphs and registers.
The band splitter filter coefficients have a user-selectable range [-1, 1), [-2, 2) and [-4, 4).
The RAM coefficient 0x7 is responsible for these settings according to Table 8. The range
default value is [-4, 4).
0 0 [-1;1)
0 1 [-2;2)
1 0 [-4;4)
1 1 Reserved
Please refer to Section 6.23: User-defined coefficient control registers (addr 0x27 - 0x37)
and to Table 12 for further details.
Band Splitter
BQ 0 BQ 1
Input
Band 0
Ch x
…
Output
Ch x
+ =
BQ 0 BQ 1
Band 1
…
4.3.4 Mapper
The mapper block computes the appropriate attenuation value (expressed in dB) to be
applied to the signal, basing its calculations on the level meter output value, on the
compressor threshold and on the limiter threshold.The attenuation value is then passed to
the attenuator block.
The STC reacts differently depending on these three parameters (Figure 12):
level meter output value < compressor threshold < limiter threshold: under these
circumstances the signal level is small enough to not require any type of
limiting/compressing action. The signal remains unchanged.
compressor threshold < level meter output value < limiter threshold: under these
circumstances the signal level is compressed to a ratio determined by the compressor
rate.
compressor threshold < limiter threshold < level meter output value: under these
circumstances the signal level exceeds the limiter threshold which represents the
maximum output power allowed. The signal is limited to avoid unpredictable effects and
damages.
The compressor threshold, the limiter threshold and the compressor rate are all user-
selectable parameters. The compressor threshold range of value is [-48, 0] dB with a
0.25 dB step. The limiter threshold range of values is [-24, +12] dB with a 0.25 dB step. The
compressor ratio range of value is [0, 15], the meaning of these values is specified in
Table 9. For further details please refer to Table 11. Either setting the compressor rate to 1:1
or setting the compressor threshold greater than the limiter threshold makes the STC
behave as a pure limiter (Figure 13).
Linear Zone
Compression Zone
Limiting Zone
L.T.
OUTPUT
C.R.
C.T.
[dB]
Linear Zone
Limiting Zone
L.T.
OUTPUT
L.T.
[dB]
INPUT
0 1:1
1 1:1.25
2 1:1.5
3 1:1.75
4 1:2
5 1:2.5
6 1:3
7 1:3.5
8 1:4
9 1:4.5
10 1:5
11 1:5.5
12 1.6
13 1:7
14 1:8
15 1:16
4.3.5 Attenuator
The attenuation is characterized by two different phases: attack and release.
Given an input signal above the limiter threshold, during the attack phase the STC
decreases the gain in order to reach the output level determined by the mapper. In this
process the key parameter is the attack rate (dB/ms) which determines how fast the STC
reacts according to the following equation:
where:
Output Signal Level is the attenuated signal coming from the attenuator block itself and
used as feedback
Mapper Level is the target signal level to be reached
The attack rate is user-selectable and its range is [0, +16] dB/ms with a 0.25 dB/ms step.
Given an input signal moving below the limiter threshold, during the release phase the STC
increases the gain in order to return the original input signal dynamic. In this process the key
parameter is the release rate (dB/ms) which determines how fast the STC releases the
attenuation on the input signal according to the following equation:
OutputSignalLevel – MapperLevel
ReleaseTime = --------------------------------------------------------------------------------------------------
ReleaseRate
The release rate is user-selectable and its range is [0.0078, 1) dB/ms with a 0.0039 dB/ms
step.
The DAR is user-definable and its range of values is [0, +1) ms/dB, (Table 11) with a
0.0039 ms/dB step. The DAR is the same for all 4 sub-bands.
4.3.7 Offset
The offset is a user-selectable gain or volume control. When using the STC it is advised to
use the offset to tune the output volume instead of the regular volume controls. The offset is
located before the attenuator block, ensuring that the output power limit (limiter threshold) is
never exceeded (Figure 14). On the other side, the traditional volume control is located after
the STC attenuator, thus a wrong setting of this control could nullify the STC effect.
Each sub-band has its own and independent offset. Its range is [0, +48] dB with a 0.25 dB
step (Table 11).
Ch 0 – Band 0
From mapper
Attenuator Attenuator X
Ch 0 – Band 0
Max
Output
Attenuation
Band 0
+ Ch 0
From mapper
Ch 0 – Band 1
Attenuator Attenuator X
Ch 0 – Band 1
Ch 1 – Band 0
From mapper
Attenuator Attenuator X
Ch 1 – Band 0
Max
Output
Attenuation
Band 1
+ Ch 1
From mapper
Ch 1 – Band 1
Attenuator Attenuator X
Ch 1 – Band 1
if CoeffDecValue<0
24 6 23
CoeffI2CValue = 2 – rnd CoeffDecValue 2 2
where CoeffI2CValue is the final decimal value to be converted into hexadecimal notation
while CoeffDecValue is the coefficient value (in decimal notation) to start from.
+48.00 0x600000
+24.00 0x300000
+16.00 0x200000
+12.00 0x180000
+06.00 0x0C0000
+02.00 0x040000
+01.00 0x020000
-01.00 0xFE0000
-02.00 0xFC0000
-06.00 0xF40000
-12.00 0xE80000
-24.00 0xD00000
-48.00 0xA00000
DRC 0
DRC 1
DRC 2
DRC 3
Dynamic attack rate 0x71 DAR: dynamic attack rate [0, 1) 0.0039 ms/dB 0x000000
CRC expected 0x72
CRC computed 0x73
Band splitter filter
Biquads CTRL 0x74 0x0000AA
coefficients range
BQ0
0x42 -A1/2 [-1, 1), [-2, 2), [-4, 4) 0x000000
0x43 -A2 [-1, 1), [-2, 2), [-4, 4) 0x000000
0x44 B0/2 [-1, 1), [-2, 2), [-4, 4) 0x100000
Band 0
The STA380BW 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 STA380BW is always a slave device in all of its communications. It
supports up to 400 kb/sec rate (fast-mode bit rate). The STA380BW I2C is a slave-only
interface. The I2C interface works properly only in the case that the master clock generated
by the PLL has a frequency 10 times higher compared to the frequency of the applied SCL
signal.
device 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.
START RW STOP
START RW STOP
CURRENT
ADDRESS DEV-ADDR DATA
READ
START RW STOP
ACK ACK ACK NO ACK
RANDOM
ADDRESS DEV-ADDR SUB-ADDR DEV-ADDR DATA
READ
START STOP
ACK ACK ACK ACK ACK NO ACK
SEQUENTIAL
RANDOM DEV-ADDR SUB-ADDR DEV-ADDR DATA DATA DATA
READ
Mapping of two registers is available on the STA380BW, the selection is done by setting
register 0x7E bit D7. By default, 0x7E is set to 1 and refers to a map that is not compatible
with previous Sound Terminal devices. This register’s mapping is also called “New Map”.
To keep compatibility with previous Sound Terminal devices, 0x7E bit D7 must be set to 0
after device turn-on and after any reset (via SW or via external pin). Please refer to
Section 7: Register description: Sound Terminal compatibility for all the information about
device compatibility.
Missing addresses are to be considered as reserved.
0x24 L1ATRT L1AT3 L1AT2 L1AT1 L1AT0 L1RT3 L1RT2 L1RT1 L1RT0
0x25 L2AR L2A3 L2A2 L2A1 L2A0 L2R3 L2R2 L2R1 L2R0
0x26 L2ATRT L2AT3 L2AT2 L2AT1 L2AT0 L2RT3 L2RT2 L2RT1 L2RT0
0x27 CFADDR CFA5 CFA4 CFA3 CFA2 CFA1 CFA0
0x28 B1CF1 C1B23 C1B22 C1B21 C1B20 C1B19 C1B18 C1B17 C1B16
0x29 B1CF2 C1B15 C1B14 C1B13 C1B12 C1B11 C1B10 C1B9 C1B8
0x2A B1CF3 C1B7 C1B6 C1B5 C1B4 C1B3 C1B2 C1B1 C1B0
0x2B B2CF1 C2B23 C2B22 C2B21 C2B20 C2B19 C2B18 C2B17 C2B16
0x2C B2CF2 C2B15 C2B14 C2B13 C2B12 C2B11 C2B10 C2B9 C2B8
0x2D B2CF3 C2B7 C2B6 C2B5 C2B4 C2B3 C2B2 C2B1 C2B0
0x2E A1CF1 C3B23 C3B22 C3B21 C3B20 C3B19 C3B18 C3B17 C3B16
0x2F A1CF2 C3B15 C3B14 C3B13 C3B12 C3B11 C3B10 C3B9 C3B8
0x30 A1CF3 C3B7 C3B6 C3B5 C3B4 C3B3 C3B2 C3B1 C3B0
0x31 A2CF1 C4B23 C4B22 C4B21 C4B20 C4B19 C4B18 C4B17 C4B16
0x32 A2CF2 C4B15 C4B14 C4B13 C4B12 C4B11 C4B10 C4B9 C4B8
0x33 A2CF3 C4B7 C4B6 C4B5 C4B4 C4B3 C4B2 C4B1 C4B0
0x34 B0CF1 C5B23 C5B22 C5B21 C5B20 C5B19 C5B18 C5B17 C5B16
0x35 B0CF2 C5B15 C5B14 C5B13 C5B12 C5B11 C5B10 C5B9 C5B8
0x36 B0CF3 C5B7 C5B6 C5B5 C5B4 C5B3 C5B2 C5B1 C5B0
0x37 CFUD RA R1 WA W1
0x3C FDRC1 FDRC15 FDRC14 FDRC13 FDRC12 FDRC11 FDRC10 FDRC9 FDRC8
0x3D FDRC2 FDRC7 FDRC6 FDRC5 FDRC4 FDRC3 FDRC2 FDRC1 FDRC0
0x3F MTH2 MTH[21:16]
0x40 MTH1 MTH[15:8]
0x43 EATH1 EATHEN1 EATH1[6:0]
0x44 ERTH1 ERTHEN1 ERTH1[6:0]
0x45 EATH2 EATHEN2 EATH2[6:0]
0x46 ERTH2 ERTHEN2 ERTH2[6:0]
0x47 CONFX PS48DB XAR1 XAR2 BQ5 BQ6 BQ7
0x52 PLLFRAC1 PLL_FRAC[15:8]
0x53 PLLFRAC2 PLL_FRAC[7:0]
0x54 PLLDIV PLL_DITH[1:0] PLL_NDIV[5:0]
PLL_
0x55 PLLCFG0 PLL_DPD PLL_FCT PLL_STB PLL_IDIV[3:0]
STBBYP
0x56 PLLCFG1 PLL_DIRP PLL_PWD PLL_BYP OSC_PD BOOST32K
After SRESET is written, the last IC acknowledge is skipped and the EAPD bit (reg 0x16 bit
D7) is set to 1 instead of the 0 default value obtained after hardware reset.
D7 D6 D5 D4 D3 D2 D1 D0
Reserved Reserved Reserved Reserved Reserved Reserved SVOL[1:0]
0 0 0 0 0 0 0 1
1 R/W 00: 30 ms
01: 100 ms (default)
SVOL[1:0]
0 R/W 10: 100 ms
11: Soft-mute disabled
D7 D6 D5 D4 D3 D2 D1 D0
MVOL[7:0]
0 0 0 0 0 0 0 0
7 R/W 0
6 R/W 0
5 R/W 0 0x00: Hard mute (immediate switchoff)
0x01: Mute
4 R/W 0
MVOL[7:0] 0x02: Mute (PWM on)
3 R/W 0 0x03: Mute (PWM on)
2 R/W 0 others: volume = [(MVOL-255)/2] dB(1)
1 R/W 0
0 R/W 0
1. If the volume is below -60 dB, the level will be approximated to 1 dB step.
D7 D6 D5 D4 D3 D2 D1 D0
Reserved Reserved Reserved Reserved Reserved Reserved FINE[1:0]
0 0 0 0 0 0 0 0
1 R/W 00 = 0 dB
01 = -0.125 dB
FINE[1:0]
0 R/W 10 = -0.25 dB
11 = -0.375 dB
D7 D6 D5 D4 D3 D2 D1 D0
CH1VOL[7:0]
1 0 0 1 1 1 1 1
7 R/W 1
6 R/W 0
5 R/W 0
4 R/W 1 0x00: mute
CH1VOL[7:0]
3 R/W 1 others: volume = [(CH1VOL-159)/2] dB(1)
2 R/W 1
1 R/W 1
0 R/W 1
1. If the volume is below -60 dB, the level will be approximated to 1 dB step.
D7 D6 D5 D4 D3 D2 D1 D0
CH2VOL[7:0]
1 0 0 1 1 1 1 1
7 R/W 1
6 R/W 0
5 R/W 0
4 R/W 1 0x00: mute
CH2VOL[7:0]
3 R/W 1 others: volume = [(CH2VOL-159)/2] dB(1)
2 R/W 1
1 R/W 1
0 R/W 1
1. If the volume is below -60 dB, the level will be approximated to 1 dB step.
1 R/W 0
OPER[1:0] output configuration modes
0 R/W 0
Half OUT1A
Bridge
Channel 1
Half
Bridge OUT1B
Half OUT2A
Bridge
Channel 2
Half
Bridge OUT2B
OUT3A LineOut1
OUT3B LPF
OUT4A LineOut2
OUT4B LPF
Half Channel 1
Bridge
OUT1A
Half Channel 2
Bridge OUT1B
Half OUT2A
Bridge
Channel 3
Half
Bridge OUT2B
Channel 1
Half
Bridge OUT1B
Half OUT2A
Bridge
Channel 2
Half
Bridge OUT2B
OUT3A
OUT3B
Power Channel 3
Device
EAPD
Half
OUT1B
Bridge
Channel 3
Half
Bridge OUT2A
Half
Bridge OUT2B
OUT3A
Channel 1
OUT3B
OUT4A
Channel 2
OUT4B
The STA380BW can be configured to support different output configurations. For each
PWM output channel, a PWM slot is defined. A PWM slot is always 1 / (8 * fs) seconds
length. The PWM slot defines the maximum extension for the PWM rising and falling edge,
that is, the rising edge as well as the falling edge cannot range outside the PWM slot
boundaries.
FFX1A
OUT1A OUT1A
FFX1 B
REMAP
OUT3A
OUT3B
OUT4A
OUT4B
For each configuration the PWM signals from the digital driver are mapped in different ways
to the power stage.
OUT1A
OUT1B
OUT2A
OUT2B
OUT3A
OUT3B
OUT4A
OUT4B
OUT1A
OUT1B
OUT2A
OUT2B
OUT3A
OUT3B
OUT4A
OUT4B
OUT1A
OUT1B
OUT2A
OUT2B
OUT3A
OUT3B
Channel 3
DRC 2
Volume
L
B2DRC
- Channel 1
Hi-pass XO
filter
+ Volume
DRC 1 +
B2DRC
Channel 2
R Hi-pass XO
filter - + Volume
DRC 1
Channel 3
Volume
DRC 2 +
The low-frequency information (LFE) is extracted from the left and right channels, removing
the high frequencies using a programmable biquad filter, and then computing the difference
with the original signal. Limiter 1 (DRC1) is then used to control the amplitude of the left/right
high-frequency components, while limiter 2 (DRC2) is used to control the low-frequency
components (see Section 6.22: Dynamic control registers (addr 0x23 - 0x26 / addr 0x43 -
0x46)).
The cutoff frequency of the high-pass filters can be user-defined, XO[3:0] = 0, or selected
from the pre-defined values.
DRC1 and DRC2 are then used to independently limit L/R high frequencies and LFE
channel amplitude (see Section 6.22: Dynamic control registers (addr 0x23 - 0x26 / addr
0x43 - 0x46)) as well as their volume control. To be noted that, in this configuration, the
dedicated channel 3 volume control can actually act as a bass boost enhancer as well (0.5
dB/step resolution).
The processed LFE channel is then recombined with the L and R channels in order to
reconstruct the 2.0 output signal.
Sub-band decomposition
The sub-band decomposition for B2DRC can be configured specifying the cutoff frequency.
The cutoff frequency can be programmed in two ways, using the XO bits in register 0x0C, or
using the “user programmable” mode (coefficients stored in RAM addresses 0x28 to 0x31).
For the user-programmable mode, use the formulas below to compute the high-pass filters:
b0 = (1 + alpha) / 2 a0 = 1
b2 = 0 a2 = 0
where alpha = (1-sin(0))/cos(0), and 0 is the cutoff frequency.
A first-order filter is recommended to guarantee that for every 0 the corresponding
low-pass filter obtained as difference (as shown in Figure 26) will have a symmetric (relative
to the HP filter) frequency response, and the corresponding recombination after the DRC
has low ripple. Second-order filters can be used as well, but in this case the filter shape
must be carefully chosen to provide good low-pass response and minimum ripple
recombination. For second-order filters, it is not possible to give a closed formula to get the
best coefficients, but empirical adjustment should be done.
DRC settings
The DRC blocks used by B2DRC are the same as those described in Section 6.22: Dynamic
control registers (addr 0x23 - 0x26 / addr 0x43 - 0x46). B2DRC configure automatically the
DRC blocks in anticlipping mode. Attack and release thresholds can be selected using
registers 0x32, 0x33, 0x34, 0x35, while attack and release rates are configured by registers
0x12 and 0x14.
Band downmixing
The low-frequency band is down-mixed to the left and right channels at the B2DRC output.
Channel volume can be used to weight the bands recombination to fine-tune the overall
frequency response.
0 R/W 1 MCS0
Selects the ratio between the input I2S sampling
1 R/W 1 MCS1
frequency and the input clock.
2 R/W 1 MCS2
The STA380BW supports sampling rates of 32 kHz, 44.1 kHz, 48 kHz, 88.2 kHz, 96 kHz,
176.4 kHz, and 192 kHz. Therefore the internal clock is:
32.768 MHz for 32 kHz
45.1584 MHz for 44.1 kHz, 88.2 kHz, and 176.4 kHz
49.152 MHz for 48 kHz, 96 kHz, and 192 kHz
The external clock frequency provided to the XTI pin or BICKI pin (depending on the MCS
settings) must be a multiple of the input sampling frequency (fs).
The relationship between the input clock (either XTI or BICKI) and the input sampling rate is
determined by both the MCSx and the IR (input rate) register bits. The MCSx bits determine
the PLL factor generating the internal clock and the IR bit determines the oversampling ratio
used internally. In Table 27 MCS 111 and 110 indicate that BICKI has to be used as the
clock source, while XTI is used in all the other cases.
The STA380BW has variable interpolation (oversampling) settings such that internal
processing and FFX output rates remain consistent. The first processing block interpolates
by either 3 times (Table 83: PLL register 0x56 bits D0), 2 times or 1 time (pass-through) or
provides a 2-times downsample. The oversampling ratio of this interpolation is determined
by the IR bits.
32 00 2-times oversampling
44.1 00 2-times oversampling
48 00 2-times oversampling
88.2 01 Pass-through
96 01 Pass-through
176.4 10 2-times downsampling
192 10 2-times downsampling
The on-chip STA380BW power output block provides feedback to the digital controller using
inputs to the power control block. The FAULT input is used to indicate a fault condition
(either overcurrent or thermal). When FAULT is asserted (set to 0), the power control block
attempts a recovery from the fault by asserting the tri-state output (setting it to 0 which
directs the power output block to begin recovery), holds it at 0 for period of time in the range
of 0.1 ms to 1 second as defined by the fault-detect recovery constant register (FDRC
registers 0x3C-0x3D), then toggles it back to 1. This sequence is repeated as long as the
fault indication exists. This feature is enabled by default but can be bypassed by setting the
FDRB control bit to 1.
0 MSB-first
1 LSB-first
Table 32. Support serial audio input formats for MSB-first (SAIFB = 0)
BICKI SAI [3:0] SAIFB Interface format
2S
0000 0 I 15-bit data
32 * fs
0001 0 Left/right-justified 16-bit data
0000 0 I2S 16- to 23-bit data
0001 0 Left-justified 16- to 24-bit data
0010 0 Right-justified 24-bit data
48 * fs
0110 0 Right-justified 20-bit data
1010 0 Right-justified 18-bit data
1110 0 Right-justified 16-bit data
0000 0 I2S 16- to 24-bit data
0001 0 Left-justified 16- to 24-bit data
0010 0 Right-justified 24-bit data
64 * fs
0110 0 Right-justified 20-bit data
1010 0 Right-justified 18-bit data
1110 0 Right-justified 16-bit data
Table 33. Supported serial audio input formats for LSB-first (SAIFB = 1)
BICKI SAI [3:0] SAIFB Interface format
To make the STA380BW work properly, the serial audio interface LRCKI clock must be
synchronous to the PLL output clock. It means that:
the frequency of PLL clock / frequency of LRCKI = N ±4 cycles, where N depends on
the settings in Table 29
the PLL must be locked.
If these two conditions are not met, and the IDE bit (reg 0x05 bit 2) is set to 1, the
STA380BW will immediately mute the I2S PCM data out (provided to the processing block)
and it will freeze any active processing task.
To avoid any audio side effects (like pop noise), it is strongly recommended to soft mute any
audio streams flowing into the STA380BW data path before the desynchronization event
happens. At the same time any processing related to the I2C configuration should be issued
only after the serial audio interface and the internal PLL are synchronous again.
Note: Any mute or volume change causes some delay in the completion of the I2C operation due
to the soft volume feature. The soft volume phase change must be finished before any clock
desynchronization.
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. The default settings
of these registers map each I2S input channel to its corresponding processing channel.
2 R/W 1 CSZ0
3 R/W 1 CSZ1 When OM[1,0] = 11, this register determines the size
of the FFX compensating pulse from 0 clock ticks to
4 R/W 1 CSZ2 15 clock periods.
5 R/W 0 CSZ3
0: Normal operation
2 R/W 0 DSPB
1: Bypass of biquad and bass/treble functions
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.
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.
Refer to 6.31: Enhanced zero-detect mute and input level measurement (address 0x61-
0x65, 0x3F, 0x40, 0x6F).
1: Third order NS
2 R/W 0 NSBW
0: Fourth order NS
The STA380BW 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
approximately 83 dB in this mode, which is still greater than the SNR of AM radio.
The ZCE bit enables zero-crossing adjustment. When volume is adjusted on digital zero-
crossing, no clicks are audible
Setting the IDE bit enables this function, which looks at the input I2S data and automatically
mutes if the signals are perceived as invalid.
This bit detects loss of input MCLK in binary mode and will output 50% duty cycle.
6.17.4 Power-down
The PWDN register is used to place the IC in a low-power state. When PWDN is written
as 0, the output begins a soft-mute. After the mute condition is reached, EAPD is asserted
to power down the power stage, then the master clock to all internal hardware except the
I2C block is gated. This places the IC in a very low power consumption state.The register
state is preserved once the device recovers from power-down.
D7 D6 D5 D4 D3 D2 D1 D0
LOC1 LOC0 Reserved Reserved C3M C2M C1M MMUTE
0 0 0 0 0 0 0 0
Line output is only active when OCFG = 00. In this case LOC determines the line output
configuration. The source of the line output is always the channel 1 and 2 inputs.
Channel 3 mute
0 - No mute condition. It is possible to set the channel
3 R/W 0 C3M
volume
1 - Channel 3 in hardware mute
Channel 2 mute
0 - No mute condition. It is possible to set the channel
2 R/W 0 C2M
volume
1 - Channel 2 in hardware mute
Channel 1 mute
0 - No mute condition. It is possible to set the channel
1 R/W 0 C1M
volume
1 - Channel 1 in hardware mute
Master mute
0 R/W 0 MMUTE 0 - Normal operation
1 - All channels are in mute condition
D7 D6 D5 D4 D3 D2 D1 D0
CH3VOL
0 1 1 0 0 0 0 0
The volume structure of the STA380BW consists of individual volume registers for each
channel and a master volume register that provides an offset to each channel’s volume
setting. The individual channel volumes are adjustable in 0.5 dB steps from +48 dB to
-80 dB.
As an example, if CH3VOL = 0x00 or +48 dB and MVOL= -12 dB, then the total gain for
channel 3 = +36 dB.
The master mute, when set to 1, mutes all channels at once, whereas the individual channel
mute (CxM) mutes only that channel. Both the master mute and the channel mutes provide
a “soft mute” with the volume ramping down to mute in 4096 samples from the maximum
volume setting at the internal processing rate (approximately 96 kHz).
A “hard (instantaneous) mute” can be obtained by programming 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 -80 dB
is muted.
All changes in volume take place at zero-crossings when ZCE = 1 (Section 6.16:
Configuration register E (addr 0x15)) on a per-channel basis as this creates the smoothest
possible volume transitions. When ZCE = 0, volume updates occur immediately.
4 R/W 0 XO0
Selects the bass management crossover frequency.
5 R/W 0 XO1 A 1st-order high-pass filter (channels 1 and 2) or a
6 R/W 0 XO2 2nd-order low-pass filter (channel 3) at the selected
frequency is performed.
7 R/W 0 XO3
Table 73.: RAM block for biquads, mixing, scaling and bass
0000
management
0001 80 Hz
0010 100 Hz
0011 120 Hz
0100 140 Hz
0101 160 Hz
0110 180 Hz
0111 200 Hz
1000 220 Hz
1001 240 Hz
1010 260 Hz
1011 280 Hz
1100 300 Hz
1101 320 Hz
1110 340 Hz
1111 360 Hz
D7 D6 D5 D4 D3 D2 D1 D0
Reserved Reserved Reserved Reserved C2BO C2VPB C2EQBP C2TCB
0 1 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C3OM1 C3OM0 C3LS1 C3LS0 C3BO C3VPB Reserved Reserved
1 0 0 0 0 0 0 0
6.20.2 EQ bypass
EQ control can be bypassed on a per-channel basis for channels 1 and 2. If EQ control is
bypassed on a given channel, the prescale and all filters (biquads, bass, treble in any
combination) are bypassed for that channel.
00 Channel1
01 Channel 2
10 Channel 3
Table 65. Tone control boost/cut as a function of BTC and TTC bits
BTC[3:0]/TTC[3:0] 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 +12 dB
D7 D6 D5 D4 D3 D2 D1 D0
L1A3 L1A2 L1A1 L1A0 L1R3 L1R2 L1R1 L1R0
0 1 1 0 1 0 1 0
D7 D6 D5 D4 D3 D2 D1 D0
L1AT3 L1AT2 L1AT1 L1AT0 L1RT3 L1RT2 L1RT1 L1RT0
0 1 1 0 1 0 0 1
D7 D6 D5 D4 D3 D2 D1 D0
L2A3 L2A2 L2A1 L2A0 L2R3 L2R2 L2R1 L2R0
0 1 1 0 1 0 1 0
D7 D6 D5 D4 D3 D2 D1 D0
L2AT3 L2AT2 L2AT1 L2AT0 L2RT3 L2RT2 L2RT1 L2RT0
0 1 1 0 1 0 0 1
The STA380BW 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 anticlipping 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 Section 6.11: FUNCT register (addr 0x0A). Each
channel can be mapped to either limiter or not mapped, meaning that the channel will clip
when 0 dBfs is exceeded. Each limiter looks at the present value of each channel that is
mapped to it, selects the maximum absolute value of all these channels, performs the
limiting algorithm on that value, and then, if needed, adjusts the gain of the mapped
channels in unison.
The limiter attack thresholds are determined by the LxAT registers if the EATHx[7] (bit D7 of
register 0x43 or 0x45) bits are set to 0, else the thresholds are determined by EATHx[6:0]. It
is recommended in anticlipping 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 STA380BW it is possible to exceed 0 dBfs or any other LxAT setting. When this
occurs, the limiter, when active, automatically starts 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. Gain reduction occurs on a peak-detect algorithm. Setting the
EATHx[7] bits to 1 selects the anticlipping mode.
The limiter release thresholds are determined by the LxRT registers if the ERTHx[7] (bit D7
of register 0x44 or 0x46) bits are set to 0, else the thresholds are determined by
ERTHx[6:0]. Setting the ERTHx[7] bits to 1 automatically selects the anticlipping mode. 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 only occurs 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”.
In anticlipping mode, the attack and release thresholds are set relative to full-scale. In DRC
mode (bit D0 reg 0x0A set to 1), 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.
RMS
Limiter
Gain / Vo lume
+
In p ut Outp ut
Gain Atten uatio n Saturatio n
Table 66. Limiter attack rate as a Table 67. Limiter release rate as a
function of LxA bits function of LxR bits
LxA[3:0] Attack rate dB/ms LxR[3:0] Release rate dB/ms
Anticlipping mode
Table 68. Limiter attack threshold as a Table 69. Limiter release threshold as a
function of LxAT bits (AC mode) function of LxRT bits (AC mode)
LxAT[3:0] AC (dB relative to fs) LxRT[3:0] AC (dB relative to fs)
Table 70. Limiter attack threshold as Table 71. Limiter release threshold as
a function of LxAT bits (DRC mode) a function of LxRT bits (DRC mode)
DRC (dB relative to volume +
LxAT[3:0] DRC (dB relative to volume) LxRT[3:0]
LxAT)
D7 D6 D5 D4 D3 D2 D1 D0
EATHEN1 EATH1[6] EATH1[5] EATH1[4] EATH1[3] EATH1[2] EATH1[1] EATH1[0]
0 0 1 1 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
ERTHEN1 ERTH1[6] ERTH1[5] ERTH1[4] ERTH1[3] ERTH1[2] ERTH1[1] ERTH1[0]
0 0 1 1 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
EATHEN2 EATH2[6] EATH2[5] EATH2[4] EATH2[3] EATH2[2] EATH2[1] EATH2[0]
0 0 1 1 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
ERTHEN2 ERTH2[6] ERTH2[5] ERTH2[4] ERTH2[3] ERTH2[2] ERTH2[1] ERTH2[0]
0 0 1 1 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
Reserved Reserved CFA5 CFA4 CFA3 CFA2 CFA1 CFA0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C1B23 C1B22 C1B21 C1B20 C1B19 C1B18 C1B17 C1B16
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C1B15 C1B14 C1B13 C1B12 C1B11 C1B10 C1B9 C1B8
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C1B7 C1B6 C1B5 C1B4 C1B3 C1B2 C1B1 C1B0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C2B23 C2B22 C2B21 C2B20 C2B19 C2B18 C2B17 C2B16
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C2B15 C2B14 C2B13 C2B12 C2B11 C2B10 C2B9 C2B8
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C2B7 C2B6 C2B5 C2B4 C2B3 C2B2 C2B1 C2B0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C1B23 C1B22 C1B21 C1B20 C1B19 C1B18 C1B17 C1B16
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C3B15 C3B14 C3B13 C3B12 C3B11 C3B10 C3B9 C3B8
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C3B7 C3B6 C3B5 C3B4 C3B3 C3B2 C3B1 C3B0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C4B23 C4B22 C4B21 C4B20 C4B19 C4B18 C4B17 C4B16
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C4B15 C4B14 C4B13 C4B12 C4B11 C4B10 C4B9 C4B8
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C4B7 C4B6 C4B5 C4B4 C4B3 C4B2 C4B1 C4B0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C5B23 C5B22 C5B21 C5B20 C5B19 C5B18 C5B17 C5B16
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C5B15 C5B14 C5B13 C5B12 C5B11 C5B10 C5B9 C5B8
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C5B7 C5B6 C5B5 C5B4 C5B3 C5B2 C5B1 C5B0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
Reserved RA R1 WA W1
0 0 0 0 0
Coefficients for user-defined EQ, mixing, scaling, and bass management are handled
internally in the STA380BW via RAM. Access to this RAM is available to the user via an I2C
register interface. A collection of I2C registers is 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/read of the
coefficient(s) to/from RAM.
Note: The read and write operation on RAM coefficients works only if the LRCKI pin is switching.
6.23.18 User-defined EQ
The STA380BW can be programmed for four EQ filters (biquads) per each of the two input
channels. The 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.9999998808).
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, C2H41 is the b2
coefficient in the fourth biquad for channel 2.
Additionally, the STA380BW can be programmed for a high-pass filter (processing
channels 1 and 2) and a low-pass filter (processing channel 3) to be used for bass-
management crossover when the XO setting is 000 (user-defined). Both of these filters
when defined by the user (rather than using the preset crossover filters) are second order
filters that use the biquad equation given above. They are loaded into the C12H0-4 and
C3Hy0-4 areas of RAM noted in Table 73.
Channel 1 and channel 2 biquads use by default the extended coefficient range (-4, +4);
Xover filters use only the standard coefficients range (-1, +1).
By default, all user-defined filters are pass-through where all coefficients are set to 0, except
the channel 1 and 2 b0/2 coefficient which is set to 0x100000 (representing 0.5) and Xover
b0/2 coefficient which is set to 0x400000 (representing 0.5).
6.23.19 Pre-scale
The STA380BW provides a multiplication for each input channel for the purpose of scaling
the input prior to EQ. This pre-EQ scaling is accomplished by using a 24-bit signed
fractional multiplier, with 0x800000 = -1 and 0x7FFFFF = 0.9999998808. The scale factor
for this multiplication is loaded into RAM using the same I2C registers as the biquad
coefficients and the bass management. All channels can use the channel-1 pre-scale factor
by setting the biquad link bit. By default, all pre-scale factors are set to 0x7FFFFF.
6.23.20 Post-scale
The STA380BW provides one additional multiplication after the last interpolation stage and
the distortion compensation on each channel. This post-scaling is accomplished by using a
24-bit signed fractional multiplier, with 0x800000 = -1 and 0x7FFFFF = 0.9999998808. The
scale factor for this multiplication 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 post-scale factor by setting the post-scale link bit. By
default, all post-scale factors are set to 0x7FFFFF. When line output is being used,
channel-3 post-scale will affect both channels 3 and 4.
Table 72. RAM block for biquads, mixing, scaling and bass management
Index (decimal) Index (hex) Description Coefficient Default
0 0x00 C1H10(b1/2) 0x000000
1 0x01 C1H11(b2) 0x000000
2 0x02 Channel 1 - Biquad 1 C1H12(a1/2) 0x000000
3 0x03 C1H13(a2) 0x000000
4 0x04 C1H14(b0/2) 0x100000
5 0x05 Channel 1 - Biquad 2 C1H20 0x000000
… … … … …
19 0x13 Channel 1 - Biquad 4 C1H44 0x100000
20 0x14 C2H10 0x000000
Channel 2 - Biquad 1
21 0x15 C2H11 0x000000
… … … … …
39 0x27 Channel 2 - Biquad 4 C2H44 0x100000
40 0x28 C12H0(b1/2) 0x000000
41 0x29 Channel 1/2 - Biquad 5 C12H1(b2) 0x000000
for XO = 000
42 0x2A C12H2(a1/2) 0x000000
High-pass 2nd order filter
43 0x2B for XO000 C12H3(a2) 0x000000
44 0x2C C12H4(b0/2) 0x400000
45 0x2D C3H0(b1/2) 0x000000
46 0x2E Channel 3 - Biquad C3H1(b2) 0x000000
for XO = 000
47 0x2F C3H2(a1/2) 0x000000
Low-pass 2nd order filter
48 0x30 for XO000 C3H3(a2) 0x000000
49 0x31 C3H4(b0/2) 0x400000
50 0x32 Channel 1 - Pre-Scale C1PreS 0x7FFFFF
51 0x33 Channel 2 - Pre-Scale C2PreS 0x7FFFFF
52 0x34 Channel 1 - Post-Scale C1PstS 0x7FFFFF
53 0x35 Channel 2 - Post-Scale C2PstS 0x7FFFFF
54 0x36 Channel 3 - Post-Scale C3PstS 0x7FFFFF
55 0x37 Reserved reserved 0x5A9DF7
56 0x38 Channel 1 - Mix 1 C1MX1 0x7FFFFF
57 0x39 Channel 1 - Mix 2 C1MX2 0x000000
58 0x3A Channel 2 - Mix 1 C2MX1 0x000000
59 0x3B Channel 2 - Mix 2 C2MX2 0x7FFFFF
60 0x3C Channel 3 - Mix 1 C3MX1 0x400000
61 0x3D Channel 3 - Mix 2 C3MX2 0x400000
62 0x3E UNUSED
63 0x3F UNUSED
D7 D6 D5 D4 D3 D2 D1 D0
FDRC7 FDRC6 FDRC5 FDRC4 FDRC3 FDRC2 FDRC1 FDRC0
0 0 0 0 1 1 0 0
The FDRC bits specify the 16-bit fault-detect recovery time delay. When FAULT is asserted,
the TRISTATE output is immediately asserted low and held low for the time period specified
by this constant. A constant value of 0x0001 in this register is approximately 0.083 ms. The
default value of 0x300C gives approximately 1 sec.
0x0000 is a reserved value.
0 Reserved
1 User-defined biquad 5 coefficients are selected
When filters from the 5th to 7th are configured as user-programmable, the corresponding
coefficients are stored respectively in addresses 0x20-0x24 (BQ5), 0x25-0x29 (BQ6), 0x2A-
0x2E (BQ7) as given in Table 73.
Note: The BQx bits are ignored if BQL = 0 or if DEMP = 1 (relevant for BQ5) or CxTCB = 1
(relevant for BQ6 and BQ7).
D7 D6 D5 D4 D3 D2 D1 D0
PLL_FRAC[15:8]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
PLL_FRAC[7:0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
PLL_DITH[1:0] PLL_NDIV[5:0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
PLL_DPD PLL_FCT PLL_STB PLL_STBBYP PLL_IDIV[3:0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
Reserved Reserved PLL_DIRP PLL_PWD PLL_BYP OSC_PD Reserved BOOST32K
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
Reserved Reserved Reserved Reserved BYPSTATE PDSTATE OSCOK LOWCK
NA NA NA NA NA NA NA NA
By default, the STA380BW 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 PLL_DIRP to ‘1’)
The output PLL frequency formula is:
NDIV - + FRAC
Fin -------------------------- -----------------
IDIV + 1 65536
FRAC 0 65535
IDIV 0 3
NDIV 5 55
D7 D6 D5 D4 D3 D2 D1 D0
reserved reserved reserved reserved reserved GNDSH VCCSH OUTSH
NA NA NA NA NA NA NA NA
The following power bridge pins short-circuit protections are implemented in the
STA380BW:
OUTxx vs. GNDx
OUTxx vs. VCCx
OUT1B vs. OUT2A
The protection is enabled when reg. 0x50 bit 0 (SHEN) is set to ‘1’. The protection will check
the short-circuit when the EAPD bit is toggled from ‘0’ to ‘1’ (i.e. the power bridge is switched
on), and only if the test passes (no short), does the power bridge leave the tristate condition.
Register 0x58 (read-only registers) will give more information about the detected short type.
GNDSH equal to ‘0’ means that OUTxx is shorted to ground, while the same value on
VCCSH means that OUTxx is shorted to Vcc, finally OUTSH=’0’ means that OUT1B is
shorted to OUT2A.
To be noted that once the check is performed, and the tristate released, the short protection
is not active anymore until the next EAPD 0->1 toggling which means that shorts that
happened during normal operation cannot be detected.
To be noted that register SHOK is meaningful only after the EAPD bit is set to ‘1’ at least
once.
The short-circuit protections implemented are effective only in BTL configuration, and they
must not be activated if a single-ended application scheme is needed.
EAPD
OUT1A
OUT1B
OUT2A
OUT2B
GNDSH]
VCCSH
OUTSH]
50005 cycles TBD cycles
44 50005 cycles
1cycle
cycles
In Figure 28 the short protection timing diagram is shown. The time information is expressed
in clock cycles, where the clock frequency is defined as in section Section 6.12.1: Master
clock select. The gray color is used for the short status bits to indicate that the bits are
carrying the status of the previous EAPD 0->1 toggling (to be noted that after reset this state
is meaningless since no EAPD transition occurs). The GND-related SHOK bits are updated
as soon as the gnd test is completed, the VCC bits are updated after vcc test is completed,
and the SOUT bit is updated after the shorted output test is completed. The gnd test, vcc
test and output test, are always run (if the SHEN bit is active and EAPD toggled to ‘1’), and
only if both tests are successful (no short) do the bridge outputs leave the tristate (indicated
by dotted lines in the figure). If one of the three tests (or all) fail, the power bridge outputs
are kept in the tristate until the procedure is restarted with a new EAPD toggling.
In this figure EAPD is intended to be bit 7 of register 0x05.
D7 D6 D5 D4 D3 D2 D1 D0
CEXT_B4[1] CEXT_B4[0] CEXT_B3[1] CEXT_B3[0] CEXT_B2[1] CEXT_B2[0] CEXT_B1[1] CEXT_B1[0]
1 0 1 0 1 0 1 0
D7 D6 D5 D4 D3 D2 D1 D0
reserved reserved CEXT_B7[1] CEXT_B7[0] CEXT_B6[1] CEXT_B6[0] CEXT_B51] CEXT_B5[0]
0 0 1 0 1 0 1 0
Biquads from 1 to 7 have in the STA380BW the possibility to extend the coefficient range
from [-1,1) to [-4..4) which allows the use of high-shelf filters that may require a coefficient
dynamic greater in absolute value than 1.
Three ranges are available, [-1;1) [-2;2) [-4;4). By default, the extended range is activated.
Each biquad has its independent setting according to the following table.
0 0 [-1;1)
0 1 [-2;2)
1 0 [-4;4)
1 1 Reserved
In this case the user can decide, for each filter stage, the right coefficient range. Note that
for a given biquad the same range will be applied to the left and right (channel 1 and
channel 2).
The crossover biquad does not have the availability of this feature, maintaining the [-1;1)
range unchanged.
D7 D6 D5 D4 D3 D2 D1 D0
RPDNEN Reserved BRIDGOFF Reserved Reserved CPWMEN Reserved Reserved
0 1 1 0 0 1 0 0
D7 D6 D5 D4 D3 D2 D1 D0
LPDP LPD LPDE PNDLSL[2] PNDLSL[1] PNDLSL[0] Reserved SHEN
0 1 0 0 1 1 0 0
6.29.2 Bridge immediately off (BRIDGOFF) bit (address 0x4B, bit D5)
A fade-out procedure is started in the STA380BW once the PWDN function is enabled, and
after 13 million clock cycles (PLL internal frequency) the bridge is put in power-down
(tristate mode). There is also the possibility to change this behavior so that the power bridge
will be switched off immediately after the PWDN pin is tied to ground, without waiting for the
13 million clock cycles. The BRIDGOFF bit, when set, activates this function. Obviously the
immediate power-down will generate a pop noise at the output, therefore this procedure
must be used only in cases where pop noise is not relevant in the application. Note that this
feature works only for hardware PWDN assertion and not for a power-down applied through
the IIC interface. Refer to Section 6.29.5 if programming a different number of clock cycles
is needed.
6.29.4 External amplifier hardware pin enabler (LPDP, LPD LPDE) bits
Pin 42 (INTLINE), normally indicating a fault condition, using the following 3 register settings
can be reconfigured as a hardware pin enabler for an external headphone or line amplifier.
In particular the LPDE bit, when set, activates this function. Accordingly, the LPD value (0 or
1) is exported on pin 42 and in case of power-down assertion, pin 42 is tied to LPDP.
The LPDP bit, when set, negates the value programmed as the LPD value, refer to the
following table.
x x 0 INT_LINE
0 0 1 0
0 1 1 1
1 0 1 1
1 1 1 0
Po w er B rid ge Fau lt
0
‘0 ’ Y 0 IN T L IN E
1
LPD N 1
LPD E
“is the d evice in p ow erd o w n ?” LP D P
D7 D6 D5 D4 D3 D2 D1 D0
BPTIM[7] BPTIM[6] BPTIM[5] BPTIM[4] BPTIM[3] BPTIM[2] BPTIM[1] BPTIM[0]
0 1 0 1 1 1 1 0
The STA380BW implements a detection on PWM outputs able to verify if the output signal
has no zero-crossing in a configurable time window. This check can be useful to detect the
DC level in the PWM outputs. To be noted that the checks are performed on logic level
PWM (i.e. not the power bridge ones, nor the PWM on ))X3 and ))X4 IOs).
In case of ternary modulation, the detection threshold is computed as:
TH=[(BPTH*2+1)/128]*100%
If the measured PWM duty cycle is detected greater than or equal to TH for more than
BPTIM PWM periods, the corresponding PWM bit will be set in register 0x01.
In case of binary modulation, there are two thresholds:
TH1=[(64+BPTH)/128]*100%
TH2=[(64-BPTH)/128]*100%
In this case if the measured PWM duty cycle is outside the TH1-TH2 range for more than
BPTIM PWM periods, the corresponding bit will be set in register 0x4E.
D7 D6 D5 D4 D3 D2 D1 D0
RMS_CH0[7:0]
N/A N/A N/A N/A N/A N/A N/A N/A
D7 D6 D5 D4 D3 D2 D1 D0
RMS_CH0[15:8]
N/A N/A N/A N/A N/A N/A N/A N/A
D7 D6 D5 D4 D3 D2 D1 D0
RMS_CH1[7:0]
N/A N/A N/A N/A N/A N/A N/A N/A
D7 D6 D5 D4 D3 D2 D1 D0
RMS_CH1[15:8]
N/A N/A N/A N/A N/A N/A N/A N/A
The STA380BW 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 becomes 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 (for each input channel) on registers ZCCCFG1 -
ZCCCFG2, ZCCCFG3 - ZCCCFG4 according to the following equation:
Value_in_dB = 20*Log10(Reg_value/(216*0.635))
000 -78
001 -84
010 -90
011 -96
100 -102
101 -108
110 -114
111 -114
00 3
01 4
10 5
11 6
The thresholds and hysteresis table above can be overridden and the low-level threshold
and high-level threshold can be set by the MTH[21:0] bits.
To activate the manual thresholds the FINETH bit has to be set to ‘1’.
To configure the low threshold, the WTHL bit must be set to ‘1’ so that any write operation to
the MTH bits will set the low threshold.
To configure the low threshold, the WTHH bit must be set to ‘1’ so that any write operation to
the MTH bits will set the low threshold.
If the zero-mute block does not detect mute, it will mute the output when the current RMS
value falls below the low threshold.
If the zero-mute block does not detect mute, it will unmute the output when the current RMS
value rises above the high threshold.
D7 D6 D5 D4 D3 D2 D1 D0
ReservedT Reserved MTH[21:16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
MTH[15:8]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
MTH[7:0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BQCKE[15] BQCKE[14] BQCKE[13] BQCKE[12] BQCKE[11] BQCKE[10] BQCKE[9] BQCKE[8]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BQCKE[23] BQCKE[22] BQCKE[21] BQCKE[20] BQCKE[19] BQCKE[18] BQCKE[17] BQCKE[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKE[7] XCCKE[6] XCCKE[5] XCCKE[4] XCCKE[3] XCCKE[2] XCCKE[1] XCCKE[0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKE[15] XCCKE[14] XCCKE[13] XCCKE[12] XCCKE[11] XCCKE[10] XCCKE[9] XCCKE[8]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKE[23] XCCKE[22] XCCKE[21] XCCKE[20] XCCKE[19] XCCKE[18] XCCKE[17] XCCKE[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BQCKR[7] BQCKR[6] BQCKR[5] BQCKR[4] BQCKR[3] BQCKR[2] BQCKR[1] BQCKR[0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BQCKR[15] BQCKR[14] BQCKR[13] BQCKR[12] BQCKR[11] BQCKR[10] BQCKR[9] BQCKR[8]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BQCKR[23] BQCKR[22] BQCKR[21] BQCKR[20] BQCKR[19] BQCKR[18] BQCKR[17] BQCKR[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKR[23] XCCKR[22] XCCKR[21] XCCKR[20] XCCKR[19] XCCKR[18] XCCKR[17] XCCKR[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKR[23] XCCKR[22] XCCKR[21] XCCKR[20] XCCKR[19] XCCKR[18] XCCKR[17] XCCKR[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKR[23] XCCKR[22] XCCKR[21] XCCKR[20] XCCKR[19] XCCKR[18] XCCKR[17] XCCKR[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCAUTO XCRES XCCMP XCGO BCAUTO BCCRES BCCMP BCCGO
0 0 0 0 0 0 0 0
The STA380BW implements an automatic CRC computation for the biquad and
MDRC/XOver coefficient memory (Table 73). Memory cell contents from address 0x00 to
0x27 will be bit XORed to obtain the BQCHKE checksum, while cells from 0x28 to 0x31 will
be XORed to obtain the XCCHKE checksum. Both checksums (24-bit wide) are exported on
I2C registers from 0x60 to 0x65. The checksum computation will start as soon as the BCGO
(for biquad RAM bank) or the XCGO bit (for MDRC/XOver coefficients) is set to 1. The
checksum is computed at the processing sample rate if the IR bits equal “01” or “10”,
otherwise the checksum is computed to half of the processing sample rate.
When BCCMP or XCCMP is set to ‘1’, the relative checksum (BQCHKE and XCCHKE) is
continuously compared with BQCHKR and XCCHKR respectively. If the checksum matches
its own reference value, the respective result bits (BCRES and XCRES) will be set to ‘0’.
The compare bits have no effect if the respective GO bit is not set.
In case of checksum errors (i.e. the internally computed didn’t match the reference), an
automatic device reset action can be activated. This function is enabled when the BCAUTO
or XCAUTO bit is set to ‘1’. The automatic reset bits have no effect if the respective compare
bits are not set.
The recommended procedure for automatic reset activation is the following:
Download the set of coefficients (RAM locations 0x00…0x27)
Download the externally computed biquad checksum into registers BQCHKR
Enable the checksum of the biquad coefficients by setting the BCGO bit. The
checksum will start to be automatically computed by the STA380BW and its value
exposed on registers BQCHECKE. The checksum value is computed and updated.
Enable the checksum comparison by setting the BCCMP bit. The internally computed
checksum will start to be compared with the reference one and the result will be
exposed on the BCRES bit. The following operation will be executed on each audio
frame:
if ((BQCHKE == BQCHKR))
{
BC_RES = 0;// Checksum is ok, reset the error bit
}
else
{
BC_RES = 1;// Checksum error detected, set the error bit
}
Wait until the BCRES bit goes to 0, meaning that the checksum result bit has started to
be updated and everything is ok. Time-out of this operation (e.g. >1 ms) will indicate
checksum failure, and the MCU will handle this event
Enable automatic reset of the device in case of checksum error by setting the BCAUTO
bit. The BCRES bit will then be automatically checked by the STA380BW, on each
audio frame, and a reset event will be triggered in case of checksum mismatch.
Periodically check the BC_RES status. A value of 1 indicates a checksum mismatch
has occurred and, therefore, that the device went through a reset cycle.
The previous example is intended for biquad CRC bank calculation, but it can be easily
extended to MDRC/XOver CRC computation.
D7 D6 D5 D4 D3 D2 D1 D0
SMAP reserved reserved reserved reserved reserved WRA CH12
1 0 0 0 0 0 0 0
The STA380BW allows direct access to the RAM coefficients bypassing the indirect access
mechanism described in Section 6.23: User-defined coefficient control registers (addr 0x27
- 0x37). Direct access is implemented as follows.
Please be aware that the STA380BW supports 24-bit coefficients, for this reason in the
above figures Coeff_x(0) is always equal to 0x00 when either reading or writing. The multi-
write procedure embeds a wrap-around mechanism: when trying to write into a location
exceeding the maximum coefficient address, the multi-write procedure will start from
location 0x00.
To keep compatibility with previous Sound Terminal devices, the 0x7E bit D7 must be set to
0 after device turn-on and after any reset (via SW or via external pin).
Missing addresses are to be considered as reserved.
60 BQCHKE0 BQ_CKE[7:0]
61 BQCHKE1 BQ_CKE[15:8]
62 BQCHKE2 BQ_CKE[23:16]
63 XCCHKE0 XC_CKE[7:0]
64 XCCHKE1 XC_CKE[15:8]
65 XCCHKE2 XC_CKE[23:16]
66 BQCHKR0 BQ_CKR[7:0]
67 BQCHKR1 BQ_CKR[15:8]
68 BQCHKR2 BQ_CKR[23:16]
69 XCCHKR0 XC_CKR[7:0]
6A XCCHKR1 XC_CKR[15:8]
6B XCCHKR2 XC_CKR[23:16]
6C CHKCTRL XCAUTO XCRES XCCMP XCGO BCAUTO BCRES BCCMP BCGO
6E MISC3 SRESET
7E MISC4 SMAP
0 R/W 1 MCS0
Selects the ratio between the input I2S sampling
1 R/W 1 MCS1
frequency and the input clock.
2 R/W 1 MCS2
The STA380BW supports sampling rates of 32 kHz, 44.1 kHz, 48 kHz, 88.2 kHz, 96 kHz,
176.4 kHz, and 192 kHz. Therefore the internal clock is:
32.768 MHz for 32 kHz
45.1584 MHz for 44.1 kHz, 88.2 kHz, and 176.4 kHz
49.152 MHz for 48 kHz, 96 kHz, and 192 kHz
The external clock frequency provided to the XTI pin or BICKI pin (depending on MCS
settings) must be a multiple of the input sampling frequency (fs).
The relationship between the input clock (either XTI or BICKI) and the input sampling rate is
determined by both the MCSx and the IR (input rate) register bits. The MCSx bits determine
the PLL factor generating the internal clock and the IR bit determines the oversampling ratio
used internally. In Table 98 MCS 111 and 110 indicate that BICKI has to be used as the
clock source, while XTI is used in all the other cases.
The STA380BW has variable interpolation (oversampling) settings such that internal
processing and FFX output rates remain consistent. The first processing block interpolates
by either 3 times (see Section 4.2), 2 times or 1 time (pass-through) or provides a 2 times
downsample. The oversampling ratio of this interpolation is determined by the IR bits.
32 00 2-times oversampling
44.1 00 2-times oversampling
48 00 2-times oversampling
88.2 01 Pass-through
96 01 Pass-through
176.4 10 2-times downsampling
192 10 2-times downsampling
The on-chip STA380BW power output block provides feedback to the digital controller using
inputs to the power control block. The FAULT input is used to indicate a fault condition
(either overcurrent or thermal). When FAULT is asserted (set to 0), the power control block
attempts a recovery from the fault by asserting the tri-state output (setting it to 0 which
directs the power output block to begin recovery), holds it at 0 for period of time in the range
of 0.1 ms to 1 second as defined by the fault-detect recovery constant register (FDRC
registers 0x2B-0x2C), then toggles it back to 1. This sequence is repeated as long as the
fault indication exists. This feature is enabled by default, but can be bypassed by setting the
FDRB control bit to 1.
0 R/W 0 SAI0
1 R/W 0 SAI1 Determines the interface format of the input serial
2 R/W 0 SAI2 digital audio interface
3 R/W 0 SAI3
0 MSB-first
1 LSB-first
Table 103. Support serial audio input formats for MSB-first (SAIFB = 0)
BICKI SAI [3:0] SAIFB Interface format
Table 104. Supported serial audio input formats for LSB-first (SAIFB = 1)
BICKI SAI [3:0] SAIFB Interface format
To make the STA380BW work properly, the serial audio interface LRCKI clock must be
synchronous to the PLL output clock which means that:
the frequency of PLL clock / frequency of LRCKI = N ±4 cycles, where N depends on
the settings in Table 29 on page 58
the PLL must be locked.
If these two conditions are not met, and the IDE bit (reg 0x05 bit 2) is set to 1, the
STA380BW will immediately mute the I2S PCM data out (provided to the processing block)
and it will freeze any active processing task.
To avoid any audio side effects (like pop noise), it is strongly recommended to soft-mute any
audio streams flowing into the STA380BW data path before the desynchronization event
happens. At the same time any processing related to the I2C configuration should be issued
only after the serial audio interface and the internal PLL are synchronous again.
Note: Any mute or volume change causes some delay in the completion of the I2C operation due
to the soft volume feature. The soft volume phase change must be finished before any clock
desynchronization.
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. The default settings
of these registers map each I2S input channel to its corresponding processing channel.
2 R/W 1 CSZ0
3 R/W 1 CSZ1 When OM[1,0] = 11, this register determines the size
of the FFX compensating pulse from 0 clock ticks to
4 R/W 1 CSZ2 15 clock periods.
5 R/W 0 CSZ3
Table 6:
0: Normal operation
2 R/W 0 DSPB
1: Bypass of biquad and bass/treble functions
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.
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.
Refer to 7.24: Enhanced zero-detect mute and input level measurement (address 0x50-
0x54, 0x2E, 0x2F and 0x5E).
1: Third order NS
2 R/W 0 NSBW
0: Fourth order NS
The STA380BW 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
approximately 83 dB in this mode, which is still greater than the SNR of AM radio.
The ZCE bit enables zero-crossing adjustment. When volume is adjusted on digital zero-
crossing, no clicks are audible.
0 R/W 0 OCFG0
Selects the output configuration
1 R/W 0 OCFG1
Note: To the left of the arrow is the processing channel. When using channel output mapping, any
of the three processing channel outputs can be used for any of the three inputs.
Half OUT1A
Bridge
Channel 1
Half
Bridge OUT1B
Half OUT2A
Bridge
Channel 2
Half
Bridge OUT2B
OUT3A LineOut1
OUT3B LPF
OUT4A LineOut2
OUT4B LPF
Half Channel 1
Bridge
OUT1A
Half Channel 2
Bridge OUT1B
Half OUT2A
Bridge
Channel 3
Half
Bridge OUT2B
Channel 1
Half
Bridge OUT1B
Half OUT2A
Bridge
Channel 2
Half
Bridge OUT2B
OUT3A
OUT3B
Power Channel 3
Device
EAPD
Half
OUT1B
Bridge
Channel 3
Half
Bridge OUT2A
Half
Bridge OUT2B
OUT3A
Channel 1
OUT3B
OUT4A
Channel 2
OUT4B
The STA380BW can be configured to support different output configurations. For each
PWM output channel a PWM slot is defined. A PWM slot is always 1 / (8 * fs) seconds
length. The PWM slot defines the maximum extension for the PWM rising and falling edge,
that is, the rising edge as well as the falling edge cannot range outside the PWM slot
boundaries.
FFX1A
OUT1A OUT1A
FFX1 B
REMAP
OUT3A
OUT3B
OUT4A
OUT4B
For each configuration the PWM signals from the digital driver are mapped in different ways
to the power stage:
OUT1A
OUT1B
OUT2A
OUT2B
OUT3A
OUT3B
OUT4A
OUT4B
OUT1A
OUT1B
OUT2A
OUT2B
OUT3A
OUT3B
OUT4A
OUT4B
OUT1A
OUT1B
OUT2A
OUT2B
OUT3A
OUT3B
2 R/W 1 IDE Setting of 1 enables the automatic invalid input detect mute
Setting the IDE bit enables this function, which looks at the input I2S data and automatically
mutes if the signals are perceived as invalid.
This bit detects loss of input MCLK in binary mode and will output 50% duty cycle.
7.6.5 IC power-down
The PWDN register is used to place the IC in a low-power state. When PWDN is written
as 0, the output begins a soft-mute. After the mute condition is reached, EAPD is asserted
to power down the power stage, then the master clock to all internal hardware except the
I2C block is gated. This places the IC in a very low power consumption state.
D7 D6 D5 D4 D3 D2 D1 D0
LOC1 LOC0 Reserved BQBALL C3M C2M C1M MMUTE
0 0 0 0 0 0 0 0
Line output is only active when OCFG = 00. In this case LOC determines the line output
configuration. The source of the line output is always channel 1 and 2 inputs.
Channel 3 mute
3 R/W 0 C3M 0 - No mute condition. It is possible to set the channel volume
1 - Channel 3 in hardware mute
Channel 2 mute
2 R/W 0 C2M 0 - No mute condition. It is possible to set the channel volume
1 - Channel 2 in hardware mute
Channel 1 mute
1 R/W 0 C1M 0 - No mute condition. It is possible to set the channel volume
1 - Channel 1 in hardware mute
Master mute
0 R/W 0 MMUTE 0 - Normal operation
1 - All channels are in mute condition
D7 D6 D5 D4 D3 D2 D1 D0
MVOL[7:0]
1 1 1 1 1 1 1 1
D7 D6 D5 D4 D3 D2 D1 D0
CH1VOL[7:0]
0 1 1 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
CH2VOL[7:0]
0 1 1 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
CH3VOL[7:0]
0 1 1 0 0 0 0 0
The volume structure of the STA380BW consists of individual volume registers for each
channel and a master volume register that provides an offset to each channel’s volume
setting. The individual channel volumes are adjustable in 0.5 dB steps from +48 dB to
-80 dB.
As an example if CH3VOL = 0x00 or +48 dB and MVOL = 0x18 or -12 dB, then the total gain
for channel 3 = +36 dB.
The master mute, when set to 1, mutes all channels at once, whereas the individual channel
mute (CxM) mutes only that channel. Both the master mute and the channel mutes provide
a “soft mute” with the volume ramping down to mute in 4096 samples from the maximum
volume setting at the internal processing rate (approximately 96 kHz).
A “hard (instantaneous) mute” can be obtained by programming 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 -80 dB
is muted.
All changes in volume take place at zero-crossings when ZCE = 1 (Configuration register E
(addr 0x04)) on a per-channel basis as this creates the smoothest possible volume
transitions. When ZCE = 0, volume updates occur immediately.
00000000 (0x00) 0 dB
00000001 (0x01) -0.5 dB
00000010 (0x02) -1 dB
… …
01001100 (0x4C) -38 dB
… …
11111110 (0xFE) -127.5 dB
11111111 (0xFF) Hard master mute
D7 D6 D5 D4 D3 D2 D1 D0
XO3 XO2 XO1 XO0 AMAM2 AMAM1 AMAM0 AMAME
0 0 0 0 0 0 0 0
4 R/W 0 XO0
Selects the bass management crossover frequency.
5 R/W 0 XO1 A 1st-order high-pass filter (channels 1 and 2) or a
6 R/W 0 XO2 2nd-order low-pass filter (channel 3) at the selected
frequency is performed.
7 R/W 0 XO3
0000 User-defined
0001 80 Hz
0010 100 Hz
0011 120 Hz
0100 140 Hz
0101 160 Hz
0110 180 Hz
0111 200 Hz
1000 220 Hz
1001 240 Hz
1010 260 Hz
1011 280 Hz
1100 300 Hz
1101 320 Hz
1110 340 Hz
1111 360 Hz
D7 D6 D5 D4 D3 D2 D1 D0
C2OM1 C2OM0 C2LS1 C2LS0 C2BO C2VPB C2EQBP C2TCB
0 1 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C3OM1 C3OM0 C3LS1 C3LS0 C3BO C3VPB Reserved Reserved
1 0 0 0 0 0 0 0
7.9.2 EQ bypass
EQ control can be bypassed on a per-channel basis for channels 1 and 2. If EQ control is
bypassed on a given channel, the prescale and all filters (biquads, bass, treble in any
combination) are bypassed for that channel.
00 Channel1
01 Channel 2
10 Channel 3
Table 140. Tone control boost/cut as a function of BTC and TTC bits
BTC[3:0]/TTC[3:0] 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 +12 dB
D7 D6 D5 D4 D3 D2 D1 D0
L1A3 L1A2 L1A1 L1A0 L1R3 L1R2 L1R1 L1R0
0 1 1 0 1 0 1 0
D7 D6 D5 D4 D3 D2 D1 D0
L1AT3 L1AT2 L1AT1 L1AT0 L1RT3 L1RT2 L1RT1 L1RT0
0 1 1 0 1 0 0 1
D7 D6 D5 D4 D3 D2 D1 D0
L2A3 L2A2 L2A1 L2A0 L2R3 L2R2 L2R1 L2R0
0 1 1 0 1 0 1 0
D7 D6 D5 D4 D3 D2 D1 D0
L2AT3 L2AT2 L2AT1 L2AT0 L2RT3 L2RT2 L2RT1 L2RT0
0 1 1 0 1 0 0 1
The STA380BW includes two independent limiter blocks (not to be mistaken with the
STCompressorTM, for further details about this feature please refer to Section 4.2). The
purpose of the limiters is to automatically reduce the dynamic range of a recording to
prevent the outputs from clipping in anticlipping 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 E
(addr 0x04) on page 110. Each channel can be mapped to either limiter or not mapped,
meaning that the channel will clip when 0 dBfs is exceeded. Each limiter looks at the
present value of each channel that is mapped to it, selects the maximum absolute value of
all these channels, performs the limiting algorithm on that value, and then, if needed, adjusts
the gain of the mapped channels in unison.
The limiter attack thresholds are determined by the LxAT registers if the EATHx[7] bits are
set to 0, else the thresholds are determined by EATHx[6:0]. It is recommended in
anticlipping 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 STA380BW, it is
possible to exceed 0 dBfs or any other LxAT setting. When this occurs, the limiter, when
active, automatically starts 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. Gain reduction occurs on a peak-detect algorithm. Setting the EATHx[7] bits to 1
selects the anticlipping mode.
The limiter release thresholds are determined by the LxRT registers if the ERTHx[7] bits are
set to 0, else the thresholds are determined by ERTHx[6:0]. Settings the ERTHx[7] bits to 1
automatically selects the anticlipping mode. 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 only occurs 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”.
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.
RMS
Limiter
Gain / Vo lume
+
In p ut Outp ut
Gain Atten uatio n Saturatio n
Table 141. Limiter attack rate as a Table 142. Limiter release rate as a
function of LxA bits function of LxR bits
LxA[3:0] Attack rate dB/ms LxR[3:0] Release rate dB/ms
Anticlipping mode
Table 143. Limiter attack threshold as Table 144. Limiter release threshold as
a function of LxAT bits (AC mode) a function of LxRT bits (AC mode)
LxAT[3:0] AC (dB relative to fs) LxRT[3:0] AC (dB relative to fs)
Table 145. Limiter attack threshold Table 146. Limiter release threshold
as a function of LxAT bits as a function of LxRT bits
(DRC mode) (DRC mode)
DRC (db relative to volume +
LxAT[3:0] DRC (dB relative to volume) LxRT[3:0]
LxAT)
D7 D6 D5 D4 D3 D2 D1 D0
EATHEN1 EATH1[6] EATH1[5] EATH1[4] EATH1[3] EATH1[2] EATH1[1] EATH1[0]
0 0 1 1 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
ERTHEN1 ERTH1[6] ERTH1[5] ERTH1[4] ERTH1[3] ERTH1[2] ERTH1[1] ERTH1[0]
0 0 1 1 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
EATHEN2 EATH2[6] EATH2[5] EATH2[4] EATH2[3] EATH2[2] EATH2[1] EATH2[0]
0 0 1 1 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
ERTHEN2 ERTH2[6] ERTH2[5] ERTH2[4] ERTH2[3] ERTH2[2] ERTH2[1] ERTH2[0]
0 0 1 1 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
Reserved Reserved CFA5 CFA4 CFA3 CFA2 CFA1 CFA0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C1B23 C1B22 C1B21 C1B20 C1B19 C1B18 C1B17 C1B16
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C1B15 C1B14 C1B13 C1B12 C1B11 C1B10 C1B9 C1B8
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C1B7 C1B6 C1B5 C1B4 C1B3 C1B2 C1B1 C1B0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C2B23 C2B22 C2B21 C2B20 C2B19 C2B18 C2B17 C2B16
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C2B15 C2B14 C2B13 C2B12 C2B11 C2B10 C2B9 C2B8
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C2B7 C2B6 C2B5 C2B4 C2B3 C2B2 C2B1 C2B0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C1B23 C1B22 C1B21 C1B20 C1B19 C1B18 C1B17 C1B16
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C3B15 C3B14 C3B13 C3B12 C3B11 C3B10 C3B9 C3B8
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C3B7 C3B6 C3B5 C3B4 C3B3 C3B2 C3B1 C3B0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C4B23 C4B22 C4B21 C4B20 C4B19 C4B18 C4B17 C4B16
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C4B15 C4B14 C4B13 C4B12 C4B11 C4B10 C4B9 C4B8
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C4B7 C4B6 C4B5 C4B4 C4B3 C4B2 C4B1 C4B0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C5B23 C5B22 C5B21 C5B20 C5B19 C5B18 C5B17 C5B16
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C5B15 C5B14 C5B13 C5B12 C5B11 C5B10 C5B9 C5B8
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
C5B7 C5B6 C5B5 C5B4 C5B3 C5B2 C5B1 C5B0
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
Reserved RA R1 WA W1
0 0 0 0 0
Coefficients for user-defined EQ, mixing, scaling, bass management and STCompressorTM
(see Section 4.2) are handled internally in the STA380BW 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/read of the coefficient(s) to/from RAM.
Note: The read and write operation on RAM coefficients works only if LRCKI (pin 29) is switching.
7.12.18 User-defined EQ
The STA380BW can be programmed for four EQ filters (biquads) per each of the two input
channels. The 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.9999998808).
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 y the biquad number. For example, C2H41 is the b2
coefficient in the fourth biquad for channel 2.
Additionally, the STA380BW can be programmed for a high-pass filter (processing
channels 1 and 2) and a low-pass filter (processing channel 3) to be used for bass
management crossover when the XO setting is 000 (user-defined). Both of these filters,
when defined by the user (rather than using the preset crossover filters), are second order
filters that use the biquad equation given above. They are loaded into the C12H0-4 and
C3Hy0-4 areas of RAM noted in Table 146.
Channel 1 and channel 2 biquads use by default the extended coefficient range (-4, +4);
Xover filters use only the standard coefficients range (-1, +1).
By default, all user-defined filters are pass-through where all coefficients are set to 0, except
the channel 1 and 2 b0/2 coefficient which is set to 0x100000 (representing 0.5) and xover
b0/2 coefficient which is set to 0x400000 (representing 0.5).
7.12.19 Pre-scale
The STA380BW provides a multiplication for each input channel for the purpose of scaling
the input prior to EQ. This pre-EQ scaling is accomplished by using a 24-bit signed
fractional multiplier, with 0x800000 = -1 and 0x7FFFFF = 0.9999998808. The scale factor
for this multiplication is loaded into RAM using the same I2C registers as the biquad
coefficients and the bass management. All channels can use the channel-1 pre-scale factor
by setting the biquad link bit. By default, all pre-scale factors are set to 0x7FFFFF.
7.12.20 Post-scale
The STA380BW provides one additional multiplication after the last interpolation stage and
the distortion compensation on each channel. This post-scaling is accomplished by using a
24-bit signed fractional multiplier, with 0x800000 = -1 and 0x7FFFFF = 0.9999998808. The
scale factor for this multiplication 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 post-scale factor by setting the post-scale link bit. By
default, all post-scale factors are set to 0x7FFFFF. When line output is being used,
channel-3 post-scale will affect both channels 3 and 4.
Table 147. RAM block for biquads, mixing, scaling and bass management
Index (decimal) Index (hex) Description Coefficient Default
0 0x00 C1H10(b1/2) 0x000000
1 0x01 C1H11(b2) 0x000000
2 0x02 Channel 1 - Biquad 1 C1H12(a1/2) 0x000000
3 0x03 C1H13(a2) 0x000000
4 0x04 C1H14(b0/2) 0x400000
5 0x05 Channel 1 - Biquad 2 C1H20 0x000000
… … … … …
19 0x13 Channel 1 - Biquad 4 C1H44 0x400000
20 0x14 C2H10 0x000000
Channel 2 - Biquad 1
21 0x15 C2H11 0x000000
… … … … …
39 0x27 Channel 2 - Biquad 4 C2H44 0x400000
40 0x28 C12H0(b1/2) 0x000000
41 0x29 Channel 1/2 - Biquad 5 C12H1(b2) 0x000000
for XO = 000
42 0x2A C12H2(a1/2) 0x000000
High-pass 1st order filter
43 0x2B for XO000 C12H3(a2) 0x000000
44 0x2C C12H4(b0/2) 0x400000
45 0x2D C3H0(b1/2) 0x000000
46 0x2E Channel 3 - Biquad C3H1(b2) 0x000000
for XO = 000
47 0x2F C3H2(a1/2) 0x000000
Low-pass 2nd order filter
48 0x30 for XO000 C3H3(a2) 0x000000
49 0x31 C3H4(b0/2) 0x400000
50 0x32 Channel 1 - Pre-Scale C1PreS 0x7FFFFF
51 0x33 Channel 2 - Pre-Scale C2PreS 0x7FFFFF
52 0x34 Channel 1 - Post-Scale C1PstS 0x7FFFFF
53 0x35 Channel 2 - Post-Scale C2PstS 0x7FFFFF
54 0x36 Channel 3 - Post-Scale C3PstS 0x7FFFFF
55 0x37 Reserved Reserved 0x5A9DF7
56 0x38 Channel 1 - Mix 1 C1MX1 0x7FFFFF
57 0x39 Channel 1 - Mix 2 C1MX2 0x000000
58 0x3A Channel 2 - Mix 1 C2MX1 0x000000
59 0x3B Channel 2 - Mix 2 C2MX2 0x7FFFFF
60 0x3C Channel 3 - Mix 1 C3MX1 0x400000
61 0x3D Channel 3 - Mix 2 C3MX2 0x400000
62 0x3E UNUSED
63 0x3F UNUSED
D7 D6 D5 D4 D3 D2 D1 D0
FDRC7 FDRC6 FDRC5 FDRC4 FDRC3 FDRC2 FDRC1 FDRC0
0 0 0 0 1 1 0 0
The FDRC bits specify the 16-bit fault-detect recovery time delay. When FAULT is asserted,
the TRISTATE output is immediately asserted low and held low for the time period specified
by this constant. A constant value of 0x0001 in this register is approximately 0.083 ms. The
default value of 0x300C gives approximately 1 sec.
0x0000 is a reserved value.
This read-only register provides fault and thermal-warning status information from the power
control block. Logic value 1 for faults or warning means normal state. Logic 0 means a fault
or warning detected on power bridge. The PLLUL = 1 means that the PLL is not locked.
0: PLL locked
7 R - PLLUL
1: PLL not locked
0: fault detected on power bridge
6 R - FAULT
1: normal operation
The XOB bit can be used to bypass the crossover filters. Logic 1 means that the function is
not active. In this case, the high-pass crossover filter works as a pass-through on the data
path (b=0, all the other coefficients at logic 0 ) while the low-pass filter is configured to have
zero signal on channel 3 data processing (all the coefficients are at logic 0).
The extended configuration register provides access to B2DRC and biquad 5, 6 and 7.
Channel 3
DRC 2
Volume
L
B2DRC
- Channel 1
Hi-pass XO
filter
+ Volume
DRC 1 +
B2DRC
Channel 2
R Hi-pass XO
filter - + Volume
DRC 1
Channel 3
Volume
DRC 2 +
The low-frequency information (LFE) is extracted from the left and right channels, removing
the high frequencies using a programmable biquad filter, and then computing the difference
with the original signal. Limiter 1 (DRC1) is then used to control the amplitude of the left/right
high-frequency components, while limiter 2 (DRC2) is used to control the low-frequency
components (see Chapter 7.11).
The cutoff frequency of the high-pass filters can be user-defined, XO[3:0] = 0, or selected
from the pre-defined values.
DRC1 and DRC2 are then used to independently limit L/R high frequencies and LFE
channel amplitude (see Chapter 7.11) as well as their volume control. To be noted that, in
this configuration, the dedicated channel 3 volume control can actually act as a bass-boost
enhancer as well (0.5 dB/step resolution).
The processed LFE channel is then recombined with the L and R channels in order to
reconstruct the 2.0 output signal.
Sub-band decomposition
The sub-band decomposition for B2DRC can be configured specifying the cutoff frequency.
The cutoff frequency can be programmed in two ways, using the XO bits in register 0x0C, or
using the “user programmable” mode (coefficients stored in RAM addresses 0x28 to 0x31).
For the user-programmable mode, use the formulas below to compute the high-pass filters:
b0 = (1 + alpha) / 2 a0 = 1
b2 = 0 a2 = 0
where alpha = (1-sin(0))/cos(0), and 0 is the cutoff frequency.
A first-order filter is suggested to guarantee that for every 0 the corresponding low-pass
filter obtained as difference (as shown in Figure 26) will have a symmetric (relative to the HP
filter) frequency response, and the corresponding recombination after the DRC has low
ripple. Second-order filters can be used as well, but in this case the filter shape must be
carefully chosen to provide good low-pass response and minimum ripple recombination. For
second-order filters, it is not possible to give a closed formula to get the best coefficients,
but empirical adjustment should be done.
DRC settings
The DRC blocks used by B2DRC are the same as those described in Chapter 7.11. B2DRC
configure automatically the DRC blocks in anticlipping mode. Attack and release thresholds
can be selected using registers 0x32, 0x33, 0x34, 0x35, while attack and release rates are
configured by registers 0x12 and 0x14.
Band downmixing
The low-frequency band is down-mixed to the left and right channels at the B2DRC output.
Channel volume can be used to weight the bands recombination to fine-tune the overall
frequency response.
0 Reserved
1 User-defined biquad 5 coefficients are selected
When filters from the 5th to 7th are configured as user-programmable, the corresponding
coefficients are stored respectively in addresses 0x20-0x24 (BQ5), 0x25-0x29 (BQ6), 0x2A-
0x2E (BQ7) as given in Table 148.
Note: BQx bits are ignored if BQL = 0 or if DEMP = 1 (relevant for BQ5) or CxTCB = 1 (relevant for
BQ6 and BQ7).
D7 D6 D5 D4 D3 D2 D1 D0
Reserved Reserved SVDWE SVDW4] SVDW[3] SVDW[2] SVDW[1] SVDW[0]
0 0 0 0 0 0 0 0
The soft volume update has a fixed rate by default. Using register 0x37 and 0x38 it is
possible to override the default behavior, allowing different volume change rates.
It is also possible to independently define the fade-in (volume is increased) and fade-out
(volume is decreased) rates according to the desired behavior.
When SVUPE = 1 the volume-up rate is defined by the SVUP[4:0] bits according to the
following formula:
volume-up rate = 48 / (N + 1) dB/ms
where N is the SVUP[4:0] value.
When SVDWE = 1 the volume-down rate is defined by the SVDW[4:0] bits according to the
following formula:
volume-down rate = 48 / (N + 1) dB/ms
where N is the SVDW[4:0] value.
Note: For volume-down rates greater than 6 dB/msec it is recommended to disable the CPWMEN
bit and ZCE bit in order to avoid any audible pop noise.
D7 D6 D5 D4 D3 D2 D1 D0
VRESEN VRESTG C3VR[1] C3VR[0] C2VR[1] C2VR[0] C1VR[1] C1VR[0]
1 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
reserved reserved reserved reserved reserved reserved MVR[1] MVR[0]
0 0 0 0 0 0 0 0
Extra volume resolution allows fine volume tuning by steps of 0.125 dB.
The feature is enabled when VRESEN=1, as depicted in Figure 43. The overall channel
volume in this case will be CxVol+CxVR (in dB), while the master volume will be
MVOL+MVR (in dB).
CxVOL Soft
Volume 0
Audio Data Out
X
X 1
VRESEN
1 0
VRESTG
MVOL or CxVOL’event
CxVR
If VRESEN = 0 the channel volume will be defined only by the CxVol registers.
Fine tuning steps can be set according to the following table for channels 1, 2,3, and master
volume.
00 0 dB
01 -0.125 dB
10 -0.25 dB
11 -0.375 dB
D7 D6 D5 D4 D3 D2 D1 D0
PLL_FRAC[15:8]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
PLL_FRAC[7:0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
PLL_DITH[1:0] PLL_NDIV[5:0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
PLL_DPD PLL_FCT PLL_STB PLL_STBBYP PLL_IDIV(3:0)
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
Reserved Reserved PLL_DIRP PLL_PWD PLL_BYP OSC_PD Reserved BOOST32K
0 0 0 0 0 1 0 0
D7 D6 D5 D4 D3 D2 D1 D0
Reserved Reserved Reserved Reserved BYPSTATE PDSTATE OSCOK LOWCK
NA NA NA NA NA NA NA NA
By default the STA380BW 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 PLL_DIRP to ‘1’).
FRAC 0 65535
IDIV 0 3
NDIV 5 55
The following power bridge pins short-circuit protections are implemented in the
STA380BW:
OUTxx vs GNDx
OUTxx vs VCCx
OUT1B vs OUT2A
The protection is enabled when reg. 0x4C bit 0 (SHEN) is set to ‘1’. The protection will
check the short-circuit when the EAPD bit is toggled from ‘0’ to ‘1’ (i.e. the power bridge is
switched on), and only if the test passes (no short) does the power bridge leave the tristate
condition.
Register 0x47 (read-only registers) will give more information about the detected short type.
GNDSH equal to ‘0’ means that OUTxx is shorted to ground, while the same value on
VCCSH means that OUTxx is shorted to Vcc, finally OUTSH=’0’ means that OUT1B is
shorted to OUT2A.
To be noted that once the check is performed, and the tristate released, the short protection
is not active anymore until the next EAPD 0->1 toggling which means that shorts that
happened during normal operation cannot be detected.
To be noted that register 0x47 is meaningful only after the EAPD bit is set to ‘1’ at least
once.
The short-circuit protections implemented are effective only in BTL configuration, and they
must not be activated if a single ended-application scheme is needed.
EAPD
OUT1A
OUT1B
OUT2A
OUT2B
SHOK1[7:4]
SHOK1[3:0]
SHOK2[0]
50005 cycles TBD cycles
44 50005 cycles
1cycle
cycles
In Figure 44 the short protection timing diagram is shown. The time information is expressed
in clock cycles, where the clock frequency is defined as in section 7.1.1. The gray color is
used for the SHOKx bits to indicate that the bits are carrying the status of the previous
EAPD 0->1 toggling (to be noted that after reset this state is meaningless since no EAPD
transition occurs). GND-related SHOK bits are updated as soon as the gnd test is
completed, VCC bits are updated after the vcc test is completed, and the SOUT bit is
updated after the shorted output test is completed. The gnd test, vcc test and output test are
always run (if the SHEN bit active and EAPD is toggled to ‘1’), and only if both tests are
successful (no short) do the bridge outputs leave the tristate (indicated by dotted lines in the
figure). If one of the three tests (or all) fail, the power bridge outputs are kept in tristate until
the procedure is restarted with a new EAPD toggling.
In this figure EAPD is intended to be bit 7 of register 0x05.
D7 D6 D5 D4 D3 D2 D1 D0
reserved reserved CEXT_B7[1] CEXT_B7[0] CEXT_B6[1] CEXT_B6[0] CEXT_B51] CEXT_B5[0]
0 0 1 0 1 0 1 0
Biquads from 1 to 7 have in the STA380BW the possibility to extend the coefficient range
from [-1,1) to [-4..4) which allows the implementation of high-shelf filters that may require a
coefficient dynamic greater in absolute value than 1.
Three ranges are available, [-1;1) [-2;2) [-4;4). By default, the extended range is activated
Each biquad has its independent setting according to the following table.
0 0 [-1;1)
0 1 [-2;2)
1 0 [-4;4)
1 1 Reserved
In this case the user can decide, for each filter stage, the right coefficients range. Note that
for a given biquad, the same range will be applied to the left and right (channel 1 and
channel 2).
Crossover biquad does not have the availability of this feature, maintaining the [-1;1) range
unchanged.
D7 D6 D5 D4 D3 D2 D1 D0
LPDP LPD LPDE PNDLSL[2] PNDLSL[1] PNDLSL[0] reserved SHEN
0 1 0 0 1 1 0 0
7.22.1 Rate power-down enable (RPDNEN) bit (address 0x4B, bit D7)
In the STA380BW, by default, the power-down pin and I2C power-down act on mute
commands to perform the fade-out. This default can be changed so that the fade-out can be
started using master volume. The RPDNEN bit, when set, activates this feature.
7.22.2 Bridge immediately off (BRIDGOFF) bit (address 0x4B, bit D5)
A fade-out procedure is started in the STA380BW once the PWDN function is enabled, and
after 13 million clock cycles (PLL internal frequency) the bridge is put in power-down
(tristate mode). There is also the possibility to change this behavior so that the power bridge
will be switched off immediately after the PWDN pin is tied to ground, without waiting for the
13 million clock cycles. The BRIDGOFF bit, when set, activates this function. Obviously the
immediate power-down will generate a pop noise at the output, therefore this procedure
must be used only in case pop noise is not relevant in the application. Note that this feature
works only for hardware PWDN assertion and not for a power-down applied through the IIC
interface. Refer to Section 7.22.5 if programming a different number of clock cycles is
needed.
7.22.3 Channel PWM enable (CPWMEN) bit (address 0x4B, bit D2)
This bit, when set, activates a mute output in case the volume reaches a value lower
than -76 dBFS.
7.22.4 External amplifier hardware pin enabler (LPDP, LPD LPDE) bits
(address 0x4C, bit D7, D6, D5)
Pin 42 (INTLINE), normally indicating a fault condition, using the following 3 register
settings, can be reconfigured as hardware pin enabler for an external headphone or line
amplifier.
In particular the LPDE bit, when set, activates this function. Accordingly, the LPD value (0 or
1) is exported on pin 42 and in case of power-down assertion, pin 42 is tied to LPDP.
The LPDP bit, when set, negates the value programmed as the LPD value, refer to the
following table.
x x 0 INT_LINE
0 0 1 0
0 1 1 1
1 0 1 1
1 1 1 0
0
‘0 ’ Y 0 IN T L IN E
1
LPD N 1
LPD E
“is the d evice in p ow erd o w n ?” LP D P
7.22.5 Power-down delay selector (PNDLSL[2:0]) bits (address 0x4C, bit D4,
D3, D2)
As per Section 7.22.2, the assertion of PWDN activates a counter that, by default, after 13
million clock cycles puts the power bridge in tristate mode, independently from the fade-out
time. Using these registers it is possible to program this counter according to the following
table.
D7 D6 D5 D4 D3 D2 D1 D0
BPTH[5] BPTH[4] BPTH[3] BPTH[2] BPTH[1] BPTH[0] reserved reserved
0 0 1 1 0 0 1 0
D7 D6 D5 D4 D3 D2 D1 D0
BP4B BP4A BP3B BP3A BP2B BP2A BP1B BP1A
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BPTIM[7] BPTIM[6] BPTIM[5] BPTIM[4] BPTIM[3] BPTIM[2] BPTIM[1] BPTIM[0]
0 1 0 1 1 1 1 0
The STA380BW implements a detection on the PWM outputs able to verify if the output
signal has no zero-crossing in a configurable time window. This check can be useful to
detect DC levels in the PWM outputs. To be noted that the checks are performed on logic
level PWM (i.e. not the power bridge ones, nor the PWM on ))X3 and ))X4 I/Os).
In case of ternary modulation, the detection threshold is computed as:
TH=[(BPTH*2+1)/128]*100%
If the measured PWM duty cycle is detected greater than or equal to TH for more than
BPTIM PWM periods, the corresponding PWM bit will be set in register 0x4E.
In case of binary modulation, there are two thresholds:
TH1=[(64+BPTH)/128]*100%
TH2=[(64-BPTH)/128]*100%
In this case if the measured PWM duty cycle is outside the TH1-TH2 range for more than
BPTIM PWM periods, the corresponding bit will be set in register 0x4E.
D7 D6 D5 D4 D3 D2 D1 D0
RMS_CH0[7:0]
N/A N/A N/A N/A N/A N/A N/A N/A
D7 D6 D5 D4 D3 D2 D1 D0
RMS_CH0[15:8]
N/A N/A N/A N/A N/A N/A N/A N/A
D7 D6 D5 D4 D3 D2 D1 D0
RMS_CH1[7:0]
N/A N/A N/A N/A N/A N/A N/A N/A
D7 D6 D5 D4 D3 D2 D1 D0
RMS_CH1[15:8]
N/A N/A N/A N/A N/A N/A N/A N/A
The STA380BW 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 (for each input channel) on registers 0x51 - 0x52, 0x53
- 0x54 according to the following equation:
Value_in_dB = 20*Log10(Reg_value/(216*0.635))
000 -78
001 -84
010 -90
011 -96
100 -102
101 -108
110 -114
111 -114
00 3
01 4
10 5
11 6
The above thresholds and hysteresis table can be overridden and the low-level threshold
and high-level threshold can be set by the MTH[21:0] bits.
To activate the manual thresholds the FINETH bit has to be set to ‘1’.
To configure the low threshold, the WTHL bit must be set to ‘1’ so that any write operation to
the MTH bits will set the low threshold.
To configure the low threshold, the WTHH bit must be set to ‘1’ so that any write operation to
the MTH bits will set the low threshold.
If the zero-mute block does not detect mute, it will mute the output when the current RMS
value falls below the low threshold.
If the zero-mute block does not detect mute, it will unmute the output when the current RMS
value rises above the high threshold.
D7 D6 D5 D4 D3 D2 D1 D0
MTH[15:8]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
MTH[7:0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
reserved reserved reserved reserved reserved reserved STC_LNK BRC_EN
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BQCKE[15] BQCKE[14] BQCKE[13] BQCKE[12] BQCKE[11] BQCKE[10] BQCKE[9] BQCKE[8]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BQCKE[23] BQCKE[22] BQCKE[21] BQCKE[20] BQCKE[19] BQCKE[18] BQCKE[17] BQCKE[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKE[7] XCCKE[6] XCCKE[5] XCCKE[4] XCCKE[3] XCCKE[2] XCCKE[1] XCCKE[0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKE[15] XCCKE[14] XCCKE[13] XCCKE[12] XCCKE[11] XCCKE[10] XCCKE[9] XCCKE[8]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKE[23] XCCKE[22] XCCKE[21] XCCKE[20] XCCKE[19] XCCKE[18] XCCKE[17] XCCKE[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BQCKR[7] BQCKR[6] BQCKR[5] BQCKR[4] BQCKR[3] BQCKR[2] BQCKR[1] BQCKR[0]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BQCKR[15] BQCKR[14] BQCKR[13] BQCKR[12] BQCKR[11] BQCKR[10] BQCKR[9] BQCKR[8]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
BQCKR[23] BQCKR[22] BQCKR[21] BQCKR[20] BQCKR[19] BQCKR[18] BQCKR[17] BQCKR[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKR[23] XCCKR[22] XCCKR[21] XCCKR[20] XCCKR[19] XCCKR[18] XCCKR[17] XCCKR[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKR[23] XCCKR[22] XCCKR[21] XCCKR[20] XCCKR[19] XCCKR[18] XCCKR[17] XCCKR[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCCKR[23] XCCKR[22] XCCKR[21] XCCKR[20] XCCKR[19] XCCKR[18] XCCKR[17] XCCKR[16]
0 0 0 0 0 0 0 0
D7 D6 D5 D4 D3 D2 D1 D0
XCAUTO XCRES XCCMP XCGO BCAUTO BCCRES BCCMP BCCGO
0 0 0 0 0 0 0 0
The STA380BW implements an automatic CRC computation for the biquad and
MDRC/XOver coefficient memory. Memory cell contents from address 0x00 to 0x27 will be
bit XORed to obtain the BQCHKE checksum, while cells from 0x28 to 0x31 will be XORed to
obtain the XCCHKE checksum. Both checksums (24-bit wide) are exported on I2C registers
from 0x60 to 0x65. The checksum computation will start as soon as the BCGO (for biquad
RAM bank) or the XCGO bit (for MDRC/XOver coefficients) is set to 1. The checksum is
computed at the processing sample rate if the IR bits equal “01” or “10”, otherwise the
checksum is computed to half the processing sample rate.
When BCCMP or XCCMP are set to ‘1’, the relative checksum (BQCHKE and XCCHKE) is
continuously compared with BQCHKR and XCCHKR respectively. If the checksum matches
its own reference value, the respective result bits (BCRES and XCRES) will be set to ‘0’.
The compare bits have no effect if the respective GO bit is not set.
In case of checksum errors (i.e. the internally computed didn’t match the reference), an
automatic device reset action can be activated. This function is enabled when the BCAUTO
or XCAUTO bit is set to ‘1’. The automatic reset bits have no effect if the respective compare
bits are not set.
The recommended procedure for the automatic reset activation is the following:
Download the set of coefficients (RAM locations 0x00…0x27)
Download the externally computed biquad checksum into registers BQCHKR
Enable the checksum of the biquad coefficients by setting the BCGO bit. The
checksum will start to be automatically computed by the STA380BW and its value
exposed on registers BQCHECKE. The checksum value is computed and updated.
Enable the checksum comparison by setting the BCCMP bit. The internally computed
checksum will start to be compared with the reference one and the result will be
exposed on the BCRES bit. The following operation will be executed on each audio
frame:
if ((BQCHKE == BQCHKR))
{
BC_RES = 0;// Checksum is ok, reset the error bit
}
else
{
BC_RES = 1;// Checksum error detected, set the error bit
}
Wait until the BCRES bit goes to 0, meaning that the checksum result bit has started to
be updated and everything is ok. Time-out of this operation (e.g. > 1 ms) will indicate
checksum failure, and the MCU will handle this event.
Enable automatic reset of the device in case of checksum error by setting the BCAUTO
bit. The BCRES bit will then be automatically checked by the STA380BW, on each
audio frame, and the reset event will be triggered in case of checksum mismatch.
Periodically check the BC_RES status. A value of 1 indicates that a checksum
mismatch has occurred and, therefore, the device went through a reset cycle.
The previous example is intended for biquad CRC bank calculation, but it can be easily
extended to MDRC/XOver CRC computation.
D7 D6 D5 D4 D3 D2 D1 D0
reserved reserved reserved reserved reserved SRESET reserved reserved
0 0 0 0 0 0 0 0
After SRESET is written, the last IC acknowledge is skipped and the EAPD bit (reg 0x16 bit
D7) is set to1 instead of the 0 default value obtained after the hardware reset.
D7 D6 D5 D4 D3 D2 D1 D0
SMAP reserved reserved reserved reserved reserved reserved reserved
1 0 0 0 0 0 0 0
‘1’: NEWMAP
7 1 SMAP
‘0’: STMAP
8 Applications
Figure 46. Output configuration for stereo BTL mode in filterlight configuration
Note: For further information, please refer to application note AN3959, 2.0-channel demonstration
board based on the STA381BW and STA381BWS.
9 Package information
8320060_wk
10 Revision history
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.