VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Designing hardware and software for systems that use the VS1010 MP3 Audio DSP Microcontroller.
Hannu
Senior User
Posts: 410
Joined: Mon 2016-05-30 11:54
Location: Finland
Contact:

Re: VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Post by Hannu »

At least the normal player modes respect S:config.txt file. The radio board sets boot mode to 15 (all high).

It is also very common to pull all high or low. Mostly depends what you want the other mode to be. I like zero as it is one jumper selection to SD USB, SPI fash USB and USB console.

fmradio_rc0.zip has sd-card file structure with the config.txt.
George
Senior User
Posts: 76
Joined: Fri 2021-12-03 11:03

Re: VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Post by George »

Thank you.

Now I want the player mode only. I have not radio chip, flash chip, RTC, LCD and any chip exeptly VS1010 and micro SD card and AM1117-3.3
So I have to set:
GP1_3 = 0, GP1_2 = 1, GP1_1 = 1, GP1_0 = 1, GP1_13 = 1, GP1_12 = 1
Yes?

I see contents of my S:\config.txt as:

Code: Select all

[0]

startfm
LCDMP3
Yes?

And I see my S:\sys
LCDMP3.dlx

Yes?
Hannu
Senior User
Posts: 410
Joined: Mon 2016-05-30 11:54
Location: Finland
Contact:

Re: VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Post by Hannu »

I quickly calculated runlevel 15, no SPI boot, 3V3 IOVDD.
Your config.txt is for runlevel 0. Use [?] for runlevel 15

You want something like this:

Code: Select all

#Always. Esc to switch runlevel 12 (shell)
unbrick
[?]
#runlevel 15
echo Running firmware
firmware
[<]
#runlevel 12
echo unbricked
I always run first the unbrick program which let me escape to shell. My unbrick code is:

Code: Select all

ioresult main (char *params) {
	u_int16 i;
	char ch = 0;
	printf("Unbrick 2021-12-14 ");
	for (i = 10; i; i--) {
		printf(" %u", i);
		if (lastReceivedCharUart0 == 27) {
			fgetc(stdin); /* Consume ESC */
			runlevel = 12;
			printf("!\n");
			return S_OK;
		}
		DelayL(1000000);
	}
	printf("\n");
	return S_OK;
}
George
Senior User
Posts: 76
Joined: Fri 2021-12-03 11:03

Re: VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Post by George »

Dear Hannu,
I saw [?], but I did not guessed that it is runlevel 15. I see the runlevel 0 and runlevel 15 in VS1010 datasheet, but I do not understand what they differ, since both are named as a Normal player mode. I see your codes, but I do not understand where I have to insert them in VSIDE.
I am sure I have a big hole in my knowledge of VS1010, but I did not find a document on your website, which would help me to make this hole to do smaller. Where you can download such a document if it is certainly not secret? :oops:
Hannu
Senior User
Posts: 410
Joined: Mon 2016-05-30 11:54
Location: Finland
Contact:

Re: VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Post by Hannu »

Thank you. A good catch.
Those magical characters aren't well documented. I had to really check where else than on the side of my computer case documented.

viewtopic.php?f=15&t=2171 trainingMaterial.pdf has a table where they are for example. And there is no difference between runlevel 0 and 15 or other normal player modes. Many normal player modes are provided as there is usually an easy way to pull up or pull down the pins, but mixing directions can make layout more troublesome.

The config.txt goes to the root of the SD card.
George
Senior User
Posts: 76
Joined: Fri 2021-12-03 11:03

Re: VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Post by George »

Thanks Hannu,
This is very interesting information for me.
If I understand correctly, ROM VS1010 already contains the code for the MP3 player VS1010Public .
Is the solution "VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board" is an addition to this code or does it replace the VS1010Public ?
George
Senior User
Posts: 76
Joined: Fri 2021-12-03 11:03

Re: VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Post by George »

--------------------------
--------------------------
Ooooops!
I found a problem: my VS1010 constantly sends short messages to TX0 when the power is turned on.
I don't like the supply voltages from VS1010, it has too much noise.
Can I apply an external 3.3V power supply to IOVDD1 and AVDD1 and 1.8V to CVDD1?
Hannu
Senior User
Posts: 410
Joined: Mon 2016-05-30 11:54
Location: Finland
Contact:

Re: VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Post by Hannu »

Hi!
Yes. ROM code has MP3, WAV player, video output, VSOS and many USB things.

The startup goes much like this:

Code: Select all

C#0d1d
VS1010D VSOS 4.20
Files:6. Buffers:3.
Runlevel 15
SPIF:ffff, none.
SD:No ID.
I believe it sends "no device F" string or similar to output as romplayer hasn't found SPI flash or SD card doesn't have anything to play. Runlevel 12 would had just dropped down to VS1010> prompt.

The VS1010Public is the ROM code. And it doesn't change. The decoders aren't published. It has all the interfaces user needs to know to glue player and control software with VS1010. The fm radio player interfaces with the PlayerPlayFile() function. It has that insane fast indexer which is nice.

The power regulators shouldn't be that bad. Have you connected IOVDD pins together and CVDD pins also? And put the bypass capacitors near to pins?
Are you putting them to high load and is your VHIGH sufficient with bupass capacitor also near the pin?

And yes. It is possible use external regulators if IOVDD pins and CVDD pins are connected. Just put regulator to lower setting than the input voltage.
IOVDD max 3.6 CVDD 1.95 V

I won't recommend it however. First the layout is harder. Normally you keep thinking audio stuff and those return currents. When you have external powers, you have to think also to keep them low impedance and provide a good return path. Second the external powers also interfere my crystal ball and I can't give good answers when there are problems.
George
Senior User
Posts: 76
Joined: Fri 2021-12-03 11:03

Re: VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Post by George »

It is very likely that I will have to abandon the use of a breadboard and make a full-fledged circuit board at once, and then redo it. VS1010 do not tolerate long wires... :cry:
George
Senior User
Posts: 76
Joined: Fri 2021-12-03 11:03

Re: VS1010 Ultra low cost LCD FM radio + USB DAC + SD/USB MP3 Player demo board

Post by George »

Hi Hannu,
I made a circuit board that looks almost like a real one, after which the problems with noise in the supply voltage decreased significantly.
IMG_20220206_094025-4.jpg
IMG_20220206_094025-4.jpg (40.8 KiB) Viewed 1060 times

Now I see about the same thing as you (I set runlevel as 0):

Code: Select all

SD:No ID.ГC#n
VS1010D VSOS 4.20
Files:6. Buffers:3.
Runlevel 0
SPIF:ffff, none.
SD:No ID.S=SD

My microSd content few MP3 files in the root, files names as 1.mp3, 2.mp3, 3.mp3, etc. and s:\config.sys with [0].

I see MOSI, MISO and SCK signals in microSD channel but it does not look like a stream of audio bits.
I not see any LEFT and RIGHT signals
But I see MCLK, MOSI1 and XCS1 signals which are very similar to I2S.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
When working with the microSD, I see a periodic message SD:No ID.
Here's what it looks like:
VID_20220206_190530.mp4
(35.14 MiB) Downloaded 61 times
Is it possible that the lack of a microSD ID is the reason VS1010 refuses to read mp3 files from this microSD?
Post Reply