【问题标题】:STM32F4 stereo MEMS micSTM32F4立体声MEMS麦克风
【发布时间】:2015-10-05 06:50:46
【问题描述】:

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

【问题讨论】:

  • 我在同一个平台上也遇到了同样的问题,能不能把你的解决方案分享给我们,(问你自己的问题)你最后是怎么解决的?非常感谢!

标签: standards microphone stm32f4discovery


【解决方案1】:

解决方案是,选择 I2S 数据时钟比 Mems 麦克风输入的时钟快两倍,以便处理器可以在任一 Mems 时钟脉冲上捕获样本

【讨论】:

  • 好的,但是如何同步快时钟和慢时钟呢?您建议如何生成时钟信号?
  • 只是对同一个问题的跟进。将麦克风时钟缩小两倍的一种方法是将 I2S 生成的时钟路由到 ETR 引脚上的定时器(设置为输出捕捉模式)。然后你可以随意分割它。在这种情况下两次。定时器输出时钟到两个麦克风,它们的数据连接到 I2S(生成时钟)。最后,I2S 的工作速度是麦克风的两倍。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    这是一个带有四个麦克风的示例。 (在您的情况下,只需删除 SPI)

    有关更多信息,请阅读此内容。

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-10
      • 1970-01-01
      • 2023-04-11
      • 1970-01-01
      • 2019-04-16
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多