Page 1 of 1

VS1005 Software Reset / Read Version

Posted: Sun 2020-12-20 19:23
by AudioJack

Is there a way via the UART to initiate a reset of the VS1005 or a command to read back the version of VSOS?

Re: VS1005 Software Reset / Read Version

Posted: Mon 2020-12-21 8:35
by Hannu
If you have shell loaded, three times CTRL-C causes VS1005 to reboot. Also writing reboot program is trivial 10 liner copying the reboot code from the shell solution which enables the watchdog and waits it to bite.

Also the version is stored in osVersion variable.

Code: Select all

#include <vo_stdio.h>
#include <vsos.h>
ioresult main(char* params) {
  printf("VSOS version %0.2f\n", (float)osVersion/100);
  return S_OK;
And last way is to read the version from memory
S:>preg x:2269

I tested this with 3.40, 3.50, 3.56 and the magic number 2269 was found from vsos03.abs of kernel tree.

Re: VS1005 Software Reset / Read Version

Posted: Sun 2020-12-27 0:47
by AudioJack

Thanks for the reply. One more question. Looking at some of your band schematics I see pull-ups on the SD Card interface. They tend to be different from board to board. I don't see anything in the datasheet regarding these. Do these have some second function? or do I need them. On my PCB I have footprints to place some but without any it seems to work. The only issue I get is with some FLAC files (96K) seems to 'judder' whilst others don't.

Re: VS1005 Software Reset / Read Version

Posted: Tue 2021-01-05 8:45
by Hannu
I think the pull-up resistors are for the case when there is no card inserted so that the bus doesn't float, but I'm not really sure. I have just put them on my designs without giving too much thought about them. Also I think those resistors give sane idling states before DSP starts and all pins are inputs.

What I know is if those resistors are missing and VS1005 has bad start (many resets while powers come up slowly) SD card won't work.

About the flac playing...
Have you tried to play with another high quality SD card?
With setclock program you can give more speed than the default 60 MHz. Just to check that you aren't CPU time constrained.