
VLSI
Solution
y
VS1103b
VS1103B
6. FUNCTIONAL DESCRIPTION
Volume
control
Audio
FIFO
S.rate.conv
and DAC
R
SCI_VOL
512 stereo
samples
L
application
User
Bass
enhancer
AIADDR=0
SB_AMPLITUDE!=0
AIADDR!=0
stream
Audio
enhancer
Treble
ST_AMPLITUDE!=0
ST_AMPLITUDE=0
ST_EARSPEAKER=0
ST_EARSPEAKER!=0
Earspeaker
SB_AMPLITUE=0
Figure 13: Normal Data Flow of VS1103b, Part 2.
Figure 13 presents the data flow of the Audio stream generated in Figure 12.
If SCI AIADDR is non-zero, application code is executed from the address pointed to by that register.
For more details, see Application Notes for VS10XX.
Then data may be sent to the Bass and Treble Enhancer depending on the SCI BASS register, followed
by Earspeaker Spatial Processing, depending on ST EARSPEAKER.
After that the signal is fed to the volume control unit, which also copies the data to the Audio FIFO.
The Audio FIFO holds the data, which is read by the Audio interrupt (Chapter 8.13.1) and fed to the
sample rate converter and DACs. The size of the audio FIFO is 1024 stereo (2×16-bit) samples, or
4 KiB.
The sample rate converter converts all different sample rates to XTALI/2, or 128 times the highest us-
able sample rate. This removes the need for complex PLL-based clocking schemes and allows almost
unlimited sample rate accuracy with one fixed input clock frequency. With a 12.288 MHz clock, the DA
converter operates at 128 × 48 kHz, i.e. 6.144 MHz, and creates a stereo in-phase analog signal. The
oversampled output is low-pass filtered by an on-chip analog filter. This signal is then forwarded to the
earphone amplifier.
6.3.2 Real-Time RT-Midi Mode
If GPIO1 is 1 and GPIO0 is 0 at startup, RT-Midi Mode is activated. In this mode RT-Midi data is read
through the UART at the default MIDI speed 31250 bit/s. The generated audio is sent to the audio path
as shown in Figure 13.
When RT-MIDI mode is activated, GPIO2 and GPIO3 are read and their contents are copied to register
bits SCIMB EARSPEAKER0 and SCIMB EARSPEAKER1, respectively. This way it is possible to
activate EarSpeaker in this mode without writing to any SCI registers. Also, if SCI CLOCKF has not
been set to a non-zero value, the clock multiplier is automatically set to 3.5X.
This mode is intended for connecting a MIDI keyboard or sequencer to VS1103b.
Version 1.01, 2007-09-03
27