Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages | Examples

VLSI VS1001K
[* Special Hardware]

Collaboration diagram for VLSI VS1001K:


Detailed Description

MP3 Decoder.


Defines

#define VS_OPCODE_READ
#define VS_OPCODE_WRITE
#define VS_MODE_REG
#define VS_STATUS_REG
#define VS_INT_FCTLH_REG
#define VS_CLOCKF_REG
#define VS_DECODE_TIME_REG
#define VS_AUDATA_REG
#define VS_WRAM_REG
#define VS_WRAMADDR_REG
#define VS_HDAT0_REG
#define VS_HDAT1_REG
#define VS_A1ADDR_REG
#define VS_VOL_REG
#define VS_A1CTRL_REG
#define VS_SM_DIFF
#define VS_SM_FFWD
#define VS_SM_RESET
#define VS_SM_MP12
#define VS_SM_PDOWN
#define VS_SM_DAC
#define VS_SM_DACMONO
#define VS_SM_BASS
#define VS_SM_DACT
#define VS_SM_BYTEORD
#define VS_SM_IBMODE
#define VS_SM_IBCLK
#define VS_CF_DOUBLER
#define VS_FLUSH_BYTES
#define VS_STATUS_STOPPED
#define VS_STATUS_RUNNING
#define VS_STATUS_EOF
#define VS_STATUS_EMPTY

Functions

int VsPlayerInit (void)
 Initialize the VS1001 hardware interface.
int VsPlayerReset (u_short mode)
 Software reset the decoder.
int VsPlayerSetMode (u_short mode)
 Set mode register of the decoder.
int VsPlayerKick (void)
 Start playback.
int VsPlayerStop (void)
 Stops the playback.
int VsPlayerFlush (void)
 Sets up decoder internal buffer flushing.
u_char VsPlayerInterrupts (u_char enable)
 Enable or disable player interrupts.
u_charVsBufferInit (u_short size)
u_charVsBufferReset (void)
u_charVsBufferRequest (u_short *sizep)
u_charVsBufferAcknowledge (u_short nbytes)
u_short VsBufferAvailable (void)
u_short VsPlayTime (void)
 Returns play time since last reset.
u_char VsGetStatus (void)
 Returns status of the player.
u_short VsMemoryTest (void)
 Initialize decoder memory test and return result.
int VsSetVolume (u_char left, u_char right)
 Set volume.
int VsBeep (u_char fsin, u_char ms)
 Sine wave beep.


Function Documentation

int VsBeep u_char  fsin,
u_char  ms
 

Sine wave beep.

Parameters:
fsin Frequency.
ms Duration.
Returns:
0 on success, -1 otherwise.

u_char VsGetStatus void   ) 
 

Returns status of the player.

Returns:
Any of the following value:
  • VS_STATUS_STOPPED Player is ready to be started by VsPlayerKick().
  • VS_STATUS_RUNNING Player is running.
  • VS_STATUS_EOF Player has reached the end of a stream after VsPlayerFlush() has been called.
  • VS_STATUS_EMPTY Player runs out of data. VsPlayerKick() will restart it.
Examples:
playmp3/playmp3.c.

u_short VsMemoryTest void   ) 
 

Initialize decoder memory test and return result.

Returns:
Memory test result.
  • Bit 0: Good X ROM
  • Bit 1: Good Y ROM (high)
  • Bit 2: Good Y ROM (low)
  • Bit 3: Good Y RAM
  • Bit 4: Good X RAM
  • Bit 5: Good Instruction RAM (high)
  • Bit 6: Good Instruction RAM (low)

int VsPlayerFlush void   ) 
 

Sets up decoder internal buffer flushing.

This routine will set up internal VS buffer flushing, unless the buffer is already empty and starts the playback if necessary. The internal VS buffer is flushed in VsPlayerFeed() at the end of the stream.

Decoder interrupts will be enabled.

Returns:
0 on success, -1 otherwise.
Examples:
playmp3/playmp3.c.

int VsPlayerInit void   ) 
 

Initialize the VS1001 hardware interface.

Returns:
0 on success, -1 otherwise.
Examples:
playmp3/playmp3.c.

u_char VsPlayerInterrupts u_char  enable  ) 
 

Enable or disable player interrupts.

This routine is typically used by applications when dealing with unprotected buffers.

Parameters:
enable Disables interrupts when zero. Otherwise interrupts are enabled.
Returns:
Zero if interrupts were disabled before this call.
Examples:
playmp3/playmp3.c.

int VsPlayerKick void   ) 
 

Start playback.

This routine will send the first MP3 data bytes to the decoder, until it is completely filled. The data buffer should have been filled before calling this routine.

Decoder interrupts will be enabled.

Returns:
0 on success, -1 otherwise.
Examples:
playmp3/playmp3.c.

int VsPlayerReset u_short  mode  ) 
 

Software reset the decoder.

This function is typically called after VsPlayerInit() and at the end of each track.

Parameters:
mode Any of the following flags may be or'ed
  • VS_SM_DIFF Left channel inverted.
  • VS_SM_FFWD Fast forward.
  • VS_SM_RESET Force hardware reset.
  • VS_SM_PDOWN Switch to power down mode.
  • VS_SM_BASS Bass/treble enhancer.
Returns:
0 on success, -1 otherwise.
Examples:
playmp3/playmp3.c.

int VsPlayerSetMode u_short  mode  ) 
 

Set mode register of the decoder.

Parameters:
mode Any of the following flags may be or'ed
  • VS_SM_DIFF Left channel inverted.
  • VS_SM_FFWD Fast forward.
  • VS_SM_RESET Software reset.
  • VS_SM_PDOWN Switch to power down mode.
  • VS_SM_BASS Bass/treble enhancer.
Returns:
0 on success, -1 otherwise.

int VsPlayerStop void   ) 
 

Stops the playback.

This routine will stops the MP3 playback, VsPlayerKick() may be used to resume the playback.

Returns:
0 on success, -1 otherwise.

u_short VsPlayTime void   ) 
 

Returns play time since last reset.

Returns:
Play time since reset in seconds

int VsSetVolume u_char  left,
u_char  right
 

Set volume.

Parameters:
left Left channel volume.
right Right channel volume.
Returns:
0 on success, -1 otherwise.
Examples:
playmp3/playmp3.c.


© 2000-2006 by egnite Software GmbH - visit http://www.ethernut.de/