2019-08-15 12:33 PM
I'm trying to catch audio data from 2 digital microphones and pass it to the STM32F4 MCU using AIF1 (Slot 1) of the WM8994 and SAI interface. Also my goal is to output recorded audio data (after some processing of course) using the same codec (STM32 -> SAI -> WM8994 -> AIF1 Slot 0)
1) JP13, JP14 and JP15 are in 1-2 positions
2) WM8994 Initialize with (INPUT_DEVICE_DIGITAL_MICROPHONE_2 | OUTPUT_DEVICE_HEADPHONE) not working as expected
3) for both L and R signals I get always 0 or FFFF (verified with logic analyzer)
4) then I left just INPUT_DEVICE_DIGITAL_MICROPHONE_2 - the same result
5) next I used WISCE app from WM8994 manufacturer to generate correct configuration. They have predefined configuration sets. And... MIC2 start working with generated register configurations (getting small values for almost silence environment).
6) I've compared with origin settings and there was GPIO1 configuration as Input (0x8101 to reg 0x700). Without this setting MIC refused to work properly. Why?
7) added audio output to the headphones functionality and... problem returned :(
I've noticed some errata commands at the begining of Initialize function. Can someone give a link to the errata file (I can't find it)?
Maybe someone had experience with connecting to this codec and could give some advises or tips to overcome this kind of "magic"?
Is step by step on a rake the only way?
Thanks in advance for any help.
Vitalii