I2S sample rate negotiation using wiced bt module

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
lock attach
Attachments are accessible only for community members.
donlydpa
Level 1
Level 1
First reply posted First question asked Welcome!

Hello, first off thanks to all team for all the detailed documentation and support.

I have setup a CYBT-353027 module as an audio sink, sending I2S signals to a codec. All code from your repos and using Modus Tool Box. The codec is setup as the I2S master with a sample rate of 48KHz.  BT modue set as I2S slave by setting the is_master flag to false as per KBA228409. Probing the BCLK, LRCLK and DATA with a scope reveals all signals to be seemingly in order, with the codec driving the BT Module at the right BCLK and LRCLK, and DATA being returned by the Module. However upon hearing the audio playback I can notice the amplitude oscillating quite vigorously, at about a rate of 1Hz. To isolate the issue from the codec I proceeded to stream a pure sine wave of 175Hz from my android phone and decoded the i2s packets. The resulting playback is the same, so my attention turned back to the BT module. (data capture attached). My hypotheses and associated questions so far are the following:

1-Could this be aliasing due to mismatch in sample rate? I noticed the A2DP only negotiates a sample rate of 44.1KHz with my android phone and I haven't found a way to force it to 48Khz from the phone. How does the module deal with this scenario in this case, given that its an I2S slave driven at 48KHz, but the BT is fixed at 44.1KHz?

2-Could this have anything to do with the BT Codec used?

Thanks in advance for your insight.

0 Likes
1 Solution
DheerajPK_41
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

Hi,

It could be due to the aliasing also. 
To confirm it, I think either you can use a 48KHz audio or change the master-slave configurations. is it possible to make the BT Device as Master and Codec as slave for testing?

 

Some sample 44.1 and l48 KHz signals are provided in https://github.com/cypresssemiconductorco/mtb-example-btsdk-audio-watch

 

Thanks,

-Dheeraj

View solution in original post

0 Likes
2 Replies
DheerajPK_41
Moderator
Moderator
Moderator
750 replies posted 500 likes received 500 replies posted

Hi,

It could be due to the aliasing also. 
To confirm it, I think either you can use a 48KHz audio or change the master-slave configurations. is it possible to make the BT Device as Master and Codec as slave for testing?

 

Some sample 44.1 and l48 KHz signals are provided in https://github.com/cypresssemiconductorco/mtb-example-btsdk-audio-watch

 

Thanks,

-Dheeraj

0 Likes
donlydpa
Level 1
Level 1
First reply posted First question asked Welcome!

Thank you Dheeraj, unfortunately changing the BT to master is not straightforward because the codec would then require an MCLK which I cannot provide.

Regards,

David.

 

0 Likes