ChipFind - документация

Электронный компонент: SAA2500

Скачать:  PDF   ZIP

Document Outline

DATA SHEET
Preliminary specification
File under Integrated Circuits, IC01
September 1994
INTEGRATED CIRCUITS
Philips Semiconductors
SAA2500
MPEG Audio Source Decoder
September 1994
2
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
FEATURES
Advanced error protection
Integrated audio post processing for control of signal
level and inter-channel crosstalk
Demultiplexing of ancillary data in the input bitstream
Automatic digital de-emphasis of the decoded
audio signal
Separate master and slave inputs
Automatic sample frequency and bit-rate switching in
master input mode
Automatic synchronization of input and output interface
clocks in master input mode
Selectable audio output precision; 16, 18, 20 or 22 bit
Low power consumption.
APPLICATIONS
Cable and satellite digital radio decoders
Video CD
Compact Disc Interactive (CD-I)
Sold-state audio
Multimedia Personal Computer (PC).
GENERAL DESCRIPTION
The SAA2500 supports all audio modes (joint stereo,
stereo, single channel and dual channel) bit rates and
sample frequencies of ISO/MPEG-1 layers I and II, as
standardized in
"ISO/IEC 11172-3".
ORDERING INFORMATION
Note
1. When using IR reflow soldering it is recommended that the Drypack instructions in the
"Quality Reference
Pocketbook" (order number 9398 510 34011) are followed.
Supply of this
"ISO/IEC 11172-3" audio standard Layer I or layer II compatible IC does not convey a licence nor imply a
right under any patent, or any Industrial or Intellectual Property Right, to use this IC in any ready-to-use
electronic product.
TYPE NUMBER
PACKAGE
NAME
DESCRIPTION
VERSION
SAA2500H
QFP44
(1)
Plastic quad flat package; 44 leads (lead length 1.3 mm);
body 10
10
1.75 mm
SOT307-2
September 1994
3
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
BLOCK DIAGRAM
Fig.1 Functional block diagram.
handbook, full pagewidth
MGB489
SAA2500
CLOCK
GENERATOR
TRST
TMS
TCK
TDO
TDI
RESET
SD
41
37
39
40
38
8
7
4
44
10
9
3
2
42 43
24 25 23
11 12
DECODING
CONTROL
1
26
SYNTHESYS
SUBBAND
FILTER
BANK
AND
OUTPUT
PROCESSING
INPUT
PROCESSOR
DEQUANTI-
ZATION
AND
SCALING
PROCESSOR
CDS
19
CDSEF
20
CDSCL
18
CDSWA
21
CDSSY
22
CDM
15
CDMEF
14
CDMCL
16
CDMWS
13
29
30
32
31
33
27
28
GND
TA TB TO TI
SCK WS
17
GND
6
GND
TC0
TC1
36
35
URDA
STOP
L3CLK
L3MODE
L3DATA
FSCLKM
FSCLK384
FSCLK
FSCLKIN
X22OUT
X22IN
MCLK24
MCLK
MCLKOUT
MCLKIN
V
DD1
5
34
V
DD2
September 1994
4
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
PINNING
SYMBOL
PIN
DESCRIPTION
TYPE
RESET
1
master reset
I
FSCLK
2
sample rate clock; buffered signal
O
FSCLKIN
3
sample rate clock input
I
MCLK
4
master clock; buffered signal
O
V
DD1
5
supply voltage
-
GND
6
supply ground
-
MCLKOUT
7
master clock oscillator output
O
MCLKIN
8
master clock oscillator input or signal input
I
X22OUT
9
22.579 MHz clock oscillator output
O
X22IN
10
22.579 MHz clock oscillator input or signal input
I
STOP
11
stop decoding
I
URDA
12
unreliable data input; interrupt decoding
I
CDMWS
13
coded data (master input) word select output
O
CDMEF
14
coded data (master input) error flag input
I
CDM
15
ISO/MPEG coded data (master input)
I
CDMCL
16
coded data (master input) bit clock output
O
GND
17
supply ground
-
CDSCL
18
coded data (slave input) bit clock
I
CDS
19
ISO/MPEG coded data (slave input)
I
CDSEF
20
coded data (slave input) error flag
I
CDSWA
21
coded data (slave input) window signal
I
CDSSY
22
coded data (slave input) frame sync
I
L3CLK
23
L3 interface bit clock
I
L3DATA
24
L3 interface serial data
I/O
L3MODE
25
L3 interface address/data select input
I
SD
26
baseband audio I
2
S data output
O
TA
27
do not connect; reserved
O
GND
28
supply ground
-
SCK
29
baseband audio data I
2
S clock output
O
WS
30
baseband audio data I
2
S word select output
O
TO
31
connect to TI (pin 32)
O
TI
32
connect to TO (pin 31)
I
TB
33
do not connect; reserved
O
V
DD2
34
supply voltage
-
TC1
35
do not connect; factory test control 1 input, with integrated pull-down resistor
I
TC0
36
do not connect; factory test control 0 input, with integrated pull-down resistor
I
TDO
37
boundary scan test data output
O
TRST
38
boundary scan test reset input; this pin should be connected to ground for
normal operation
I
TCK
39
boundary scan test clock input
I
September 1994
5
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
TMS
40
boundary scan test mode select input
I
TDI
41
boundary scan test data input
I
FSCLK384
42
sample rate clock frequency indication input
I
FSCLKM
43
sample rate clock source selection for the master input
I
MCLK24
44
master clock frequency indication
I
SYMBOL
PIN
DESCRIPTION
TYPE
Fig.2 Pin configuration.
handbook, full pagewidth
handbook, full pagewidth
1
2
3
4
5
6
7
8
9
10
11
33
32
31
30
29
28
27
26
25
24
23
12
13
14
15
16
17
18
19
20
21
22
44
43
42
41
40
39
38
37
36
35
34
TB
TI
TO
WS
SCK
GND
TA
SD
L3MODE
L3DATA
L3CLK
MCLK24
FSCLKM
FSCLK384
TDI
TMS
TCK
TRST
TDO
TC0
TC1
V
RESET
FSCLK
FSCLKIN
MCLK
V
GND
MCLKOUT
MCLKIN
X22OUT
X22IN
STOP
DD
URDA
CDMWS
CDMEF
CDM
GND
CDSCL
CDS
CDSEF
CDSWA
CDSSY
CDMCL
SAA2500
(QFP44)
DD
MGB490
FUNCTIONAL DESCRIPTION
Coding system
The perceptual audio encoding/decoding scheme defined
within the "
ISO/IEC 11172-3 MPEG Standard" allows for a
high reduction in the amount of data needed for digital
audio whilst maintaining a high perceived sound quality.
The coding is based upon a psycho-acoustic model of the
human auditory system. The coding scheme exploits the
fact that the human ear does not perceive weak spectral
components that are in the proximity (both in time and
frequency) of loud components. This phenomenon is
called masking.
For layers I and II of ISO/MPEG the broadband audio
signal spectrum is split into 32 sub-bands of equal
bandwidth. For each sub-band signal a masking threshold
is calculated. The sub-band samples are then
re-quantized to such an accuracy that the spectral
distribution of the re-quantization noise does not exceed
the masking threshold. It is this reduction of representation
accuracy which yields the data reduction. The
re-quantized sub-band signals are multiplexed, together
with ancillary information regarding the actual
re-quantization, into a MPEG audio bitstream.
September 1994
6
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
During decoding, the SAA2500 de-multiplexes the MPEG
audio bitstream, and with knowledge of the ancillary
information, reconstructs and combines the sub-band
signals into a broadband audio output signal.
Basic functionality
From a functional point of view, several blocks can be
distinguished in the SAA2500. A clock generator section
derives the internally and externally required clock signals
from its clock inputs. The SAA2500 can switch between a
master and a slave input interface to receive the coded
input data. The input processor parses and de-multiplexes
the input data stream. The de-quantization and scaling
processor performs the transformation and scaling
operations on the sample representations in the input
bitstream to yield sub band domain samples.
The sub band samples are transferred via an external
detour to the synthesis sub band filter bank processor. The
detour can be used to process the decoded audio in the
sub band domain. The baseband audio samples,
reconstructed by the sub band filter bank, can be
processed before being output.
The decoding control block houses the L3 control
interface, and handles the response to external control
signals. The L3 control interface enables the application to
configure the SAA2500, to read its decoding status, to
read Ancillary Data, and so on.
Several pins are reserved for Boundary Scan Test and
Scan Test purposes.
SAA2500 clocks
The SAA2500 clock interfacing is designed for application
versatility. It consists of 10 signals (see Table 1).
From a functional point of view, the clock generator inside
the device can be represented as shown in Fig.3.
As described above, the SAA2500 incorporates a master
input interface on which it requests for coded input data
itself, as well as a slave input interface for an imposed
coded data input bitstream. The input interface is selected
with flags MSEL0 and MSEL1, controlled via the L3
microcontroller interface.
Depending on the selected input interface, only a limited
number of the three possible input clocks (MCLKIN, X22IN
and FSCLKIN) is actually required. The various clock
options are selected with the 3 external control signals
MCLK24, FSCLKM and FSCLK384. These control signals
must be stationary while the device reset signal RESET is
de-activated; changing any of these 3 signals without
simultaneously resetting the SAA2500 can result in
malfunctioning.
Table 1
Clock interfacing signals.
SIGNAL
DIRECTION
FUNCTION
MCLKIN
input
master clock oscillator input or signal input
MCLKOUT
output
master clock oscillator output
MCLK
output
master clock; buffered signal
MCLK24
input
master clock frequency indication:
MCLK24 = 0; MCLKIN frequency is 12.288 MHz (256
48 kHz)
MCLK24 = 1; MCLKIN frequency is 24.576 MHz (512
48 kHz)
X22IN
input
22.5792 MHz (512
44.1 kHz) clock oscillator input or signal input
X22OUT
output
22.5792 MHz (512
44.1 kHz) clock oscillator output
FSCLKIN
input
sample rate clock signal input
FSCLK
output
sample rate clock signal; buffered signal
FSCLK384
input
sample rate clock signal frequency indication:
FSCLK384 = 0; FSCLKIN frequency is 256 times the sample rate
FSCLK384 = 1; FSCLKIN frequency is 384 times the sample rate
FSCLKM
input
sample rate clock source selection when using the master input:
FSCLKM = 0; use MCLKIN or X22IN as source
FSCLKM = 1; use FSCLKIN as source
September 1994
7
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Crystal oscillator
The recommended crystal oscillator configuration is shown in Fig.4. The specified component values only apply to
crystals with a low equivalent series resistance of <40
.
Fig.3 SAA2500 clock generator.
Italics: internal signal designation.
handbook, full pagewidth
FSCLKM
FSCLK384
MCLK24
FSCLK
FSCLKIN
X22OUT
X22IN
MCLK
MCLKOUT
MCLKIN
SCK
WS
2
3
2
C = 48 kHz
C = 32 kHz
C = 44.1 kHz
C
C = 0
C = 1 C
1
OSC
OSC
CONTROL
DIVIDER
in
out
12.288 or
24.576 MHz
22.5792 MHz
s
256f or 384f s
control
control
s
256f or 384f s
C = 0
C = 1
C
control
4
6
64
64f s
fs
00
MSEL1
MSEL0 (L3)
A=B
A
B
0: use master input
1: use slave input
to input
interfaces
FCKENA (L3)
MCKDIS (L3)
internal master clocks
decoded sample rate index
MGB491
256f s
September 1994
8
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
handbook, full pagewidth
handbook, full pagewidth
SAA2500
10
9
8
7
R1
X1
C2
C1
R4
X2
R3
C3
C4
MGB492
R2
Fig.4 Crystal oscillator components.
C1 =C2 = 33 pF;
R1 = R4 = 1 M
;
R2 = R3 = 1 k
;
X1 = 22.5792 MHz;
X2 = 24.5760 MHz or 12.2880 MHz
The specified component values only apply to crystals with a low equivalent series resistance of <40
.
Clock frequencies when using the slave input
If the slave input is used (MSEL1 and MSEL0 = 10 or 11),
the SAA2500 clock sources are MCLKIN and FSCLKIN
and X22IN is not used. The I
2
S clocks SCK and WS are
generated by the SAA2500 from FSCLKIN. FSCLKIN may
be designated to have a frequency of 256 times (indicated
by FSCLK384 = 0) or 384 times (indicated by
FSCLK384 = 1) the sample frequency of the coded input
data. Master clock signal MCLKIN may be chosen to have
a frequency of 12.288 MHz (indicated by MCLK24 = 0) or
24.576 MHz (indicated by MCLK24 = 1). MCLKIN and
FSCLKIN do not have to be phase or frequency locked. If
the application is based on a sample frequency of 48 kHz
or 32 kHz, and a sample rate related clock of 12.288 MHz
(256
48 kHz; 384
32 kHz) is available, this can be
taken advantage of by using this signal for both MCLKIN
and FSCLKIN.
Clock frequencies when using the master input
If the master input is used (MSEL1 and MSEL0 = 00), one
out of two configurations is selected with signal FSCLKM
with respect to the clock sources:
1. If FSCLKM = 0, MCLKIN and X22IN are the clock
sources. FSCLKIN is not used in this configuration.
FSCLK384 must be set to 0 for reasons of internal
connections in the clock generator circuitry. MCLKIN
may have only frequency 24.576 MHz (so mandatory
accompanied by MCLK24 = 1), and X22IN must have
a frequency of 22.5792 MHz. MCLKIN and X22IN do
not have to be phase or frequency locked. The main
advantage of this configuration is that the SAA2500
determines automatically which sample rate is active
from the sampling rate setting of the input data
bitstream, and then selects either MCLKIN or X22IN
as the clock source for the I
2
S clocks SCK and WS.
This configuration is therefore particularly suited in
applications with more than one possible sample rate
setting.
2. If FSCLKM = 1, the configuration is comparable to the
configuration when using the slave input
(see Section "Clock frequencies when using the slave
input"). MCLKIN and FSCLKIN are used as the clock
sources, and X22IN is not required. MCLKIN may
again have a frequency of 12.288 MHz (indicated by
MCLK24 = 0) or 24.576 MHz (indicated by
MCLK24 = 1), and FSCLKIN may have a frequency of
256 times (indicated by FSCLK384 = 0) or 384 times
(indicated by FSCLK384 = 1) the sample frequency of
the input data. MCLKIN and FSCLKIN do not have to
be phase or frequency locked.
Target applications; applying the SAA2500 with 2
ISO/MPEG sources
In Table 2 the three target applications of the SAA2500 are
summarised. The slave input application is labelled S, and
the master input applications are labelled M0 and M1.
September 1994
9
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 2
Target applications.
Notes
1. Must be electrically defined; e.g.: LOW.
2. FSCLKIN must be locked to input data clock CDSCL; see Section "The coded data slave input interface".
3. FSCLKIN is not used, but FSCLK384 must be LOW.
ATTRIBUTE CONDITIONS
APPLICATION
S
M0
M1
INPUT INTERFACE
CONDITIONS
SLAVE INPUT
MASTER INPUT
MASTER INPUT
FSCLKM
X
0
1
MCLKIN
MCLK24 = 1
24.576 MHz
24.576 MHz
24.576 MHz
MCLK24 = 0
12.288 MHz
illegal
12.288 MHz
X22IN
note 1
22.579 MHz
note 1
FSCLKIN
FSCLK384 = 1
384f
s
illegal
384f
s
FSCLK384 = 0
256f
s
note 1
256f
s
FSCLK
FCKENA = 1 (L3)
copy of FSCLKIN
256f
s
copy of FSCLKIN
Remarks
note 2
note 3
-
Sections "Clock frequencies when using the slave
input" and "Clock frequencies when using the master
input" explain which clock sources are activated by the
SAA2500 depending on the selected input interface. This
automatic clock source selection makes it easy to apply
the SAA2500 in systems with two ISO/MPEG coded data
sources (one connected to the master input, an one to the
slave input), even if these data sources use different
clocks.
Buffered clock outputs
The SAA2500 provides a signal MCLK which is a buffered
version of MCLKIN. MCLK can be set to 3-state by setting
the L3 control interface flag MCKDIS to 1 in applications
where MCLK is not needed.
Signal FSCLK is copied from the FSCLKIN input for
application types S and M1 or generated with a frequency
of 256f
s
by the SAA2500 for application type M0. After a
device reset, FSCLK must be enabled explicitly by setting
L3 flag FCKENA, or can alternatively be left 3-stated in
applications where it is not needed.
After a device reset, MCLK is enabled; FSCLK is disabled
(i.e. both MCKDIS and FCKENA are set to 0).
Functionality issues
The SAA2500 fully complies with ISO/MPEG layer I and II
with the slave input. With the master input, the SAA2500
complies with ISO/MPEG layer I and II, excluding the free
format bit rate. Several aspects of the decoding process,
as well as the audio post-processing features, offered by
the SAA2500, are described in more detail below.
Synchronization to input data bitstreams
After a reset, the SAA2500 mutes both sub band and
baseband audio data. After data inputting has started, the
SAA2500 searches either for a sync pattern or a sync
pulse. The speed at which input data is read by the master
input to search for synchronisation is described below. If
the application is such that the SAA2500 starts at a
random moment in time compared to the bitstream,
maximal one frame is skipped before a synchronisation
pattern or pulse is encountered.
When the SAA2500 has detected the first synchronisation
word or pulse, a number of frames are decoded in order to
verify synchronisation; the input data for these frames is
read and decoded, but meanwhile the audio output is
muted. The number of muted frames depends on whether
the ISO/MPEG CRC is active, and whether the bit rate is
free format. If the synchronisation is found to be false, the
SAA2500 resumes the initial synchronisation as described
above. If the detected pulse/pattern is concluded to be a
real synchronisation pulse/pattern, Table 3 indicates the
number of muted frames.
September 1994
10
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 3
Muted frames.
CRC
MINIMUM NUMBER OF MUTED FRAMES
DURING SYNCHRONIZATION
FREE FORMAT BIT
RATE
NON-FREE-FORMAT
BIT RATE
No CRC
2
1
CRC
1
0
Master input bit rate selection
As explained above, the SAA2500 can be used to
alternate between two applications: one with the slave
input, and one with the master input. When using the
master input, the SAA2500 should fetch data with the
effective bit rate, but cannot know what the bit rate of the
input data is until it has established synchronisation. To
overcome this paradox, the input requesting is done at the
last selected bit rate.
After a device reset, the master input bit rate selection
defaults to the value indicated in Table 4.
Table 4
Defaults master input bit rate.
Note
1. X = don't care.
FSCLKM
FSCLK384
FSCLKIN
DEFAULT MASTER INPUT
BIT RATE kbits/s
0
0
X
(1)
384
1
0
256
32 kHz
278.64
1
384
32 kHz
0
256
44.1 kHz
384
1
384
44.1 kHz
0
256
48 kHz
417.96
1
384
48 kHz
When FSCLKM = 0, the default master input bit rate is
384 kbits/s. When FSCLKM = 1, the SAA2500 uses signal
FSCLKIN to derive the selected bit rate, but it has no
indication concerning the sample rate corresponding to
FSCLKIN. Therefore, a bit rate of 384 kbits/s is selected at
an assumed sample rate of 44.1 kHz; with other sample
rates, the bit rate changes proportionally.
The consequence is that while the SAA2500 synchronises
(e.g. after a device reset), the application must at least be
able to supply at the given default bit rate the required
number of frames plus one additional frame (because of
the random decoding start point in the input bitstream).
Buffers in the application must thus be chosen sufficiently
large to prevent under or overflows.
The speed with which input data is requested by the
master input is changed by the SAA2500 in each of the
following cases:
1. When input synchronization is established after
checking a number of frames and the bit rate index of
the newly decoded bitstream indicates a different bit
rate than that currently selected. In this case, the bit
rate is adapted to the newly decoded index.
2. When the active input interface is changed from the
master to the slave input, or the signal STOP is
activated; in these cases input requesting stops.
3. When the active input interface is changed from the
slave to the master input, or the signal STOP is
deactivated; the bit rate is set to the last selected
master input bit rate (the last selected master input bit
rate is memorised while using the slave input).
In all other cases (e.g. when the SAA2500 goes and stays
out of synchronisation), the data requesting speed of the
master input is maintained.
Sample rate selection
When using the slave input, or when using the master
input with FSCLKM = 1, the application must know the
sample rate: FSCLKIN must be applied, which has a
frequency which is a multiple of the sample rate; the
(sample rate dependent) I
2
S timing signals SCK and WS
are generated from FSCLKIN. These configurations will
normally be used in applications with a fixed sample rate.
Should the sample rate change, then the SAA2500 must
be reset.
September 1994
11
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
When using the master input with FSCLKM = 0, the
SAA2500 selects the active sample rate autonomously,
and generates the signals SCK and WS from its crystal
clocks. After a device reset, the SAA2500 selects a sample
rate of 44.1 kHz by default.
SCK and WS may, and will only, show phase or frequency
changes in any of the following 3 situations:
1. When the SAA2500 establishes synchronization with
the coded data input bitstream.
2. When the active input interface is changed from the
master input with FSCLKM = 0 to the slave input (i.e.
the timing source for the generation of SCK and WS is
switched from the crystal clocks to FSCLKIN).
3. When the active input interface is changed from the
slave input to the master input with FSCLKM = 0 (i.e.
the timing source for the generation of SCK and WS is
switched from FSCLKIN to the crystal clocks); the
sample rate is set to the last selected sample rate that
was used with the master input (the last selected
sample rate is memorised while using the slave input).
In all other cases, SCK and WS keep on running without
phase or frequency changes, and the sample rate
selection remains unchanged.
Handling of errors in the coded input data
The SAA2500 can handle errors in the input data. Errors
are assumed to be present in 3 cases:
1. If errors are indicated with the coded input data error
flag CDSEF and/or CDMEF.
2. On CRC failure if ISO/MPEG error protection is active.
3. If input bitstream syntax errors are detected.
Errors in the input data have an effect on the decoding
process if the corrupted data is inside the header, bit
allocation or scale factor select information field in a frame
(then the SAA2500 will mute) or inside the scale factor field
(then the previous scale factor will be copied). Errors in
other data fields are not handled explicitly. If the
ISO/MPEG CRC is active, only the CRC result is
interpreted: CDSEF/CDMEF un-reliability indications for
bit allocation and scale factor select information are
neglected.
In applications where the ISO/MPEG CRC is always
present, the protection bit (which itself is not protected) in
the ISO/MPEG header may be overruled by making L3
settings flag CRCACT HIGH. In this manner, the SAA2500
is made robust for data errors on the protection bit.
Subband filter signals
The decoded subband signals are output, so that they can
be processed. The optionally processed subband signals
are put back into the SAA2500 for synthesis filtering.
Baseband audio processing
The baseband audio de-emphasis as indicated in the
ISO/MPEG input data is performed digitally inside the
SAA2500. The incorporated 'Audio Processing Unit'
(see Fig.5) can be used to apply inter-channel crosstalk or
independent volume control per channel. The APU
attenuation coefficients LL, LR, RL and RR may be
changed dynamically by the host microcontroller, writing
their 8 bit indices to the SAA2500 over the L3 control bus.
The coefficient changes become effective within one
sample period after the coefficient index writing.
To avoid clicks at coefficient changes, the transition from
the current attenuation to the next is smoothed. The
relation between the APU coefficient index and the actual
coefficient (i.e. the gain) is given in Table 5.
September 1994
12
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 5
APU coefficient index and actual coefficient.
APU COEFFICIENT INDEX C
APU
COEFFICIENT
BINARY
DECIMAL
00000000 to 00111111
0 to 63
01000000 to 01111110
64 to 126
01111111
127
0
1XXXXXXX
128 to 255
reserved
2
C
12
------
2
C
32
(
)
6
-----------------------
Fig.5 Audio Processing Unit (APU).
handbook, halfpage
left decoded
audio
samples
LR
LL
RL
left output
audio
samples
right decoded
audio
samples
RR
right output
audio
samples
MGB493
From Table 5 we learned that up to coefficient index 64 the
step size is approximately
-
0.5 dB per coefficient
increment, and from coefficient index 64 to index 126 the
step size is approximately
-
1 dB per increment.
Note that the APU has no built-in overflow protection, so
the application must take care that the output signals of the
APU cannot exceed 0 dB level. For an update of the APU
coefficients, it may be required to increase some of the
coefficients and decrease some others. The APU
coefficients are always written sequentially in the fixed
sequence LL, LR, RL and RR. Therefore, to prevent
internal APU data overflow due to non-simultaneous
coefficient updating, the following steps can be followed:
1. Write LL, LR, RL, RR once, but change only those
coefficients that must decrease; overwrite the
coefficients that must increase with their old value (so
do not change these yet).
2. Write LL, LR, RL, RR again, but now change those
coefficients that must increase, keeping the other
coefficients unchanged.
The consequence of this two-pass coefficient updating is
that the application must keep a shadow of the current
APU coefficients (the L3 APU coefficients data item is
write-only).
Fig.6 Relation between APU coefficient index and gain.
(1) Step
-
0.5 dB per coefficient increment.
(2) Step
-
1 dB per coefficient increment.
handbook, full pagewidth
MGB494
94
64
126
127
32
0
0
gain
(dB)
APU coefficient index
(1)
(2)
September 1994
13
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Decoding control signals
The decoding is performed by 3 signals as shown in
Table 6.
Table 6
Signals for decoding control.
The master reset signal RESET forces the SAA2500 into
its default state when HIGH. RESET must stay HIGH
during at least 24 MCLKIN periods if MCLKIN has
frequency 24 MHz (i.e. MCLK24 = 1) or 12 MCLKIN
periods if MCLKIN has frequency 12 MHz (MCLK24 = 0).
At a reset, the SAA2500 synchronization to the input
bitstream is lost, the subband filter and baseband audio
output signals are muted, and the SAA2500 settings are
initialised.
The decoding can be stopped by making input signal
STOP HIGH. Stopping the decoding forces the SAA2500
to end decoding of input data, yet feeding zeroed subband
samples to the synthesis subband filter bank to create a
soft muting. When using the master input, input requesting
is also stopped. CDMWS stays in its current state while
STOP is asserted. The SAA2500 assumes the input
synchronisation to be lost when the decoding is stopped,
SIGNAL
DIRECTION
FUNCTION
RESET
input
reset SAA2500 to
default state
STOP
input
stop decoding
URDA
input
unreliable input data;
interrupt decoding
thus causing re-synchronization when STOP is
de-activated again. Then the SAA2500 mutes, meanwhile
searching for a frame sync pattern or frame sync pulse (the
synchronisation mode is selected via the L3 control bus) at
the input.
If synchronisation is found, the SAA2500 starts producing
output data. The maximum response time to the activation
of signal STOP is half a sample period; the
re-synchronisation time after STOP going LOW again
differs in various situations.
An `unreliable data' indication can be given to the
SAA2500 by making signal URDA HIGH. URDA, like
STOP, mutes the subband signals and forces the
SAA2500 out of synchronisation. However, in contrast to
STOP, master input data requesting continues at the bit
rate that was decoded before URDA became active. The
maximum response time to URDA is half a sample period.
Coded data interfaces
The SAA2500 contains:
A coded data master input interface
A coded data slave input interface.
T
HE CODED DATA MASTER INPUT INTERFACE
When using the master input, the SAA2500 requests for
input data. With the master input, the coded input data may
not use the ISO/MPEG free format bit rate. The coded data
master input interface consists of 4 signals (see Fig.7).
September 1994
14
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 7
Signals of coded data master input interface.
SIGNAL
DIRECTION
FUNCTION
CDM
input
ISO/MPEG coded input data (master input)
CDMEF
input
coded data (master input) error flag
CDMCL
output
coded data (master input) clock
CDMWS
output
coded data (master input) word select
Fig.7 Input data serial transfer format (master input).
handbook, full pagewidth
CDMWS
CDMCL
CDMEF
CDM
1
2
16
17
n
1
2
1 unreliable data bit (example)
valid data
valid but unreliable data
invalid data
MGB495
Data clock CDMCL is being output, having a fixed
frequency of 768 kHz. Signal CDM carries the coded data
in bursts of 16 valid bits. Coded data input frames may
only start either at the first or at the ninth bit of a 16 bit valid
data burst (i.e. only at a byte boundary). The value of word
select signal CDMWS is changed every time new input
data is needed: one CDMCL period after each transition in
CDMWS, 16 bits of valid data are read serially. Assume N
is the number of CDMCL periods between two transitions
of CDMWS, and R is the number of CDMCL periods to
obtain the effective bit rate E (in kbits/s) at a transferring
data rate of 768 kbits/s, i.e. R = 16*768/E. The SAA2500
keeps N close to R, but N can vary plus or minus two:
N
{round(R)-2,...,round(R)+2}.
Error flag CDMEF is used to indicate input data
insecurities (e.g. due to erratic channel behaviour). In
Fig.7, an example with one unreliable bit is shown. The
value of CDMEF may vary for each valid data bit, but is
combined by the SAA2500 for every group of 8 input bits.
T
HE CODED DATA SLAVE INPUT INTERFACE
The coded data slave input interface signals are shown in
Fig.8. The coded data master input interface consists of
5 signals (see Table 8).
September 1994
15
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 8
Signals of coded data slave input interface.
SIGNAL
DIRECTION
FUNCTION
CDS
input
ISO/MPEG coded input data (slave input)
CDSEF
input
coded data (slave input) error flag
CDSCL
input
coded data (slave input) clock
CDSWA
input
coded data (slave input) burst windowing signal
CDSSY
input
coded data (slave input) frame sync
Fig.8 Input data serial transfer format (slave input).
CDSSY indicates frame start during valid data.
handbook, full pagewidth
CDSWA
CDSCL
CDSSY
MGB496
CDSEF
CDS
valid data
valid but unreliable data
invalid data
frame start
1 unreliable data bit (example)
CDS is the SAA2500 input data bitstream. Data clock
CDSCL must have a frequency equal to or higher than the
bit rate. The maximum CDSCL frequency is 768 kHz. Error
flag CDSEF is handled in the same way as CDMEF is
handled for the master input (in Fig.8, one unreliable data
bit is shown as an example). The value of CDSEF is
neglected for those bits where CDSWA is LOW. Window
signal CDSWA being HIGH indicates valid data; in this
way, burst input data is allowed. The constraints for the
ability to use `burst signals' are explained below. Frame
sync signal CDSSY indicates the start of each input data
frame. CDSSY is synchronous with CDSCL. CDSSY may
be present or not: as described below. The first valid CDS
bit after a leading edge of CDSSY is interpreted to be the
first frame bit.
The minimum time for CDSSY to stay HIGH is one CDSCL
period; the maximum HIGH period is constrained by the
requirement that CDSSY must be LOW at least during one
CDSCL period per frame (a leading edge, i.e. a frame start
indication, must be present every frame). Leading edges
of CDSSY can occur while CDSWA is HIGH, as in Fig.8.
Alternatively, a situation as shown in Fig.9 is also allowed,
where CDSSY has a leading edge while CDSWA is LOW,
i.e. during invalid data. The first CDS bit after CDSWA
going HIGH is now interpreted to be the first frame bit.
September 1994
16
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Fig.9 Input data serial transfer format (slave input).
CDSSY indicates frame start at next valid data.
handbook, full pagewidth
CDSWA
CDSCL
CDSSY
CDS
frame start
MGB497
valid data
invalid data
Whether frame sync signal CDSSY is present or not must
be selected with L3 settings flags MSEL1 and MSEL0
(see Section "SAA2500 settings item"). With respect to the
presence of CDSSY, two situations can be distinguished:
1. If CDSSY is supplied, CDSWA may change each
CDSCL period.
2. If CDSSY is not supplied, CDSCL must have a
frequency higher than the bit rate (i.e. CDSWA
cannot be continuously HIGH), and CDSWA HIGH
periods may have only lengths of a multiple of
8 CDSCL periods: data is input in byte bursts.
Furthermore, these bursts must be byte aligned with
the frame bounds: frames are only allowed to start at
the 1
st
, 9
th
, 17
th
etc. bit in a valid data burst. For
applications where data is input in bursts of exactly
one frame, and where CDSCL has a higher frequency
than the bit rate, CDSWA and CDSSY may be
interconnected.
S
LAVE INPUT TRANSFER SPEED OF FIRST FRAME
Both the average and the instantaneous speed at which
data is transferred to the slave input interface are limited.
The data transferring of the first ISO/MPEG frame after
starting to decode is shown in Fig.10.
It shows the transferring of nf bits in one frame between
time 0 and t, where t corresponds to 384 sample periods
(ISO/MPEG layer I input data) or 1152 sample periods
(ISO/MPEG layer II input data). Buffer margin B equals 16
bytes (128 bits). In Fig.10 an effective transferring
characteristic is drawn, representing any of the possible
ISO/MPEG bit rates. However, input data may be
transferred at a higher-than-effective speed (in other
words: CDSCL may have a higher frequency than the
effective bit rate) in periods during which CDSWA is HIGH,
interleaved with invalid data periods where CDSWA is
LOW. In the example of Fig.9 this is used to transfer the
data of the frame in two bursts, as shown by the actual
transferring characteristic. The actual transferring
characteristic has a slope equal to the CDSCL frequency
while CDSWA is HIGH, and is horizontal during the
periods in which CDSWA is LOW (no bits are being
transferred).
September 1994
17
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Fig.10 Slave input data transferring for the first frame.
(1) The actual transferring characteristics of all frames are restricted to this area.
(2) Effective transferring characteristic (example).
(3) Actual transferring characteristic of the first frame (example).
andbook, full pagewidth
transferred
input frame bits
n
t
time
(3)
B
B
B
B
slope: CDSCL
frequency
(1)
0
MGB498
slope: effective
input bit rate
(2)
slope: maximum
input bit rate
The shaded area in Fig.10 represents the restrictions to
the actual transferring characteristic of all frames. The
actual transferring characteristic may not undercut the
effective transferring characteristic by more than B bits to
avoid an input underflow. On the other hand, the actual
transferring characteristic may not cross the shown upper
limit of the shaded area to prevent an input buffer overflow.
The slope of this upper limit is determined by the maximum
effective input bit rate (depending on the input data
format). Table 9 summarizes the slopes as determined by
the bit rates supported by ISO/MPEG.
Table 9
Slopes determined by bit rates supported by
ISO/MPEG.
Note
1. Achieved using the free format option and the
minimum amount of the side information that must be
transmitted (this means using single channel mode, no
CRC and 32 kHz sample rate).
ISO/MPEG
LAYER
EFFECTIVE
INPUT BIT
RATE
(kbits/s)
TRANSFERRING
UPPER LIMIT
SLOPE (kbits/s)
ISO/MPEG layer I
13.3
(1)
to 448
448
ISO/MPEG layer II
3.5
(1)
to 384
384
S
LAVE INPUT TRANSFER SPEED OF SUBSEQUENT FRAMES
The SAA2500 starts decoding as soon as enough data of
the first ISO/MPEG input data frame has been received.
Thus the start moment of decoding depends on the actual
transferring characteristic of the first frame. Decoding start
times of subsequent input data frames are also governed
by this initial start time.
For this reason the transferring characteristic of all
subsequent frames must approximate the characteristic of
the first frame within the buffer margin
B. For the example
shown in Fig.10, subsequent frames must be transferred
within the shaded area shown in Fig.11.
September 1994
18
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Fig.11 Slave input data transferring for subsequent frames, referenced to the first frame.
(1) The actual transferring characteristics of all subsequent frames are restricted to this area.
(2) Effective transferring characteristic (example).
(3) Actual transferring characteristic of the first frame (example).
handbook, full pagewidth
transferred
input frame bits
n
t
time
(2)
B
B
B
B
(3)
(1)
0
MGB499
slope: effective
input bit rate
slope: CDSCL
frequency
Note that the actual transferring characteristics of all
frames must also remain inside the shaded area of Fig.11.
The subband filter interface
As mentioned earlier, decoded signals in the subband
domain (before synthesis filtering) are available externally
for processing. The associated interface has an I
2
S-like
format (see Fig.12).
September 1994
19
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
The filter data interface uses 6 signals as shown in Table 10.
Table 10 Signals of filter data interface.
SIGNAL
DIRECTION
FUNCTION
TO
output
filter data output
TA
output
filter data error flag
TI
input
filter data input (optionally processed)
SCK
output
filter data (output/input common) bit clock
WS
output
filter data (output/input common) word select
TB
output
filter data output frame synchronization
Fig.12 Filter data serial transfer format.
handbook, full pagewidth
WS
SCK
TO
1
left sample
24
MSB
LSB
2
25
26
32
TI
1
right sample
MSB
2
TB
WS
MGB500
0
1
2
30
31
0
1
subband
L
R
L
R
valid data
undefinied data
Two subband samples (one per channel) are transmitted
per sample period with output TO. The transmission
pattern of the samples S [sb, ch] (sb: subband index; ch:
channel) is: S [0, L], S [0, R], S [1, L], S [1, R],..., S [31, R],
S [0, L], S [0, R], etc. Word select signal WS indicates the
channel of each sample. (WS is also used for the
baseband audio output interfacing).
The subband sample bit clock SCK has a frequency of 64
times the sample frequency. The subband samples are
transmitted in 24 bit two's complement PCM form, MSB
first. Thus, of the available 32 TO bits per sample per
channel, only 24 are used. The MSB of a sample follows
one SCK period after each transition in WS. The
8 unused bits between individual samples in TO are zero.
(SCK is used for the baseband audio output interface as
well.) The optionally processed subband data signal is fed
back as input TI in a similar format as TO, but now the
8 unused bits between individual samples are undefined;
they are neglected by the SAA2500.
September 1994
20
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
A leading edge in signal TB indicates the start of each TO
frame. The length of each TB pulse is one sample period;
TB is HIGH during a S[0,L] and S[0,R] pair. Signal TA
being HIGH indicates muting of TO due to input data errors
(see Fig.13).
TA can only change value at each TB leading edge, i.e.
after each 384 sample periods (ISO/MPEG layer I input
data) or 1152 sample periods (ISO/MPEG layer II input
data): only whole frames are marked to be correct or
muted. As shown in detail in Fig.13, transitions of TB and
TA take place one SCK period before a trailing edge of
WS.
The optionally processed subband data TI must be
synchronous to SCK and WS. Furthermore, the subband
index of the TI samples must be synchronised to TB: a
subband 0 sample pair must be input when TB is HIGH (as
shown in Fig.12). This means that the delay of the external
processing is allowed to be any integer multiple of
32 sample periods. If no external processing is to be
applied, TO must be input back directly to TI.
The baseband output interface
The decoded baseband audio data is output in an I
2
S-like
format (see Fig.14).
The output interfacing consists of 3 signals (see Table 11).
Fig.13 Filter data error flag (TA) timing.
handbook, full pagewidth
WS
TB
TA
SCK
WS
TB
TA
SCK
WS
TB
TA
1
2
3
4
MGB501
384 (layer I)
1152 (layer II)
1
2
September 1994
21
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Fig.14 Baseband output data serial transfer format.
handbook, full pagewidth
WS
SCK
SD
MSB
left sample
LSB
MSB
right sample
LSB
1
16/18/20/22
32
1
16/18/20/22
32
valid data
MGB502
Table 11 Signals of output interfacing.
The frequency of clock SCK is 64 times the sample
frequency. (SCK is also used for the subband filter
interface).
The signal SD is the serial baseband audio data, sample
by sample (left/right interleaved. The left sample and the
right immediately following it form one stereo pair). 32 bits
are transferred per sample per channel. The samples are
transmitted in two's complement, MSB first. The output
samples are rounded to either 16, 18, 20 or 22 bit
precision, selectable by the host with L3 control interface
flags RND1 and RND0. The remainder of the
32 transferred bits per sample per channel are zero.
The word select signal WS indicates the channel of the
output samples (LOW if left, HIGH if right). (WS is used for
the subband filter interface as well.) If indicated in the
coded input data, de-emphasis filtering is performed
digitally on the output data, thus avoiding the need of
analog de-emphasis filter circuitry.
The L3 control interface
The SAA2500 uses the L3 protocol with the associated
bus as the control interface with an optional host
microcontroller (see Chapter "Appendix" for more
SIGNAL
DIRECTION
FUNCTION
SD
output
baseband audio data
SCK
output
data clock
WS
output
word select
information). In the programming sections a general
transfer protocol outline is presented. In
Section "SAA2500 L3 protocol enhancement options"
several optional protocol enhancements are given, which
on the one hand are less transparent from the applicant's
point of view, but on the other hand increase the efficiency
of the L3 interfacing.
L3
SIGNALS
The L3 protocol uses 3 signals (see Table 12).
Table 12 Signals of L3 protocol.
The signals operate according to the L3 protocol
description. After each device reset, the L3 interface of the
SAA2500 must be initialised and as a consequence, the
L3 interface cannot be used while the device reset signal
is activated.
L3
TRANSFER TYPES
The L3 protocol enables the reading and writing of control,
status and data. In the L3 protocol, the host first issues an
8 bit wide `operational address' on L3DATA while keeping
L3MODE LOW. All devices connected to the L3 bus read
the operational address. Next, data transfers from or to the
SIGNAL
DIRECTION
FUNCTION
L3DATA
input/output
L3 interface serial data
L3CLK
input
L3 interface bit clock
L3MODE
input
L3 interface
address/data select
September 1994
22
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
host are done while keeping L3MODE HIGH. The devices with an L3 operational address differing from the issued one
must ignore these data transfers until the next operational address is issued. Only the device with an address equal to
the issued operational address performs the transfer.
The SAA2500 has the L3 operational address as shown in Table 13.
Table 13 L3 operational address.
Note
1. The `Data Operation Mode' bits DOM1 and DOM0 determine the mode in which the SAA2500 L3 interface will stay
until the next time an L3 operational address is issued (see Table 14).
7
6
5
4
3
2
1
0
0
1
1
0
0
0
DOM1
(1)
DOM0
(1)
Table 14 DOM1 and DOM0 bits.
Control bytes can be written to the SAA2500.
Data is transferred to or from the SAA2500 in so-called
data items. The items can be a readable or writeable type.
A data item transfer is initiated by writing the
corresponding control byte to the SAA2500 first. Next, the
DOM1
DOM0
TRANSFER TYPE
0
0
write item data
0
1
read item data
1
0
write control to SAA2500
1
1
read SAA2500 status
item data itself is transferred, always as an integer number
of bytes.
The status of the SAA2500 can be read via L3. The
SAA2500 status flag L3RDY must be monitored before
transferring data item bytes to avoid transferring bytes
faster than the L3 interface of the SAA2500 can handle.
L3
INTERFACE INITIALISATION AT AN
SAA2500
DEVICE RESET
Figure 15 shows the mandatory actions that must be taken
for correct L3 interface start-up at a device reset.
Fig.15 L3 interface initialisation procedure.
handbook, full pagewidth
RESET
L3MODE
L3CLK
1
2
3
MGB503
September 1994
23
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
The actions shown in Fig.15 are:
1. In order for the SAA2500 to keep L3DATA in 3-state,
L3MODE must be kept LOW during the whole period
that reset signal RESET is asserted; meanwhile, no
transfers can be performed (L3CLK stays HIGH).
2. For a proper initialisation of the L3 interface logic of the
SAA2500, it is mandatory to make L3MODE HIGH and
LOW again after the device reset has been
de-activated. This must be done before any L3
transfer, even to or from other devices than the
SAA2500, is performed. Figure 14 shows that L3CLK
stays HIGH during this step.
3. Now the first transfer can be performed on the L3 bus.
This transfer must be a operational address (indicated
in Fig.14 by L3MODE = 0), addressing any of the
devices connected to the L3 bus. The first transfer to
the SAA2500 itself must always be either the writing of
a control word or the reading of the SAA2500 status;
the first transfer may never be a data item byte
transfer.
Remark: any deviation from these steps may result in
illegal L3 protocol behaviour of the SAA2500, even with
the possibility of disturbing transfers to other devices
connected to the L3 bus.
L3
INTERFACE CONTROL
The control of the SAA2500 L3 interface is performed with
one-byte control words. Status polling is not necessary
before writing control bytes. After writing the SAA2500
`write control' operational address, one or more control
bytes may be written. Each written control byte overrules
the previously sent control byte.
Table 15 L3 control.
The definitions of the control bytes (CTRL7 to CTRL0) are given in Table 16.
Table 16 Explanation of control bytes
Note
1. Control bytes of type I initiate the transfer of a data item. The control byte of type C may be used after interrupting a
transfer, in order to write APU coefficients, to return to the interrupted transfer.
7
6
5
4
3
2
1
0
CTRL7
CTRL6
CTRL5
CTRL4
CTRL3
CTRL2
CTRL1
CTRL0
CTRL7 TO CTRL0
DEFINITION
TYPE
(1)
00000000
read/write SAA2500 settings item
I
00000001
read decoded frame header item
I
00000010
read used frame header item
I
00000011
read error report item
I
00000100
reserved
I
00000101
read ancillary Data item
I
00000110
write APU coefficients item
I
00000111
continue previous transfer
C
00001000 to 11111111
reserved
-
SAA2500
STATUS
The host can check the status of the SAA2500 by reading
the one-byte status word. After writing the SAA2500 `read
status' operational address, the status byte may be read
an arbitrary number of times. If status is read more than
once, it is updated by the SAA2500 between the individual
readings. The status flags of the SAA2500 have the
definition as shown in Table 17.
September 1994
24
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 17 Status flag definitions.
Notes
1. By interpreting DST2 to DST0, the host can synchronize to the input frame frequency, and also determine at which
moment which L3 data item is available to be read. The value of DST2 to DST0 is only valid if flag INSYNC is set.
a) DST2 is a modulo 2 frame counter, i.e. DST2 inverts at the moment the decoding of a new frame is started. DST2
enables to host to sample the decoding subprocess DST1 to DST0 less frequently, meanwhile enabling the host
to see if it missed a state.
b) DST1 and DST0 values are explained in Table 18.
2. INSYNC is synchronization indication:
a) INSYNC = 0; the SAA2500 is not synchronized to the input data.
b) INSYNC = 1; the SAA2500 is synchronized to the input data.
3. As indicated in Section "Input data frame header items", some of the readable data item bits only have significance
if INSYNC = 1.
4. L3RDY is L3 interface ready indication:
a) L3RDY = 0; the L3 interface cannot perform a new item data transfer yet.
b) L3RDY = 1; the L3 interface is ready for the next item data transfer.
After a device reset, L3RDY is cleared and will only become set after writing the first L3 control byte to the SAA2500.
The value of L3RDY can be tested by polling signal L3DATA instead of transferring the whole status byte.
Table 18 Status bytes DST1 and DST0.
The DST1 and DST0 values in general do not have a determined duration. However, subprocess 3 takes at least a
1
/
2
frame period when ISO/MPEG layer I data is decoded, and
5
/
6
frame period when ISO/MPEG layer II data is decoded.
Table 19 indicates the validity of the SAA2500 readable data items with respect to the decoding subprocess. Reading of
a data item in a period when it is not valid renders undefined data.
7
6
5
4
3
2
1
0
DST2
(1)
DST1
(1)
DST0
(1)
undefined
undefined
undefined
INSYNC
(2)(3)
L3RDY
(4)
DST1
DST0
FUNCTION
0
0
subprocess 0; reading Ancillary Data or decoding header
0
1
subprocess 1; decoding bit allocation or scale factor select information
1
0
subprocess 2; decoding scale factors
1
1
subprocess 3; decoding samples
September 1994
25
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 19 Validity of SAA2500 readable data items with respect to the decoding subprocess (notes 1 and 2).
Notes
1. The Table shows following:
a) The received Ancillary Data that was multiplexed in frame n
-
1 becomes valid after subprocess 0 of frame n, and
may be read during subprocesses 1, 2 and 3 of frame n.
b) The decoded and used frame headers for frame n become valid after subprocess 0 of frame n, and may be read
during subprocesses 1, 2 and 3 of frame n.
c) Flag BALOK for frame n in the error report item becomes valid after subprocess 1 of frame n, and may be read
during subprocesses 2 and 3 of frame n and subprocess 0 of frame n+1.
d) Flag DECFM for frame n in the error report item becomes valid after subprocess 2 of frame n, and may be read
during subprocesses 3 of frame n and 0 of frame n+1.
2. Note that during subprocess 3 all data items can be read.
SAA2500 IS DECODING FRAME n
SAA2500 IS DECODING FRAME n + 1
DST2 = 0
DST2 = 1
DST1 AND
DST0 = 0
DST1 AND
DST0 = 1
DST1 AND
DST0 = 2
DST1 AND
DST0 = 3
DST1 AND
DST0 = 0
DST1 AND
DST0 = 1
DST1 AND
DST0 = 2
DST1 AND
DST0 = 3
not valid
Ancillary Data item (frame n
-
1)
not valid
-
-
-
frame header items (frame n)
-
-
-
-
not valid
error report: BALOK (frame n)
not valid
-
-
-
not valid
error report: DECFM
(frame n)
not valid
-
D
ATA ITEMS
Data can be transferred to or from the SAA2500 in data
items. This section describes the general protocol to
accomplish item data transfer, followed by the individual
SAA2500 data items. Optional enhancements on the
general protocol are described in Chapter "Appendix"
Section "SAA2500 L3 protocol enhancement options".
General data items
The data items of the SAA2500 are transferred (i.e. read
or written, depending on whether the data item is of
readable or writeable type) in bytes. A data item transfer is
initiated by writing the corresponding type I control byte
(see Section "L3 interface control") to the SAA2500. The
transfer of every subsequent item data byte must be
preceded by reading the status until status flag L3RDY
(see Section "SAA2500 status") is HIGH.
L3RDY may be tested alternatively by polling L3DATA,
avoiding the need to transfer the whole status byte. Status
polling is not required while transferring the APU
coefficients item. Table 20 shows an example of how
bytes `DDDDDDDD' of a 2 byte data item, with the
corresponding control byte `CCCCCCCC', can be read.
The writing of item data bytes occurs in a similar way.
September 1994
26
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 20 Example of a 2 byte data item.
Each data item has its own length in bytes. It is allowed to transfer less bytes than the data item length, skipping the last
one or more bytes (it is even allowed to transfer no bytes at all). It is not allowed to transfer more bytes than the item
length. This restriction does not hold for the APU coefficient item. After writing all APU coefficients (i.e. after writing all
APU coefficient item bytes), they may be rewritten by continuing writing bytes to the APU coefficient item. Writing more
than the specified number of bytes to a writeable data item or writing bytes to a read-only data item may cause the
SAA2500 to malfunction. The reading of a write-only data item yields irrelevant data.
L3DATA
TRANSFER
SOURCE
L3MODE
EXPLANATION
01100010
host
0
1; indicates `write control' transfer
CCCCCCCC
host
1
2; write transfer initiating (type I) control byte
01100011
host
0
3; indicates `read status' transfer
SSSSSSSS
SAA2500
1
4; read status (repeat step 4 until L3RDY = 1)
01100001
host
0
5; indicates `read item data' transfer
DDDDDDDD
SAA2500
1
6; read first item data byte
01100011
host
0
7; indicates `read status' transfer
SSSSSSSS
SAA2500
1
8; read status (repeat step 8 until L3RDY = 1)
01100001
host
0
9; indicates `read item data' transfer
DDDDDDDD
SAA2500
1
10; read second item data byte
September 1994
27
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
SAA2500
SETTINGS ITEM
The SAA2500 is configured with the SAA2500 settings. The initial value of the SAA2500 settings after reset is all zeros.
Table 21 SAA2500 settings item; 1 byte (read/write).
Notes
1. MSEL1 and MSEL0; these bits select the used input interface, the input data format and the input synchronization
type (see Table 22).
2. CRCACT; automatic/forced CRC activity:
a) CRCACT = 0; the SAA2500 uses the protection bit in the ISO/MPEG frame header to determine the presence of
the CRC.
b) CRCACT = 1; the SAA2500 assumes the CRC always to be present. The protection bit in the used ISO/MPEG
frame header is forced to 0.
3. MCKDIS; buffered master clock MCLK disabling:
a) MCKDIS = 0; enable MCLK.
b) MCKDIS = 1; disable (3-state) MCLK.
4. FCKENA; buffered 256f
s
or 384f
s
output signal FSCLK enabling:
a) FCKENA = 0; disable (3-sate) FSCLK.
b) FCKENA = 1; enable FSCLK.
5. SELCH2; with dual channel mode input data (with other modes of input data `don't care':
a) SELCH2 = 0; select channel I.
b) SELCH2 = 1; select channel II.
6. RND1 and RND0; these bits select the rounding of the baseband audio output samples (see Table 23).
Table 22 MSEL1 and MSEL0.
Table 23 RND1 and RND0.
7
6
5
4
3
2
1
0
MSEL1
(1)
MSEL0
(1)
CRCACT
(2)
MCKDIS
(3)
FCKENA
(4)
SELCH2
(5)
RND1
(6)
RND0
(6)
MSEL1
MSEL0
USED INPUT INTERFACE
INPUT SYNCHRONIZATION
0
0
master
to ISO/MPEG synchronization pattern
0
1
reserved
reserved
1
0
slave
to ISO/MPEG synchronization pattern
1
1
slave
to synchronization signal CDSSY
RND1
RND0
OUTPUT SAMPLE ROUNDING LENGTH
0
0
16 bits
0
1
18 bits
1
0
20 bits
1
1
22 bits
September 1994
28
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
I
NPUT DATA FRAME HEADER ITEMS
Information about the input data, derived by the SAA2500 from the input data frame headers, may be read from the frame
header items. Both the frame header bytes decoded from the input bitstream and the header bytes used for the actual
decoding may be read.
The decoded frame header item is valid independent of the value of status flag INSYNC, it e.g. shows the decoded
headers while the SAA2500 is in the process of synchronising.
The used frame header item is only valid if status flag INSYNC is set. The used header bytes are derived by the SAA2500
from the decoded header bytes by overruling NOPROT to 0 if settings bit CRCACT = 1, and overruling detected errors.
Table 24 Decoded input data frame header item; 3 bytes (read-only).
Notes to Tables 24 and 25
1. SY3 to SY0; last 4 bits of the synchronization word.
2. ID; algorithm identification.
3. LAY1; layer Most Significant Bit (MSB).
4. LAY0; layer Least Significant Bit (LSB).
5. NOPR; CRC on header, bit allocation and scale factor select information activity flag.
6. BR3 to BR0; bit rate index.
7. FS1 and FS0; sample rate index.
8. MOD1 and MOD0; mode.
9. MODX1 and MODX0; mode extension.
10. COPR; copyright flag.
11. ORIG; original or home copy flag.
12. EMPH1 and EMPH0; audio de-emphasis, these bits are only meant to monitor the current de-emphasis mode; the
corresponding de-emphasis is performed by the SAA2500 automatically before the baseband audio signal is output.
Table 25 Used input data frame header item; 3 bytes (read-only).
E
RROR REPORT ITEM
The validity of bit allocation plus scale factor select information may be read from the error report item. The error report
item is only valid if status flag INSYNC is set.
SUBSEQUENT
BYTES
7
6
5
4
3
2
1
0
Decoded header
byte 1
SY3
(1)
SY2
(1)
SY1
(1)
SY0
(1)
ID
(2)
LAY1
(3)
LAY0
(4)
NOPR
(5)
Decoded header
byte 2
BR3
(6)
BR2
(6)
BR1
(6)
BR0
(6)
FS1
(7)
FS0
(7)
undefined
undefined
Decoded header
byte 3
MOD1
(8)
MOD0
(8)
MODX1
(9)
MODX0
(9)
COPR
(10)
ORIG
(11)
EMPH1
(12)
EMPH0
(12)
SUBSEQUENT BYTES
7
6
5
4
3
2
1
0
Used header byte 1
1
1
1
1
1
1
LAY0
NOPR
Used header byte 2
BR3
BR2
BR1
BR0
FS1
FS0
undefined
undefined
Used header byte 3
MOD1
MOD0
MODX1
MODX0
COPR
ORIG
EMPH1
EMPH0
September 1994
29
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 26 Error report item; 1 byte (read-only).
Notes
1. BALOK; bit allocation and scale factor select information validity indication:
a) BALOK = 0; bit allocation or scale factor select information are incorrect, or the CRC (if active) over header, bit
allocation and scale factor select information fail.
b) BALOK = 1; bit allocation or scale factor select information are correct, and the CRC (if active) over header, bit
allocation and scale factor select information passes.
2. DECFM; frame skipping/decoding indication:
a) DECFM = 0; the current input data frame is skipped, and the corresponding baseband audio output frame is
muted due to input data errors or inconsistencies. However, synchronization to the input data is maintained.
b) DECFM = 1; the current frame is decoded normally.
A
NCILLARY DATA ITEM
The last 54 bytes of each ISO/MPEG frame, which may carry Ancillary Data (AD), are buffered by the SAA2500 to be
read by the host. The subsequent Ancillary Data bytes are read in reversed order with respect to their order in the input
data bitstream. The first item data byte is the last frame byte in the input bitstream. The Ancillary Data item is refilled at
every frame. The host must either know or determine itself how many of the Ancillary Data bytes are valid per frame. The
Ancillary Data item only has significance if status flag INSYNC is set.
Table 27 Ancillary data item; 54 bytes (read-only).
APU
COEFFICIENTS ITEM
The APU coefficients are set by writing their 8 bit indices to the 4-byte APU coefficient item. Only the 7 LSBs are valid.
The MSB must be zero. At a device reset, indices LL and RR are set to 00000000 (`no attenuation') and indices LR and
RL to 01111111 (infinite attenuation; no crosstalk).
Table 28 APU coefficients item; 4 bytes (write-only); see note 1.
Note
1. Multiple options are supplied by the SAA2500 to increase the timing accuracy of the APU coefficient writing
(see Section "SAA2500 L3 protocol enhancement options").
SUBSEQUENT
BYTES
7
6
5
4
3
2
1
0
Error report
BALOK
(1)
DECFM
(2)
undefined
undefined
undefined
undefined
undefined
undefined
SUBSEQUENT
BYTES
7
6
5
4
3
2
1
0
AD byte 1 to
AD byte 54
bit 7
bit 6
bit 5
bit 4
bit 3
bit 2
bit 1
bit 0
SUBSEQUENT
BYTES
7
6
5
4
3
2
1
0
APU coefficient LL
0
LL.6
LL.5
LL.4
LL.3
LL.2
LL.1
LL.0
APU coefficient LR
0
LR.6
LR.5
LR.4
LR.3
LR.2
LR.1
LR.0
APU coefficient RL
0
RL.6
RL.5
RL.4
RL.3
RL.2
RL.1
RL.0
APU coefficient RR
0
RR.6
RR.5
RR.4
RR.3
RR.2
RR.1
RR.0
September 1994
30
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
S
PEED LIMITATIONS OF THE
L3
INTERFACE
When reading the status of, or writing control bytes to the
SAA2500, no status polling is necessary, so the speed of
these transfers is only limited by the maximum frequency
of signal L3CLK and the timing constraints of the L3
protocol.
When reading or writing data item bytes, status polling is
necessary. In addition to the speed limitation this poses,
the application must take precautions that individual data
item bytes are transferred at an interval of at least 200
s.
Neither the status polling nor a minimum interval between
transfers is required when transferring the APU coefficient
item.
D
EFAULT ITEM DATA VALUES AFTER RESET
At a device reset, the L3 interface initialisation procedure
must be followed. All writeable data items are pre-loaded
with a defined default value after the device reset signal
has been de-activated. These default values are
summarised in Table 29.
Table 29 SAA2500 settings item; default value after device reset (notes 1 to 6.)
Notes
1. MSEL1 = 0 and MSEL0 = 0; the master input is selected. The SAA2500 synchronizes to the ISO/MPEG
synchronization pattern.
2. CRCACT = 0; the SAA2500 uses the protection bit in the ISO/MPEG frame header to determine if the CRC is active.
3. MCKDIS = 0; the buffered master clock output MCLK is enabled.
4. FCKENA = 0; the buffered 256f
s
or 384f
s
clock output is disabled.
5. SELCH2 = 0; when decoding input data with dual channel mode, channel I is output on both baseband audio output
channels.
6. RND1 = 0 and RND0 = 0; the baseband audio output signals are rounded to 16 bit.
Table 30 APU coefficients item; default values after device reset.
Notes
1. LL = 00000000; no attenuation in the left-to-left APU path.
2. LR = 01111111; infinite attenuation in the left-to-right APU path.
3. RL = 01111111; infinite attenuation in the right-to-left APU path.
4. RR = 00000000; no attenuation in the right-to-right APU path.
SUBSEQUENT
BYTES
7
6
5
4
3
2
1
0
SAA2500 settings
MSEL1
MSEL0
CRCACT
MCKDIS
FCKENA
SELCH2
RND1
RND0
Value
0
0
0
0
0
0
0
0
SUBSEQUENT
BYTES
7
6
5
4
3
2
1
0
APU coefficient LL
(1)
0
LL.6 = 0
LL.5 = 0
LL.4 = 0
LL.3 = 0
LL.2 = 0
LL.1 = 0
LL.0 = 0
APU coefficient LR
(2)
0
LR.6 = 1
LR.5 = 1
LR.4 = 1
LR.3 = 1
LR.2 = 1
LR.1 = 1
LR.0 = 1
APU coefficient RL
(3)
0
RL.6 = 1
RL.5 = 1
RL.4 = 1
RL.3 = 1
RL.2 = 1
RL.1 = 1
RL.0 = 1
APU coefficient RR
(4)
0
RR.6 = 0
RR.5 = 0
RR.4 = 0
RR.3 = 0
RR.2 = 0
RR.1 = 0
RR.0 = 0
September 1994
31
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
APPENDIX
Preliminary specification 3-line `L3' interface
I
NTRODUCTION
The main purpose of the new interface definition is to
define a protocol that allows for the transfer of control
information and operational details between a
microcontroller (
C) and a number of slave devices, at a
rate that exceeds other common interfaces, but with a
sufficient low complexity for application in consumer
products. It should be clearly noted that the current
interface definition is intended for use in a single
apparatus, preferably restricted to a single printed circuit
board.
The new interface requires 3 signal lines (apart from a
return `ground') between the microcontroller and the slave
devices (from this the name `L3' is derived). These 3-lines
are common to all ICs connected to the bus: L3MODE,
L3DATA and L3CLK. L3MODE and L3CLK are always
driven by the microcontroller, L3DATA is bidirectional:
Table 31 The 3-lines common to all ICs; L3MODE,
L3CLK and L3DATA.
Notes
1. L3MODE is used for the identification of the operation
mode.
2. L3CLK is the bitclock to which the information transfer
will be synchronized.
3. L3DATA will carry the information to be transferred.
SIGNAL
MICROCONTROLLER
SLAVE
DEVICE
L3MODE
(1)
output
input
L3CLK
(2)
output
input
L3DATA
(3)
output/input
input/output
All slave devices in the system can be addressed using a
6 bit address. This allows for up to 63 different slave
devices, as the all `0' address is reserved for special
purposes. In addition it is possible to extend the number of
addressable devices using `extended addressing'.
In operation 2 modes can be identified:
1. Addressing mode (AM).
During addressing mode a single byte is sent by the
microcontroller. This byte consists of 2 data operation
mode (DOM) bits and 6 operational address (OA) bits.
Each of the slave devices evaluates the operational
address. Only the device that has been issued the
same operational address will become active during
the following data mode. The operation to be executed
during the data mode is indicated by the two data
operation mode bits.
2. Data mode (DM).
During data mode information is transferred between
microcontroller and slave device. The transfer
direction may be from microcontroller to slave (`write')
or from slave to microcontroller (`read'). However,
during one data mode the transfer direction can not
change.
Addressing mode
In order to start an addressing mode the microcontroller
will make the L3MODE line LOW. The L3CLK line is
lowered 8 times and the DATA line will carry 8 bits. The
addressing mode is ended by making the L3MODE line
HIGH.
September 1994
32
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 32 Preferred allocations.
DOM1
DOM0
FUNCTION
REMARKS
0
0
data from microcontroller to SAA2500
general purpose data transfer
0
1
data from SAA2500 to microcontroller
general purpose data transfer
1
0
control from microcontroller to SAA2500
e.g. register selection for data transfer
1
1
status from SAA2500 to microcontroller
short device status message
handbook, halfpage
0
1
2
3
4
5
6
7
L3MODE
L3CLK
L3DATA
MGB505
Fig.16 Addressing mode.
The meaning of the bits on L3DATA.
Bit 0 and bit 1; these are the data operation mode (DOM) bits that indicate the nature of the following data transfer. Each slave device may have
its own allocation of operation modes to the 4 possible codes of these bits. For correct information about the operation the device will perform, refer
to the descriptions of the individual IC's. For new designs the preferred allocations are given in Table 32.
Bit 2 to bit 7; these bits act as 6 bit (special function) operational IC address, with bit 7 as MSB and bit 2 as LSB. Bit 7 to bit 5 act as system
identification and bit 4 to bit 2 as identification of the device within the system.
Special function operational address
Operational address 000000 (bit 2 to bit 7) is the special
function address, and is used for the L3 device reset, as
well as for the declaration and invalidation of the extended
addressing. Both will be explained in Sections "Device
interface reset" and "Extended addressing".
Data mode
In the data mode the microcontroller sends or receives
information to or from the selected device. During data
transfer the L3MODE line is HIGH. The L3CLK line is
lowered 8 times during which the L3DATA line carries
8 bits. The information is presented LSB first and remains
stable during the LOW phase of the L3CLK signal.
The preferred basic data transfer unit is an 8 bit byte.
Some implementations that are modifications of older
circuits with 16 bit registers may use a basic unit of 16 bits,
transferred as 2 bytes, with the most significant byte
presented first. No other basic data transfer unit is allowed.
September 1994
33
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Halt mode
handbook, halfpage
0
1
2
3
4
5
6
7
L3MODE
L3CLK
L3DATA
MGB504
Fig.17 Data transfer mode.
In between units the L3MODE line will be driven LOW by
the microcontroller to indicate the completion of a basic
unit transfer. This is called `halt mode' (HM). During halt
mode the L3CLK line remains HIGH (to distinguish it from
an addressing mode). The halt mode allows an
implementation of an interface module without a bit
counter. However, an implementation using a bit counter
in the interface module may allow for the L3MODE line to
be kept HIGH in between units (not using the halt mode).
This implementation must also operate correctly if the halt
mode is used. The documentation of the device will have
to indicate clearly whether or not the `halt mode' is
necessary for correct operation of the interface.
D
EVICE INTERFACE RESET
If the microcontroller sends an operational address
`000000' with DOM1 and DOM0 also equal to `0' this
indicates that none of the L3 interface devices is allowed
to communicate with the microcontroller during the
following data mode. This enables a different application of
the L3CLK and L3DATA lines as the L3 devices will not
interfere with any communication on these lines as long as
L3MODE remains HIGH (e.g. the L3CLK and L3DATA
lines are normally connected to USART circuits in the
microcontrollers which allow for convenient
communication between microcontrollers).
Any addressing mode with a valid L3 operational address
will re-enable the communication with the corresponding
device.
Devices with a fixed operational address (`Primary L3
devices') will react with a device reset condition regardless
of the state of DOM1 and DOM0.
Devices with a programmable operational address
(`Secondary L3 devices') can only be put in the interface
reset condition if the DOM1 and DOM0 bits are `0'. Other
combinations of DOM1 and DOM0 initiate data transfers
for `extended addressing'.
E
XTENDED ADDRESSING
L3 Devices with a programmable address can be informed
of their operational address using a special data transfer.
September 1994
34
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Operational address declaration
For the declaration (programming) of the operational
address of an L3 device with a `secondary L3 identification
code' the following action is required:
1. First the microcontroller must issue an L3 operational
address `000000' (special function address) with
DOM1 = 0 and DOM0 = 1. This combination defines
the operational address declaration operation. Next
the microcontroller will start a data transfer mode in
which it first sends the secondary L3 identification
code for the device that is to be issued an operational
address, followed by a byte containing the operational
address (the DOM bits in this byte are don't cares).
2. Next the microcontroller will start a data transfer mode
in which it first sends the secondary L3 identification
code for the device that is to be issued an operational
address, followed by a byte containing the operational
address (the DOM bits in this byte are don't cares).
A secondary L3 identification code is unique for any
design. Devices of the same design have the same
identification code of one or more bytes. However, special
designs may have a range of identification codes, one of
which can be selected by a hardware solution, to enable
the connection of more than one device of the same
design to the L3 interface. It is also possible to use
separate L3MODE lines for multiple devices of the same
design, but the same L3 identification code (this also
enables `parallel programming' of these devices). Bit 0 of
any identification code byte will indicate whether or not an
additional byte follows:
Bit 0 = 0; no additional byte as part of the identification
code.
Bit 0 = 1; additional byte follows.
With this the number of secondary L3 identification codes
is (theoretically) unlimited.
The operational address for the programmable device is
preferable in the range 111000 to 111111. However, it is
possible in a given application to issue any operational
address that is not used to address primary L3 devices or
other secondary L3 devices. An example is given in
Table 33.
Table 33 Example of L3 devices; notes 1 to 4.
Notes
1. Bits are shown in the order they appear on L3DATA (bit 0 first, bit 7 last).
2. X = bit of the identification code.
3. M = DOM bit of operational address (don't care).
4. Y = bit of the operational address.
ADDRESSING MODE
DATA MODE
SPECIAL ADDRESS
SECONDARY L3 IDENTIFICATION CODE
OPERATIONAL
ADDRESS
(ONE BYTE)
BYTE 1
BYTE 2
BYTE 3
10000000
1XXXXXXX
1XXXXXXX
0XXXXXXXX
MMYYYYYY
Operational address invalidation
In order to re-allocate an operational address that has
been allocated to a secondary L3 device it is possible to
invalidate an operational address:
First the microcontroller must issue an L3 operational
address `000000' (special function address) with
DOM1 = 1 and DOM0 = 0. This combination defines the
operational address invalidation operation.
Next the microcontroller will start a data transfer mode in
which it only sends the secondary L3 identification code
for the device that will no longer be addressed. From this
moment on the device will not be able to communicate
with the microcontroller until it is issued a new
operational address by an OA declaration (it will enter a
`device interface reset' condition).
Remark: the combination of a special function address
(000000) and DOM1 and DOM0 equal to `1' is reserved for
future applications. Designs based on this specification will
react with a `device interface reset'.
September 1994
35
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
E
XAMPLE OF A DATA TRANSFER
Fig.18 Example of transfer of 4 bytes.
(1) L3CLK is triggered by L3MODE.
(2) For more details see Fig.20.
handbook, full pagewidth
MGB506
address
data
byte 1
data
byte 2
data
byte 3
data
byte 4
address
L3MODE
L3CLK
L3DATA
(1)
(2)
A data transfer starts when the microcontroller sends an
address on the bus. All ICs will evaluate this address, but
only the IC addressed will be an active partner for the
microcontroller in the following data transfer mode.
During the data transfer mode bytes will be sent from or to
the microcontroller. In this example the L3MODE line is
made LOW (`halt mode') in between byte transfers. This is
the default operation, although some ICs may allow the
L3MODE line to be kept HIGH. This exception must be
specified clearly in the IC documentation, and such ICs
must be able to communicate with microcontrollers that
make L3MODE LOW in between transfers. It is suggested
that new designs only use bytes as basic data transfer
units. After the data transfer the microcontroller does not
need to send a new address until a new data transfer is
necessary. Alternatively it may also send the `special
address' 000000 to indicate the end of the data transfer
operation.
T
IMING REQUIREMENTS
These are requirements for the slave devices designed
according to the 'L3' interface definitions.
Addressing mode
Fig.19 Timing (addressing mode).
handbook, full pagewidth
MGB507
t d1
h2
cL
t
cH
t
h1
t
su
t
t
L3CLK
L3MODE
L3DATA
September 1994
36
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 34 Requirements for timing (addressing mode); see Fig.19.
Data mode
Table 35 Requirements for timing (data mode); see Fig.20.
SYMBOL
PARAMETER
REQUIREMENT
UNIT
t
d1
L3CLK HIGH to L3CLK LOW delay time after L3MODE LOW
190
ns
t
cL
L3CLK LOW time
250
ns
t
cH
L3CLK HIGH time
250
ns
t
su1
L3DATA set-up time before L3CLK HIGH
190
ns
t
h1
L3DATA hold time after L3CLK HIGH
30
ns
t
h2
L3CLK hold time before L3MODE HIGH
190
ns
SYMBOL
PARAMETER
REQUIREMENT
UNIT
t
d1
L3CLK HIGH to L3CLK LOW delay time after L3MODE HIGH
190
ns
t
cL
L3CLK LOW time
250
ns
t
cH
L3CLK HIGH time
250
ns
Microcontroller to slave device
t
su1
L3DATA set-up time before L3CLK HIGH
190
ns
t
h1
L3DATA hold time after L3CLK HIGH
30
ns
t
h2
L3CLK hold time before L3MODE HIGH
190
ns
Slave device to microcontroller
t
d2
L3DATA enable time after L3MODE HIGH
0 < t
d2
50
ns
t
d3
L3DATA stable time after L3MODE HIGH
380
ns
t
h3
L3DATA hold time after L3CLK HIGH
50
ns
t
d4
L3DATA stable time after L3CLK HIGH
360
ns
t
d4
L3DATA stable time after L3CLK HIGH between bit 7 of a byte and
bit 0 of next byte if no halt mode is used
530
ns
t
d5
L3DATA disable time after L3MODE LOW
0 < t
d5
50
ns
Fig.20 Timing (data mode).
andbook, full pagewidth
MGB508
L3DATA
microcontroller
to IC
t d1
h2
cL
t
cH
t
h1
t
su
t
t
d2
t
d3
t
h3
t
d4
t
d5
t
L3DATA
IC to
microcontroller
L3CLK
L3MODE
September 1994
37
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Halt mode
Table 36 Requirements for timing (halt mode); see Fig.21.
SYMBOL
PARAMETER
REQUIREMENT
UNIT
t
d1
L3CLK HIGH to L3CLK LOW delay time after L3MODE HIGH
190
ns
t
L
L3MODE LOW time
190
ns
t
h2
L3CLK hold time before L3MODE LOW
190
ns
Slave device to microcontroller
t
d2
L3DATA enable time after L3MODE HIGH
0 < t
d2
50
ns
t
d5
L3DATA disable time after L3MODE LOW
0 < t
d5
50
ns
Fig.21 Timing (halt mode).
handbook, full pagewidth
MGB509
t
L
L3CLK
L3MODE
d5
t
h2
t
td1
d2
t
L3DATA
IC to
microcontroller
SAA2500 L3 protocol enhancement options
The L3 interface on the SAA2500 is limited in speed,
dictated both by the maximum SAA2500 handling speed
and the upper frequencies of the L3 interfacing standard.
On the other hand, the SAA2500 offers several
enhancements, described in this section, to make a better
use of the SAA2500 L3 interface capacity. The
enhancements are optional. The applicant chooses
whether to use them or not.
T
ESTING
L3RDY
BY POLLING
L3DATA
The host must test status flag L3RDY to make sure
whether the SAA2500 L3 interface is ready to transfer data
item bytes. According to the general protocol, described in
Section "Data items", the status is read by first writing the
SAA2500 `read status' operational address, after which
the status byte can be transferred. To avoid these status
byte transfers (thus reducing the host's load), after writing
the SAA2500 `read status' operational address, L3RDY is
continuously copied to signal L3DATA during the period in
which no L3 transfers (i.e. status byte readings) are
performed. Meanwhile, L3MODE must be kept HIGH (no
L3 operational addresses may be written). As a result,
L3RDY can be tested as shown in Table 37.
September 1994
38
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 37 Status bytes DST1 and DST0; note 1.
Note
1. No status byte transfers are needed; the load of the host (microcontroller) can thus be reduced.
L3DATA
TRANSFER
SOURCE
L3MODE
EXPLANATION
01100011
host
0
write `read status' operational address
polled
SAA2500
1
test L3DATA; repeat this step until L3DATA = 1
O
PTIONS TO INCREASE THE TIMING ACCURACY OF THE
APU
COEFFICIENT WRITING
The SAA2500 offers three enhancements to increase the
timing accuracy with which APU coefficients can be
updated by the application:
1. Status polling is not required when APU coefficients
are written. L3 status flag L3RDY, when read anyhow,
will always be HIGH, indicating that the next APU
coefficient transfer may be done. The transfer speed is
only limited by the maximum allowed frequency of
L3CLK. As a result, also no `write item data'
operational address is needed any more before writing
each APU coefficient index.
2. Normally, no more bytes may be written to a writeable
data item than the length of that specific item. An
exception is formed by the APU coefficients. They may
be written continuously with a coefficient wrap. After
the writing of all 4 coefficients, the writing can be
continued at the first APU coefficient without having to
write a new control byte.
3. The data item transfer protocol, described in
Section "Data items", although transparent, allows
only for the reading or writing of data items from their
first data byte onwards. This approach can lead to
situations where e.g. 54 Ancillary Data item bytes
must all be read (which takes at least
54
200
s = 10.8 ms, due to the interface speed
limitations: see Section "Data items") before the next
data item can be transferred. The SAA2500 enables
the writing of APU coefficients without having to wait
for the current item transfer to finish. In order to do so,
a running transfer can be interrupted by an APU
coefficient write transfer, and then be resumed with the
`continue current transfer' control byte.
An item transfer may be interrupted at any time to write
APU coefficients. After the `continue previous transfer'
control byte, a operational address must always follow,
indicating the type of L3 transfer that will follow. An
APU coefficient write transfer itself cannot be
interrupted.
The 3 mentioned options are all illustrated in Table 38,
where a data item transfer is interrupted between the
reading of the n
th
and (n + 1)
th
data item byte.
September 1994
39
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Table 38 Example of 3 options to increase the timing accuracy of the APU coefficient writing.
L3DATA
TRANSFER
SOURCE
L3MODE
EXPLANATION
DDDDDDDD
SAA2500
1
read n
th
item data byte
01100010
host
0
indicate `write control' transfer
00000110
host
1
write `write APU coefficients' control byte
01100000
host
0
indicate `write item data' transfer
DDDDDDDD
host
1
write APU coefficient LL
DDDDDDDD
host
1
write APU coefficient LR
DDDDDDDD
host
1
write APU coefficient RL
DDDDDDDD
host
1
write APU coefficient RR
DDDDDDDD
host
1
write APU coefficient LL
DDDDDDDD
host
1
write APU coefficient LR
DDDDDDDD
host
1
write APU coefficient RL
DDDDDDDD
host
1
write APU coefficient RR
01100010
host
0
indicate `write control' transfer
00000111
host
1
write `continue previous transfer' control byte
01100011
host
0
indicate `read status' transfer
SSSSSSSS
SAA2500
1
read status; repeat this step until L3RDY = 1
01100001
host
0
indicate `read item data' transfer
DDDDDDDD
SAA2500
1
read (n + 1)
th
item data byte
etc.
etc.
etc.
etc.
September 1994
40
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
APPLICATION INFORMATION
handbook, full pagewidth
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
24
25
26
27
28
23
V
DDD
V
DDA
MGB510
F
1
10 k
F
100
right
output
1 nF
1 k
10 k
F
100
left
output
1 k
1 nF
SYSCLKI
DEEM1
n.c.
SYSCLKO
n.c.
TEST2
DEEM2
MUSB
DSMB
CLKS2
ATSB
CLKS1
VOL
DATA
FILTCL
WS
FILTCR
BCK
VOR
TEST1
TDA1305
DAC
V
SSA
V
SSD
V
SSD
V
DDO
V
SSO
V
ref
5 V
C
C
H
4.7
C
(1)
5 V
5 V
(1)
C
5 V
R
R
R
R
23
URDA
CDS
CDSEF
CDSCL
CDSWA
CDSSY
CDM
CDMEF
CDMCL
CDMWS
GND
12
13
14
15
16
17
18
19
20
21
22
FSCLKM
FSCLK384
MCLK24
V
DD2
TRST
TMS
TCK
TDO
TDI
TC0
TC1
44
43
42
41
40
39
38
37
36
35
34
GND
FSCLK
FSCLKIN
X22OUT
X22IN
MCLK
MCLKOUT
MCLKIN
V
DD1
6
7
8
9
10
11
2
3
4
51
RESET
STOP
L3MODE
L3DATA
SD
GND
TA
TB
TO
TI
SCK
WS
24
25
26
27
28
29
30
31
32
33
L3CLK
SAA2500
CLOCK CIRCUIT
5 V
C
5 V
5 V
MPEG
slave interface
MPEG master
interface
L3 bus
FS256
RESET
C
Fig.22 Typical application diagram.
C
=
100
nF; R
=
4
7
.
(1)
The supply voltage (+5
V) and GND links should be located close to the supply connector.
September 1994
41
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
LIMITING VALUES
In accordance with the Absolute Maximum Rating System (IEC 134).
Notes
1. Input voltage should not exceed 6.5 V unless otherwise specified.
2. Equivalent to discharging a 100 pF capacitor through a 1.5 k
series resistor.
3. Equivalent to discharging a 200 pF capacitor through a 0
series resistor.
DC CHARACTERISTICS
V
DD
= 5 V
10%; T
amb
=
-
40 to +85
C; unless otherwise specified.
SYMBOL
PARAMETER
CONDITIONS
MIN.
MAX.
UNIT
V
DD
supply voltage
-
0.5
+6.5
V
V
i
input voltage
note 1
-
0.5
V
DD
+ 0.5
V
I
DD
supply current
-
100
mA
I
I
input current
-
10
mA
I
O
output current
2 mA outputs
-
10
mA
4 mA outputs
-
20
mA
P
tot
total power dissipation
VDD = 5 V
5%
-
165
mW
T
stg
storage temperature
-
65
+150
C
T
amb
operating ambient temperature
-
40
+85
C
V
es1
electrostatic handling
note 2
-
2000
+2000
V
V
es2
electrostatic handling
note 3
-
200
+200
V
SYMBOL
PARAMETER
CONDITIONS
MIN.
TYP.
MAX.
UNIT
Supply
I
DD
quiescent supply current
note 1
100
-
-
A
Inputs; notes 2 and 3
V
IH
HIGH level input voltage (CMOS)
0.7V
DD
-
V
DD
V
V
IL
LOW level input voltage (CMOS)
0
-
0.3V
DD
V
V
IH
HIGH level input voltage (TTL)
2
-
V
DD
V
V
IL
LOW level input voltage (TTL)
0
-
0.8
V
V
tLH
positive going threshold voltage (CMOS
Schmitt trigger)
-
-
0.8V
DD
V
V
tHL
negative going threshold voltage
(CMOS Schmitt trigger)
0.2V
DD
-
-
V
V
hys
hysteresis voltage (CMOS Schmitt
trigger)
-
0.3V
DD
-
V
|I
I
|
input current
-
-
1
A
R
pull
pull-up resistor
14
-
140
k
September 1994
42
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Notes
1. TDI, TMS, TRST and L3DATA not driven; TC0 and TC1 driven HIGH; all other inputs driven LOW.
2. Inputs TRST, TCK, TMS and TDI are TTL level compatible; all other inputs are CMOS level compatible.
3. Input TRST (pin 38) should be connected to ground for normal operation and connected to V
DD
for boundary scan
testing.
AC CHARACTERISTICS
V
DD
= 5 V
10%; T
amb
=
-
40 to +85
C; unless otherwise specified.
Outputs
V
OH
HIGH level output voltage
I
O
= 4 mA
V
DD
-
0.5
-
-
V
V
OL
LOW level output voltage
I
O
= 4 mA
-
-
0.5
V
|I
OZ
|
3-state off leakage current
-
-
5
A
SYMBOL
PARAMETER
CONDITIONS
MIN.
TYP.
MAX.
UNIT
Clocks
C
I
input capacitance
-
-
10
pF
MCLKIN
f
clk
clock frequency
MCLK24 = 1
-
24.576
-
MHz
MCLK24 = 0
-
12.288
-
MHz
t
r
rise time
-
12
-
ns
t
f
fall time
-
12
-
ns
t
H
HIGH time
12
-
-
ns
t
L
LOW time
12
-
-
ns
X22IN
f
clk
clock frequency
-
22.579
-
MHz
t
r
rise time
-
12
-
ns
t
f
fall time
-
12
-
ns
t
H
HIGH time
12
-
-
ns
t
L
LOW time
12
-
-
ns
FSCLKIN
f
clk
clock frequency
FSCLK384 = 1
-
384f
s
-
Hz
FSCLK384 = 0
-
256f
s
-
Hz
t
r
rise time
note 1
-
5
-
ns
t
f
fall time
note 1
-
5
-
ns
t
H
HIGH time
12
-
-
ns
t
L
LOW time
12
-
-
ns
SYMBOL
PARAMETER
CONDITIONS
MIN.
TYP.
MAX.
UNIT
September 1994
43
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
CDSCL
f
clk
clock frequency
-
-
768
kHz
t
r
rise time
note 1
-
12
-
ns
t
f
fall time
note 1
-
12
-
ns
t
H
HIGH time
note 2
T
m
+ 20
-
-
ns
t
L
LOW time
note 2
T
m
+ 20
-
-
ns
CDMCL
f
clk
clock frequency
note 2
-
-
Hz
L3CLK
t
H
HIGH time
T
m
+ 10
-
-
ns
t
L
LOW time
T
m
+ 10
-
-
ns
FSCLK
f
clk
clock frequency
MSEL = 00;
FSCLKM = 0;
f
s
= 44.1 kHz
-
-
MHz
MSEL = 00;
FSCLKM = 0;
f
s
= 48 kHz
-
-
MHz
MSEL = 00;
FSCLKM = 0;
f
s
= 32 kHz
-
-
MHz
MCLK
f
clk
clock frequency
-
f
MCLKIN
-
MHz
SCK
f
clk
clock frequency
FSCLK384 = 0;
f
SCK
= 64f
s
-
-
MHz
FSCLK384 = 1;
f
SCK
= 64f
s
-
-
MHz
SYMBOL
PARAMETER
CONDITIONS
MIN.
TYP.
MAX.
UNIT
1
8T
m
-----------
f
X22IN
2
---------------
f
MCLKIN
2
--------------------
f
MCLKIN
3
--------------------
f
FSCLK
4
-----------------
f
FSCLK
6
-----------------
September 1994
44
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Notes
1. Short rise and fall times improve the tolerance of clocks to signal and supply noise.
2. If MCLK24 = 1 then
else
.
3. To allow for the effects of load capacitance the timing values should be de-rated by 0.5 ns/pF.
4. For maximum clock signal load of 25 pF.
5. L3DATA to L3CLK HIGH.
6. L3DATA to L3MODE HIGH.
Inputs
C
I
input capacitance
-
-
10
pF
t
su1
set-up time TI to SCK HIGH
C
L
< 25 pF
33
-
-
ns
t
su2
set-up time CDM and CDMEF to
CDMCL, CDS, CDSEF and CDSWA
HIGH
C
L
< 25 pF
42
-
-
ns
t
su3
set-up time CDSSY to CDSCL HIGH
T
m
+ 10
-
-
ns
t
d1
delay time L3MODE to L3LCK LOW
0
-
-
ns
t
h1
hold time TI to SCK HIGH
0
-
-
ns
t
h2
hold time CDM, CDMEF to CDMCL,
CDS, CDSEF and CDSWA HIGH
0
-
-
ns
t
h3
hold time CDSSY to CDSCL HIGH
10
-
-
ns
t
h4
input hold time
0
-
-
ns
t
L
L3MODE LOW time
T
m
+ 10
-
-
ns
Outputs
C
O
output capacitance
-
-
50
pF
t
h
hold time SD, WS, TO, TB and TA to
SCK LOW
notes 3 and 4
-
22
-
-
ns
t
h
hold time CDMWS to CDMCL LOW
notes 3 and 4
-
15
-
-
ns
t
d
delay time SD, WS, TO, TB and TA to
CDMCL LOW
note 3
-
-
10
ns
t
d
delay time CDMWS to CDMCL LOW
note 3
-
-
0
ns
Inputs/outputs
C
O
output capacitance
-
-
50
pF
t
su
input set-up time
note 5
T
m
+ 10
-
-
ns
t
h
input hold time
note 5
10
-
-
ns
t
h
output hold time
notes 3 and 5
T
m
-
-
ns
t
d
output delay time
notes 3 and 5
-
-
2T
m
+ 30
ns
t
d2
3-state enable time
notes 3 and 6
-
-
20
ns
t
d3
3-state stable time
notes 3 and 6
-
-
20
ns
t
d5
3-state disable time L3DATA to
L3MODE LOW
note 3
-
-
20
ns
SYMBOL
PARAMETER
CONDITIONS
MIN.
TYP.
MAX.
UNIT
T
m
4
f
MCLKIN
--------------------
=
T
m
2
f
MCLKIN
--------------------
=
September 1994
45
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
Fig.23 Timing diagram.
handbook, full pagewidth
VIH
t su
t h1
30%
50%
70%
IL
V
t h2
t d
VIH
IL
V
30%
70%
CLOCK
DATA
DATA
INPUT
DATA
OUTPUT
MGB511
September 1994
46
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
PACKAGE OUTLINE
handbook, full pagewidth
X
A
B
10.1
9.9
12.9
12.3
0.15
M
B
0.40
0.20
pin 1 index
1
44
34
33
23
22
11
0.40
0.20
0.15 M A
0.8
12
0.8
10.1
9.9
12.9
12.3
S
0.1 S
seating
plane
1.2
0.8
(4x)
1.2
0.8
(4x)
0.95
0.55
MBB944 - 2
detail X
0.85
0.75
0.25
0.14
2.10
1.70
0 to 10
o
1.85
1.65
0.25
0.05
Fig.24 Plastic quad flat package; 44 leads (lead length 1.3 mm); body 10
10
1.75 mm (QFP44; SOT307-2).
Dimensions in mm.
September 1994
47
Philips Semiconductors
Preliminary specification
MPEG Audio Source Decoder
SAA2500
SOLDERING
Plastic quad flat-packs
B
Y WAVE
During placement and before soldering, the component
must be fixed with a droplet of adhesive. After curing the
adhesive, the component can be soldered. The adhesive
can be applied by screen printing, pin transfer or syringe
dispensing.
Maximum permissible solder temperature is 260
C, and
maximum duration of package immersion in solder bath is
10 s, if allowed to cool to less than 150
C within 6 s.
Typical dwell time is 4 s at 250
C.
A modified wave soldering technique is recommended
using two solder waves (dual-wave), in which a turbulent
wave with high upward pressure is followed by a smooth
laminar wave. Using a mildly-activated flux eliminates the
need for removal of corrosive residues in most
applications.
B
Y SOLDER PASTE REFLOW
Reflow soldering requires the solder paste (a suspension
of fine solder particles, flux and binding agent) to be
applied to the substrate by screen printing, stencilling or
pressure-syringe dispensing before device placement.
Several techniques exist for reflowing; for example,
thermal conduction by heated belt, infrared, and
vapour-phase reflow. Dwell times vary between 50 and
300 s according to method. Typical reflow temperatures
range from 215 to 250
C.
Preheating is necessary to dry the paste and evaporate
the binding agent. Preheating duration: 45 min at 45
C.
R
EPAIRING SOLDERED JOINTS
(
BY HAND
-
HELD SOLDERING
IRON OR PULSE
-
HEATED SOLDER TOOL
)
Fix the component by first soldering two, diagonally
opposite, end pins. Apply the heating tool to the flat part of
the pin only. Contact time must be limited to 10 s at up to
300
C. When using proper tools, all other pins can be
soldered in one operation within 2 to 5 s at between 270
and 320
C. (Pulse-heated soldering is not recommended
for SO packages.)
For pulse-heated solder tool (resistance) soldering of VSO
packages, solder is applied to the substrate by dipping or
by an extra thick tin/lead plating before package
placement.
DEFINITIONS
LIFE SUPPORT APPLICATIONS
These products are not designed for use in life support appliances, devices, or systems where malfunction of these
products can reasonably be expected to result in personal injury. Philips customers using or selling these products for
use in such applications do so at their own risk and agree to fully indemnify Philips for any damages resulting from such
improper use or sale.
Data sheet status
Objective specification
This data sheet contains target or goal specifications for product development.
Preliminary specification
This data sheet contains preliminary data; supplementary data may be published later.
Product specification
This data sheet contains final product specifications.
Limiting values
Limiting values given are in accordance with the Absolute Maximum Rating System (IEC 134). Stress above one or
more of the limiting values may cause permanent damage to the device. These are stress ratings only and operation
of the device at these or at any other conditions above those given in the Characteristics sections of the specification
is not implied. Exposure to limiting values for extended periods may affect device reliability.
Application information
Where application information is given, it is advisory and does not form part of the specification.