XU208 USB audio I2S's TDM mode init

Technical discussions around xCORE processors (e.g. General Purpose (L/G), xCORE-USB, xCORE-Analog, xCORE-XA).
Junior Member
Posts: 6
Joined: Wed Oct 23, 2019 2:58 pm

XU208 USB audio I2S's TDM mode init

Postby Ezreal » Tue Oct 29, 2019 4:46 am

I am woking on a custom hardware based on XU208 with 8 input and 8 output. 8 Electret Condenser Microphones connect to XU208 with 2 ADCs(each for 4 channels).With AN01027 i port the USB2.0 audio from XE216 to XU208. now I can record with USB cable.
But some channels didn't work well.I can get PCM data from channel 1,3,5,7.channel 2,4,6,8 has no data to HOST.

I initialize ADCs in audiohw.xc with I2C.But i don't see any initialization of I2S's TDM mode.I also searched "tdm_master",but the result is nothing.our demo that can successfully read 8 channels PCM data has set offset and sync_len in struct i2s_config_t with tdm.init(). TDM has a couple of audio data format.I think my issue may case by this.

I appreciate your helps!!!
You do not have the required permissions to view the files attached to this post.
User avatar
XCore Legend
Posts: 1880
Joined: Thu Jun 10, 2010 11:43 am

Postby mon2 » Tue Oct 29, 2019 8:27 pm

The ADCs are configured over I2C.

Are the microphones for channels 2, 4, 6, 8 on the same ADC as microphones 1, 3, 5, 7?

Can you confirm that the I2C communication is solid with the ADC that is responsible for channels 2, 4, 6, 8? With your code, ping the I2C slave address and read out some simple ID register, etc. to validate this leg of the design. Start with the ADC (assumed to be the same ADC p/n and specs) that is mapping channels 1, 3, 5, 7. Once you are confident you can ping the working batch of microphones, repeat with the I2C slave address for the non-working ADC. What are the results?

Who is online

Users browsing this forum: No registered users and 6 guests