麦克风在
从MEMS麦克风上读取音频样本意法半导体STM32F4 -发现董事会
- 库:
嵌入式编码器支持包的STMic金宝approelectronics发现板/STM32F4-Discovery
描述
此块读取从MEMS麦克风(MP45DT02, ST MEMS音频传感器,全向数字麦克风)收集的音频样本,可在STM32F4-Discovery™板上使用。MEMS传声器产生脉冲密度调制(PDM)信号。
块输出输出int16脉冲编码调制音频帧,大小指定框架尺寸(样本)字段。
块采样率的计算方法为:采样频率/帧大小。
例如,在48 kHz采样频率和96个采样帧大小的块采样时间中的Mic等于2 ms(96/48000)。块中Mic的最小允许采样率为1ms。
在配置参数对话框中,在编码器目标下,您可以选择“Mic In”块DMA中断
随着调度器中断源.这确保了算法的处理与Mic In块中断同步。
选择此选项时,请确保模型基本速率与Mic In块采样时间相同。
请注意
由于Mic In块总是输出1ms的int16 PCM音频帧数据,在帧大小而且样品时间都是根据采样率你选择的。这些参数中的值仅用于显示。不能编辑这些值。
PDM处理
脉冲密度调制(PDM)使用脉冲的密度来表示一个信号。PDM中脉冲的相对密度与模拟信号的幅值相对应。在PDM比特流中,' 1 '对应正极性脉冲,' 0 '对应负极性脉冲。PDM使用单个位来传输音频。
PDM处理的一些优点是:
概念和执行都很简单
数字形式的低成本音频传输
具有良好设计的高效系统
噪声低,信号干扰小
使用双缓冲读取音频数据
Mic In块使用双缓冲来读取来自MEMS麦克风的音频数据。
使用双缓冲,一个缓冲区用于DMA读取来自MEMS麦克风的音频PDM信号,而另一个缓冲区用于将音频帧发送到音频处理算法。这有助于防止在被音频算法使用时覆盖缓冲区。
下面介绍Mic in块中的双缓冲机制。
在第一次迭代中,当“buffer1中的Mic”发送用于音频处理的数据时,DMA填充“buffer0中的Mic”。
在第一次迭代中,“buffer1中的Mic”不包含音频样本。因此,来自Mic In块的音频样本被延迟了一个音频帧。
DMA完成填充buffer0中的Mic后,将触发中断。
在第二次迭代中,当“buffer0中的Mic”发送用于音频处理的数据时,DMA填充“buffer1中的Mic”。