User Manual
VS1003
9 OPERATION
9.5 SPI Boot
If GPIO0 is set with a pull-up resistor to 1 at boot time, VS1003 tries to boot from external SPI
memory.
SPI boot redefines the following pins:
Normal Mode SPI Boot Mode
GPIO0 xCS
GPIO1 CLK
DREQ MOSI
GPIO2 MISO
The memory has to be an SPI Bus Serial EEPROM with 16-bit addresses (i.e. at least 1 KiB).
The serial speed used by VS1003 is 245 kHz with the nominal 12.288 MHz clock. The first
three bytes in the memory have to be 0x50, 0x26, 0x48. The exact record format is explained
in the Application Notes for VS10XX.
9.6 Play/Decode
This is the normal operation mode of VS1003. SDI data is decoded. Decoded samples are
converted to analog domain by the internal DAC. If no decodable data is found, SCI_HDAT0
and SCI_HDAT1 are set to 0 and analog outputs are muted.
When there is no input for decoding, VS1003 goes into idle mode (lower power consumption
than during decoding) and actively monitors the serial data input for valid data.
All different formats can be played back-to-back without software reset in-between. Send at
least 4 zeros after each stream. However, using software reset between streams may still be a
good idea, as it guards against broken files. In this case you shouldt wait for the completion of
the decoding (SCI_HDAT0 and SCI_HDAT1 become zero) before issuing software reset.
9.7 Feeding PCM data
VS1003 can be used as a PCM decoder by sending to it a WAV file header. If the length
sent in the WAV file is 0 or 0xFFFFFFF, VS1003 will stay in PCM mode indefinitely (or until
SM_OUTOFWAV has been set). 8-bit linear and 16-bit linear audio is supported in mono or
stereo.
Version: 1.08, 2014-12-19 42