Using I2S RX with jack microphone

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.
jpom
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

Hello,

I am developing an audio processing application using the CY8KIT-062-Wifi-BT board.  I started from the PDM to I2S example and I changed the code in order to do bypass/processing live, instead of storing the audio in a big buffer and then play it. This works fine.

 

My next step is to implement an audio jack microphone instead of the PDM one. I removed all the PDM-PCM code and implemented the I2S RX. I configured the codec to enable the ADC, mic power and mic gain, according to the board characteristics. I am using a 3-channel AHJ headset with microphone that was tested in other devices.I also implemented the RX callback same way I did with the TX, but the callback is never called. I checked both RX clocks (WS and BCKO) and they look fine. Same with the RX_SDI pin, the adc output signal appears correctly in the oscilloscope. I suppose there is something wrong with the gain of the microphone or the audio format, but I don't know. TX works fine the same way.

I attatch my main code. Any help would be appreciated. 

Thanks,

jp

0 Likes
1 Solution
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

You can refer to this code example to see how to correctly setup the I2S block and configure the audio codec.

https://github.com/Infineon/mtb-example-psoc6-usb-audio-device-freertos

Refer to /source/audio_app.c

Quickly scanning your code, I see you haven't setup the I2S RX pins when calling i2s_init().

View solution in original post

0 Likes
2 Replies
RodolfoGL
Employee
Employee
250 solutions authored 250 sign-ins 5 comments on KBA

You can refer to this code example to see how to correctly setup the I2S block and configure the audio codec.

https://github.com/Infineon/mtb-example-psoc6-usb-audio-device-freertos

Refer to /source/audio_app.c

Quickly scanning your code, I see you haven't setup the I2S RX pins when calling i2s_init().

0 Likes
jpom
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

Hi Rodolfo,

You are totally right. I'm sorry I was looking everywhere else except here. This example is going to be very useful, thank you very much.

Regards,

jp

0 Likes