English
Language : 

VS1053B Datasheet, PDF (50/79 Pages) List of Unclassifed Manufacturers – Ogg Vorbis/MP3/AAC/WMA/MIDI AUDIO CODEC
VLSI
Solution y
VS1053b preliminary
VS1053B
9. OPERATION
9.5.2 Cancelling Playback
Cancelling playback of a song is a normal operation when the user wants to jump to another song while
doing playback.
1. Send a portion of an audio file to VS1053b.
2. Set SCI MODE bit SM CANCEL.
3. Continue sending audio file, but check SM CANCEL after every 32 bytes of data. If it is still set,
goto 3. If SM CANCEL doesn’t clear after 2048 bytes or one second, do a software reset (this
should be extremely rare).
4. When SM CANCEL has cleared, read extra parameter value endFillByte (Chapter 9.11).
5. Send 2052 bytes of endFillByte[7:0].
6. HDAT0 and HDAT1 should now both contain 0 to indicate that no format is being decoded. You
can now send the next audio file.
9.5.3 Fast Play
VS1053b allows fast audio playback. If your microcontroller can feed data fast enough to the VS1053b,
this is the preferred way to fast forward audio.
1. Start sending an audio file to VS1053b.
2. To set fast play, set extra parameter value playSpeed (Chapter 9.11).
3. Continue sending audio file.
4. To exit fast play mode, write 1 to playSpeed.
To estimate whether or not your microcontroller can feed enough data to VS1053b in fast play mode, see
contents of extra parameter value byteRate (Chapter 9.11). Note that byteRate contains the data speed of
the file played back at nominal speed even when fast play is active.
Note: Play speed is not reset when song is changed.
9.5.4 Fast Forward and Rewind without Audio
To do fast forward and rewind you need the capability to do random access to the audio file. Unfortu-
nately fast forward and rewind isn’t available at all times, like when file headers are being read.
1. Send a portion of an audio file to VS1053b.
2. When random access is required, read SCI STATUS bit SS DO NOT JUMP. If that bit is set,
random access cannot be performed, so go back to 1.
3. Read extra parameter value endFillByte (Chapter 9.11).
4. Send at least 2048 bytes of endFillByte[7:0].
5. Jump forwards or backwards in the file.
6. Continue sending the file.
Version 0.5, 2007-12-03
50