【Arduino】168种传感器模块系列实验(219)--INMP441全向麦克风

2022-07-211.7万
AI 快速预览详细 收起
本文介绍了INMP441全向麦克风模块的实验,该模块通过I2S接口与ESP32连接,实现高精度音频采集。文章详细记录了实验步骤和代码示例,帮助读者轻松完成音频传感器的集成。
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手试试多做实验,不管成功与否,都会记录下来——小小的进步或是搞不掂的问题,希望能够抛砖引玉。

【Arduino】168种传感器模块系列实验(资料代码+仿真编程+图形编程)
  实验二百一十九:INMP441全向麦克风模块 I2S接口 MEMS 高精度 低功耗 支持ESP32

【Arduino】168种传感器模块系列实验(219)--INMP441全向麦克风图1

【Arduino】168种传感器模块系列实验(219)--INMP441全向麦克风图2



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(7)
二十z
二十z
应用教程在哪里
驴友花雕
驴友花雕
作者
回复二十z
三年前的案例,这模块适合ESP32
驴友花雕
驴友花雕
作者
I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。随着技术的发展,在统一的 I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同,分为左对齐(较少使用)、I2S格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。

I2S有3个主要信号
1.串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数。
2. 帧时钟LRCK,(也称WS),用于切换左右声道的数据。LRCK为“1”表示正在传输的是右声道的数据,为“0”则表示正在传输的是左声道的数据。LRCK的频率等于采样频率。
3.串行数据SDATA,就是用二进制补码表示的音频数据。
有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍。
驴友花雕
驴友花雕
作者

[font="] I2S总线引脚分别是:
BCLK - 位时钟(Bit Clock),由I2S Master Device(I2S主设备)产生,也称为SCLK。对应数字音频的每一位数据,SCLK都有1个脉冲。BCLK的频率 = 2 × 采样频率 × 采样位数
LRCLK - 左右声道选择时钟,LRCK的频率等于采样频率,它输出低电平时,SDOUT和SDIN的数据都为左声道数据,它输出高电平时,SDIN和SDIN的数据都为右声道数据。也称为FS(Frame Select)或WS(Word Select)
GND - 公共接地,为主从设备提供低电平参考
SDOUT - 为PCM数据输出
SDIN - 为PCM数据输入
MCLK - 在某些比较低级的系统中,主设备还提供从设备的执行时钟以确保更好的数据同步,通常为成为主时钟(Master Clock)或系统时钟(System Clock)。它的频率通常是采样频率的256倍或384倍
[/font]
[font="]如果你只需要音频输入或者只需要音频输出,直接少接SDOUT或SDIN就好了。另外输入和输出都共用BCLK时钟线和LRCLK时钟线,所以主时钟由I2S Master Device(I2S主设备)产生就好了。[/font]
驴友花雕
驴友花雕
作者
[font="]I2S(Inter—IC Sound)总线[/font][font="][font="]又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种[/font][font=Helvetica Neue, Helvetica, Arial, PingFang SC, Hiragino Sans GB, Microsoft YaHei, WenQuanYi Micro Hei, sans-serif]总线标准[/font][font="]。[/font][font=Helvetica Neue, Helvetica, Arial, PingFang SC, Hiragino Sans GB, Microsoft YaHei, WenQuanYi Micro Hei, sans-serif]I2S采用了独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。标准的I2S总线电缆是由3根串行导线组成的:1根是时分多路复用(简称TDM)数据线;1根是字选择线;1根是时钟线。[/font][font="]音响数据的采集、处理和传输是多媒体技术的重要组成部分。众多的数字音频系统已经进入消费市场,例如数字音频录音带、数字声音处理器。对于设备和生产厂家来说,标准化的信息传输结构可以提高系统的适应性。I2S(Inter—IC Sound)总线是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专责于音频设备之间的数据传输,广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。如[/font][font=-apple-system, BlinkMacSystemFont, "][size=15px]图所示就是个同时连接音频输入设备和音频输出设备的I2S接线法。[/font][/size][/font]
[font="][font=-apple-system, BlinkMacSystemFont, "][size=15px]
[/font]
[/size][/font]
[font="]

[/font]
驴友花雕
驴友花雕
作者
[align=left][backcolor=rgb(255, 255, 255)][font=tahoma, arial, 宋体, sans-serif]接口定义:[/font][/backcolor][/align][align=left][backcolor=rgb(255, 255, 255)][font=tahoma, arial, 宋体, sans-serif]SCK[font=微软雅黑]:[/font][font=Calibri]I[/font][font=微软雅黑]²[/font][font=Calibri]S[/font][font=微软雅黑]接口的串行数据时钟[/font][/font][/backcolor][/align][align=left][backcolor=rgb(255, 255, 255)][font=tahoma, arial, 宋体, sans-serif]WS [font=微软雅黑]:用于[/font][font=Calibri]I[/font][font=微软雅黑]²[/font][font=Calibri]S[/font][font=微软雅黑]接口的串行数据字选择[/font][/font][/backcolor][/align][align=left][backcolor=rgb(255, 255, 255)][font=tahoma, arial, 宋体, sans-serif]L/R[font=微软雅黑]:左[/font][font=Calibri]/[/font][font=微软雅黑]右声道选择。[/font][/font][/backcolor][/align][align=left][backcolor=rgb(255, 255, 255)][font=tahoma, arial, 宋体, sans-serif][font=微软雅黑]设置为低电平时,麦克风在[/font]I[font=微软雅黑]²[/font][font=Calibri]S[/font][font=微软雅黑]帧的左声道输出信号。[/font][/font][/backcolor][/align][align=left][backcolor=rgb(255, 255, 255)][font=tahoma, arial, 宋体, sans-serif]设置为高电平时,麦克风在右声道输出信号[/font][/backcolor][/align][align=left][backcolor=rgb(255, 255, 255)][font=tahoma, arial, 宋体, sans-serif]SD[font=微软雅黑]:[/font][font=Calibri]I[/font][font=微软雅黑]²[/font][font=Calibri]S[/font][font=微软雅黑]接口的串行数据输出。[/font][/font][/backcolor][/align][align=left][backcolor=rgb(255, 255, 255)][font=tahoma, arial, 宋体, sans-serif]VCC[font=微软雅黑]:输入电源,[/font][font=Calibri]1.8V[/font][font=微软雅黑]至[/font][font=Calibri]3.3V.[/font][/font][/backcolor][/align][align=left][backcolor=rgb(255, 255, 255)][font=tahoma, arial, 宋体, sans-serif]GND:[font=微软雅黑]电源地[/font][/font][/backcolor][/align][align=left][backcolor=rgb(255, 255, 255)][font=tahoma, arial, 宋体, sans-serif]

[/font][/backcolor]
[/align]
驴友花雕
驴友花雕
作者

[font="]INMP441是一款高性能,低功耗,数字输出,带底部端口的全向MEMS麦克风。该完整的INMP441解决方案由一个MEMS传感器,信号组成调节,模数转换器,抗混叠滤波器,电源管理和行业标准的24位I²S接口。I²S接口允许INMP441直接连接到数字处理器,如DSP和微控制器,无需使用用于系统中的音频编解码器。INMP441具有高信噪比,是一款出色的选择近场应用。 INMP441具有扁平宽带频率响应,导致自然声音高清晰度。[/font]
[font="]相关技术资料:https://www.findic.tw/doc/browser/bLXpO7wgL?doc_id=8712428#locale=zh-TW[/font]
驴友花雕
驴友花雕
作者
INMP441是InvenSense公司推出的一款具有底部端口的高信噪比、低功耗、数字输出的全向MEMS麦克风,信噪比高达61dB,使其成为近场应用的绝佳选择。INMP441的电路结构如图所示,包括MEMS声音传感器、模数转换器(ADC)、抗混叠滤波器、电源管理模块以及行业标准的24位I2S接口。 I2S接口让INMP441可以直接连接到FPGA等数字处理器,而无需再外接音频编解码器。

- 没有更多了 -