How to integrate VS1000 chip in a system...

Designing hardware that uses VLSI Solution's devices as slave codecs such as an external MP3 decoder chip for a host microcontroller.
Post Reply
Michael_K
User
Posts: 7
Joined: Thu 2011-10-20 12:39

How to integrate VS1000 chip in a system...

Post by Michael_K » Thu 2011-10-20 14:09

Hello Support team.

I'm trying to develop device with MCU and VS1000 chip as a player.
(I knew it's possible, using UART to command VS1000 what to do.)
But it would be fine to use VS1000 also as USB in-system programmer for MCU. Is it possible?

I'm planning to use MCU to control the power, charging and some custom functionality.
During normal operation the VS1000 chip should behave as a UART-connected peripheral for MCU.
But in "programming-mode" VS1000 should take control over MCU using SPI-bus.
Obviously, in this case (during programming) MCU can not control the power, PWRBTN pin, RESETs etc.

So most my questions are about power control, boot process, etc.

1. Is it possible to setup VS1000 to be "always on" as long as VHIGH on? Should I tie PWRBTN to VHIGH?
Should I use some external circuit to make a starting pulse on PWRBTN pin?

2. Datasheet: "keeping PWRBTN pressed for longer than approx-imately 5.6 seconds will force reset".
Is it also true in a case of USB connected?
Does the VS1000 process other buttons while USB is connected? Does it looks on any pins?

3. Should I use XRESET? Can I just tie it to DVDD (or may be VHIGH?)
(on evalboard schematic XRESET connected to flash WP... is it active output? )

4. What other issues should I take in mind? ( Some pull-ups? pull-downs? :) )

And another question about firmware processing...
5. Is it possible to make the VS1000 to generate some periodic signal (like quite slow PWM) while playng from flash? What about timing accuracy? (Or should I ask about sound smoothness?)

Thanks alot for any help.

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

Re: How to integrate VS1000 chip in a system...

Post by pasi » Sat 2011-10-22 1:26

Michael_K wrote: I'm planning to use MCU to control the power, charging and some custom functionality.
During normal operation the VS1000 chip should behave as a UART-connected peripheral for MCU.
But in "programming-mode" VS1000 should take control over MCU using SPI-bus.
Panu may be better equipped to answer the MCU programming questions.

It would of course be simplest if you only had VS1000 and can implement the custom functions with it.

Second simplest would be to have a routine in the MCU to check for available updates from VS1000 and update itself in master mode. (But I don't know if this is physically possible or feasible.)
Michael_K wrote:1. Is it possible to setup VS1000 to be "always on" as long as VHIGH on? Should I tie PWRBTN to VHIGH?
Should I use some external circuit to make a starting pulse on PWRBTN pin?

2. Datasheet: "keeping PWRBTN pressed for longer than approx-imately 5.6 seconds will force reset".
Is it also true in a case of USB connected?
The PWRBTN 'watchdog' reset is always active, so to turn on VS1000 you need to give a pulse. An external RC circuit has been used (see VS1000 Audio Module and VoIP Example). One solution is to use one GPIO pin and a FET or transistor so that the software can turn off voltage from PWRBTN after boot.
Michael_K wrote:Does the VS1000 process other buttons while USB is connected? Does it looks on any pins?
Keys are read during USB audio mode to adjust volume. Keys also wake up VS1000 from USB suspend.
Michael_K wrote:3. Should I use XRESET? Can I just tie it to DVDD (or may be VHIGH?)
(on evalboard schematic XRESET connected to flash WP... is it active output? )
XRESET is an input. A small RC may be a good idea, although it should work by just connecting to IOVDD.
Michael_K wrote:4. What other issues should I take in mind? ( Some pull-ups? pull-downs? :) )
GPIO0_7 should be pulled high for 3.3V IOVDD. NFRDY should have a pull-up (10k with NAND-flash, without NAND also other values are ok). USBP and USBN should have 1M pull-ups. Always have place for a pin-header that contains GND,TX,RX,IOVDD, so you can debug easily.

Run the schematics (PDF) through our support for any obvious mistakes before laying out the pcb.
Michael_K wrote: 5. Is it possible to make the VS1000 to generate some periodic signal (like quite slow PWM) while playng from flash? What about timing accuracy? (Or should I ask about sound smoothness?)
The system keeps timers running with 6.144MHz regardless of internal clock. You can use the second timer for your own things.

If you use NAND-FLASH for storage, the SPI device is free to create pwm-like output.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

Michael_K
User
Posts: 7
Joined: Thu 2011-10-20 12:39

Re: How to integrate VS1000 chip in a system...

Post by Michael_K » Mon 2011-10-24 12:13

pasi, thank you for your answers.
They really help.
pasi wrote:It would of course be simplest if you only had VS1000 and can implement the custom functions with it.
I need some analog channels - at least two ADC-channels and several DACs (or PWMs), so I guess. it's quite reasonable to have an external low-cost MCU (like ATmega).

Well, now I have another question:
6. What accuracy have the vs1000 voltage regulators? Can I use one(probably AVDD?) as reference voltage for MCU's analog section? Can you suggest me, what voltage to use?

Thanks alot.

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

Re: How to integrate VS1000 chip in a system...

Post by pasi » Mon 2011-10-24 19:56

Michael_K wrote: 6. What accuracy have the vs1000 voltage regulators? Can I use one(probably AVDD?) as reference voltage for MCU's analog section? Can you suggest me, what voltage to use?
VS1000 datasheet does not seem to have test limits for the regulators. They would need to be checked from the production test program.

I was going to write that the regulators are as accurate as the RCAP voltage, but I'm no longer so sure. I use a sweep of IOVDD to determine the level of GBUF in the audio module test routine, and it was able to find modules with higher than nominal or lower than nominal RCAP voltages. Some were within datasheet limits (1.1V to 1.3V), so the test limits we adjusted a bit.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

Post Reply