English
Language : 

VS1053B Datasheet, PDF (58/79 Pages) List of Unclassifed Manufacturers – Ogg Vorbis/MP3/AAC/WMA/MIDI AUDIO CODEC
VLSI
Solution y
VS1053b preliminary
VS1053B
9. OPERATION
You can see that in the invalid read the low part wraps from 0x0000 to 0xffff while the high part stays the
same. In this case the second read gives a valid answer, otherwise always use the value of the first read.
The second read is needed when it is possible that the low part wraps around, changing the high part, i.e.
when the low part is small. bytesLeft is only decreased by one at a time, so a reread is needed only
if the low part is 0.
9.11.1 Common Parameters
These parameters are common for all codecs. Other fields are only valid when the corresponding codec
is active. The currently active codec can be determined from SCI HDAT1.
Parameter
chipID
version
config1
playSpeed
byteRate
endFillByte
jumpPoints[8]
latestJump
positionMsec
resync
Address
0x1e00-01
0x1e02
0x1e03
0x1e04
0x1e05
0x1e06
0x1e16-25
0x1e26
0x1e27-28
0x1e29
Usage
Fuse-programmed unique ID (cosmetic copy of the fuses)
Structure version – 0x0003
Miscellaneous configuration
0,1 = normal speed, 2 = twice, 3 = three times etc.
average byterate
byte to send after file
Packet offsets for WMA and AAC
Index to latest jumpPoint
File position in milliseconds, if available
Automatic resync selector
The fuse-programmed ID is read at startup and copied into the chipID field. If not available, the value
will be all zeros. The version field can be used to determine the layout of the rest of the structure. The
version number is changed when the structure is changed. For VS1053b the structure version is 3.
config1 controls MIDI Reverb and AAC’s SBR and PS settings.
playSpeed makes it possible to fast forward songs. Decoding of the bitstream is performed, but only
each playSpeed frames are played. For example by writing 4 to playSpeed will play the song
four times as fast as normal, if you are able to feed the data with that speed. Write 0 or 1 to return to
normal speed. SCI DECODE TIME will also count faster. All current codecs support the playSpeed
configuration.
byteRate contains the average bitrate in bytes per second for every code. The value is updated once
per second and it can be used to calculate an estimate of the remaining playtime. This value is also
available in SCI HDAT0 for all codecs except MP3, MP2, and MP1.
endFillByte indicates what byte value to send after file is sent before SM CANCEL.
jumpPoints contain 32-bit file offsets. Each valid (non-zero) entry indicates a start of a packet for
WMA or start of a raw data block for AAC (ADIF, .mp4 / .m4a). latestJump contains the index of
the entry that was updated last. If you only read entry pointed to by latestJump you do not need to
read the entry twice to ensure validity. Jump point information can be used to implement perfect fast
forward and rewind for WMA and AAC (ADIF, .mp4 / .m4a).
Version 0.5, 2007-12-03
58