- All features specified for Layer III in ISO/IEC
11172-3 (MPEG 1 Audio)
- All features specified for Layer III in ISO/IEC
13818-3.2 (MPEG 2 Audio)
- Lower sampling frequencies syntax extension,
(not specified by ISO) called MPEG 2.5
DECODES LAYER III STEREO CHANNELS,
DUAL CHANNEL, SINGLE CHANNEL
(MONO)
SUPPORTING ALL THE MPEG 1 & 2 SAMPLING FREQUENCIES AND THE EXTENSION TO MPEG 2.5:
48, 44.1, 32, 24, 22.05, 16, 12, 11. 025, 8 KHz
ACCEPTS MPEG 2.5 LAYER III ELEMENTARY COMPRESSED BITSTREAM WITH
DATA RATE FROM 8 Kbit/s UP TO 320 Kbit/s
DIGITAL VOLUME CONTROL
DIGITAL BASS & TREBLE CONTROL
SERIAL BITSTREAM INPUT INTERFACE
ANCILLARY DATA EXTRACTION VIA I2C IN-
TERFACE.
SERIAL PCM OUTPUT INTERFACE (I2S
AND OTHER FORMATS)
PLL FOR INTERNAL CLOCK AND FOR OUT-
PUT PCM CLOCK GENERATION
LOW POWER CONSUMPTION:
85mW AT 2.4V
CRC CHECK AND SYNCHRONISATION ER-
ROR DETECTION WITH SOFTWARE INDICATORS
I2C CONTROL BUS
LOW POWER 3.3V CMOS TECHNOLOGY
10 MHz, 14.31818 MHz, OR 14.7456 MHz
EXTERNAL INPUT CLOCK OR BUILT-IN INDUSTRY STANDARD XTAL OSCILLATOR
DIFFERENT FREQUENCIES MAY BE SUPPORTED UPON REQUEST TO STM
APPLICATIONS
PC SOUND CARDS
MULTIMEDIA PLAYERS
STA013B STA013T
SO28
TQFP44
LFBGA64
ORDERING NUMBERS:
STA013T$ (TQFP44)
STA013B$ (LFBGA 8x8)
DESCRIPTION
The STA013 is a fully integrated high flexibility
MPEG Layer III Audio Decoder, capable of decoding Layer III compressed elementary streams,
as specified in MPEG 1 and MPEG 2 ISO standards. The device decodes also elementary streams
compressed by using low sampling rates, as specified by MPEG 2.5.
STA013 receives the input data through a Serial
Input Interface. The decoded signal is a stereo,
mono, or dual channel digital output that can be
sent directly to a D/A converter, by the PCM Output Interface. This interface is software programmable to adapt the STA013 digital output to the
most common DACs architectures used on the
market.
The functional STA013 chip partitioning is described in Fig.1.
Power Supply-0.3 to 4V
Voltage on Input pins-0.3 to VDD +0.3V
Voltage on output pins-0.3 to VDD +0.3V
Storage Temperature-40 to +150°C
Operative ambient temp-40 to +85 (*)°C
Operating Junction Temperature-40 to 125°C
432 B3SCL II
534A1SDIIReceiver Serial DataCMOS Input Pad Buffer
636B2SCKRIReceiver Serial ClockCMOS Input Pad Buffer
738D4BIT_ENIBit EnableCMOS Input Pad Buffer
840 D1 SRC_INTIInterrupt Line For S.R. ControlCMOS Input Pad Buffer
942E2SDOOTransmitter Serial Data (PCM
1044F2SCKTOTransmitter Serial ClockCMOS 4mA Output Drive
112H1LRCKTOTransmitter Left/Right ClockCMOS 4mA Output Drive
123H3OCLKI/OOversampling Clock for DACCMOS Input Pad Buffer
135F3VSS_2Ground
146E4VDD_2Supply Voltage
157G4VSS_3Ground
168G5VDD_3Supply Voltage
1710F5PVDDPLL Power
1811G6PVSSPLL Ground
1912G7FILTOPLL Filter Ext. Capacitor Conn.
2013G8XTOOCrystal OutputCMOS 4mA Output Drive
2115F7XTIICrystal Input (Clock Input)Specific Level Input Pad
2219E7VSS_4Ground
2321C8VDD_4Supply Voltage
2422D7
TESTENITest EnableCMOS Input Pad Buffer
2524A7SCANENIScan EnableCMOS Input Pad Buffer
2625B6
RESETISystem ResetCMOS Input Pad Buffer
2726A5VSS_5Ground
2827C5OUT_CLK/
DATA_REQ
Note:
SRC_INT signal is used by STA013 internal software in Broadcast Mode only; in Multimedia mode SRC_INT must be connected to
V
In functional mode TESTEN must be connected to VDD, SCANEN to ground.
DD
C Serial Data + AcknowledgeCMOS Input Pad Buffer
CMOS 4mA Output Drive
2
C Serial ClockCMOS Input Pad Buffer
with pull up
CMOS 4mA Output Drive
Data)
CMOS 4mA Output Drive
(see paragraph 2.1)
with pull up
with pull up
OBuffered Output Clock/
CMOS 4mA Output Drive
Data Request Signal
4/38
STA013 - STA013B - STA013T
1. ELECTRICAL CHARACTERISTICS:
DD
V
= 2.7V ±0.3V; T
amb
= 0 to 70°C; Rg = 50Ω unless otherwise
specified
DC OPERATING CONDITIONS
SymbolParameterValue
V
GENERAL INTERFACE ELECTRICAL CHARACTERISTICS
Power Supply Voltage2.4 to 3.6V
DD
SymbolParameterTest ConditionMin.Typ.Max.UnitNote
I
IL
Low Level Input Current
Vi = 0V-1010
A1
µ
Without pull-up device
I
IH
High Level Input Current
Vi = VDD = 3.6V-1010
A1
µ
Without pull-up device
V
esd
Note 1:
The leakage currents are generally very small, < 1nA. The value given here is a maximum that can occur after an electrostatic stress
The STA013 input clock is derivated from an external source or from a industry standard crystal
oscillator, generating input frequencies of 10,
14.31818 or 14.7456 MHz.
Other frequencies may be supported upon request to STMicroelectronics. Each frequency is
supported by downloading a specific configuration file, provided by STM
XTI is an input Pad with specific levels.
SymbolParameterTest ConditionMin.Typ.Max.Unit
V
IL
V
IH
Low Level Input VoltageVDD-1.8V
High Level Input VoltageVDD-0.8V
CMOS compatibility
The XTI pad low and high levels are CMOS compatible; XTI pad noise margin is better than typical
CMOS pads.
TTL compatibility
The XTI pad low level is compatible with TTL while the high level is not compatible (for example if V
DD
=
3V TTL min high level = 2.0V while XTI min high level = 2.2V)
6/38
STA013 - STA013B - STA013T
Figure 5.
Figure 6.
MPEG Decoder Interfaces.
DATA_REQ
SDI
DATA
SOURCE
D98AU912
SCKR
BIT_EN
Serial Input Interface Clocks
SDI
XTO
XTIFILT
PLL
MPEG
DECODER
SERIAL AUDIO INTERFACE
RXTX
µP
IIC
SCLSDA
IIC
DATA IGNORED
SDO
SCKT
LRCKT
DAC
OCLK
SCKR
SCKR
BIT_EN
D98AU968A
2.2 - Serial Input Interface
STA013 receives the input data (MSB first)
thought the Serial Input Interface (Fig.5). It is a
serial communication interface connected to the
SDI (Serial Data Input) and SCKR (Receiver Serial Clock).
The interface can be configured to receive data
sampled on both rising and falling edge of the
SCKR clock.
The BIT_EN pin, when set to low, forces the bitstream input interface to ignore the incoming
data. For proper operation Bit-E
N
line shold be
toggled only when SCR is stable low (for both
SCLK_POL configuration) The possible configurations are described in Fig. 6.
SCLK_POL=0
SCLK_POL=4
DATA IGNOREDDATA VALID
2.3 - PLL & Clock Generator System
When STA013 receives the input clock, as described in Section 2.1, and a valid layer III input
bit stream, the internal PLL locks, providing to the
DSP Core the master clock (DCLK), and to the
Audio Output Interface the nominal frequencies of
the incoming compressed bit stream. The STA013
PLL block diagram is described in Figure 7.
The audio sample rates are obtained dividing the
oversampling clock (OCLK) by software programmable factors. The operation is done by STA013
embedded software and it is transparent to the
user.
The STA013 PLL can drive directly most of the
commercial DACs families, providing an over
sampling clock, OCLK, obtained dividing the VCO
frequency with a software programmable dividers.
7/38
g
y
y
y
y
y
y
y
y
STA013 - STA013B - STA013T
Figure 7.
PLL and Clocks Generation System
XTI
N
PFDCP
M
FRAC
Update FRAC
Switchin
Circuit
2.4 - PCM Output Interface
The decoded audio data are output in serial PCM
format. The interface consists of the following signals:
SDO PCM Serial Data Output
SCKT PCM Serial Clock Output
LRCLK Left/Right Channel Selection Clock
The output samples precision is selectable from
Figure 8.
PCM Output Formats
R
CC
VCO
Disable PLL
OCLK
X
XTI2O CLK
DCLK
S
XTI2DSPCLK
16 to 24 bits/word, by setting the output precision
with PCMCONF (16, 18, 20 and 24 bits mode)
register. Data can be output either with the most
significant bit first (MS) or least significant bit first
(LS), selected by writing into a flag of the
PCMCONF register.
Figure 8 gives a description of the several
STA013 PCM Output Formats.
The sample rates set decoded by STA013 is described in Table 1.
LRCKT
SDO
SDO
LRCKT
SDO
SDO
SDO
SDO
16 SCLK C
M
S
L
S
32 SCLK C
M
S
0
M
0
S
cles
16 SCLK Cycles
M
L
S
S
L
M
S
S
cles
32 SCLK Cycles
L
S
M
S
L
S
M
S
M
S
L
0
S
M
0
00
S
L
MSBMSB
S
Table 1: MPEG Sampling Rates (KHz)
MPEG 1MPEG 2MPEG 2.5
482412
44.122.0511.025
32168
16 SCLK C
L
M
S
S
L
M
S
S
32 SCLK C
L
S
M
S
M
S
M
00
S
L
0
S
L
S
M
0
S
L
MSBMSB
S
cles
16 SCLK C
M
L
S
S
M
L
S
S
cles
32 SCLK C
L
S
M
S
MSL
M
0
S
L
0
S
L
S
M
0
00
S
S
cles
L
S
M
S
cles
L
0
S
M
L
S
S
L
S
M
L
S
S
16 SCLK C
PCM_ORD = 0
PCM_PREC is 16 bit mode
PCM_ORD = 1
PCM_PREC is 16 bit mode
32 SCLK C
PCM_FORM AT = 1
PCM_DIFF = 1
PCM_FORM AT = 0
PCM_DIFF = 0
PCM_FORMAT = 0
PCM_DIFF = 1
PCM_FORMAT = 1
PCM_DIFF = 1
cles
cles
8/38
STA013 - STA013B - STA013T
2.5 - STA013 Operation Mode
The STA013 can work in two different modes,
called Multimedia Mode and Broadcast Mode.
In
Multimedia Mode
, STA013 decodes the incoming bitstream, acting as a master of the data
communication from the source to itself.
This control is done by a specific buffer management, controlled by STA013 embedded software.
The data source, by monitoring the DATA_REQ
line, send to STA013 the input data, when the
signal is high (default configuration).
The communication is stopped when the
DATA_REQ line is low.
In this mode the fractional part of the PLL is disabled and the audio clocks are generated at
nominal rates. Fig. 9 describes the default
DATA_REQ signal behaviour.
Programming STA013 it is possible to invert the
polarity of the DATA_REQ line (register
REQ_POL).
Figure 9.
SOURCE STOPS TRANSMITTING DATASOURCE STOPS TRANSMITTING DATA
DATA_REQ
SOURCE SEND DATA TO STA013
D98AU913
the configuration register of the device. The DAC
connected to STA013 can be initialised during
this mode (set MUTE to 1).
PLAYMUTEClock State PCM Output
X0Not Running0
X1Running0
Init Mode
"PLAY" and "MUTE" changes are ignored in this
mode. The internal state of the decoder will be
updated only when the decoder changes from the
state "init" to the state "decode". The "init" phase
ends when the first decoded samples are at the
output stage of the device.
Decode Mode
This mode is completely described by the following table:
PLAYMUTE Clock State
00Not Running0No
01Running0No
10RunningDecoded
11Running0Yes
PCM
Output
Samples
Decoding
Yes
In
Broadcast Mode
, STA013 works receiving a
bitstream with the input speed regulated by the
source. In this configuration the source has to
guarantee that the bitrate is equivalent to the
nominal bitrate of the decoded stream.
To compensate the difference between the nominal and the real sampling rates, the STA013 embedded software controls the fractional PLL operation. Portable or Mobile applications need
normally to operate in Broadcast Mode. In both
modes the MPEG Synchronisation is automatic
and transparent to the user. To operate in Multimedia mode, the STA013, pin nr. 8, SCR-INT
must be connected to VDD on the application
board.
2.6 - STA013 Decoding States
There are three different decoder states:
Init,
and
Decode.
Commands to change the de-
coding states are described in the STA013 I
Idle,
2
C
registers description.
Idle Mode
In this mode the decoder is waiting for the RUN
command. This mode should be used to initialise
3 - I2C BUS SPECIFICATION
2
The STA013 supports the I
C protocol. 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
others as the slave. The master always starts the
transfer and provides the serial clock for synchronisation. The STA013 is always a slave device in
all its communications.
COMMUNICATION PROTOCOL
3. 1 -
3.1.0 - Data transition or change
Data changes on the SDA line must only occur
when the SCL clock is low. SDA transition while
the clock is high are used to identify START or
STOP condition.
3.1.1 - Start condition
START is identified by a high to low transition of
the data bus SDA signal while the clock signal
SCL is stable in the high state.
A START condition must precede any command
for data transfer.
9/38
STA013 - STA013B - STA013T
3.1.2 - Stop condition
STOP is identified by low to high transition of the
data bus SDA signal while the clock signal SCL is
stable in the high state. A STOP condition terminates communications between STA013 and the
bus master.
3.1.3 - Acknowledge bit
An acknowledge bit is used to indicate a successful data transfer. The bus transmitter, either master or slave, releases the SDA bus after sending
8 bit of data.
During the 9th clock pulse the receiver pulls the
SDA bus low to acknowledge the receipt of 8 bits
of data.
3.1.4 - Data input
During the data input the STA013 samples the
SDA signal on the rising edge of the clock SCL.
For correct device operation the SDA signal has
to be stable during the rising edge of the clock
and the data can change only when the SCL line
is low.
- DEVICE ADDRESSING
3.2
To start communication between the master and
the STA013, the master must initiate with a start
condition. Following this, the master sends onto
the SDA line 8 bits (MSB first) corresponding to
the device select address and read or write
mode.
Figure 10.
Write Mode Sequence
The 7 most significant bits are the device address
identifier, corresponding to the I
2
C bus definition.
For the STA013 these are fixed as 1000011.
The 8th bit (LSB) is the read or write operation
RW, this bit is set to 1 in read mode and 0 for
write mode. After a START condition the STA013
identifies on the bus the device address and, if a
match is found, it acknowledges the identification
on SDA bus during the 9th bit time. The following
byte after the device identification byte is the internal space address.
3.3 - WRITE OPERATION
(see fig. 10)
Following a START condition the master sends a
device select code with the RW bit set to 0.
The STA013 acknowledges this and waits for the
byte of internal address.
After receiving the internal bytes address the
STA013 again responds with an acknowledge.
3.3.1 - Byte write
In the byte write mode the master sends one data
byte, this is acknowledged by STA013. The master then terminates the transfer by generating a
STOP condition.
3.3.2 - Multibyte write
The multibyte write mode can start from any internal address. The transfer is terminated by the
master generating a STOP condition.
Figure 11.
CURRENT
ADDRESS
READ
START
RANDOM
ADDRESS
READ
START
SEQUENTIAL
CURRENT
READ
START
SEQUENTIAL
RANDOM
READ
START
10/38
BYTE
WRITE
MULTIBYTE
WRITE
DEV-ADDR
START
DEV-ADDR
START
Read Mode Sequence
ACK
DEV-ADDR
RW
ACK
DEV-ADDR
RW
RW=
ACK
HIGH
DEV-ADDR
ACK
DEV-ADDR
RW
DATA
SUB-ADDR
DATA
SUB-ADDR
ACK
RW
ACK
RW
NO ACK
ACK
STARTRW
ACK
ACK
STARTRW
SUB-ADDR
SUB-ADDR
STOP
DATA
DEV-ADDR
DEV-ADDR
ACK
ACK
ACK
ACK
ACK
DATA IN
DATA IN
DATA
DATA
DATA
ACK
ACK
STOP
NO ACK
NO ACK
ACK
D98AU825B
STOP
STOP
DATA
DATA IN
ACK
ACKNO ACK
D98AU826A
STOP
DATA
STOP
STA013 - STA013B - STA013T
3.4 - READ OPERATION
(see Fig. 11)
3.4.1 - Current byte address read
The STA013 has an internal byte address
counter. Each time a byte is written or read, this
counter is incremented.
For the current byte address read mode, following a START condition the master sends the device address with the RW bit set to 1.
The STA013 acknowledges this and outputs the
byte addressed by the internal byte address
counter. The master does not acknowledge the
received byte, but terminates the transfer with a
STOP condition.
3.4.2 - Sequential address read
This mode can be initiated with either a current
address read or a random address read. However in this case the master does acknowledge
the data byte output and the STA013 continues to
output the next byte in sequence.
To terminate the streams of bytes the master
does not acknowledge the last received byte, but
terminates the transfer with a STOP condition.
The output data stream is from consecutive byte
addresses, with the internal byte address counter
automatically incremented after one byte output.
2
4 - I
C REGISTERS
The following table gives a description of the
MPEG Source Decoder (STA013) register list.
The first column (HEX_COD) is the hexadecimal
code for the sub-address.
The second column (DEC_COD) is the decimal
code.
The third column (DESCRIPTION) is the description of the information contained in the register.
The fourth column (RESET) inidicate the reset
value if any. When no reset value is specifyed,
the default is "undefined".
The fifth column (R/W) is the flag to distinguish
register "read only" and "read and write", and the
useful size of the register itself.
Each register is 8 bit wide. The master shall operate reading or writing on 8 bits only.
1) The HEX_COD is the hexadecimal adress that the microcontroller has to generate to access the information.
2) RESERVED: register used for production test only, or for future use.
(continued)
12/38
STA013 - STA013B - STA013T
4.1 - STA013 REGISTERS DESCRIPTION
2
The STA013 device includes 128 I
C registers. In
this document, only the user-oriented registers
are described. The undocumented registers are
reserved. These registers must never be accessed (in Read or in Write mode). The ReadOnly registers must never be written.
The following table describes the meaning of the
abbreviations used in the I
2
C registers descrip-
tion:
SymbolComment
NANot Applicable
UNDUndefined
NCNo Charge
RORead Only
WOWrite Only
R/WRead and Write
R/WSRead, Write in specific mode
VERSION
Address: 0x00
Type: RO
MSBLSB
b7b6b5b4b3b2b1b0
V8V7V6V5V4V3V2V1
The VERSION register is read-only and it is used
to identify the IC on the application board.
ERROR_CODE register contains the last error
occourred if any. The codes can be as follows:
CodeDescription
(1)0x00 No error since the last SW or HW Reset
(2)0x01CRC Failure
(3)0x02DATA not available
SOFT_RESET
Address: 0x10
Type: WO
Software Reset: 0x00
Hardware Reset: 0x00
MSBLSB
b7b6b5b4b3b2b1b0
XXXXXXX0
1
X = don’t care; 0 = normal operation; 1 = reset
When this register is written, a soft reset occours.
The STA013 core command register and the interrupt register are cleared. The decoder goes in
to idle mode.
The PLAY command is handled according to the
state of the decoder, as described in section 2.5.
PLAY only becomes active when the decoder is
in DECODE mode.
X = don’t care;
0 = normal operation;
1 = write into I
2
C/Ancillary Data
The INTERRUPT is used to give STA013 the
command to write into the I2C/Ancillary Data
Buffer (Registers: 0x59 ... 0x5D). Every time the
Master has to extract the new buffer content (5
bytes) it writes into this register, setting it to a
non-zero value.
MSBLSB
b7b6b5b4b3b2b1b0Description
XXXXX0XXbuffered output clock
XXXXX1XXrequest signal
The DATA_REQ_ENABLE register is used to
configure Pin n. 28 working as buffered output
clock or data request signal, used for multimedia
ANCCOUNT registers are logically concatenated
and indicate the number of Ancillary Data bits
available at every correctly decoded MPEG
frame.
HEAD_H[23:16]
MSBLSB
b7b6b5b4b3b2b1b0
XXXH20H19H18H17H16
x = don’t care
HEAD_M[15:8]
MSBLSB
b7b6b5b4b3b2b1b0
H15H14H13H12H1‘1H10H9H8
HEAD_L[7:0]
MSBLSB
b7b6b5b4b3b2b1b0
H7H6H5H4H3H2H1H0
Address: 0x43, 0x44, 0x45
Type: RO
Software Reset: 0x00
Hardware Reset: 0x00
Head[1:0] emphasis
Head[2] original/copy
Head[3] copyrightHead
[5:4] mode extension
Head[7:6] mode
Head[8] private bit
Head[9] padding bit
Head[11:10] sampling frequency index
Head[15:12] bitrate index
Head[16] protection bit
Head[18:17] layer
Head[19] ID
Head[20] ID_ex
The HEAD registers can be viewed as logically
concatenated to store the MPEG Layer III Header
content. The set of three registers is updated
every time the synchronisation to the new MPEG
frame is achieved
16/38
STA013 - STA013B - STA013T
The meaning of the flags are shown in the following tables:
MPEG IDs
IDexID
00MPEG 2.5
01reserved
10MPEG 2
11MPEG 1
Layer
in Layer III these two flags must be set always to
"01".
Protection_bit
It equals "1" if no redundancy has been added
and "0" if redundancy has been added.
Bitrate_index
indicates the bitrate (Kbit/sec) depending on the
MPEG ID.
if this bit equals ’1’, the frame contains an additional slot to adjust the mean bitrate to the sampling frequency, otherwise this bit is set to ’0’.
Private bit
Bit for private use. This bit will not be used in the
future by ISO/IEC.
Mode
Indicates the mode according to the following table. The joint stereo mode is intensity_stereo
and/or ms_stereo.
These bits are used in joint stereo mode. They indicates which type of joint stereo coding method
is applied. The frequency ranges, over which the
intensity_stereo and ms_stereo modes are applied, are implicit in the algorithm.
Copyright
If this bit is equal to ’0’, there is no copyright on
the bitstream, ’1’ means copyright protected.
Original/Copy
This bit equals ’0’ if the bitstream is a copy, ’1’ if it
is original.
Emphasis
Indicates the type of de-emphasis that shall be
used.
Sampling Frequency
indicates the sampling frequency of the encoded
audio signal (KHz) depending on the MPEG ID
The registers are considered logically concatenated and contain the fractional values for the
PLL, for 44.1KHz reference frequency.
(see also PLLFRAC_L and PLLFRAC_H regis-
between the OCLK (Oversampling Clock for
DACs), and the SCKT (Serial Audio Transmitter
Clock).
The relation is the following:
ters)
SCKT_freq =
OCLK_freq
2 (1 + PCM_DIV
The Oversampling Factor (O_FAC) is related to OCLK and SCKT by the following expression:
OCLK_freq = O_FAC * LRCKT_ Freq
1)
(DAC relation)
OCLK_ Freq = 2 * (1+PCM_DIV) * 32*
2)
LRCKT_Freq (when 16 bit PCM mode is used)
OCLK_ Freq = 2 * (1+PCM_DIV) * 64*
3)
LRCKT_Freq (when 32 bit PCM mode is used)
PCM_DIV = (O_FAC/64) - 1 in 16 bit mode
4)
PCM_DIV = (O_FAC/128) - 1 in 32 bit mode
5)
)
Example for setting:
MSBLSB
b7b6b5b4b3b2b1b0Description
PD7PD6PD5PD4PD3PD2PD1PD0
0000011116 bit mode512 x Fs
0000010116 bit mode384 x Fs
0000001116 bit mode256 x Fs
0000001132 bit mode512 x Fs
0000001032 bit mode384 x Fs
0000000132 bit mode256 x Fs
XORDDIFINVFORSCLPREC (1) PREC (1)
X1PCM order the LS bit is transmitted First
X0PCM order the MS bit is transmitted First
X0The word is right padded
X1The word is left padded
X1LRCKT Polarity compliant to I2S format
X0LRCKT Polarity inverted
X0I2S format
X1Different formats
X1Data are sent on the rising edge of SCKT
X0Data are sent on the falling edge of SCKT
X0016 bit mode (16 slots transmitted)
X0118 bit mode (18 slots transmitted)
X1020 bit mode (20 slots transmitted)
X1124 bit mode (24 slots transmitted)
PCMCONF is used to set the PCM Output Interface configuration:
ORD: PCM order. If this bit is set to’1’, the LS Bit
is transmitted first, otherwise MS Bit is transmiited
first.
DIF: PCM_DIFF. It is used to select the position
of the valid data into the transmitted word. This
setting is significant only in 18/20/24 bit/word
mode.If it is set to ’0’ the word is right-padded,
otherwise it is left-padded.
INV (fig.13): It is used to select the LRCKT clock
polarity. If it is set to ’1’ the polarity is compliant to
I2S format (low -> left , high -> right), otherwise
the LRCKT is inverted. The default value is ’0’. (if
I2S have to be selected, must be set to ’1’ in the
STA013 configuration phase).
Figure 13.
LRCKT Polarity Selection
rising edge of SCKT and sampled on the falling. If
set to ’0’ , the data are sent on the falling edge
and sampled on the rising. This last option is the
most commonly used by the commercial DACs.
The default configuration for this flag is ’0’.
Figure 14.
SCKT Polarity Selection
SCKT
SDO
INV_SCLK=0
SCKT
SDO
INV_SC LK=1
PREC [1:0]: PCM PRECISION
LRCKT
LRCKT
left
left
ht
ri
ri
ht
left
leftINV_LRCLK=1
INV_LRCLK=0
It is used to select the PCM samples precision, as
follows:
’00’: 16 bit mode (16 slots transmitted)
’01’: 18 bit mode (32 slots transmitted)
’10’: 20 bit mode (32 slots transmitted)
FOR: FORMAT is used to select the PCM Output
Interface format.
After hw and sw reset the value is set to 0 corresponding to I
2
S format.
SCL (fig.14): used to select the Transmitter Serial
Clock polarity. If set to ’1’ the data are sent on the
’11’: 24 bit mode (32 slots transmitted)
The PCM samples precision in STA013 can be
16 or 18-20-24 bits.
When STA013 operates in 16 (18-20-24) bits
mode, the number of bits transmitted during a
LRCLT period is 32 (64).
XXXXXX00Left channel is mapped on the left output.
XXXXXX01Left channel is duplicated on both Output channels.
XXXXXX10Right channel is duplicated on both Output channels
XXXXXX11Right and Left channels are toggled
The default configuration for this register is ’0x00’.
STA013 can extract max 56 bytes/MPEG frame.
To know the number of A.D. bits available every
MPEG frame, the ANCCOUNT_L and ANCCOUNT_H registers (0x41 and 0x42) have to be
read.
The buffer dimension is 5 bytes, written by
STA013 core in sequential order. The timing information to read the buffer can be obtained by
reading the FRAME_CNT registers (0x67 - 0x69).
To fill up the buffer with a new 5-bytes slot, the
STA013 waits until a CMD_INTERRUPT register
is written by the master.
The register contains the values for PLL X divider
(see Fig. 7).
The value is changed by the internal STA013
Core, to set the clocks frequencies, according to
the incoming bitstream. This value can be even
set by the user to select the PCM interface configuration.
The VCO output frequency is divided by (X+1).
This register is a reference for 32KHz and 48 KHz
This register is used to select the operating mode
for OCLK clock signal.
If it is set to ’1’, the OCLK frequency is fixed, and
it is mantained to the value fixed by the user even
if the sampling frequency of the incoming bitstream changes.
It the MODE flag is set to ’0’, the OCLK frequency
changes, and can be set to (512, 384, 256) * Fs.
The default configuration for this mode is 256 *
Fs.
When this mode is selected, the default OCLK
frequency is 12.288 MHz.
AVERAGE_BITRATE is a read-only register and
it contains the average bitrate of the incoming bitstream. The value is rounded with an accuracy of
1 Kbit/sec.
FRAME_CNT_L
MSBLSB
b7b6b5b4b3b2b1b0
FC7FC6FC5FC4FC3FC2FC1FC0
FRAME_CNT_M
MSBLSB
b7b6b5b4b3b2b1b0
FC15 FC14 FC13 FC12 FC11 FC10 FC9FC8
SOFTVERSION
Address: 0x71
Type: RO
MSBLSB
b7b6b5b4b3b2b1b0
SV7SV6SV5SV4SV3SV2SV1SV0
After the STA013 boot, this register contains the
version code of the embedded software.
Setting this register to 1, STA013 leaves the idle
state, starting the decoding process.
The Microcontroller is allowed to set the RUN
flag, once all the control registers have been initialized.
The registers BASS_FREQUENCY_HIGH and
BASS_FREQUENCY_LOW, logically concatenated as a 16 bit wide register, are used to select
the frequency, in Hz, where the selected frequency is -12dB respect to the pass-band. By
setting the BASS_FREQUENCY registers, the
following rules must be kept:
The registers TREBLE_FREQUENCY-HIGH and
TREBLE_FREQUENCY-LOW, logically concatenated as a 16 bit wide register, are used to select
the frequency, in Hz, where the selected frequency is +12dB respect to the stop band.
By setting these registers, the following rule must
be kept:
son, before applying Bass & Treble Control, the
user has to set the TONE_ATTEN register to the
maximum value of enhancement is going to perform.
For example, in case of a 0 dB signal (max. level)
only attenuation would be possible. If enhancement is desired, the signal has to be attenuated
accordingly before in order to reserve a margin in dB.
An increment of a decimal unit corresponds to a Tone
Attenuation step of 1.5dB.
.
.
.
5. GENERAL INFORMATION
5.1. MPEG 2.5 Layer III Algorithm.
DEMULTIPLEXING
ERROR CHECK
ENCODED AUDIO
BITSTREAM (8Kbit/s ... 128Kbit/s)
ANCILLARY DATA
&
HUFFMAN
DECODING
SIDE INFORMATION
QUANTISATION
DESCALING
DECODING
INVERSE
&
IMDCT
D98AU903
INVERSE
FILTERBANK
STEREOPHONIC AUDIO
SIGNAL (2*768Kbit/s)
5.2 - MPEG Ancillary Data Description:
As specifyed in the ISO standard, the MPEG
Layer III frames have a variable bit lenght, and
pling frequencies. The time duration of the Layer
III frames is shown in Tab 2.
are constant in time depending on the audio sam-
Table2:
MPEG Layer III Frames Time Duration
Sampling Frequency (KHz)4844.1322422.5161211.0258
MPEG Frame Lenght (ms)242936242936484872
27/38
STA013 - STA013B - STA013T
The Ancillary Data extraction on STA013 can be
described as follow:
STA013 has a specific Ancillary Data buffer,
mapped into the I2C registers:
Since the content of Ancillary Data into an MPEG
Frame STA013 can extract is max. 56 bytes, a
5.3. I/O CELL DESCRIPTION
1) CMOS Tristate Output Pad Buffer
EN
A
, 4mA, with Slew Rate Control / Pin numbers 9, 10, 11, 20, 28
Z
D98AU904
specific register, to require the new 5 byte slot to
STA003 is needed.
This register is:
0x16CMD_INTERRUPT
The interrupt register, is sensitive to any non-zero
value written by the Microcontroller. When this
register is updated the Ancillary Data buffer is
filled up with new values and the registers
0x41ANCCOUNT_L
0x42ANCCOUNT_H
are updated (decremented) accordingly.
OUTPUT PINMAX LOAD
Z100pF
2) CMOS Bidir Pad Buffer
EN
A
ZI
3) CMOS Inpud Pad Buffer
A
, 4mA, with Slew Rate Control / Pin numbers 3, 12
IO
D98AU905
/ Pin numbers 4, 5, 6, 8, 21, 25
Z
D98AU906
4) CMOS Inpud Pad Buffer with Active Pull-Up
A
Z
D98AU907
OUTPUT
PIN
CAPACITANCE
IO5pFIO100pF
INPUT PINCAPACITANCE
A3.5pF
/ Pin numbers 7, 24, 26
INPUT PINCAPACITANCE
A3.5pF
OUTPUT
PIN
MAX
LOAD
28/38
5.4. TIMING DIAGRAMS
5.4.1. Audio DAC Interface
a) OCLK in output. The audio PLL is used to clock the DAC
In "multimedia" mode, the CLK_OUT pad is DATA_REQ. In that case, no timing is given between the XTI input and this pad.
30/38
5.4.5. RESET
The Reset min duration (t_reset_low_min) is 100ns
STA013 - STA013B - STA013T
RESET
5.5. CONFIGURATION FLOW
set
PCM-DIVIDER
set
PCM-CONF.
set
PLL FRAC_441_H,
{
PLL FRAC_441_L,
PLL FRAC_H,
PLL FRAC_L }
set
MFS DF_441,
{
MFSDF }
set
PLL CTRL
HW RESET
t
reset_low_min
PCM OUTPUT
INTERFACE
CONFIGURATION
PLL
CONFIGURATION
FOR:
• {
48, 44.1, 32
29, 22.05, 16
12, 11.025, 8 } KHz
• MULTIMEDIA
MODE see
{TAB 5 to TAB12}
D98AU974
THE OVERALL
SETTING STEPS
ARE INCLUDED IN
THE STA013
CONFIGURATION
FILE AND CAN
BE DOWNLOADED
IN ONE STEP.
STM PROVIDES
A SPECIFIC
CONFIGURATION
FILE FOR EACH
SUPPORTED
INPUT CLOCK
FREQUENCY
set
SCLK_POL
set
DATA_REQ_ENABLE
set
REQ_POL
set
RUN
INPUT SERIAL
CLOCK POLARITY
CONFIGURATION
DATA REQUEST
PIN ENABLE
DATA REQUEST
POLARITY
CONFIGURATION
D98AU975
31/38
STA013 - STA013B - STA013T
Table 5:
PLL Configuration Sequence For
10MHz Input Clock
256 Oversapling Clock
C_stop_cond; /* generate I2C stop condition */
fp++; /* update pointer to new file row */
}
while
(!EDF) /* repeat until End of File */
} /* End routine */
Note:1
STA013 is a device based on an integrated DSP core. Some of the I2C registers default values are loaded after an internal DSP boot operation.
The bootstrap time is 60 micro second. Only after this time lenght, the data in the register can be considered stable.
Note 2
:
Refer also to the application note 1090
34/38
STA013 - STA013B - STA013T
DIM.
MIN.TYP.MAX.MIN.TYP.MAX.
A2.650.104
a10.10.30.0040.012
b0.350.490.0140.019
b10.230.320.0090.013
C0.50.020
c145° (typ.)
D17.718.10.6970.713
E1010.65 0.3940.419
e1.270.050
e316.510.65
F7.47.60.2910.299
L0.41.270.0160.050
S8
mminch
(max.)
°
OUTLINE AND
MECHANICAL DATA
SO28
35/38
STA013 - STA013B - STA013T
DIM.
mminch
MIN.TYP. MAX.MIN.TYP.MAX.
A1.600.063
A10.050.150.0020.006
A21.351.401.450.053 0.055 0.057
B0.300.370.450.012 0.015 0.018
C0.090.200.0040.008
D11.80 12.00 12.20 0.464 0.472 0.480
D19.8010.00 10.20 0.386 0.394 0.401
D38.000.315
E11.80 12.00 12.20 0.464 0.472 0.480
E19.8010.00 10.20 0.386 0.394 0.401
E38.000.315
e0.800.031
L0.450.600.750.018 0.024 0.030
L11.000.039
OUTLINE AND
MECHANICAL DATA
TQFP44 (10 x 10 x 1.4mm)
k0˚(min.), 3.5˚(typ.), 7˚(max.)
D
D1
33
34
B
44
1
e
A
A2
A1
23
22
E
E1
12
11
0.10mm
.004
Seating Plane
B
C
L
36/38
K
TQFP4410
0076922 D
STA013 - STA013B - STA013T
mminch
DIM.
MIN.TYP.MAX.MIN.TYP. MAX.
A1.7000.067
A10.350 0.400 0.450 0.014 0.016 0.018
A21.1000.043
b0.5000.20
D8.0000.315
D15.6000.220
e0.8000.031
E8.0000.315
E15.6000.220
f1.2000.047
Body:
OUTLINE AND
MECHANICAL DATA
8 x 8 x 1.7mm
LFBGA64
BALL 1 IDENTIFICATION
D1D
A
B
C
D
E
F
G
H
φ b (64 PLACES)
e
f
12345678
f
E1
A2
0.15
A
A1
E
LFBGA64M
37/38
STA013 - STA013B - STA013T
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.
The ST logo is a registered trademark of STMicroelectronics.
All other names are the property of their respective owners