PRELIMINARY
VS1063a Prog. Guide
5
WRITING PLUGINS
5.1.3
Plugin Y Data Memory Map (16-bit words)
Free Y data memory for plugins
Start Addr
Length
Description
0x1800
0x80
User area
0xFA14
0x3EC
Extra area
5.2
Implementing a Plugin to the Decoder Audio Path
A useful case of cooperative programs is plugin user applications.
AAC, FLAC
5−channel
Audio
Pause
Mono
Bass
User
control
Treble
Speed
EarSpeaker
equalizer
ADC
0
SCI_VOL
Bitstream
SDI bus
SCI bus
Mic/Line In
PCM audio
ST_AMPLITUDE=0
SB_AMPLITUDE=0
AIADDR != 0
AIADDR=0
EQ5 Enable = 1
ST_AMPL=0 &
SB_AMPL=0 &
EarSpeakerLevel!=0 &
earSpeakerLevel=0
ST_AMPLITUDE!=0
SB_AMPLITUDE != 0
adMixerGain or
pcmMixerVol
Bitstream
shifter
FIFO
enhancer
FIFO
SPEEDSHIFTER_ON=0
SPEEDSHIFTER_ON=0&
SPEEDSHIFTER_ON=1
MONO_OUTPUT=1
MONO_OUTPUT=0
PAUSE_ON
PCMMIXER_ON=1&
ADMIXER_ON=1
PCMMISER_ON=0 & ADMIXER_ON=0
ADMIXER_ON=0
To DAC
DAC
SRC
Sidestream
SDM
WAV, MP2/3,
OGG, WMA,
plugin
Figure 1: Decoder data flow of VS1063a with the user plugin stage highlighted
User plugins may insert themselves in the decoding signal path, as shown in Figure 1. (For
annotations for other blocks in this figure, see the VS1063a Datasheet.)
Plugins also get information on whenever SCI_AICTRL0 through SCI_AICTRL3 have been
accessed (either read from or written to), or whenever the samplerate changes.
Version: 0.40, 2011-09-02
11