数字麦克风PDM信号采集与STM32 I2S接口应用(一)

数字麦克风采用MEMS技术,将声波信号转换为数字采样信号,由单芯片实现采样量化编码,一般而言数字麦克风的输出有PDM麦克风和PCM麦克风,由于PDM麦克风结构、工艺简单而大量应用,在使用中要注意这二者的区别,尤其是STM32 MCU的文档在I2S接口章节,对此区别含糊不清,比如采样率配置,WS管脚的用法,单声道双声道的配置,很多地方无法从文档中得到准确信息,需要一边摸索一边研究文档。本文就是对这些问题的一个研究笔记。

一、数字麦克风通信方式

数字麦克风管教很简单,如下面的图示。

电源和地,时钟脚CLK,左右声道选择L/R,信号管教SD或DOUT。区别是WS管教,这个管教对数据采集和分辨率配置有很大影响。STM32芯片手册这样描述对应的这三个管教:

信号时序图如下:

上面描述了STM32芯片关于I2S的麦克风的数据读取时序,而麦克风厂家如何处理输出信号,有自己的方式,这里就是I2S接口应用的第一个需要主要的点。

例子1:INMP441

INMP441是具有WS管脚的数字麦克风,它的时序图如下,立体声模式下,WS=0时输出左声道,WS=1时输出右声道。

单声道模式下,LR=0时一个WS周期内只有低电平输出信号,另外一半周期输出为高组,LR=1时输出时序相反。

例子2:MP45DT02

MP45DT02是没有WS管脚的数字麦克风,它的时序图如下,该器件根据LR电平,分别在CLK的低电平和高电平时间输出左右声道信号,实现信号的分时复用。

二、采样时钟配置

如果用此类麦克风的单声道应用,就需要考虑数据采集在WS另外半休眠周期的影响。下面就是此麦克风的一个STM32F407芯片下的配置。

/* I2S2 init function */void MX_I2S2_Init(void){ hi2s2.Instance = SPI2; hi2s2.Init.Mode = I2S_MODE_MASTER_RX; hi2s2.Init.Standard = I2S_STANDARD_MSB; hi2s2.Init.DataFormat = I2S_DATAFORMAT_16B; hi2s2.Init.MCLKOutput = I2S_MCLKOUTPUT_DISABLE; hi2s2.Init.AudioFreq = I2S_AUDIOFREQ_16K; hi2s2.Init.CPOL = I2S_CPOL_LOW; hi2s2.Init.ClockSource = I2S_CLOCK_PLL; hi2s2.Init.FullDuplexMode = I2S_FULLDUPLEXMODE_DISABLE; if (HAL_I2S_Init(&hi2s2) != HAL_OK) { Error_Handler(); }}

该模式下,麦克风的输出信号图如下。由于LR=0,所以在WS低电平半周期输出信号,高电平半周期内无数据。可以发现CLK时钟为512khz,我们配置的是16bit数据模式,16khz采样,为什么CLK输出为512khz呢?原因是左右声道各自占用半个周期,当WS信号为16khz时,时钟频率是16bit*16khz*2=512khz,实际上单麦克风系统中有效采样时间只有一半,相当于一个采集周期内采集一半休息一半,其声音特性被这样采一半截取一半会有什么变化呢,需要试验验证。

上面的问题是由WS管脚引起的,若选用无WS管脚的其他信号,比如MP34DT04,则是另一种时序,芯片手册时序图如下。

如果LR管脚接地,则在CLK的低电平半周期输出信号,如果LR接VCC,则在CLK的高电平半周期输出信号,在一个数据线上实现双声道采集。

这种麦克风对于单声道应用,会在CLK一半时间内输出信号,另一半高组。在立体声应用中,使用一根数据线传输左右声道,分时复用传输信号。

麦克风芯片要求的时钟频率范围一般是1—3Mhz,把上面代码的采样率设置为32Khz,则采集信号如下图。CLK时钟频率为1Mhz,为什么会出现这种情况呢?

麦克风输出PDM信号,PDM调制器将缓冲模拟信号转换为串行脉冲密度调制信号。时钟输入( CLK)用于控制PDM调制器。常见的数字麦克风的时钟频率范围在1 MHz至3.25 MHz之间。该频率将定义生成离散时间表示( PDM比特流)的放大器模拟输出信号采样频率。同样的分析方法,ST芯片是按照双声道WS区分左右声道配置的芯片,那么WS低电平是左声道,高电平是右声道,因此软件配置一个16it采样的信号,一个周期需要2*16bit=32个时钟脉冲,而配置的采样率为32khz,这就使得CLK输出达到了32bit*32khz=1024khz,所以下面测量到clk为1.024Mhz。WS信号的频率为32Khz,就是采样率信号的频率。这里是数字麦克风计算PDM采样率的另一个易错点,上面的计算方法是对于有SW管脚的麦克风传感器而言的,对于没有SW管脚的麦克风芯片,则实际PDM采样率为STM32 MCU配置的分辨率的二倍。

参考文档:

1、如何将PDM数字麦克风连接到STM32单片机

AN5027 使用STM32 32位Arm® Cortex® MCU连接PDM数字麦克风


数字麦克风PDM信号采集与STM32 I2S接口应用--笔记目录:

数字麦克风PDM信号采集与STM32 I2S接口应用(一)

https://www.cnblogs.com/pingwen/p/11298675.html

数字麦克风PDM信号采集与STM32 I2S接口应用(二)

https://www.cnblogs.com/pingwen/p/11301935.html

数字麦克风PDM信号采集与STM32 I2S接口应用(三)

https://www.cnblogs.com/pingwen/p/11794081.html

数字麦克风PDM转PCM与STM32 I2S接口应用----重要文档列表

https://www.cnblogs.com/pingwen/p/11302452.html

数字麦克风PDM信号采集与STM32 I2S接口应用(四)--单片机源码

https://www.cnblogs.com/pingwen/p/13371144.html

尊重原创技术文章,转载请注明。

https://www.cnblogs.com/pingwen/p/11298675.html

(0)

相关推荐

  • 【精品博文】stm8自学笔记 2016/3/12

    [流水灯例程] *基本语言* 1,LED1_Open();    //点亮LED 2,LED2_Close();    //熄灭LED 3,LED1_Toggle();    //闪烁LED 4,de ...

  • 硬件模块

    硬件模块

  • STM32F7开发板自己造

    我去年就想自己造个144脚STM32F7+SDRAM的板子了,针对音频处理算法开发.虽然在任性DIY活动中已经获得了一块强大的F746G-Disco,从功能上差不多是满足了我的需求,但灵活性还是不够. ...

  • 【精品博文】详细解析FPGA与STM32的SPI通信(二)

    一个双肩背包 有多难? 戳一下试试看! →_→ 长摁识别 [主题]:详细解析FPGA与STM32的SPI通信(二) [作者]:LinCoding [声明]:转载.引用,请注明出处 本篇文章承接--详细 ...

  • 【精品博文】DDS信号发生器的实现

    一.功能描述 本工程实现DDS直接数字式频率合成器,利用正弦波相位线性增加的特点,产生正弦波和余弦波.本工程主要由3部分组成:相位累加器,相位幅度转换,数模转换器DAC(FPGA外部实现).其中,相位 ...

  • 数字麦克风的参数简介

    数字麦克风的优点: 减少元件成本和数目: 不需要外部前置放大器 简单的扁线连接 增加麦克风布局的灵活性 对RF和EM(射频和电磁干扰)免除的数字输出 麦克风或连线没有空间上的限制 采用先进软件可减少离 ...

  • 神器MEA:神经元信号采集方式进入新纪元|电信号

    什么是MEA? 神经元.心肌细胞等是一类具有电活动特性的特殊细胞,电生理技术就是用各种手段检测细胞的电信号,从而反应细胞的功能和活性.离体条件下常用的电生理技术包括膜片钳记录以及细胞外记录等. 如左图 ...

  • 【学术论文】基于FPGA和NAND Flash的便携式信号采集系统设计

    摘要: 针对目前信号采集系统采样率低和便携式差的问题,提出了一种基于FPGA的高速便携式信号采集系统设计.该设计通过FPGA芯片控制模数转换芯片进行高速信号采样后,采用DMA模式将数据存储在NAND ...

  • 【学术论文】卫星导航信号采集存储系统的设计

    摘要: 为了给卫星导航接收机的性能研究提供重要的环境数据,设计了一款能够对真实导航卫星的信号进行采集存储的设备.该系统以FPGA+ARM作为核心芯片,并集成了射频下变频电路.高速A/D转换电路以及高速 ...

  • I2S接口工作原理

    描述 I2S总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统. 数字传输接口,最常见 ...

  • 编码器是什么?STM32编码器接口及应用编程

    编码器是一种比较常见的产品(也可以理解为传感器),最常见的就是配合电机一起工作,那么,你对编码器有多了解呢? 一.关于编码器 编码器的种类有很多:增量式编码器.绝对值编码器,有轴或者无轴编码器,电压输 ...

  • 【新品情报站】支持FT8/JT65等新数字模式 | 售1252元的USB业余电台接口发布

    让你的传统老式业余电台插上最新数字模式的翅膀,这样的好产品应该来一打.今天,和电台小叔BG5WKP一起围观一款为应对FT8/JT65等新数字模式,改进版本的USB端口连接型业余电台接口"US ...

  • 基于I2S接口的FPGA的音频数据传输

    摘要 福州大学物理与信息工程学院的研究人员林嘉.陈素琼等,在2018年第12期<电气技术>杂志上撰文指出,4K原始数据转换成4路3G-SDI,需对音.视频进行分别处理. 本文设计了一种I2 ...

  • 运动皮层的树突状钙信号驱动光学脑机接口

    Krishna V. Shenoy教授及其合作者今年6月份在<Nature Communications >发表的研究,剑指光学脑机接口! 研究者利用在恒河猴(Macaca mulatta ...