Help in configuring ADMixer plugin for VS1053

Designing hardware that uses VLSI Solution's devices as slave codecs such as an external MP3 decoder chip for a host microcontroller.
Post Reply
sawyergs
User
Posts: 3
Joined: Thu 2020-02-20 4:28

Help in configuring ADMixer plugin for VS1053

Post by sawyergs » Wed 2020-02-26 1:27

Hi all,

I've been trying to get the ADmixer plugin working for a couple days with no luck, I've been getting some odd behavior.

Right now I can do the following separately:
- Record audio to OGG format.
- Playback OGG file
- passthrough input audio to output with ADMixer.

The only way I've been able to get ADMixer to output anything is by loading the .plg formatted blob, then setting the input flag. It will begin without ever setting 0x0F00 to SCI_ADDR.

When I try to configure this in the standard way, ie:
loadUserCode()
writeRegister(SCI_MODE, readRegister(SCI_MODE) | 0x4000)
writeRegister(SCI_AICTRL0, 0xFFFA)
writeRegister(SCI_ADDR, 0x0F00)

I get no output and it seems to lock up the VS1053 slave. It may be important that the library i'm using is using a virtual SPI bus because the SD card reader takes up the SPI bus. This is done before any other plugin is loaded, and before playback of a file is started. If I write 0xF01 to SCI_ADDR before loading the plugin, it will continue to load, playback will work, but there will be no monitoring coming through.

I'm getting quite frustrated as the manual for this plugin is very brief. I was hoping someone could relay the do's and dont's with this plugin, how it interacts with other plugins, specifically the OGG encoder plugin, and if I'm missing any patches I'm unaware of. The ones I saw for the 1053 don't seem to apply but I may be wrong.

Thanks for your time. I'm really hoping to get this working and make the code public so that others can also try it out.

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

Re: Help in configuring ADMixer plugin for VS1053

Post by pasi » Thu 2020-02-27 11:22

sawyergs wrote:
Wed 2020-02-26 1:27
The only way I've been able to get ADMixer to output anything is by loading the .plg formatted blob, then setting the input flag. It will begin without ever setting 0x0F00 to SCI_ADDR.
Do you mean you set the SM_ENCODE bit in SCI_MODE?

If yes, you are loading the ADMixer code, but then not using it, and starting the normal encoding mode, which includes AD monitoring.
sawyergs wrote:
Wed 2020-02-26 1:27
When I try to configure this in the standard way, ... I get no output and it seems to lock up the VS1053 slave.
Then something probably went wrong in the plugin upload. Did you start with a software (or hardware) reset?

You can verify the upload by going through the plugin data again, but when the code would be writing to SCI_WRAM, read from it and compare the values.
Visit https://www.facebook.com/VLSISolution VLSI Solution on Facebook

Post Reply