Single Ended Microphone connection using VS1063

Writing software for systems that use VLSI Solution's devices as slave codecs to a host microcontroller.
Post Reply
vtech
User
Posts: 15
Joined: Thu 2020-01-30 22:06

Single Ended Microphone connection using VS1063

Post by vtech »

When connecting a single-ended microphone to the MIC_P line and configuring SCI MODE as :

WriteSci(SCI_MODE, (ReadSci(SCI_MODE) | SM_ENCODE) & (~SM_LINE1));

I am getting a VERY VERY low audio. I believe I have my hardware gain levels set correctly, but I still get very low audio. Obviously when I use the software AGC (with SCI_RECGAIN = 0), the levels are better, but the AGC maxes out trying to bring the levels up to a decent range. My question is : What do I do with the MIC_N line in a single ended situation? Just ground it ?
User avatar
pasi
VLSI Staff
Posts: 1783
Joined: Thu 2010-07-15 16:04

Re: Single Ended Microphone connection using VS1063

Post by pasi »

Leaving MIC_N unconnected should allow it to bias to level of the RCAP voltage.

Grounding MIC_N would cause the conversion result to be biased around 16384. This DC offset is removed in software, but might cause a longer startup (and AGC adaptation) than necessary.

- What is the signal amplitude at the MIC_P pin? Maybe it is just too low for the microphone amplifier to do much.
- Using the 1.2V reference gives higher conversion value than the 1.65V reference.
- Check that you're not setting SM_LINE1 elsewhere in your software.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook
vtech
User
Posts: 15
Joined: Thu 2020-01-30 22:06

Re: Single Ended Microphone connection using VS1063

Post by vtech »

Leaving MIC_N unconnected should allow it to bias to level of the RCAP voltage.

Grounding MIC_N would cause the conversion result to be biased around 16384. This DC offset is removed in software, but might cause a longer startup (and AGC adaptation) than necessary.

- What is the signal amplitude at the MIC_P pin? Maybe it is just too low for the microphone amplifier to do much.
- Using the 1.2V reference gives higher conversion value than the 1.65V reference.
- Check that you're not setting SM_LINE1 elsewhere in your software.
1) I am positive SM_LINE1 is not used anywhere else
2) We have an external pre-amp on the single ended mic input. We have adjusted the gain of that amp so that the levels
on the CODEC MIC_P input pin 1 are in the 48mV range but software is still reporting very low audio data levels. Software
is reporting that they need to set the AGC level to max value (64) to get any usable audio data. We have even driven the MIC_P higher, but the record levels don't seem to move very much. Attached is a screen shot of the 1Khz tone sent in at 200mVPP as measured at the MIC_P pin, and still the audio levels are low. Even when switching between LINE and MIC, we so no difference in the recording levels. It is almost as if we're still trying to record into LINE levels.

NOTE : We measured the DC bias at 1.2V in our scope captures.

https://drive.google.com/file/d/16o3S0B ... sp=sharing
User avatar
pasi
VLSI Staff
Posts: 1783
Joined: Thu 2010-07-15 16:04

Re: Single Ended Microphone connection using VS1063

Post by pasi »

vtech wrote: Fri 2021-03-26 22:22It is almost as if we're still trying to record into LINE levels.
What is the full hex value you read back from SCI_MODE after starting the encoding? Maybe there's a problem with your defines and/or the compiler or the SCI read/write routines.

The SM_LINE1 bit is directly controlling the microphone amplifier, so you should see a change in level of the encoded result (and audio output monitoring feedback) when you toggle the bit (if you use a fixed gain).
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook
Post Reply