VS1010 USB Audio with Mic

Designing hardware and software for systems that use the VS1010 MP3 Audio DSP Microcontroller.
Post Reply
bstenqui
User
Posts: 5
Joined: Tue 2020-12-29 20:13

VS1010 USB Audio with Mic

Post by bstenqui » Mon 2021-01-04 23:56

In reference to the VS1010 Development board:

I am looking at the feasibility of adding the microphone end point to the USB Audio driver.
It seems that there is an available endpoint that have not been used.
The mems microphone seems like a good data source for the audio but it seems line-in could be routed as well (mono left or right)

It seems that this type is driver was available as part of the VS1000 Dev kit but was not implemented on the VS1010 dev kit.

Was there a hardware limitation/size constraint that kept the driver as only supporting DAC out?

It also seems that USB Sound card was a desired software implementation but I can't find any links to code.

Thanks,

Hannu
Senior User
Posts: 145
Joined: Mon 2016-05-30 11:54

Re: VS1010 USB Audio with Mic

Post by Hannu » Tue 2021-01-05 14:10

Hello and welcome to the forum.

The mems mic interface is digital interface and the microphone on the developer board is indeed very good. When it was tested for the first time, the audio quality surprised me pleasantly.

Let's think about the inputting audio to VS1010. The available sources are mems mic, spdif, SAR and i2s. For USB application spdif is incompatible due clocking reasons. SAR is only 12 bits which may or may not be enough with some signal processing. And mems mic is for ambient audio input. The only real high quality solution for line input would be external i2s ADC.

Here is solution for USB audio: viewtopic.php?f=15&t=2284&p=12123 if you haven't already found it.

For developing more inputs and outputs some careful USB descriptor writing is needed and also some programming. But anyway totally doable and the DAC out was used for simplicity as there is huge matrix of possible bitrates and bit depths and not all systems support all combinations.

bstenqui
User
Posts: 5
Joined: Tue 2020-12-29 20:13

Re: VS1010 USB Audio with Mic

Post by bstenqui » Tue 2021-02-02 3:56

I have started working with the i2s input/ouput of the 2.0 version of the vs1010 development board. I looks like I could use this as a line input and forward it as such on the USB with the right code update to the usb descriptors. I am working with the line in/ line out example and there is no audio by from the Codec (AK5720). Any thoughts? It look like the example is pretty old and for rev vs1010b and the note is for a AK5358B

viewtopic.php?f=15&t=2155&p=11335&hilit ... 010#p11335

Hannu
Senior User
Posts: 145
Joined: Mon 2016-05-30 11:54

Re: VS1010 USB Audio with Mic

Post by Hannu » Wed 2021-02-10 11:46

Hi!

Here is simple i2s -> DAC copy solution. FIFO fill is done in interrupt and playing is done in main loop. Enter exits.
Attachments
i2scopy.zip
Devboard I2S AD to VS1010 DAC copy
(34.14 KiB) Downloaded 12 times

bstenqui
User
Posts: 5
Joined: Tue 2020-12-29 20:13

Re: VS1010 USB Audio with Mic

Post by bstenqui » Wed 2021-02-24 2:24

Thanks Hannu!
This is a good example but it does not work with the V2.0 vs1010 development board that has the AK5720 codec. :?

FYI - The datasheet for AK5720 indicates:
The AK5720 should be reset once by bringing the PDN pin to “L” after power-up. In slave mode, reset and
power-down are released on the rising edge (falling edge in I2C compatible mode) of LRCK after setting the
PDN pin = “H”. In master mode, reset and power-down are released by MCLK input after setting the PDN pin
= “H”.

There is no independent control of PDN because it is tied to the power rail so I think it is power rail timing luck if this circuit worked.

Hannu
Senior User
Posts: 145
Joined: Mon 2016-05-30 11:54

Re: VS1010 USB Audio with Mic

Post by Hannu » Wed 2021-02-24 9:30

Interesting. I wrote that code on V2 developer board and sampled two more boards and had no issues. But as you mentioned, reality and datasheet differs. Someone has decided to call reset pin as PDN.

I even opened and put back the JP3 jumper a few. The ADC survived the power cycle which makes me think that the ADC isn't really sensitive to PDN.

Just to be sure, do you have JP3 (near USB-A connector) connected and your audio source is outputting signal?

bstenqui
User
Posts: 5
Joined: Tue 2020-12-29 20:13

Re: VS1010 USB Audio with Mic

Post by bstenqui » Wed 2021-02-24 18:39

I got it working!

I had to pull all power from the board and the disconnect the uart to get a full power cycle. I did not notice that there was a 4.5v source being provided by JP3. Once I put on JP3 and JP16. I got a constant values on both channels of zeroes for left and right. I then pulled all power and I came up working. I was able to get it to lock up again by pulling JP3 on and off and pushing reset but I think if you start from no power connected and everything jumper correctly it works.

Post Reply