VS1000b, PlayFIle from Card

Writing software that controls the system and peripherals such as displays, SD cards, Buttons, LEDs, Serial Ports etc.
Post Reply
HeLiO
Senior User
Posts: 94
Joined: Thu 2011-04-14 12:47

VS1000b, PlayFIle from Card

Post by HeLiO » Thu 2013-01-31 9:59

Hi , VLSI Team!
We have own custom board with VS1000b and SD card as music holding module.
The problem sometimes occures with our layout board - leveling volume from minimum to maximum leads to stopping sound playing sometimes.

We can better figure out what it is the reason of such strange behaviour if you provide us ERROR CODES for the built in rom function PlayCurrentFile()from the context below:

Code: Select all

if (player.currentFile >= 0)
	{
		//puts("Playing file");
		player.pauseOn = 0;
		player.ffCount = 0;
		cs.cancel = 0;
		cs.goTo = startSec;	//-1; /* start playing from the start */
		cs.fileSize = cs.fileLeft = minifatInfo.fileSize;
		cs.fastForward = 1; /* reset play speed to normal */

		// start playing
		PlayCurrentFile();							//sitting here while SOUND is PLAYED
		// end playing, в том числе:
		//if (common.cur_excursion)
		//	timer_autooff = 0;		// reset timer autooff 
	}


Thank you!
Sincerely. Peter

User avatar
pasi
VLSI Staff
Posts: 1764
Joined: Thu 2010-07-15 16:04

Re: VS1000b, PlayFIle from Card

Post by pasi » Tue 2013-02-19 17:35

HeLiO wrote: We have own custom board with VS1000b and SD card as music holding module.
The problem sometimes occures with our layout board - leveling volume from minimum to maximum leads to stopping sound playing sometimes.
Does this happen when the high volume is reached, or at anytime you are increasing volume?

Two reasons I can think of
1) key scan detects next or previous instead of volume up, and returns from the decoder. Smaller pull-down / pull-up resistors on the keys can help. If you have your own idle handler, you can also add NandPutCommand(0); before the calling the key scan.

Code: Select all

void InitUserInterfaceIdleHook(void) {
    if (uiTrigger) {
        uiTrigger = 0;
        NandPutCommand(0); /*Bring data bus low*/
        KeyScan();
    }
}
2) if the analog outputs are driving a big load, the regulators can run out of power, CVDD drops, and the whole system resets itself. This may happen when you insert/remove headphones unless you have series resistors on the outputs. A big bass thump can also draw too much power from a battery or the VHIGH regulator/transformer can not give enough power.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

HeLiO
Senior User
Posts: 94
Joined: Thu 2011-04-14 12:47

Re: VS1000b, PlayFIle from Card

Post by HeLiO » Wed 2013-02-20 9:56

Problem solved, high volume leaded to stopping. Problem was in hardware
(in our custom board) - not in logic / code. High current caused by high volume level leaded to
SD card current supplying fail.. (my interpretation of the resume of our engineer)

Thanx

User avatar
pasi
VLSI Staff
Posts: 1764
Joined: Thu 2010-07-15 16:04

Re: VS1000b, PlayFIle from Card

Post by pasi » Wed 2013-02-20 15:05

You should have a separate regulator for SD, because those are nowadays using amazing amounts of peak current.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

Post Reply