Chip Dolby Decoder
Chip Dolby Decoder
Chip Dolby Decoder
1 FEATURES
■ DVD Audio decoder:
❚ Meridian Lossless Packing (MLP), with
up to 6 channels,
❚ Uncompressed LPCM with 1-8 channels,
❚ Precision of up to 24 bits and sample rates
of between 44.1 kHz and 192 kHz.
■ Dolby Digital (*) decoder:
❚ Decodes 5.1 Dolby Digital Surround. TQFP80
❚ Output up to 6 channels. downmix modes: ORDERING NUMBER: STA310
1, 2, 3 or 4 channels.
■ MPEG -1 2- channel audio decoder, layers I and
II.
■ MPEG-2 6-channel audio decoder, layer II. ■ 2.5V (for core) and 3V (for I/O) power supply.
❚ 3V Capable I/O Pads .
❚ 24 bits decoding precision.
■ MP3 (MPEG layer III) decoder. ■ True-SPDIF input receiver supporting AES/
EBU, IEC958, S/PDIF.
■ Accepts MPEG-2 PES stream format for:
❚ No external chip required.
MPEG-2, MPEG-1, Dolby Digital and linear
PCM. ❚ Differential or single ended inputs can be
decoded.
■ Karaoke System.
■ Prologic decoder. APPLICATIONS
■ Downmix for Dolby Prologic compatible. ■ High-end audio equipment.
❚ A separate (2-ch) PCM output available for ■ DVD consumer players.
simultaneous playing and recording.
■ Set top box.
■ Bitstream input interface: serial, parallel or
SPDIF. ■ HDTV .
CONTROL INTERFACES
47 SELI2C I (2) Selects the Control Interface (when high: serial interface; when
low: parallel interface)
I 2C Control Interface
43 SDAI2C I/O (1) I 2C Serial Data
46 SCLKI2C I I 2C Clock
53 MAINI2CADR I (2) Determines the slave address
69 PCMCLK I/O Oversampling Clock input for STA310 when generated externally
DAC Interface
2/90
STA310
STATUS INFORMATION
54 SFREQ O Then high, indicates that the sampling freq. is either 44.1Khz or
22.05Khz.
When low, indicates that the sampling frequency is either 32 Khz,
48 Khz, 24 Khz or 16Khz.
57 DEEMPH O Indicates if de-emphasis is performed.
Other Signals
RS232 Interface
8 RS232RX I
9 RS232TX O
PLLs INTERFACES
3/90
STA310
PCM_OUT1
PCM_OUT0
LRCLKIN2
PCMCLK
CLKOUT
DSTRB2
LRCLK
REQ2
VDD3
SCLK
GND
GND
GND
VDD
VDD
D2
D1
D0
80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61
D3 1 60 SIN2
D4 2 59 PTSB
D5 3 58 I958OUT
VDD 4 57 DEEMPH
GND 5 56 GND
D6 6 55 VDD
D7 7 54 SFREQ
RS232RX 8 53 MAINI2CADD
RS232TX 9 52 TESTB
VDD3 10 51 VDD3
GND 11 50 GND
A0 12 49 SMODE
A1 13 48 IRQB
A2 14 47 SELI2C
A3 15 46 SCLKI2C
A4 16 45 GND
VDD 17 44 VDD
A5 18 43 SDAI2C
A6 19 42 REQ
A7 20 41 SIN
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
SPDF
PLLAF
VDDA
GNDA
PLLSF
CLK
VDD3
GND
VDD
WAITB
HRSTB
DSTRB
VDD
GND
LRCKLIN
DCSB
HRWB
GND
SPDN
SPDP
D00AU1225
4/90
STA310
ELECTRICAL CHARACTERISTICS (VDD = 3.3V +/-0.3V; Tamb = 0 to 70°C; Rg = 50 Ω unless otherwise spec-
ified
DC OPERATING CONDITIONS
Symbol Parameters Value Unit
Vcc Power Supply Voltage 2.5 V
Tj Operating Junction Temperature -20 to 125 °C
GENERAL INTERFACE
Symbol Parameters Conditions Min Typ Max Unit Note
Iil Low level input current without Vi = 0V 1 µA 1
pull-up device
Iih High level input current without Vi = Vdd 1 µA 1
pull-down device
Ioz Tri-state output leakage without Vi = 0V or Vdd 1 µA 1
pull-up/down device
Ilatchup I/O Latch-up current V<0V, V>Vdd 200 mA 2
Vesd Electrostatic protection Leakage <1µA 2000 V 3
Note: 1. The leakage currents are generally very small, <1nA. The value given here, 1µA, is a maximum that can occur after an Electrostatic
Stress on the pin.
2. V> Vdd3 for 3.3V buffers.
3. Human Body Model
LVTTL & LVCMOS DC Input Specification 2.7V <Vdd3 <3.6V
Symbol Parameters Conditions Min Typ Max Unit Note
Note: 1. Takes into account 200mV voltage drop in both supply lines.
2. X in the source/sink current under worst case conditions and is reflected in the name of the I/O cell according to the drive capability
5/90
STA310
POWER DISSIPATION
Symbol Parameters Conditions Min Typ Max Unit Note
PD Power Dissipation Sampling frequecy ≤ 24KHz t.b.d. mW 1
@VDD = 2.4V
Sampling frequecy ≤ 32KHz t.b.d. mW 1
INTRODUCTION
The STA310 is a fully integrated multi-format audio decoder. It accepts as input, audio data streams coded with
all the formats listed above.
AC3 STA310
DVD Audio
MPEG
MMDSP+ S/P DIF
S/P DIF
6/90
STA310
3 ARCHITECTURE OVERVIEW
3
IEC958
IEC958
(1937)
CIRCULAR FRAME BUFFER FORMATER
HOST OUT
INTERFACE
4
CONTROL,
STATUS 5 8
CORE AUDIO PCM UNIT PCMOUT
CLOCKS
DECODER
7 6
CHANNEL DELAY
BUFFER (35ms)
7/90
STA310
FORMATTER
STA310
DOWN-SAMPLING
MAINI2CADR 53 LPCM
video
96/48kHz
Prologic Decoder
L DELAY
PCMmixing
R DELAY
2 2 2
R
R/Rt C DELAY
SWITCH
SIN 41 CDDA
PES PARSER
PES PARSER
C lfe 76 PCMOUT2
LRCLKIN 40 FRAME DELAY
I2S_IN1 MPEG 1 C
BUFFER Layer 1-2
DSTRB 37 Lfe Ls
lfe DELAY
REQ 42 6
AC-3
Ls
Rs
77 PCMOUT3
Downmix
DELAY
6 1..6 Ls
6
PACKET MPEG 2 Rs
Rs
FORMATTER PTS
2 to 6 ch
Note: 1. The address bus A[7..0], and read/write signal R/W must be setup before the DCSB line is activated.
8/90
STA310
- The signal WAIT. This signal is always driven low in response to the DCSB assertion.
The timing diagrams for the parallel control interface are given in Electrical specifications on page 5.
Parsing
The bitstream parsing (performed by the input processor) is in charge of discarding all the non audio information
in order to transmit to the next stage (the circular frame buffer) only the audio elementary stream (AC3, MPEG1/
2, LPCM, PCM, DVD Audio).
The parsing stage operates in two phases: the packet parser unpacks the stream, the audio parser checks the
syntax of the bitstream.
Main Decoding
The input of this stage is an elementary stream, the outputs are decoded samples. The number of output chan-
nels is defined by the downmix register (1 channel up to 6 channels). For details, please refer to the description
of the register.
The decoding formats currently supported are AC3, MPEG1 layers I and II, MPEG2 layer II, LPCM. It is neces-
sary to select the appropriate stream format by configuring the registers STREAMSEL and DECODESEL before
running the decoder.
9/90
STA310
Post Decoding
The post decoding includes specific PCM processing: DC filter, de-emphasis filter, downsampling filter. These
filters can be independently enabled or disabled through the register DWSMODE.
It provides also a Pro Logic decoder, which is described in detail in a next section.
Bass Redirection
This stage redirects the low frequency signals to the subwoofer.
The subwoofer is extracted from the other channels (L, R, C, Ls, Rs, LFe). There are six possible configurations
to extract the subwoofer channel, which can be selected thanks to the OCFG register.
4 OPERATION
4.1 Reset
The STA310 can be reset either by a hardware reset or by a software reset:
- The hardware reset is sent when the pin RESET is activated low during at least 60ns. This is equiv-
alent to a power-on reset.
This resets all the configuration registers, i.e. PLL registers (PLLSYS, PLLPCM), Interrupt registers
(INTE, INT, ERROR), interface registers (SIN_SETUP, CAN_SETUP) and command registers
(SOFTRESET, RUN, PLAY, MUTE, SKIP_FRAME, REPEAT_FRAME).
- The software reset is sent when the register SOFTRESET is written to 1 (the register is automatically
reset once the software reset is performed). It resets only the interrupt related registers (INTE, INT,
ERROR) and the command registers (SOFTRESET, RUN, PLAY, MUTE, SKIP_FRAME,
REPEAT_FRAME). All other decoding configurations are not changed by softreset.
Some information concerning the post-processing are anywayt of date after a soft-reset
Note: 1. The chip must be soft reset before changing any configuration register.
10/90
STA310
4.2 Clocks
There are two embedded PLLs in the STA310: the system PLL and the PCM PLL.
The following is the block diagram of the system and audio clocks used in the STA310
/N
sys_clockout
pcmclk_en
PLL Sys PLL Audio SPDIF
/2
/2
78
plls_config
sys_clk
pcm_clk
SCLOCK
LRCLK
PCM_OUT
PCMOUT0,1,2,3
DSP Core
R I W
ClkIn Ip
DIV N+1
PFD Charge
(27MHz) Pump
R
C3 C
pll_disable
dN
Switching
Frac Circuit DIV (X+1)
update_frac
Oclk
11/90
STA310
Table 1.
The value of PCMDIVIDER = 0 is reserved. If this number is loaded, the divider is bypassed and the frequency
of SCLK equals the frequency of PCMCLK. The PCMDIVIDER register must be setup before the output of SCLK
starts.
This can be done by first disabling PCM outputs, by de-asserting the MUTE and PLAY commands and then
writing into the PCMDIVIDER register. Once the register is setup, the MUTE and/or PLAY commands can be
asserted. PCMDIVIDER can not be changed “on the fly”.
12/90
STA310
Idle Mode
This is the state entered after a hardware or software reset. In this state, the embedded DSP does not decode,
i.e. no data are processed. The chip is waiting for the RUN command, and during this state all configuration
registers must be initialized. In this state, even if the chip is not processing data, the DACs clocks can be output,
which enables to setup the external DACs. Once the PCMCLK, SCLK and LRCLK clocks are configured, it is-
possible to output them by setting the MUTE register.I
Note: 1. The PLAY command has no effect in this state as the decoder is not running. It can however be sent and it will be taken into account
as soon as the decoder enters the decode state.
Decode Mode
This state is entered after the RUN command has been sent (i.e. RUN register = 1). In this mode, the data are
processed. The decoder can play sound, or mute the outputs, by using the PLAY and MUTE registers:
- To decode streams, the PLAY register must be set. When decoding, the sound will be sent to outputs
if the MUTE register is reset. The outputs are muted if the MUTE register is set.
- To stop decoding, the PLAY register should be reset. Resuming decoding is performed by writing
PLAY to 1 again
13/90
14/90
STA310
1
1
0
0
Play
R0
D0 to D7
FRAME
8 BUFFER PCMOUT1
&
DMA DBIT/ PCMOUT2
3 FIFO R1
3 W NBIT PCMOUT3
Running
Running
Running
LRCLKIN
I2S DSP
Not running
Clock State
SIN2
PCM Output
isters can be changed “on-the-fly”: PCM_SCALE, BAL_LR, BAL_SUR, OCFG, DOWNMIX registers.
No
No
Yes
Yes
Decoding
Note: 1. It is not possible to change configuration registers in this state. It is necessary to soft reset the chip before. Only the following reg-
STA310
15/90
STA310
Table 4.
When Set When Clear Name
Bit 0 The input data is one slot delayed with The input data is not delayed DelayMode
respect to LRCLKIN
Bit 1 First channel when LRCLKIN is set First channel when LRCLKIN is reset LeftFirstChannel
Bit 2 Data are sampled on falling edge of Data are sampled on rising edge of FallingStrobe
DSTR DSTR
Bit 3 All the bytes are extracted Only the first 16 data bits are extracted AllSlot
Figure 7.
00 00 00
0 0 0
LRCLKIN
00 00 00
DSTR 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00
00 00 00
00000000000000000000000000000000000000000000000000000000000000000
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
BIT 7
BIT 6
BIT 5
BIT 4
BIT 7
BIT 6
BIT 5
BIT 4
BIT 3
BIT 2
BIT 1
BIT 0
BIT 7
BIT 6
BIT 5
BIT 4
SIN
0 0 0
Transferred data Discarded data
Example 2: Only the first 2 bytes are transferred to the STA310 because the number of slots is 20 (16 + 4). SIN
and LRCLKIN are sampled on the falling edge of DSTR. The data is in delayed mode.
The register configuration is SIN_SETUP=3 and CAN_SETUP = DelayMode + LeftFirstChannel + FallingStrobe
+ AllSlot = 1 + 2 + 4 + 8 = 15.
This mode is a specific mode where only the first 16 data bits are transferred. The remaining bits are discarded.
The register configuration is SIN_SETUP = 3 and CAN_SETUP = DelayMode + FallingStrobe = 1 + 4 = 5.
BEFORE AFTER
AC3 PCM
AC3 MPEG
MPEG AC3
MPEG PCM
PCM AC3
PCM MPEG
16/90
STA310
Figure 8.
00 00
00 00
LRCLKIN
00 00
0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000 0 0
DSTR
0 0 000 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 0 0
4
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
6
5
4
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
6
5
4
7
SIN
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
17/90
STA310
Figure 9.
00 00
00 00
LRCLKIN
00 00
DSTR 00 00
00 00
4
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
6
5
4
3
2
1
0
7
6
5
4
7
00 00
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
BIT
SIN
Packet parser
Before unpacking packets and transmitting data, the packet parser needs to detect the packet start by recog-
nizing the packet synchronization word. It is possible to force the parser to search for two packet synchronization
words before starting to unpack and transmit.
This is done by setting the register PACKET_LOCK to 1. Otherwise, the packet parser will start handling the
stream once it has detected information matching the packet synchronization word.
The packet parser is also able to perform selective decoding: it can decode audio packets that are matching a
specified Id. This Id is specified in AUDIO_ID and AUDIO_ID_EXt registers, and the function is enabled by set-
ting the AUDIO_ID_EN register.
Audio parser
The audio parser needs to detect the audio synchronization word corresponding to the type of stream that must
be decoded. It is possible to force the audio parser to detect more than one synchronization word before pars-
ing.
This is done by setting the SYNC_LOCK register to a value between 1 and 3 - number of supplementary sync
words to detect before considering to be synchronized.
The status of synchronization of both parsers is provided in the register SYNC_STATUS. Each time the syn-
chronization status of one of the two parsers changes, the interrupt SYN is generated (if enabled) and the status
can be read in SYNC_STATUS.
18/90
STA310
Line Mode
In Line Mode (COMP_MOD = 2), the dialog normalization is always enabled. It is done by the decoder itself and
the dialog is reproduced at a constant level.
The dynamic range control variable encoded in the bitstream is used and can be scaled by the two scaling reg-
isters HDR (for high-level cut compression) and LDR (for low-level boost compression). In case of 2/0 downmix,
the high-level cut compression is not scalable.
RF Mode
In RF Mode (COMP_MOD=3), the dialog normalization is always performed by the decoder. The dialog is re-
produced at a constant level.
The dynamic range control and heavy compression variables encoded in the bitstream are used, but the com-
pression scaling is not allowed. This means that the HDR and LDR registers can not be used in this mode. A
+11dB gain shift is applied on the output channels.
Custom A Mode
In Custom A mode (COMP_MOD=0), the dialog normalization is not performed by the decoder and must be
done by another circuit externally.
The dynamic range control variable encoded in the bitstream is used and can be scaled by the two scaling reg-
isters HDR (for high-level cut compression) and LDR (for low-level boost compression).
Custom D Mode
In Custom D mode (COMP_MOD=1), the dialog normalization is performed by the decoder. The dynamic range
control variable encoded in the bitstream is used and can be scaled by the two scaling registers HDR (for high-
level cut compression) and LDR (for low-level boost compression).
19/90
STA310
4.6.2 MPEG
The STA310 is able to decode MPEG-1 layerI and layerII encoded data, as well as MPEG-2 layer I, layer II data
without extension (i.e. 2-channel streams).
The MPEG input format should be specified in the DECODESEL register:
- DECODESEL=1 for MPEG1. The MC bit in MC_OFF register should be set.
- DECODESEL=2 for MPEG2. The MC bit in MC_OFF register should be set.
4.6.3 MP3
The STA310 is able to decoder MPEG2 layer III (MP3) data.
The MP3 input format aboved be specified in the DECODESEL register:
- DECODESEL=9 for MP3.
20/90
STA310
4.6.3.2 Decoding flow
Figure 10. AC-3 Decoding Flow
PCM_OUT
6-Channel AC-3 Data
L L L L Delay
Data Input Interface
Volume, Balance
Bass Redirection
Fifo 256 Bytes
Packet Parser
AC-3 Decoder
Frame Parser
R R R R
Frame Buffer
Delay
Downmix
PCM_OUT
C C C C Delay
LFe LFe Sub Sub
Delay
Ls Ls Ls Ls
PCM_OUT
Delay
Rs Rs Rs Rs
Delay
Figure 11. MPEG Decoding Flow
2-Channel MPEG1/2 Data
PCM_OUT
L L
Data Input Interface
L
MPEG1/2 Decoder
Delay
Bass Redirection
Volume, Balance
Packet Parser
Fifo 256 Bytes
R
Frame Parser
L R R
Frame Buffer
Delay
Downmix
PCM_OUT
Sub Sub Zeros
Delay
R
PCM_OUT
Zeros
4.6.4 PCM/LPCM
The decoder supports PCM (2-channels) and LPCM Video (8-channels) and Audio (6-channels) streams. This
is selected by DECODESEL=3.
4.6.4.1 Downsampling filter
When decoding PCM/LPCM streams encoded at 96kHz, it is possible to use a filter that downsamples the
stream from 96kHz to 48kHz. The chip can not output streams at 96kHz. The register DWSMODE is used to
configure the use of this filter.
Figure 12. PCM/LPCM Decoding flow
2-Channel PCM/LPCM Data
PCM_OUT0
L
Downsampling Filter
L L
Data Input Interface
Delay
Bass Redirection
Volume, Balance
96kHz -> 48kHz
Packet Parser
Fifo 256 Bytes
Frame Parser
R R R
Frame Buffer
Delay
PCM_OUT1
Zeros
Sub Sub
Delay
PCM_OUT2
Zeros
21/90
STA310
4.6.5 MLP
MLP is a lossless coding system for use on digital audio data originally represented as linear PCM. MLP is man-
datory in DVD Audio. It allows transmission and storage of up to 6 channels. each up to 24 bits precision and
with sample rates between 44.1 KHz and 192KHz.
- DECODESEL = 8
4.6.6 CDDA
- DECODESEL = 5
L L
Pink Noise Generator
No Bass Redirection:
R R
PCM_OUT1
C C
Downmix
Pink
ocfg = 0
LFe LFe
Noise
Ls Ls
PCM_OUT2
Rs Rs
4.7.1 Prologic
Pro Logic Compatible Downmix
The STA310 can decode an AC-3 multichannel bitstream and encode it to provide a 2-channel Pro Logic com-
patible output (Lt, Rt). These 2 channels are the result of a specific downmix referred to as Pro Logic compatible.
This downmix is selected by the register DOWNMIX. The 2 channels can be used as the input of a Pro Logic
decoder and player (e.g. home theatre).
22/90
STA310
ables to configure which channels to output on PCM data. This is done through the register PL_DWN.
An auto-balance feature is available and activated through PL_AB register. The delay on surround channel is
configurable thanks to the LSDLY register (while resetting the RSDLY register).
The bass redirection is performed after the Pro Logic decode. The same bass redirection configuration than
those available in non-Pro Logic modes can be used except that the surround channels will not be added to the
bass redirection. In the case of AC-3 or MPEG the STA310 is therefore capable of first decoding the AC-3 or
MPEG stream then performing the Pro Logic decode.
4.7.2 Others
- Karaoke system
- Bass Management + Volume Control
- Deemphasis
- DC Remove
23/90
STA310
PDEC MODE
0x01 Prologic
0x10 DC Remove
1 AutoBalance
2 WideSurround
3 3/0 (L, R, C)
4 2/1 (L, R, Ls) Phantom
Remark: When playing “Dolby Digital Prologic encoded”, if PL_DOWNMIX is correctly set, Prologic decoder’ is
automatically applied even if the register “PDEC” different to 1.
24/90
STA310
Decoder
MPEG1 Commands
MP3 S/PdifOutput
AC3 Mute
MPEG2 Post Bass
Volume Control PCM (Left
,Right
Skipframe Pcrocessing Management PCM (VCRs)
LPCM Video Encoded
PCM Pause Mute
MLP Off
LPCM Audio Pause block
PinkNoise
Beep Tone
Same Time 2
Prologic
Karaoke
25/90
STA310
L L L
00 00 L
00 0 0 0 0 0 00
C C
C C
00 0 0 0000 0000000000
R R
R R
LS LS
0000000
LS LS
RS RS
RS RS -18.5dB
Configuration 0 Configuration 1
00 00
Not used with Prologic
00 00
Not used with Prologic
00 00 00 0 0000000 00 00
L -16dB L L L
C C
C -16dB C
00 0 0 0 0 0 0 000
00 0 0 0 00000 000 00
R R
00 0 00 00 00 00
R -16dB R
LS LS
LS -16dB LS RS RS
RS -16dB
0000000 RS
-18.5dB Not used in
configuration 4
26/90
STA310
LRCLK
16 SCLK cycles
M L M L
PCM_OUT[2:0] PCMCONF.ORD = 0, PCMCONF.PREC is 16 bits mode
S S S S
L M L M
PCM_OUT[2:0] S PCMCONF.ORD = 1, PCMCONF.PREC is 16 bits mode
S S S
32 SCLK cycles
M L M L PCMCONF.FOR = 1
PCM_OUT[2:0] S 18, 20 or 24 bits 0 18, 20 or 24 bits 0
S S S PCMCONF.DIF = 1
M L M L PCMCONF.FOR = 0
PCM_OUT[2:0] 0 18, 20 or 24 bits 0 18, 20 or 24 bits
S S S S PCMCONF.DIF = 0
M L M L PCMCONF.FOR = 0
PCM_OUT[2:0] 0 S 18, 20 or 24 bits
S
0 0 18, 20 or 24 bits 0
PCMCONF.DIF = 1
S S
M L MSB M L PCMCONF.FOR = 1
PCM_OUT[2:0] MSB 18, 20 or 24 bits 18, 20 or 24 bits
S S S S PCMCONF.DIF = 0
27/90
STA310
0 0
LRCLK LRCLK
PCM_OUT0, 1, 2 PCM_OUT0, 1, 2
SCL = 0 SCL = 1
0 0 0 0 0
Figure 17. LRCLK Polarity
00 00 00 00 00 00
00 00 00 00 00 00
Left Right
LRCLK
0
Right Left
INV = 1 INV = 0
28/90
STA310
6 S/PDIF OUTPUT
The S/PDIF output pad is a TTL output pad with slew rate control. The output DC capability is 4 mA. The voltage
drop is 3V. This output must be connected to a TTL driver before the transformer.
The S/PDIF output supports SPDIF and IEC-61937 standards. Several registers must be initialized to configure
the SPDIF output:
- The category code must be entered in the IEC958_CAT register. It is related to the type of application.
The category code is specified in the Digital Output Interface standard.
- The status bits that will be transmitted on the SPDIF output, must be programmed in the
IEC958_STATUS register.
- IEC clock setting must be specified in the IEC958_CONF register.
- The data type dependent information can be specified in the IEC958_DTDI register.
- The S/PDIF type is selected through the IEC958_CMD register: the IEC unit can output decoded data
(PCM mode), encoded data, or null data.
Note: 1. The SPDIF output handles only 48kHz or 44.1kHz sample rates.
AC3 decoding
Latency = 1/Fs * (1/3 * Framesize + 256)
= 1/Fs * (32 * Datarate/Fs + 256)
MPEG decoding
Latency = 1/Fs * (36 * Datarate/Fs + 96)
where Fs is the sampling frequency in kHz, Framesize is expressed in 16-bit words, Datarate is the bit rate in
kbits per second.
The latency insertion can not be disabled however it can be programmed to values different from those required
in the standard by selecting the user-programmable-latency mode (by setting the bit 7 of IEC858_CONF regis-
29/90
STA310
Table 7.
AC-3 MPEG
Min. Latency Max. Latency Min. Latency Max. Latency
256 1536 96 1152
samples / Fs samples / Fs samples / Fs samples / Fs
If those limits are not respected, an error interrupt occurs corresponding to error type: LATENCY_TOO_BIG,
which automatically makes the chip switch to auto_latency mode.
For software versions prior to 6, the latency is not implemented.
7 INTERRUPTS
30/90
STA310
MPEG_EXT_CRC_ERROR, the bit MC_OFF must be set. This indicates that the decoder tries to decode more
than 2 channels whereas the incoming stream contains only 2 channels.
31/90
STA310
8 AUDIO/VIDEO SYNCHRONIZATION
9 REGISTER MANUAL
9.1 Introduction
The STA310 device contains 256 registers.
Two types of registers exist:
- From address 0x00 to 0x3F, the registers are real registers that can be initialized after reset.
- From address 0x40 to 0x100, they are memory locations. This means that the registers located at the
address 0x40 to 0x100 can have different meanings and usage according to the mode in which the
device operates.
Be careful that they can not be hardware reset: they contain undefined values at reset and require to
be initialized after each hardware reset.
In this document, only the user registers are described.
The undocumented registers are reserved. These registers must never be accessed (neither in Read nor in
Write mode).
The Read only registers must never be written
32/90
STA310
Table 8.
Register function HEX DEC Name
VERSION 0x00 0 VERSION
0x01 1 IDENT
0x71 113 SOFT‘VER
SETUP + INPUTS 0x0C 12 SIN_SETUP (a)
0x0D 13 CAN_SETUP (a)
PCM CONFIGURATION 0x54 84 PCMDIVIDER (b)
0x55 85 PCMCONF (b)
0x56 86 PCMCROSS (b)
DAC AND PLL CONFIGURATION 0x05 5 SFREQ (f)
0x12 18 PLLCTRL (f)
0x18 24 PLLMASK (a)
0x0E 14 DATA IN
0x12 18 PLLCTRL (f)
0x11 17 PLL_DATA (a)
0x1D 29 PLL_CMD(f)
0x12 18 PLL_ADD (f)
0xB5 181 ENA_ALL FRACPLL
0xB6 182 AU_PLL_FRACL_192
0xB7 183 AU_PLL_FRACH_192
0xB8 184 AU_PLL_XDIV_192
0xB9 185 AU_PLL_MDIV_192
0xBA 186 AU_PLL_NDIV_192
0xBB 187 AU_PLL_FRACL_176
0xBC 188 AU_PLL_FRACH_176
0xBD 189 AU_PLL_XDIV_176
0xBE 190 AU_PLL_MDIV_176
33/90
STA310
34/90
STA310
35/90
STA310
36/90
STA310
37/90
STA310
7 6 5 4 3 2 1 0
1 0 1 0 1 1 0 0
Address: 0x01
Type: RO
Software Reset: 0x31
Hardware Reset: 0x31
Description:
IDENT is a read-only register and is used to identify the IC on an application board. IDENT always has the value
“0x31”.
SOFTVER
Software version
7 6 5 4 3 2 1 0
Address: 0x71
Type: R/W
Software Reset: NC
Hardware Reset: UND
Description:
This SOFTVER register is the version of the code which is running on the device. This regiter is updated by the
embedded software just after a soft reset of the device:
- For STA310 cut 1.0 the register contain the value 0x0A
- For STA310 cut 2.0 the register contain the value 0x14
Loading a patch into the STA310 will automatically change the register content.
Please contact ST to have the correct value according to the patch being used.
This register must be readonly after the STA310 has finished booting, in order to get a correct value (when
INIT_RAM register hold the value 1)
VERSION
Version
7 6 5 4 3 2 1 0
0 0 0 1 0 0 0 0
Address: 0x00
Type: RO
38/90
STA310
39/90
STA310
Description:
PCMCONF
Data can be fed into the STa310 by using this register
PCM configuration
instead of the dedicated interface. there is no need to
byte align the bitstream when using this register. 7 6 5 4 3 2 1 0
ODR DIF INV FOR SCL PREC[1:0]
Address: 0x55
Type: R/W
9.5 PCM CONFIGURATION RESISTERS Software Reset: NC
PCMDIVIDER
Hardware Reset: UND
Divider for PCM clock Description:
7 6 5 4 3 2 1 0 Bitfield Description
ORD PCM Order: This bit is significant only
when in 16-bit mode. When set, LSB
Address : 0x54 is sent first. When reset, MSB is sent
first.
Type: R/W
DIF PCM_DIFF: This bit is not significant
Software Reset: UND in 16-bit. When set, indicates that the
bits are not right-padded in the slot.
Hardware Reset: UND
When reset, Ii is right padded.
INV INV_LRCLK: When set the polarty of
Description: LRCLK is inverted: Left channel is
output when LRCLK is high.
The PCM divider must be set according to the formu- When reset, the polarity of LRCLK is
la below, where DAC_SCLK is the bit clock for the such that the left channel is outout
DAC. When Div is set to 0, DAC_SCLK is equal to when LRCLK is low.
DAC_PCMCLK:
FOR FORMAT: This bit selects the data
output format: When set, the Sony
Div = (DAC_PCMCLK/ (2 x DAC_SCLK)) -1 format is chosen. When reset 0 the
format is IS format.
SCL INV_SCLK: When set, the polarity of
When the internal PLL is used, DAC_PCMCLK=384 SCLK is inverted, the PCM outputs
x fs or 256 x fs. If DAC_PCMCLK = 384 x fs, the for- and LRCLK will be stable for the
mula becomes: DACs on the falling edge of SCLK.
When reset, PCM outputs and LRCLK
are stable on the rising edge of SCLK.
Div = (192 x Fs/DAC_SCLK) -1
PREC[1:0] PCM Precision
0: 16 bit mode (16 slots)
If DAC_SCLK is 32 x Fs (common case with the 16 1: 18 bit mode (32 slots)
2: 20 bit mode (32 slots)
bit DAC), Div must be set to 5.
3: 24 bit mode (32 slots)
PCM divider value Mode description
5 DAC_PCMCLK = 384Fs,
PCMCROSS
DAC is 16-bit mode
7 6 5 4 3 2 1 0
3 DAC_PCMLK = 256 Fs,
DAC is 16-bit mode VCR CLR[1:0] CSW[1:0] LRS[1:0]
40/90
STA310
Address: 0x56
Type: R/W Fs
46 44.1 32 - 96 88.2 64 - 24 22.05
(KHz)
Software Reset: NC
Value 0 1 2 3 4 5 6 7 8 9
Hardware Reset: UND
Description: Fs
16 - 12 11.025 8 - 192 176.4 128 -
(KHz)
The PCMCROSS register only acts if bit PFC of reg-
ister SPDIF_DTDI is set. Value 10 11 12 13 14 15 16 17 18 19
Bitfield Description
LRS[1:0] Cross left and right surround. PLLCTRL
CSW[1:0] Cross centre and subwoofer. PLL Control
CLR[1:0] Cross left and right channels.
00: Left channel is mapped on the left 7 6 5 4 3 2 1 0
output, Right channel is mapped on the SYSCLSCK[1..0] OCLK[2..0]
Right output.
01: Left channel is duplicated on both Address: 0x12
outputs.
Type: R/W
10: Right channel is duplicated on both
outputs. Software Reset: NA
11: Right channel and Left channel are
Hardware Reset: 0x19
toggled.
VCR[1:0] These 2 bits manage the VCR outputs.
Description:
Bitfield Value Description
OCLK Configure PCMCLK PCMCLK pad
[2:0] source and direction direction
9.6 PDAC and PLL configuration registers
-01 Audio master Clock Input
SFREQ from PCMLCK pad.
Sampling frequency 011 Audio master Clock Input
from internal audio
7 6 5 4 3 2 1 0 PLL
111 Audio master Clock Input
from internal S/PDIF
Address: 0x05 receiver
Type: R/WS -00 Forbidden
Software Reset: NC 010 Audio master Clock Output
from internal audio
Hardware Reset: 0 PLL
110 Audio master Clock Output
Description: from internal S/PDIF
receiver
This status register holds the code of the current SYSCLC 0 System Clock from CLK pad
sampling frequency. If the audio stream is encoded K[1:0] Output
(Dolby Digital, MPEG) or packetized (DVD_LPCM), 1 System Clock from CLK pad divided
the sampling frequency is automatically read in the by 2
audio stream and written into this register by the au- 2 System Clock from internal system
dio DSP. The register is automatically updated by the PLL
DSP when it performs a down-sampling (for exam- 3 System Clock from internal system
ple, 96kHz to 48kHz). PLL divided by 2
The DSP resets SFREQ to 0.
PLL_DATA
For PCM stream or CDDA, this register is written to
by the application. The value in SFREQ corresponds
to the following frequencies:.
41/90
STA310
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
ADDRESS
Address: 0x12
Address: 0x11
Type: R/W Type: R/W
Software Reset: NA
Software Reset: NA
Hardware Reset: 0
Hardware Reset: 0
Description:
Description:
Data that must be written (has been read) at (from)
the address specified by PLL_ADD. Value Address of PLLs configuration registers
Address 2: Disable System PLL
3: System PLL frac Low
PLL_CMD
4: System PLL frac High
PLL Command 6: System PLL N divider
7: System PLL X divider
7 6 5 4 3 2 1 0 8: System PLL M divider
9: System PLL update
AUPLLCTL SYSPLLCTL RWCTL[1:0] 10: Disable Audio PLL
11: Audio PLL Frac Low
Address: 0x1D 12: Audio PLL Frac High
14: Audio PLL N divider
Type: R/W
15: Audio PLL X divider
Software Reset: NA 16: Audio PLL M divider
17: udio PLL update
Hardware Reset: 0
Description: ENA_AU_FRACPLL
Bitfield Description Audio PLL Enable
RWCTL [1:0] Configure PCMCLK source and 7 6 5 4 3 2 1 0
direction.
00: No action is performed on the ENA_PLL
configuration registers of the level 1
01: Read action of the configuration Address: 0xB5
registers. During this phase, the
content of a selectable (by PLL_ADD)
Type: R/W
register of the level 1 is copied into the Software Reset: 1
PLL_DATA register.
10: Write action of the configuration
Hardware Reset: 0
registers. During .this phase, the
content of a selectable (by PLL_ADD)
register of the level 1 is copied into the
Description:
PLL_DATA register. This register is used to enable the audio PLL of the
11: Forbidden STA310. This register must be always set to “1” after
SYSPLLCTL System PLL coefficients transfert either a soft or hardware reset.
0: No Transfer
1: Transfer the data between the level 1
and the level 2 for the system PLL AU_PLL_FRACL_192
Frac Low Coefficient
AUPLLCTL Audio PLL coefficient transfert
0: No Transfer
7 6 5 4 3 2 1 0
1: Transfer the data between the level 1
and the level 2 for the audio PLL FRACL
PLL_ADD Address: 0xB6
42/90
STA310
Type: R/W This register must contain a XDIV value that enables
Software Reset: 0x34 the audio PLL to generate a frequency of
ofact*192KHz for the PCMCK.
Hardware Reset: UND
Default value at soft reset assume:
– Oversampling factor (ofact) = 384. PCMLCK =
Description: 384 x SF (where SF is the sampling frequency)
This register must contain a FRACL value that en- – External crystal provide a clock running at
ables the audio PLL to generate a frequency of
27MHz
ofact*192KHz for the PCMCK.
Default value at soft reset assume:
– Oversampling factor (ofact) = 384. PCMLCK = AU_PLL_MDIV_192
384 x SF (where SF is the sampling frequency) M Divider Coefficient
– External crystal provide a clock running at 7 6 5 4 3 2 1 0
27MHz
MDIV
Address: 0xB9
AU_PLL_FRACH_192
Type: R/W
Frac High Coefficient
Software Reset: 0x09
7 6 5 4 3 2 1 0
Hardware Reset: UND
FRACH
Address: 0xBA
AU_PLL_XDIV_192
Type: R/W
X Divider Coefficient
Software Reset: 0x01
7 6 5 4 3 2 1 0 Hardware Reset: UND
XDIV
Description:
Address: 0xB8
This register must contain a NDIV value that enables
Type: R/W the audio PLL to generate a frequency of
Software Reset: 0x01 ofact*192KHz for the PCMCK.
Hardware Reset: UND Default value at soft reset assume:
Description: – Oversampling factor (ofact) = 384. PCMLCK =
43/90
STA310
44/90
STA310
PLLMASK LDLY
PCMCLK mask for half sampling frequency Left channel delay
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
HALF_FS
45/90
STA310
CDLY 7 6 5 4 3 2 1 0
Centre channel delay
7 6 5 4 3 2 1 0 Address: 0x5C
Type: R/W
Software Reset: NC
Address: 0x59
Hardware Reset: UND
Type: R/W
Software Reset: NC
Description:
Hardware Reset: UND
Delay on right surround channel, expressed in num-
ber of group of 16 samples. RSDLY = delay (ms) * Fs
Description: (kHz) / 16.
Delay on center channel, expressed in number of When only one surround channel is used, this regis-
group of 16 samples. CDLY = delay (ms) * Fs (kHz) / ter must be reset at initialization.
16
LVDLY
SUBDLY Left VCR channel delay
Subwoofer channel delay
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
Address: 0xAF
Address: 0x5A
Type: R/W
Type: R/W
Software Reset: NC
Software Reset: NC
Hardware Reset: UND
Hardware Reset: UND
Description:
Description:
Delay on left VCR channel, expressed in number of
Delay on subwoofer channel, expressed in number of group of 16 samples.
group of 16 samples. SUBDLY = delay (ms) * Fs LSDLY = delay (ms) * Fs (kHz) / 16
(kHz) / 16
46/90
STA310
TM Set to “0”
UPDATE
PCM delay update
7 6 5 4 3 2 1 0
9.8 SPDIF output set-up
TM DLY
SPDIF_CMD
Address: 0x5D SPDIF control
Type: R/W
7 6 5 4 3 2 1 0
SPDIF_MODE[1:0] 00: OFF, the IEC60958 is not working and the output line is idle,
AUX = ’0’ 01: MUTE, the outputs are PCM null data,
10: PCM, the outputs are PCM data and only the Left/Right channels are transmitted,
11: EMC, in this "encoded" mode the compressed bitstream is transmitted in IEC61937
standard.
SPDIF_MODE[1:0] 10: PCM, the outputs are PCM data and only the "VCR" channels are transmitted.
AUX = ’1’ All other values are reserved.
Category code
SPDIF_CAT
7 6 5 4 3 2 1 0
CATCODE
47/90
STA310
Address: 0x5F
Type: R/W
Software Reset: NC
Hardware Reset: UND
Description:
The table below defines the category codes, values not listed are reserved.
Category code Description
0000000 General
1000000 Experimental
XXX0000 Reserved
XXX1000 Solid State Memory
0000100 Broadcast reception of dig. audio Japan
1100100 Broadcast reception of dig. audio United states
0001100 Broadcast reception of dig. audio Europe
1000100 Broadcast reception of dig. audio Electronic Software delivery
XXXX100 Broadcast reception of dig. audio All other states are reserved
0000010 Digital / Digital converters and signal processing PCM encoder/decoder
0100010 Digital / Digital converters and signal processing Digital / Digital Digital sound sampler
0010010 converters and signal processing r Digital signal mixe
0011010 Digital / Digital converters and signal processing Sample rate converter
XXXX010 Digital / Digital converters and signal processing All other states are reserved
XX00110 A/D converter W/o copyright
XX10110 A/D converter W/ copyright (using copy and L bits)
XXX1110 Broadcast reception of dig. audio
0000001 Laser optical CD - Compatible with IEC 908
0001001 Laser optical CD - Not compatible with IEC 908 (Magneto optical)
X X X X 0 01 Laser optical All other states are reserved
0 0 0 010 1 Musical instruments, microphones, etc. Synthesizer
0 0 0 110 1 Musical instruments, microphones, etc. Microphone
X X X X101 Musical instruments, microphones, etc. All other states are reserved
0000011 Magnetic tape or disks DAT
0001011 Magnetic tape or disks Digital audio sound VCR
X X X X 011 Magnetic tape or disks All other states are reserved
X X X X111 Reserved
7 Only cat. codes XXXX100, XXX1110, XXXX001 -> L bit
0 Original, commercially pre-recorded data
1 No indication of 1st generation or higher
7 All other categories
0 No indication of 1st generation or higher
1 Original, commercially pre-recorded data
SPDIF_CONF
SPDIF PCMCLK divider
7 6 5 4 3 2 1 0
Address: 0x60
Type: R/W
Software Reset:NC
48/90
STA310
Hardware: Reset:UND
Description:
Bitfield Description
DIV[4:0] This field is the DAC_PCMCLK divider. It must be set according to the formula:
in 16 bit mode: IECDIV=(1+PCMDIV)/2-1; in 32 bit mode: IECDIV=PCMDIV
RND This bit is used to have a "16-bit rounding" on the SPDIF (when in PCM mode):
0: no rounding,
1: rounding.
This bit has no effect on the precision of analogue data
SM SYNC MUTE Mode, must be set to zero.
LAT Configures the latency mode between the SPDIF output (in mode compressed) and the Audio output.
0: Auto-Latency: The latency is the transmission time for 2/3 of the payload, plus the time to decode
an audio block.
For MPEG Auto-Latency, the latency is the following time depending of the sampling frequency in the
incoming bitstream: MPEG 48KHz: 20.90ms, MPEG 44.1KHz: 22.95ms, MPEG 32KHz: 32.53ms.
1: User-programmable latency - the SPDIF_LATENCY register is used.
The table below shows the relationship between the value of the IEC divider and the value of the PCM divider.
PCM Divider Value Mode Description IEC Divider Value
5 DAC_PCMCLK = 384Fs, DAC is 16-bit mode 2
3 DAC_PCMLK = 256 Fs, DAC is 16-bit mode 1
2 DAC_PCMLK = 384 Fs, DAC is 32-bit mode 2
1 DAC_PCMLK = 256 Fs, DAC is 32-bit mode 1
SPDIF_STATUS
SPDIF status bit
7 6 5 4 3 2 1 0
Address: 0x61
Type: R/W
Software Reset: NC
Hardware: Reset UND
Description:
49/90
STA310
This register is used to set the value of the status bit in the IEC958 data stream.
Bitfield Description
COM Compress data bit.
1: compressed mode
0: non compressed mode.
COP 1: copy allowed
0: copy not allowed
PRE 1: output has pre-emphasis
0: output does not have pre-emphasis
SFR 0000: if sampling frequency = 44.1KHz
0010: if sampling frequency = 48KHz
0011: if sampling frequency = 32KHz
1010: if sampling frequency = 96KHz
SPDIF_REP_TIME
SPDIF repetition time of a pause frame
7 6 5 4 3 2 1 0
Address: 0x75
Type: R/W
Software Reset: NC
Hardware: Reset: UND
Description:
In compressed mode, a burst of pause frames is sent when there are no more data to transmit (due to an error
or a gap in the incoming bitstream, for example).
This register sets the size of a pause frame in IEC frames: Dolby Digital =4, MPEG=32 and DTS=3.
SPDIF_LATENCY
Latency value
7 6 5 4 3 2 1 0
Value
Address: 0x7E
Type: R/W
Software Reset: NC
Hardware: Reset: UND
Description:
If bit LAT of register SPDIF_CONF is set, a delay can be configured between the output of IEC61937 in com-
pressed mode and the output of the audio decoder. To configure a latency (in unit of seconds) this register has
to be set according the following formula:
Value = L x FS/8 where, L=Latency in s and FS=Sampling frequency in Hz
50/90
STA310
The minimum latency delay is 0; the maximum laten- Hardware: Reset: UND
cy delay is the time to decode a frame:
Bitfield Description Description:
Value Dolby Digital: L = 1536 samples / Sampling The feature is only available for STA310 cut 2.0. This
frequency register is used to enable the autodetection on the S/
MPEG: L = 1152 samples / Sampling PDIF. When high, the autodetection is present. When
frequency low, autodetection is disable.
The STA310 cut 2.0 is able to detect the following au-
dio format changes on the S?PDIF input.
SPDIF_DTDI FROM TO
0 0 0 DR K
Type: R/W
Software Reset: 0
DTD 1: Data-type dependent information used
for the SPDIF in compressed mode, can be Hardware: Reset: UND
set by the user.
Refer to IEC958 standard for more
information. Description:
The feature is only available for STA310 cut 2.0. This
0: Transmitted DTDI are extracted from the register is used to configure the autodetection sensi-
stream. tivity. The lower is SENS, the faster is the autodetec-
PFC 1: PCMCROSS function enabled tion. Typical value is 0.
AUTODETECT_ ALIGN
AUTODETECT_ENA
S/PDIF Autodetection Alignement
S/PDIF Autodetection Enable
Address: 0xE2
7 6 5 4 3 2 1 0 Type: R/W
ENA Software Reset: 0
Hardware: Reset: UND
Address: 0xE0
Type: R/W
Description:
Software Reset: 0
51/90
STA310
52/90
STA310
7 6 5 4 3 2 1 0
9.10 Interrupt register
reserved MUTE reserved PAU BLK SKP SMUT INTE
Address: 0x73 Interrupt enable
Type: R/W 7 6 5 4 3 2 1 0
Software Reset: 0 @0x08 INTE[15:8]
Hardware Reset: 0 @0x07 INTE[7:0]
Value Description
Description:
SMUT, If one or both of these bits is ’1’ then the This register is used to enable each interrupt inde-
MUTE decoder continues the normal decoding
pendently. Setting a bit in the register enables the
process, but the output samples are soft-
muted to zero. When both these bits are ’0’
corresponding interrupt.
muting is disabled and the decoder plays
the incoming frame.
INT
SKP Skip frame. The decoder skips the number Interrupt
of frames programmed in register
7 6 5 4 3 2 1 0
BLK Pause block. The decoder introduces a
delay equal to the number of blocks @0x0A INTE[15:8]
programmed in register @0x09 INTE[7:0]
PAU The decoder is stopped whilst this bit is ’1’. Address: 0x0A - 0x09
Reserved Set to ’0’. Type: RO
Software Reset: 0
Hardware Reset:0
SKIP_MUTE_VALUE
53/90
STA310
7 6 5 4 3 2 1 0
PAC FRA
Address: 0x40
Type: RO
Software Reset: UND
Hardware Reset: UND
54/90
STA310
MPEG_2
Description:
0 0 0 0 0 0 DR K
This register indicates the status of the audio parser
for synchronization. It is used in conjunction with OTHER
PACKET_LOCK and SYNCK_LOCK registers. On
read the synchronization status interrupt bit is 0 0 0 0 0 0 0 0
cleared (INT.SYN is cleared).
Address: 0x42
Bitfield Description
Type: RO
FRA Frame Status
0 0: Research audio synchronization Software Reset: UND
0 1: Wait for confirmation - a synchro word has Hardware Reset: UND
been detected but the parser has not yet
detected SYNC-LOCK+1 synchro words.
1 0: Synchronized - SYNC_LOCK + 1 synchro Description:
words have been detected
1 1: Not used This register contains header data HEAD[31:24]. The
contents depend on the type of the
PAC Packet Status
0 0: Research packet synchronization word
frame.HEAD4[7:3] = 00000, in all cases.
0 1: Wait for confirmation - - a synchro word When the host reads this register, the corresponding
has been detected but the parser has not yet interrupt bit (HDR) is cleared.
detected
PACKET_LOCK+1 synchro words.
1 0: Synchronized - PACKET_LOCK + 1 Dolby Digital
synchro words have been detected
1 1: Not used Bitfield Description
HEAD4 0 0 0 DTYPE
Description:
55/90
STA310
PTS XDCALL_TRY_TO_REUSE_CPL_LEAK 5
XDCALL_TRY_TO_REUSE_SNR 6
PTS
XDCALL_TRY_TO_REUSE_BIT_ALLOC 7
7 6 5 4 3 2 1 0 XDCALL_TRY_TO_REUSE_COUPLING_EX 8
0x46 PTS[32] PONENT_STRA
0x47 PTS[31:24] XDCALL_TRY_TO_REUSE_EXPONENT_S 9
0x48 PTS[23:16] TRA
0x49 PTS[15:8] XDCALL_TRY_TO_REUSE_LFE_EXPONEN 10
T_STRA
0x4A PTS[7:0]
XDCALL_CHBWCOD_IS_TOO_HIGH 11
56/90
STA310
Value Value
Error Name Error Name
(decimal) (decimal)
BSI_ERR_REV 12 MPEG_BITRATE_ERROR 58
BSI_ERR_CHANS 13 MP3 Decoding
CRC_NOT_VALID 14 CRC_ERROR 01
Packet Synchronization DATA_AVAILABLE_ERROR 02
SYNCHRO_PACKET_NOT_FOUND 16 ANC_PARTIAL_READ_ERROR 03
BAD_MPEGI_RESERVED_WORD 17 ANC_NOT_READ_ERROR 04
BAD_MPEG2_RESERVED_WORD 18 BAD_ID_AND_IDEX_VALUES 33
BAD_LPCM_SYNCHRO 19 LAYER_IS_NOR_LAYER3 34
UNKNOWN_STREAM_ID 20 BAD_audio_sampling_freq 35
MARKER_ERROR 21 FREE_FORMAT_NOT_SUPPORTED 36
UNKNOWN_SUB_STREAM_ID 22 BIT_RATE_NOT_SUPPORTED 37
IEC958_INPUT_MISMATCH_CONF 23 BIG_VALUE_ERROR 48
IEC958_MPEG2_LAYERI_NOT_SUPPORTE 24 MODE_CHANGE_ERROR 49
D FS_CHANGE_ERROR 50
IEC958_PAUSE_FRAME_NOT_SUPPORTE 25 Miscellaneous
D
IEC_958_READ_ERROR 64
IEC958_BAD_DATA_TYPE_DEPENDANT 26
MPEG_FB_BYPASS_AREA_ERROR 65
MISMATCH _HOST_SEL_CONFIGURATION 27
SKIPPING_BITS_IN_FB_ERROR 66
Audio Synchronization
LATENCY_TOO_BIG 67
SYNCHRO_AUDIO_NOT_FOUND 32
SKIP_MUTE_ERROR 68
BAD_CRC_AC3 33
UNKNOW_SFREQ_FOR_LATENCY 69
BAD_LPCM_QUANTIZATION_WORDLENG 34
TH LATENCY_TOO_SMALL 70
BAD_AUDIO_SAMPLING_FREQUENCY 35 BAD_INPUT_CHAN 71
BAD_MPEG_LAYER 36 INVALID_ALPHA_COEFF 72
MPEG_BITRATE_FREE_FORMAT 37
9.12 Decoding algorithm registers
NOT_SUPPORTED_AC-3_FRMSIZECOD 38
The table below shows how the STREAMSEL and
BAD_CRC_MPEG_EXTENDED 39 DECODSEL registers should be programmed for dif-
BAD_MPEG_EXTENDED_RESERVED_BIT 40 ferent types of bitstream.
MPEG_EXTENDED_SYNC_NOT_FOUND 41
MPEG_EXTENDED_LENGTH_TOO_SMALL 42 Table 9.
BAD_SAMPLES_PER_CHANNEL 44 STREAMSEL and DECODESEL programming
BAD_FRAME_BIT_SIZE 45
definitions
MPEG Decoding STREAMSEL DECODSEL
Mode
(0x4C) (0x4D)
MPEG_EXTENSION_ERROR 48
0 0 MPEG2 PES carrying
MPEG_MC_MUTE 49
Dolby Digital (ATSC)
NOT USED 50
0 1 MPEG2 PES carrying
NOT USED 51 MPEG1 frames
MPEG_LAYER_ERROR 52 0 2 MPEG2 PES carrying
MPEG_CHCONFIG_ERROR 53 MPEG2 frames
57/90
STA310
7 6 5 4 3 2 1 0
DEC
9.13 System synchronization registers
Address: 0x4D PACKET_LOCK
Type: R/W Packet lock
Software Reset: NC
7 6 5 4 3 2 1 0
Hardware Reset: UND
58/90
STA310
Description: For MPEG1 packets or PES, the 5 LSB bits are sig-
This register specifies the number of supplementary nificant. For DVD PES (LPCM, Dolby Digital or
packet synchro words that the packet parser must MPEG), the 3 LSB bits are significant (see audio
detect before it is considered as synchronized, and pack definition in DVD specifications).
can send data to the audio parser (max=1, min=0). In These bits correspond to the stream number defined
this way, stream data can not be sent to the audio in the STREAM_ID field of the audio packet header,
parser instead of packet sync words. except for DVD, Dolby Digital or LPCM packets,
where they correspond to the stream number defined
PACKET_LOCK = 0: the packet parser is synchro- in the SUB_STREAM_ID field.
nized when it has detected one packet synchro word.
PACKET_LOCK = 1: the packet parser is synchro-
nized when it has detected two packet synchro ID_EXT
words. Audio extension
7 6 5 4 3 2 1 0
ID_EN
Enable audio ID
Address + 0x52
7 6 5 4 3 2 1 0
Type: R/W
Software Reset: NC
Address: 0x50 Hardware Reset: UND
Type: R/W
Software Reset: NC Description:
Hardware Reset:UND The 3 LSB bits of this register are significant. In case
of DVD MPEG2 audio with extension bitstream (see
DVD specifications), this register is used to select the
Description: stream defined in the STREAM_ID of the packets
If set to 1, the audio decoder decodes only the stream containing MPEG2 extension bit stream data.
corresponding to the stream-id or sub-stream-id of
the packet layer. This selection is done through
AUDIO_ID or AUDIO_ID_EXT registers. If set to 0, SYNC_LOCK
the decoder decodes all the audio packets. SYNC lock
7 6 5 4 3 2 1 0
ID
Audio ID
Address: 0x53
7 6 5 4 3 2 1 0
Type: R/W
Software Reset: NC
59/90
STA310
60/90
STA310
3(1) SLP Low frequencies are redirected to the left, right and surround channels or cab be
output on the subwoofer.
If sub-woofer is output, SUB = LFE, L = L + LP(C), R = R + LP(C), Ls = Ls, Rs = Rs
If sub-woofer is not output, L = L + LP(C) + LFE, R = R + LP(C) + LFE, Ls = Ls +
LFE, Rs = Rs + LFE.
4 SIMP Simplified configuration. Low frequencies are exrtacted from C, Ls, Rs and LFE.
If subwoofer is output, SUB = LP(C+Ls+Rs) + LFE, L = L, R = R.
If sub-woofer is not output, SUB = LFE, L = L + (C+Ls+Rs), R = R + (C+Ls+Rs).
5 BYP BYPASS, All channels are directly routed to PCM outputs.
6 configuration 1 without filters.
When configuration = 3 :
If sub-woofer is output :
0 : No +4dB boost on all channels
1 : +4dB boost on all channels
If sub-woofer is not output :
0 : No +8dB boost on all channels
1 : +8dB boost on all channels
LFE_BYOP 0; LFE channel is clear
1: LFE channel is bypassed
Note: 1. In configuration 3 with subwoofer enabled, the output of
the subwoofer is 10dB greater than expected. Therefore
when using this mode, the subwoofer output level needs DWSMODE
to be attenuated 10dB in order to match the subwoofer
output levels of other bass management configurations.
In general be carefull while using the boost option since
it has the potential of causing the woofer output to over-
load
61/90
STA310
62/90
STA310
7 6 5 4 3 2 1 0
9.16 Dolby Digital configuration registers
Reserved CHAN_IDX
AC3_DECODE_LFE
Address: 0x67 Decode LFE
Type: R/W
7 6 5 4 3 2 1 0
Software Reset: 4
Hardware Reset: UND
Address: 0x68
Description:
Type: R/W
This register identifies the pair of channels and the
type of access: Software Reset: NC
Hardware Reset: UND
Bitfield value Channel pair Access comment
63/90
STA310
AC3_RPC
Address: 0x6A Repeat count
Type: R/W
7 6 5 4 3 2 1 0
Software Reset: NC
Hardware Reset: UND
Address + 0x6C
Description:
Type: R/W
This register corresponds to the Dynamic range
scale factor for high level signals, also called cut fac- Software Reset: NC
tor in the Dolby specifications. Hardware Reset: UND
HDR = 255 * Cut Factor (in decimal), where the cut
factor is a fractional number between 0 and 1. It is Description:
used to scale the dynamic range control word for
high-level signals that would otherwise tend to be re- When a CRC error is detected, previous blocks can
duced. be repeated or muted.
When HDR = 0xff (cut factor = 1.0), the high level sig- This register specifies the number of audio blocks to
nals reduction is the one given in the stream. repeat before muting. If this is zero, then blocks are
muted until the next frame is decoded
A value of zero disables the high-level compression.
This word is ignored if the compression mode is set
to RF mode. AC3_KARAMODE
Karaoke downmix
AC3_LDR
7 6 5 4 3 2 1 0
Low dynamic range
7 6 5 4 3 2 1 0
AudioBaseAddress + 0x6D
Type: R/W
Address : 0x6B Software Reset: NC
Type: R/W Hardware Reset: UND
Software Reset: NC
Hardware Reset: UND Description:
Downmix mode when a karaoke bit stream is re-
Description: ceived.
This register corresponds to the Dynamic range A Karaoke bitstream can be composed of 5 chan-
scale factor for low level signals, also called boost nels, which are: L (left), R (right), M (Music), V1(Vocal
factor in the Dolby specifications. 1), V2 (Vocal 2).
LDR = 255 * BoostFactor (in decimal), where the There are two major modes when receiving a
boost factor is a fractional number between 0 and Karaoke bitstream: aware and capable.
1.0. The boost factor scales the dynamic range con- When in 'aware' mode ( KARAMODE = 0), a pre-
trol-word for low-level signals that would otherwise defined downmix is applied on all incoming channels.
tend to be amplified. When in 'capable' mode ( KARAMODE = 4, 5, 6, 7),
When LDR = 0xff (boost factor = 1.0), and the low the user can choose to reproduce or not the two in-
64/90
STA310
coming vocal channels, V1 and V2. when in 2/0 output mode or when receiving a “Dual
An additional mode is added ( AC3_KARAMODE = mode” incoming bitstream (example: A disk with 2 dif-
3) to allow multi-channel reproduction. In this case, ferent languages on channel 1 and channel 2). In the
the downmix specified by the AC3_DOWNMIX and following table, channel 1 and 2 represent the output
AC3_DUALMODE registers is applied. channels after downmix performed with
AC3_DOWNMIX.
The following table summaries the different modes:
This register enables Mono downmix when
Value Mode Comment AC3_DOWNMIX = 2 and AC3_DUALMODE = 3.
0 Aware Left = L + clev*M + slev*V1, Right = R + Value Description
clev*M + slev*V2
0 Output as Stereo
1 Not used
1 Output Channel 1 on both output L/R
2 Not used
2 Output Channel 2 on both output L/R
3 Multicha Consider bitstream as multi-channel:
nnel Perform downmix according to 3 Mix Channel 1 and 2 to monophonic and
DOWNMIX and DUALMODE registers output on both L/R
65/90
STA310
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
Description: Description:
This register contains bit stream information extract- This register contains bit stream information extract-
ed from the stream. ed from the stream.
Bitrate code Code identifying the bitrate. Bitrate[4..0] = Bsid Bit stream identification, indicates the version
frmsizecod[5..1] of the standard
fs_cod Code identifying the sampling frequency Bsmod Bbit stream mode, indicates the type of service
AC3_STATUS1
Dolby Digital status register 1 AC3_STATUS3
Dolby Digital status register 3
7 6 5 4 3 2 1 0
AC3_STATUS2
AC3_STATUS4
66/90
STA310
Bitfield Description
AC3_STATUS5
Audprodie Audprodie: if set, indicates that room type
Dolby Digital status register 5 and mix level are provided
Mix level If audprodie is set, mix level indicates the
7 6 5 4 3 2 1 0
sound level
Lancode Room type If audprodie is set, mix level indicates the
sound level
Address : 0x7B
Type: RO
Software Reset: NC
Hardware Reset: UND 9.17 MPEG configuration registers
MP_SKIP_LFE
Description: Channel skip
This register contains the code of the language of the
7 6 5 4 3 2 1 0
audio service, extracted from the stream.
Reserved
Address:0x7C Description:
67/90
STA310
When this register is set to 1, the LFE channel is Dynamic range control
skipped. When this register is set to 0 the LFE chan-
nel is decoded (if present). 7 6 5 4 3 2 1 0
DRC
MP_PROG_NUMBER
Program number Address: 0x6A
Type: R/W
7 6 5 4 3 2 1 0
Software Reset: 0x00
Reserved Prog
Hardware Reset: UND
Address: 0x69
Type: R/W Description;
Software Reset: 0x00 When bit DRC=1, dynamic range control is enabled.
The dynamic range is set according to the data trans-
Hardware Reset: UND
mitted in the DVD MPEG stream.
Description:
MP_CRC_OFF
When the stream is in Second Stereo mode, this reg-
CRC check off
ister specifies which program is played.
7 6 5 4 3 2 1 0
Bitfield Description
Prog Select program #0 or #1 where 0: L0,R0 in front
channels, 1: L2,R2 in front channels
Address: 0x6C
Type: R/W
MP_DUALMODE Software Reset: NC
MPEG setup dual mode Hardware Reset: UND
7 6 5 4 3 2 1 0
Description:
When register is set to 1, the CRC in MPEG frame is
Addres: 0x6E not checked. When register is set to 0, the CRC in
MPEG frame is checked if exists. If a CRC error oc-
Type: R/W curs, the decoder soft mutes the frame (but does not
Software Reset: 0x00 stop).
Hardware Reset: UND
MP_MC_OFF
The MPEG DUAL_MODE is active in downmix mode Multi-channel
1 and 9.
7 6 5 4 3 2 1 0
Value Description
Reserved DEN Reserved MC
0 Output as Stereo
Address: 0x6D
1 Output Channel 1 on both outputs L/R
Type: R/W
2 Output Channel 2 on both outputs L/R Software Reset: NC
3 Mix Channel 1 and 2 to monophonic, and Hardware Reset: UND
output on both L/R
MP_DRC
68/90
STA310
69/90
STA310
Address : 0x76
Description:
Type: RO
Software Reset: UND Bitfield Description
7 6 5 4 3 2 1 0
MP_STATUS1
CEN[1:0] SUR[1:0] LFE AMX DEM[1:0]
MPEG status register 1
Address : 0x79
7 6 5 4 3 2 1 0
Type: RO
SFR[1:0] PAD PRI MOD[1:0] MEX[1:0]
Software Reset: UND
Address: 0x77 Hardware Reset: UND
Type: RO
Software Reset: UND
Hardware Reset: UND
70/90
STA310
71/90
STA310
Description: Description:
The value in this register sets the PCM beep tone fre- This register has the same function as
quency according to the formula: KAR_MCh0VOL for the right music channel.
Beep_tone_frequency = (Fs/2)/(Register_value+1)
KAR_KEYCONT
Key control (Pitch Shift) ON/OFF
Description; 7 6 5 4 3 2 1 0
This register contains the scaling factor applied to the KEYVALUE
left channel of the music input. It specifies a fractional
multiplication factor whose value varies from 0 to 1.0: Address: 0x84
Music Left channel = original music left channel Type: R/W
scale_factor.
Reset value: 0x00
Bitfield Description
Value 0x00: Scale factor 0 = left channel mute Description:
0x7F: Scale factor 0.5 = half restitution of left The pitch shift can be changed from -3.5 to 3.5 tones,
channel
in steps of 1/4 tone. This register sets the number of
0xFF: Scale factor 1.0 = full restitution of left
channel
tones according to the following table:
Key -1/ -1/ -3/ -1 - - - - -2.49 -3.5
control 4 2 4 1.1 1.3 1.5 1.9
KAR_MCh1VOL (tone) 6 4 8 3
Music channel 1 (R) volume KEYVAL 0 1 2 3 4 5 6 7 8 9
UE
(decimal)
7 6 5 4 3 2 1 0
value
72/90
STA310
Key 1/4 1/2 3/4 1 1.16 1.34 1.58 1.93 2.49 3.5 KAR_MMUTE
control Music channel mute
(tone)
KEYVAL 10 11 12 13 14 15 16 17 18 19 7 6 5 4 3 2 1 0
UE
Reserved MUTE
(decimal)
Address: 0x87
KAR_VCANCEL
Type: R/W
Voice cancellation ON/OFF
Reset value:0
7 6 5 4 3 2 1 0
Reserved VCANCEL
Description:
This register mutes the music channel.
Address: 0x85
Type: R/W Bitfield Description
Reset value: 0 MUTE 0: not muted, 1: muted
Description:
KAR_VCh0VOL
Bitfield Description
Voice channel 0 (L) volume
VCANCELL 0: voice cancellation off,
1: voice cancellation on 7 6 5 4 3 2 1 0
Value
KAR_VVALUE
Address: 0x88
Degree of voice cancellation
Type: R/W
7 6 5 4 3 2 1 0 Reset value: 0xFF
Reserved LEVEL[2:0]
Description:
Address: 0x86
This register has the same function as
Type: R/W KAR_MCh0VOL for the left voice channel instead of
Reset value: 0x0 the left music channel.
Description: KAR_VCh1VOL
When the voice cancellation is enabled by the Voice channel 1 (R) volume
KAR_VCANCEL register, KAR_VVALUE specifies
the extent of the voice cancellation according to the 7 6 5 4 3 2 1 0
following table: Value
Bitfield Description
Address: 0x89
LEVEL[2:0] 0: cut-band filter with 40dB attenuation at
700Hz Type: R/W
1: cut-band filter with 35dB attenuation at Reset value: 0xFF
700Hz
2: cut-band filter with 32dB attenuation at
700Hz Description:
3: cut-band filter with 27dB attenuation at
700Hz This register has the same function as
4: cut-band filter with 23dB attenuation at KAR_MCh0VOL for the right voice channel instead of
700Hz the left music channel.
73/90
STA310
KAR_DUET Description:
Duet ON/OFF switch Bitfield Description
7 6 5 4 3 2 1 0 VOICEEFF Selecte the voice effects:
0: No effect is applied to the voice input
Reserved DUET 1: Echo is applied to the voice inputs,
tuned by registers KAR_VDELAY and
Address: 0x8A KAR_VBAL
2: Chorus is applied to the voice inputs,
Type: R/W tuned by registers KAR_VDELAY and
Reset value: 0 KAR_VBAL
3: Reverb is applied to the voice inputs,
tuned by register KAR_VDELAY.
Description: MIX Voice channel mixing:
The value in this register sets the duet function on or 0: No mix, voice is output on centre
off. When selected, the duet function is configured by channelt
1: Mix music and voice channels into music
register KAR_DUETTHRESH.
channel.
Bitfield Description
DUET 0: duet off and 1: duet on
KAR_VDELAY
Programmable delay/decay music effects
KAR_DUETTHRESH
7 6 5 4 3 2 1 0
Duet threshold control
Value
7 6 5 4 3 2 1 0
DUETTHRESHOLD[7:0] Address: 0x8D
Type: R/W
Address + 0x8B Reset value: 0x0
Type: R/W
Reset delay: 0 Description:
The value in this register specifies the delay used for
Description: voice input effects. The delay can be set in the range
When the Duet function is enabled by the from 0 to 2048/Fs seconds (where Fs is the sampling
KAR_DUET register, this register specifies the ampli- frequency in KHz).
tude of the voice line below which the voice is can- ‘desired time delay’ = ( 2048 / Fs) * ( Value / 256)
celled. If the amplitude of the voice line is below this which gives:
threshold, the recorded voice is played instead. The
value of DUETTHRESHOLD ranges from 0 to 255, KAR_VDELAY value = (Fs / 8) * ’desired time delay
full scale signal. For reverberation effects, this register gives the de-
cay factor,which can vary within the range 0 to 1.0.
KAR_VOICE
Selection of voice effects KAR_VBAL
Programmable mix for echo and chorus effects
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0
Reserved MIX VOICEEFF[1:0
] BALANCE[7:0]
Address: 0x8C
Address: 0x8E
Type: R/W
Type: R/W
Reset delay: 0x0
Reset value: 0x3F
74/90
STA310
Description: KAR_MODE
This register sets the balance between the original Operating mode selection
sound and its delayed version for the echo and cho-
rus effects according to the formula. 7 6 5 4 3 2 1 0
echo (or chorus) output = original_sound * (1 - bal-
Reserved KAR_MODE[1:0]
ance) + delayed_sound * balance
where balance = Balance[7:0] / 255
Address + 0x91
where balance can vary in the range of 0 to 1. A bal-
ance limit of 0.5 is recommended. BALANCE[7:0] = Type: R/W
balance * 255. Reset value: 0x01
KAR_VMUTE Description:
Voice channel mute This register specifies the working mode of the
Karaoke module.
7 6 5 4 3 2 1 0
Reserved MUTE Bitfield Description
Description:
This register specifies the input format for configuring
75/90
STA310
76/90
STA310
7 6 5 4 3 2 1 0
Description:
Reserved Value
This register sets the phase coefficients for channels
Address : 0x70 mixing to Rmix. The input signal is inverted when
PH_xR = ’0’ and non-inverted when ’1’.
Type: R/W
Software Reset: NC
LPCMA_DM_COEFT_2
Hardware Reset: UND
Downmix gain coefficients 2
Description: 7 6 5 4 3 2 1 0
This register selects whether downsampling is used COEF_0L
for input streams requiring sampling frequencies of
192KHz or 176.4KHz. When ’automatic’ is selected, Address: 0x99
register is automatically updated to correspond to the
new output frequency. Type: R/W
Software Reset: NC
Bitfield Description
Hardware Reset: UND
Value 00: Automatic (if Fs = 192KHz or 176.4KHz)
01: Automatic (if Fs = 192KHz or 176.4KHz)
10: No downsampling Description:
This register sets the mixing gain for Lf to Lmix. See
the note after register
LPCMA_DM_COEFT_0
Downmix phase coefficients 0 LPCMA_DM_COEFT_3
7 6 5 4 3 2 1 0 Downmix gain coefficients 3
0 PH_1L PH_2L PH_3L PH_4L PH_5L Reserved
7 6 5 4 3 2 1 0
COEF_0R
Address : 0x97
Type: R/W Address : 0x9A
Software Reset: NC Type: R/W
Hardware Reset: UND Software Reset: NC
77/90
STA310
78/90
STA310
Address: 0xA4
LPCMA_DM_COEFT_10
Type: R/W
Downmix gain coefficients 10
Software Reset: NC
7 6 5 4 3 2 1 0 Hardware Reset: UND
COEF_4L
Description:
Address : 0xA1
This register sets the mixing gain for LFE to Rmix
Type: R/W
Note: For DVD audio, the real coefficient value, alpha[x], applied to
Software Reset: NC channel x is calculated with the following formulae:
Hardware Reset: UND
alpha[x] = 2-(COEF_xL/30) 0<COEF_xL 199
Description: alpha[x] = 2-((COEF_xL - 100)/30) 200<COEF_xL 254
alpha[x] = 0 COEF_xL 255
This register sets the mixing gain for Rs to Lmix. See
the note after register .
LPCMA_STATUS0
LPCMA_DM_COEFT_11 Linear PCM (DVD audio) status register
Downmix gain coefficients 11
7 6 5 4 3 2 1 0
7 6 5 4 3 2 1 0 EMPH Reser STERE DWNMX DOWN_MIX_CODE
ASIS ved O_PB _VALID [3:0]
COEF_4R
Address: 0x76
Address: 0xA2
Type: RO
Type: R/W
Software Reset: NC
Software Reset: NC
Hardware Reset: UND
Hardware Reset: UND
Description:
This register contains bit stream information extract-
Description: ed from the stream.
This register sets the mixing gain for Rs to Rmix. See
the note after register Bitfield Description
LPCMA_DM_COEFT_12 DOWN_MIX_CODE Identifying code
Downmix gain coefficients 12 DWNMX_VALID DOWN_MIX_CODE valid
7 6 5 4 3 2 1 0 STEREO_PB Stereo playback mode
COEF_5L
EMPHASIS Emphasis flag
Address: 0xA3
Type: R/W
LPCMA_STATUS1
Software Reset: NC
Linear PCM (DVD audio) status register
Hardware Reset: UND
7 6 5 4 3 2 1 0
QUANTIZATION_WORD_L QUANTIZATION_WORD_L
This register sets the mixing gain for LFE to Lmix.
ENGTH_1[3:0] ENGTH_2[3:0]
See the note after register .
79/90
STA310
MULTI_CHANNEL_TYPE[3:0]
Description:
This register contains bit stream information extract-
ed from the stream. LPCMA_STATUS4
Bitfield Description Linear PCM (DVD audio) status register
QUANTIZATION_WORD Quantization word length for 7 6 5 4 3 2 1 0
_LENGTH_2[3:0] group 2
BIT_SHIFT_OF_CHANNEL CHANNEL_ASSIGNMENT
QUANTIZATION_WORD Quantization word length for _GR2[3:0] [3:0]
_LENGTH_1[3:0] group 1
Address: 0x7A
Type: RO
LPCMA_STATUS2
Software Reset: NC
Linear PCM (DVD audio) status register
Hardware Reset: UND
7 6 5 4 3 2 1 0
SAMPLING_FREQUENCY SAMPLING_FREQUENCY_
_1[3:0] 2[3:0]
Description:
This register contains bit stream information extract-
Address: 0x78 ed from the stream.
Software Reset: NC
Bitfield Description
Hardware Reset: UND
CHANNEL_ASSIGNMENT[3:0]
Description: BIT_SHIFT_OF_CHANNEL_GR2[3:0]
This register contains bit stream information extract-
ed from the stream.
Bitfield Description LPCMA_STATUS5
SAMPLING_FREQU Sampling frequency for Linear PCM (DVD audio) status register
ENCY_2[3:0] group 2
SAMPLING_FREQU Sampling frequency for 7 6 5 4 3 2 1 0
ENCY_1[3:0] group 1 DYNAMIC_RANGE_CONTROL[7:0]
Address: 0x7B
LPCMA_STATUS3 Type: RO
Linear PCM (DVD audio) status register Software Reset: NC
7 6 5 4 3 2 1 0 Hardware Reset: UND
Reserved MULTI_CHANNEL_TYPE[3:0]
Description:
Address: 0x79 This register contains information, extracted from the
stream, for the dynamic range control.
Type: RO
Software Reset: NC
Hardware Reset: UND
80/90
STA310
Address: x98
LPCMV_FORCE_DWS Type: R/W
Downsampling 96 to 48KHz Software Reset:NC
7 6 5 4 3 2 1 0 Hardware Reset: UND
Reserved Value
Description:
Address: 0x70 This register sets the phase coefficients for channels
Type: R/W mixing to Rmix. The input signal is inverted when
PH_xR = ’0’ and non-inverted when ’1’.
Software Reset: NC
Hardware Reset: UND
LPCMV_DM_COEFT_2
Downmix gain coefficients 2
Description:
For details see register 0x99
This register selects whether downsampling is used
for input streams requiring a sampling frequency of
96KHz.
When ’automatic’ is selected, register is automatical- LPCMV_DM_COEFT_3
ly updated to correspond to the new output frequen- Downmix gain coefficients 3
cy. For details see register 0x9A
Bitfield Description
81/90
STA310
LPCMV_DM_COEFT_5 Note: For DVD video & PCM, the real coefficient value, alpha[x], ap-
Downmix gain coefficients 5 plied to channel x is calculated with the following formulae:
alpha[x] = 2-(x+(y/30)) 0<Y,29 0<X,7
For details see register 0x9C
COEF_xL = register bits [b7,b6,b5,b4,b3,b2,b1,b0]
X = register bits[b7,b6,b5]
Y = register bits[b4,b3,b2,b1,b0
PCMV_DM_COEFT_6
Downmix gain coefficients 6 LPCMV_STATUS0
For details see register 0x9D
7 6 5 4 3 2 1 0
EMPH_ MUTE_ Reserved FRAME_NUM
FLAG FLAG
LPCMV_DM_COEFT_7
Downmix gain coefficients 7 Address: 0x76
For details see register 0x9E Type: R/W
Reset Value: UND
LPCMV_DM_COEFT_8 Description:
Downmix gain coefficients 8
Bitfield Description
For details see register 0x9F
FRAME_NU frame number of the first access unit in
M the group of audio frames
Reserved Set to 0
LPCMV_DM_COEFT_9 MUTE_FLAG 0: mute off, 1: mute on
Downmix gain coefficients 9 EMPH_FLAG Emphasis status after the first access
For details see register 0xA0 unit: 0: emphasis off; 1: emphasis on
LPCMV_STATUS1
PCMV_DM_COEFT_10
Downmix gain coefficients 10 7 6 5 4 3 2 1 0
Address :0x77
LPCMV_DM_COEFT_11 Type: R/W
Downmix gain coefficients 11 Reset Value: UND
For details see register 0xA2
Description:
Bitfield Description
LPCMV_DM_COEFT_12 Channels Number of audio channels:000=1
Downmix gain coefficients 12 channel (mono), 001=2 channels
(stereo), 010=3 channels,
For details see register 0xA3 011=4 channels, 100=5
channels,101=6 channels, 110=7
LPCMV_DM_COEFT_13 channels, 111=8 channels
Downmix gain coefficients 13 Reserved Set to 0
82/90
STA310
PCMV_STATUS2 Description:
7 6 5 4 3 2 1 0 Value Description
Dyn_Range_Control Value (decimal) This register configures the multi
channel structure for the output
Address : 0x78 channels:
Type: RW 0: Stereo
1: Multi channels
Reset Value: UND
Description:
This register sets the dynamic range compression
from the first access unit. For the hexadecimal value 9.24 MLP registers
0x80, dynamic range control is not set. For all other MLP_CRC
values, the dynamic range control is CRC check
(24.082 - 6.0206 * X - 0.2007 * Y)dB, where
X = dynamic_range_control[7..5] and 7 6 5 4 3 2 1 0
Y = dynamic_range_control[4..0].
reserved SU_P MA_S MS_C RH_C
PCMV_MULTI_CHS MLP_DOWNMIX
Multi channels Downmix
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
Reserved Value DWNMIX[7:0]
83/90
STA310
7 6 5 4 3 2 1 0
Description:
DRC[7:0]
When this register = 0x00, LFE is not decoded and
Address : 0x6A when 0x01, LFE is decoded.
Type: R/W
Software Reset: NC MLP_STATUS0
Hardware Reset:: UND MLP status 0 register
7 6 5 4 3 2 1 0
Description: Reserved FS_CODE[4:0]
When this register = 0x00, the dynamic range control
is disabled. When 0x01, the dynamic range control is Address: 0x76
enabled and the DRC information in the MLP stream Type: R/W
is used.
Software Reset: NC
Hardware Reset: UND
MLP_FORCE_DWS
Downsampling 192 to 96kHz or 176.4 to 88.2kHz
Type:
7 6 5 4 3 2 1 0 This status register contains the sampling frequency
codes..
Reserved Value
Bitfield Description
Address: 0x70
Type: R/W FS_COD This list gives the codes and the
E[4:0] corresponding sampling frequency.
Software Reset: NC 0x09: 44.1KHz
Hardware Reset: UND 0x0A: 48KHz
0x0D: 88.2KHz
0x0E: 96KHz
Description: 0x11: 176.4KHz
0x12: 192KHz
This register selects whether downsampling is used 0x1F: Undefined
for input streams requiring sampling frequencies of The remaining codes are reserved.
192KHz or 176.4KHz. When ’automatic’ is selected,
register is automatically updated to correspond to the
84/90
STA310
MLP_STATUS1 Description:
MLP status 1 register This status register contains the sub-stream informa-
tion codes..
7 6 5 4 3 2 1 0
Bitfield Description
Reserved CH_ASSIGN[4:0] SUBSTR_CODE 2-channel decoder:
[3:0] bit0 = ’1’: sub-stream 0 is decoded
Address : 0x77 bit1 = ’1’: a simplified decoder can
be used for sub-stream 0
Type: RO 6-channel decoder:
Software Reset: NC bit2 = ’1’: sub-stream 0 is decoded
bit3 = ’1’: sub-stream 1 is decoded
Hardware Reset: UND
Description:
This status register contains the channel assignment. 9.25 De-emphasis register
Bitfield Description DEEMPH
CH_ASS This gives the channel assignment: De-emphasis
IGN[4:0] See "DVD Specifications for Read-Only
Disc", Part 4 AUDIO SPECIFICATIONS, 7 6 5 4 3 2 1 0
Version 1.0, March 1999, Table C.1-1.
reserved D[1:0]
7 6 5 4 3 2 1 0
Reserved SUBSTR_CODE[3:0]
9.26 Auxilliary outputs registers
Address:: 0x79 VCR_MIX
Type: RO VCR outputs
Software Reset: NC
7 6 5 4 3 2 1 0
Hardware Reset: UND
reserved STEREO PRL reserved COPY 3D_VCR
85/90
STA310
LEFT_VCR_DELAY
CLOCKCMD
Address: 0xAF To be defined
Type: R/WS??
7 6 5 4 3 2 1 0
Software Reset: NC
Reserved
Hardware Reset: 0
Address: 0x3A
Description: Type: R/W
This register contains the VCR left channel delay val- Software Reset: NC
ue. See note after next register description.
Hardware Reset: 0
Description:
This register must be set to 0x00.
86/90
STA310
INIT_RAM
RAM initialization
7 6 5 4 3 2 1 0
Reserved RAM_INIT
Address : 0xFF
Type: RO
Software Reset: 1
Hardware Reset: 0
Description:
The register is used to signal when the STA310 has finished to boot.
After a soft reset or a hardware reset, or a hardware reset, the host processor must wait until INIT_RAM hold
the value “1”.
the host can then start to configure the STA310 according to its application
S/Pdiff out
host S/Pdiff
Control
ST ASDSP
Rs232 line
Xbus
S/Pdif
000 DMA x 3
Two
000
in CRC
checkers
Data in
87/90
STA310
88/90
STA310
mm inch
DIM. OUTLINE AND
MIN. TYP. MAX. MIN. TYP. MAX. MECHANICAL DATA
A 1.60 0.063
D 16.00 0.630
D1 14.00 0.551
D3 12.35 0.295
e 0.65 0.0256
E 16.00 0.630
E1 14.00 0.551
E3 12.35 0.486
D
A
D1
A2
D3
A1
60 41
61 40
0.10mm
.004
Seating Plane
E3 E1 E
Gage plane
PIN 1
0.25mm
IDENTIFICATION
80 21
1 20
K C
TQFP80L
L
L1
89/90
STA310
Information furnished is believed to be accurate and reliable. However, STMicroelectronics assumes no responsibility for the consequences
of use of such information nor for any infringement of patents or other rights of third parties which may result from its use. No license is granted
by implication or otherwise under any patent or patent rights of STMicroelectronics. Specifications mentioned in this publication are subject
to change without notice. This publication supersedes and replaces all information previously supplied. STMicroelectronics products are not
authorized for use as critical components in life support devices or systems without express written approval of STMicroelectronics.
90/90