DATASHEET
VS1001
K
VS1001k - MPEG AUDIO CODEC
Features
•
MPEG audio layer 3 decoder (ISO11172-3)
•
Supports MPEG 1 & 2, and 2.5 extensions,
all their sample rates and bit rates, in mono
and stereo
•
Supports PCM input
•
Supports VBR (variable bitrate)
•
Can be used as a slave co-processor
•
Operates with single clock 12..13 MHz or
24..26 MHz
•
Low-power operation
•
On-chip high-quality stereo DAC with no
phase error between channels
•
Internal Op-Amp in BGA-49 and LQFP-48
packages
•
Stereo earphone driver capable of driving a
30Ω load.
•
Separate 2.5 .. 3.6V operating voltages for
analog and digital
•
4 KiB On-chip RAM for user code
•
Serial control and data interfaces
•
New functions may be added with software
Description
VS1001k is a single-chip solution for an MPEG
layer 3 audio decoder. The chip contains a high-
performance low-power DSP processor (VS DSP),
working memory, 4 KiB program RAM and 0.5
KiB data RAM for user applications, serial con-
trol and input data interfaces, and a high-quality
oversampling variable-sample-rate stereo DAC, fol-
lowed by an earphone amplifier and a ground buffer.
VS1001k receives its input bitstream through a
serial input bus, which it listens to as a system
slave. The input stream is decoded and passed
through a analog/digital hybrid volume control to
an 18-bit oversampling multi-bit sigma-delta DAC.
The decoding is controlled via a serial control bus.
In addition to the basic decoding, it is possible to
add application specific features, like DSP effects,
to the user RAM memory.
VS1001
stereo
DAC
DREQ
DCLK
SDATA
BSYNC
SO
SI
SCLK
XCS
audio
stereo ear−
phone driver
L
R
output
serial
data
interface
serial
control
interface
SDI
Bus
x−ROM
X Bus
VS_DSP
SCI
Bus
Y Bus
I Bus
x−RAM
y−RAM
y−ROM
program
RAM
program
ROM
Version 4.14, 2004-02-10
1
VLSI
Solution
y
DATASHEET
VS1001
K
CONTENTS
Contents
1 License
7
2
Characteristics & Specifications
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
2.9
Analog Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Consumption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DAC Interpolation Filter Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . .
DAC Interpolation Filter Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . .
Absolute Maximum Ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Recommended Operating Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Digital Characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Switching Characteristics - Clocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Switching Characteristics - DREQ Signal . . . . . . . . . . . . . . . . . . . . . . . . .
7
7
8
8
8
8
9
9
10
10
10
10
2.10 Switching Characteristics - SPI Interface Output . . . . . . . . . . . . . . . . . . . . . .
2.11 Switching Characteristics - Boot Initialization . . . . . . . . . . . . . . . . . . . . . . .
3
Packages and Pin Descriptions
3.1
3.2
3.3
SOIC-28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BGA-49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LQFP-48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
11
12
13
4
Example Connection Diagrams
4.1
4.2
4.3
Connection Diagram, SOIC-28 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connection Diagram, BGA-49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Connection Diagram, LQFP-48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
14
15
16
Version 4.14, 2004-02-10
2
VLSI
Solution
y
DATASHEET
VS1001
K
CONTENTS
5 SPI Buses
5.1
5.2
5.3
5.4
General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SPI Bus Pin Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serial Protocol for Serial Data Interface (SDI) . . . . . . . . . . . . . . . . . . . . . . .
Serial Protocol for Serial Command Interface (SCI) . . . . . . . . . . . . . . . . . . . .
5.4.1
5.4.2
5.4.3
5.5
General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SCI Read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SCI Write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
17
17
17
18
18
18
19
20
SPI Timing Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
Functional Description
6.1
6.2
6.3
6.4
6.5
Main Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Data Flow of VS1001k . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serial Data Interface (SDI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serial Control Interface (SCI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SCI Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5.1
6.5.2
6.5.3
6.5.4
6.5.5
6.5.6
6.5.7
6.5.8
6.5.9
MODE (RW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
STATUS (RW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INT FCNTLH (-) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLOCKF (RW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DECODE TIME (R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AUDATA (R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
WRAM (W) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
WRAMADDR (W) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HDAT0 and HDAT1 (R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
21
21
22
22
22
23
25
25
25
25
26
26
26
27
Version 4.14, 2004-02-10
3
VLSI
Solution
y
DATASHEET
VS1001
K
CONTENTS
6.5.10 AIADDR (RW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5.11 VOL (RW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5.12 RESERVED (RW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5.13 AICTRL[x] (RW) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.6
Stereo Audio DAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
28
28
28
28
28
7 Operation
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
Clocking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Powerdown . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Software Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Play/Decode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sanity Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PCM Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.8.1
7.8.2
7.8.3
Memory Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SCI Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sine Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
29
29
29
29
29
30
30
30
30
31
31
32
8
Writing Software
8.1
8.2
8.3
8.4
When to Write Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
The Processor Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User’s Memory Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4.1
8.4.2
SCI Registers, 0x4000 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serial Registers, 0x4100 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
33
33
33
33
33
33
Version 4.14, 2004-02-10
4
VLSI
Solution
y
DATASHEET
8.4.3
8.4.4
VS1001
K
CONTENTS
DAC Registers, 0x4200 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupt Registers, 0x4300 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
34
34
35
35
35
35
35
36
36
36
37
37
37
8.5
System Vector Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.5.1
8.5.2
8.5.3
8.5.4
AudioInt, 0x4000..0x4001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SpiInt, 0x4002..0x4003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataInt, 0x4004..0x4005 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
UserCodec, 0x4008..0x4009 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6
System Vector Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6.1
8.6.2
8.6.3
8.6.4
8.6.5
WriteIRam(), 0x4010 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ReadIRam(), 0x4011 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DataWords(), 0x4012 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetDataByte(), 0x4013 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GetDataWords(), 0x4014 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 VS1001 Version Changes
9.1
9.2
9.3
Changes Between VS1001h and Production Version VS1001k, 2001-08 . . . . . . . . .
Changes Between VS1001g and VS1001h, 2001-05 . . . . . . . . . . . . . . . . . . . .
Changes Between VS1001d to VS1001g, 2001-03 . . . . . . . . . . . . . . . . . . . . .
38
38
38
38
10 Document Version Changes
10.1 Changes Between Version 4.13 and 4.14 for VS1001k, 2004-02 . . . . . . . . . . . . .
10.2 Changes Between Version 4.12 and 4.13 for VS1001k, 2003-11 . . . . . . . . . . . . .
10.3 Changes Between Version 4.11 and 4.12 for VS1001k, 2003-10 . . . . . . . . . . . . .
10.4 Changes Between Version 4.10 and 4.11 for VS1001k, 2003-09 . . . . . . . . . . . . .
10.5 Changes Between Version 4.08 and 4.10 for VS1001k, 2003-07 . . . . . . . . . . . . .
10.6 Changes Between Version 4.07 and 4.08 for VS1001k, 2003-03 . . . . . . . . . . . . .
39
39
39
39
39
39
39
Version 4.14, 2004-02-10
5