|
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 ï¬le to VS1053b.
2. Set SCI MODE bit SM CANCEL.
3. Continue sending audio ï¬le, 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 ï¬le.
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 ï¬le to VS1053b.
2. To set fast play, set extra parameter value playSpeed (Chapter 9.11).
3. Continue sending audio ï¬le.
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 ï¬le 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 ï¬le. Unfortu-
nately fast forward and rewind isnât available at all times, like when ï¬le headers are being read.
1. Send a portion of an audio ï¬le 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 ï¬le.
6. Continue sending the ï¬le.
Version 0.5, 2007-12-03
50
|
▷ |