VS1010 feature questions

Designing hardware and software for systems that use the VS1010 MP3 Audio DSP Microcontroller.
Post Reply
joe6486
Senior User
Posts: 33
Joined: Mon 2013-06-24 17:29

VS1010 feature questions

Post by joe6486 » Fri 2020-10-09 21:42

I'm just becoming acquainted with the VS1010, and am exploring the minidemo. I have a few questions -

1. CONFIG.TXT only runs automatically from the sdcard, and not the internal SPI flash, correct? Is there a way to run it automatically from internal SPI flash upon booting? I suppose f:sys/boot.dlx could serve a similar purpose.

2. The system crashes/hangs if the sdcard is removed during playback. Is there a good way to make the system more resilient? We have to assume customers will remove the card and will expect the system to recover. We'd like the console to continue accepting commands when the card is removed, and resume (or restart) playback when the card is re-inserted. When the card is re-inserted, instead we get a "Read Error". I would think this error should occur soon after the card is removed? A reboot on card removal would be ok I think.

3. It would be nice if we could use the VS1010 as a USB dongle (for feeding through serial commands to the host system) as well as a playback device (SPI + sdcard), at the same time. Has this been explored?

4. When starting with a SD card plugged in, it automatically loops all the tracks on the sdcard, which is good, but then it continues playing any sound files in the f: directory. Is there a simple way to prevent this, but have the f: tracks be available for selective playback?

Thanks for the help!

joe6486
Senior User
Posts: 33
Joined: Mon 2013-06-24 17:29

Re: VS1010 feature questions

Post by joe6486 » Thu 2020-10-15 15:29

Hi, is anyone able to answer these questions?

User avatar
Panu
VLSI Staff
Posts: 2747
Joined: Tue 2010-06-22 13:43

Re: VS1010 feature questions

Post by Panu » Thu 2020-10-15 21:15

Hi!

Sorry, I missed your message earlier. Strange that it did not show up in my list of new topics.

Do you have the VS1010 handbook? The boot process is explained there in more detail.

Anyway,
1) If you format the flash to FAT and put a SYS folder there, then the flash becomes the system disk S: instead of the SD card.

2,4) You seem to be running the very simple player routine which is in the ROM. That one plays D: root and then F: root. It's mainly good for testing the chip, nice to get some sound out of the IC without writing player firmware. The book has some discussion about how to do player firmware. But the easy way of getting rid of F: is to change the F: drive letter. For this you need to write a small program that has just a couple of lines; e.g. VODEV('M') = VODEV('F'); to make M: disk what the F: disk was. Then set the F: disk to point to somewhere else, or to NULL (no device), e.g. VODEV('F'') = NULL; Then when the player plays from F: it will not find anything, but you can play those files from disk M:

3) Hmm, tricky due to CPU clock requirements and no multitasking. But if you reboot the device into runlevel 8 (REBOOT 8 on the command line), then it becomes a USB UART device which shows the command line to the USB UART. From the command line you can give commands. Works in OSes that recognize USB CDC class devices (Linux, Win10, Mac) but the ROM implementation of CDC is less than perfect, leading to high CPU load on the PC for example. But it's good enough for bringing up the system and debugging. Again, custom firmware makes things better. We even have some at our website, please see our USB UART demoboard.

-Panu
Info: Line In and Line Out, VS1000 User interface, Overlay howto, Latest VSIDE, MCU Howto, Youtube
Panu-Kristian Poiksalo, VLSI Solution Oy

Post Reply