STM32F4立体声MEMS麦克风

时间:2015-10-05 06:50:47

标签: standards microphone stm32f4discovery

我一直致力于STM32F4发现的音频项目,我注意到一件事,所有I2S标准仅适用于一个麦克风(取决于标准使用单独位的哪个边缘)。例如。飞利浦,MSB或LSB标准使用下降沿作为位触发器,仅捕获接地的L / R麦克风,如果我使用使用上升沿作为位触发的PCM标准,则仅捕获高L / R麦克风。我找不到在一个时期内捕获两个MEMS麦克风样品的方法。如果没有外部IC,STM32F4是否不能同时使用麦克风?

3 个答案:

答案 0 :(得分:3)

解决方案是,选择I2S数据时钟的速度是Mems麦克风输入时钟的两倍,这样处理器就可以捕获Mems时钟脉冲上的采样

答案 1 :(得分:1)

您可以尝试使用I2S2和I2S3,第二个用于为麦克风生成时钟,第一个用于生成用于采样pdm值的时钟(以双倍速率),共享相同的PLL时钟应该同步。 这样做我认为你可以通过读取I2S2的recv寄存器获得pdm位,但我也认为来自2个麦克风的位将是交错的(来自麦克风1的一点,来自麦克风2的另一个,依此类推)。 p>

答案 2 :(得分:1)

只需跟进同一个问题。从两个麦克风获取数据的一种方法是将麦克风时钟缩小两倍。您可以通过将I2S生成的时钟路由到ETR引脚上的定时器(设置为输出捕捉模式)来实现。然后使用计时器,您可以根据需要进行分割。在这种情况下两次。定时器输出时钟进入两个麦克风,它们的数据连接到I2S数据线(生成时钟的数据线)。最后,与麦克风相比,I2S的工作速度提高了两倍。

以下是四个麦克风的示例。 (在你的情况下只需删除SPI)

enter image description here

有关详细信息,请阅读此内容。

http://www2.st.com/content/ccc/resource/technical/document/user_manual/f5/06/94/40/a6/01/49/ae/DM00187405.pdf/files/DM00187405.pdf/jcr:content/translations/en.DM00187405.pdf