VS1010C Basic Training, 19-Sep-2017

Designing hardware and software for systems that use the VS1010 MP3 Audio DSP Microcontroller.
User avatar
Panu
VSDSP Expert
Posts: 2828
Joined: Tue 2010-06-22 13:43

VS1010C Basic Training, 19-Sep-2017

Post by Panu »

Dear participants,

Welcome to VS1010C Basic Training! We will be using this thread in www.vsdsdp-forum.com for handing out materials, assignments and notes for the training.

Please download a training version of VSIDE from the attached file below and extract it to your PC hard drive to a folder such as C:\VSIDE. Then click VSIDE.EXE to run the IDE.

If you have problems, you may need to install the latest official VSIDE version first. At time of writing, it can be found here: download/file.php?id=1421

Next, unless you already have a working terminal program on your PC, please download and install the TeraTerm terminal from: https://osdn.net/projects/ttssh2/downlo ... -4.90.exe/

Software engineers, first read these programming examples:
viewtopic.php?f=15&t=2129 - Basic programs such as ECHO, TYPE etc explained.
viewtopic.php?f=15&t=2131 - More example programs explained (vs1010b).

Hardware engineers, study the Developer Board and MiniDemo Board schematics:
http://www.vlsi.fi/en/support/evaluatio ... board.html

Download files:
Attachments
TrainingMaterial.pdf
(2.79 MiB) Downloaded 3101 times
vside.zip
A version of VSIDE for VS1010C Training
(16.15 MiB) Downloaded 555 times
User avatar
Panu
VSDSP Expert
Posts: 2828
Joined: Tue 2010-06-22 13:43

VS1010C X and Y Memory Maps

Post by Panu »

Here is the X data memory map for the VS1010C. Each horizontal stripe is 2048 words.
XRAM starts from address 0 and ends at address 0x3fff. XROM starts from address 0x8000.
User space is between the stack and MP3 decoder static data, addresses 0x1000..0x2436.
vs1010memX.png
vs1010memX.png (46.06 KiB) Viewed 11391 times
Here is the Y data memory map for the VS1010C. Each horizontal stripe is 2048 words.
YRAM starts from address 0 and ends at address 0x3fff. YROM starts from address 0x8000.
User space is between the stack and MP3 decoder static data, addresses 0x1000..0x212C.
vs1010memY.png
vs1010memY.png (46.48 KiB) Viewed 11391 times
User avatar
Panu
VSDSP Expert
Posts: 2828
Joined: Tue 2010-06-22 13:43

VS1010C ROM source codes

Post by Panu »

Here's the OS portions of VS1010C ROM code for your reference. If you run into problems figuring out what the 1010 is doing, please use this source code for reference.

You can also cut and paste code snippets from here to your own programs if you need to do something quite similar, but not 100% similar, than what the ROM code does.
Attachments
VS1010Public.zip
(171.96 KiB) Downloaded 564 times
User avatar
Panu
VSDSP Expert
Posts: 2828
Joined: Tue 2010-06-22 13:43

Re: VS1010C Basic Training, 19-Sep-2017

Post by Panu »

SD Card contents. Please extract the contents to your SD card. This SD card contents can be used with the MiniDemo board and also with the Developer board.
Attachments
sdcard.zip
(322.35 KiB) Downloaded 497 times
User avatar
Panu
VSDSP Expert
Posts: 2828
Joined: Tue 2010-06-22 13:43

Patch v7

Post by Panu »

Here is the source code of patch v7 as VSIDE solution. Please see the patch source code to find out which problems this patch fixes.

[Edit] Bug found in the code. In function main(), the line that deactivates power button auto-reset, is wrong:

Code: Select all

	PERIP(ANA_CF1) | ANA_CF1_BTNDIS; //Disable power button reset [CODE HAS BUG]
and it should be

Code: Select all

	PERIP(ANA_CF1) |= ANA_CF1_BTNDIS; //Disable power button reset [CODE IS OK] 
Attachments
arch-Patch10C-2017-09-19-12-48-v7.zip
(14.07 KiB) Downloaded 413 times
User avatar
Panu
VSDSP Expert
Posts: 2828
Joined: Tue 2010-06-22 13:43

VS1010C Boot Mode Pins

Post by Panu »

vs1010bootpins.png
vs1010bootpins.png (62.25 KiB) Viewed 11281 times
Note) USB Audio requires patch code. See the training material at viewtopic.php?f=15&t=2171 for more details.
User avatar
Panu
VSDSP Expert
Posts: 2828
Joined: Tue 2010-06-22 13:43

Patch v10

Post by Panu »

Patch v10, copy Patch10C.dlx to boot.dlx in SD card root or SPI flash root.

V10 has code to enter USB SPI flash write mode directly when XCS0 button in the minidemo board is pressed during boot.

Instructions on how to write the patch to SPI FLASH.

Note: For SD card there should be ne problems, copy any files in whatever order you like to the SD card.

For writing the patch to a new SPI flash, use this sequence to avoid memory corruption:

1) Connect MiniDemo board to PC. Connect both the UART cable and the USB cable.
2) give 'reboot 4' command from the UART command line. Flash will show up on the PC.
3) With Windows PC, format the flash to FAT and copy Patch10C.dlx to the flash.
4) rename Patch10C.dlx to boot.dlx in the SPI flash.
5) create a new folder SYS in the SPI flash root.

6) reboot the board with the button pressed (press button and short the reset jumper momentarily)
7) board will come up in the PC as SPI flash, UART screen will show "Patch v10" (see below)
VS1010C VSOS 4.02
Files:6. Buffers:3.
Runlevel 15
SPIF:ef15, 4096K
SD:No ID.Patch v10
Relocked (3007)
8) SPI flash can now be used safely. UART cable is not needed any more.


For software development, use the SD card as the System Disk instead of the SPI flash. This is because the SD card can be reformatted easily with a SD card reader in case of software error that dead-locks the board. When your software development is complete, copy the finished software to the SPI flash.
Attachments
arch-Patch10C-2017-10-03-13-36-PatchV10.zip
VS1010C patch v10
(12.99 KiB) Downloaded 410 times
sami
VLSI Staff
Posts: 7
Joined: Mon 2011-03-14 13:46

Re: VS1010C Basic Training, 19-Sep-2017

Post by sami »

Hello

Here are the design files for VS1010C MiniDemo board.
VS1010C MiniDemo PCB.jpg
VS1010C MiniDemo PCB.jpg (115.69 KiB) Viewed 11222 times
---
Sami
Attachments
VS1010MiniDemo11-all.zip
(204.4 KiB) Downloaded 483 times
Pritom256
Senior User
Posts: 21
Joined: Mon 2021-05-31 11:56

Re: VS1010C Basic Training, 19-Sep-2017

Post by Pritom256 »

Hi, I am new to the VS1010 development. I currently have a miniDemo board that I connected to the PC using the USB cable. I can play audio through the sd card using prebuilt patches as shared here.

To utilize the UART functionalities, I wanted to use regular 5V chips. Can I use any FTDI chip with this board or there are any particular recommendations?

My objective is to develop the firmware in VSIDE that uses the RTC timers in order to trigger particular audio from an external flash as per the predefined intervals.

Since I am a beginner, I would really appreciate it if any of you could point me to the right tutorials that can help with the development.

Look forward to hearing from you :D
Hannu
Senior User
Posts: 410
Joined: Mon 2016-05-30 11:54
Location: Finland
Contact:

Re: VS1010C Basic Training, 19-Sep-2017

Post by Hannu »

Hello and welcome to the forum.

First of all, VS1010 doesn't have 5V tolerant pins. But problem isn't that big. If you remove the jumper and reset the chip, VS1010 will reboot to runlevel 8. On runlevel 8 VS1010 will show as USB serial port. USB abstract communication model to be precise. Windows 10 should support that. With serial terminal you'll end up to VS1010 console.

And to access SD card use reboot 2 command to boot runlevel 2. I suggest that you first develop your firmware on SD-card. It is so much easier to unbrick. Just wiping on PC will give you a clean environment again. When everything works, you can move to the flash quite easily by creating the filesystem on it and copying your files there.

One thing about minidemoboard. There is no RTC crystal.

So are you planning to design your own board and doing the development on minidemoboard? And what kind of timing are we thinking? Wait 10 sec and play or play something every night 2 AM?

Just a heads up, this discussion will be moved to own thread so that other people can also find the information.
Post Reply