PDM microphone with bluetooth peripheral stops toggling the clock if bluetooth is enabled.

Hi

I have a PDM microphone which is connected to the nrf5340. I am currently buidling it with the audio_dk device tree and have modified the UART pins. There are no other modifications other than this. I am trying to enable the PDM microphone to capture data and transmit it using bluetooth. The issue I observe is if I uncomment the line bt_enable() and probe the PDM_CLK I observe that it does not toggle. If I comment it out and all other configurations remain the same I am able to observe that the clock is toggling. I have a test case including all the SDK version and source code together so that you can try and reproduce this on your side.

I am also using command line to build the application. The application with the peripheral_lbs and microphone_pdm is located in the folder peripheral_lbs.

To build use the command

nrfutil sdk-manager toolchain launch --toolchain-path /home/user_name/disk/nrf/toolchains/7cbc0036f4 --shell && source /home/user_name/disk/nrf_pdm_lbs/zephyr/zephyr-env.sh && cd /home/user_name/disk/nrf_pdm_lbs/peripheral_lbs
west build -b nrf5340_audio_dk/nrf5340/cpuapp && west flash
west build -b nrf5340_audio_dk/nrf5340/cpuapp
west build -b nrf5340_audio_dk/nrf5340/cpuapp --pristine

The image can be flashed and the clock signal can be observed. You do not have to have a PDM microphone connected to the clock line. You can observe this issue as the NRF5340 stops toggling the clock.

The line

err = bt_enable(NULL);
if (err) {
printk("Bluetooth init failed (err %d)\n", err);
return 0;
}

If this is commented you can observe the clock.

Could you please let us know what is happening?

Related