INMP441 中 L/R 和 WS 这2个引脚有什么区别?
区别可以抓住一句话:
L/R 决定“数据放在哪个声道”,WS 决定“当前传的是哪个声道/采样时隙”。
它们虽然都和“左右声道”有关,但层级完全不同。
1. L/R 是 INMP441 自己的“配置引脚”
INMP441 上的 L/R 是一个硬件选择脚。
它的作用是告诉 INMP441:
“你把自己的音频数据放在 I²S 的左声道,还是右声道?”
例如:
L/R → GND
通常配置为:
INMP441 → Left Channel
而:
L/R → VDD
则配置为:
INMP441 → Right Channel
所以 L/R 是配置 INMP441 的。
它通常接好以后就不需要 ESP32 动态控制。
2. WS 是 I²S 总线上的“时序信号”
WS 是:
Word Select
它是 ESP32-S3 和 INMP441 之间实时传输 I²S 数据时使用的时钟/同步信号。
可以简单理解成:
WS = “现在轮到左声道了 / 现在轮到右声道了”
例如 I²S 双声道数据可以抽象成:
Left Right
WS ─────────────┐ ┌──────────────
│ │
SCK ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
SD L L L L L L L L R R R R R R R
所以 WS 是实时变化的信号。
而 L/R 是:
L/R = 一个固定的硬件配置
3. 两者放在一起就很容易理解了
假设我们把:
INMP441 L/R → GND
那么我们告诉 INMP441:
“你是左声道设备。”
然后 ESP32-S3 通过:
WS
不断告诉整个 I²S 总线:
现在是 Left slot
现在是 Right slot
现在是 Left slot
现在是 Right slot
...
INMP441 只在自己对应的 Left slot 中输出有效数据。
所以:
硬件配置
│
▼
L/R = GND
│
▼
“我是左声道”
│
│
▼
WS ───────→ L R L R L R
↑ ↑ ↑
│ │ │
INMP441只在自己的声道时隙输出数据
4. 一个非常形象的类比
把 I²S 想成一个会议室。
L/R 是“座位号”
INMP441 开会之前决定:
我坐左边。
这个决定通过 L/R 引脚完成。
WS 是“主持人喊话”
主持人不断喊:
“左边发言!”
“右边发言!”
“左边发言!”
“右边发言!”
这个“主持人的节拍”就是 WS。
SCK 是“发言时的打字节拍”
主持人说:
每一个节拍只能传一个 bit。
这个就是 SCK。
SD 是真正说出来的内容
也就是:
音频数字数据。
5. 所以你现在可以这样记
| 信号 | 本质 | 是否持续变化 | 谁决定 |
|---|---|---|---|
| L/R | 选择 INMP441 输出左/右声道 | ❌ 固定 | 硬件接 GND/VDD |
| WS | I²S 左/右声道时序同步 | ✅ 持续变化 | ESP32-S3 I²S 外设 |
| SCK | I²S bit 时钟 | ✅ 持续变化 | ESP32-S3 I²S 外设 |
| SD | 数字音频数据 | ✅ 持续变化 | INMP441 输出 |
对我们的若水 AI 来说
所以你的接线:
INMP441
L/R ─── GND
│
└── 固定配置:Left Channel
WS ─── GPIO4
│
└── ESP32-S3产生I²S WS
SCK ─── GPIO48
│
└── ESP32-S3产生I²S Clock
SD ─── GPIO47
│
└── INMP441输出音频数据
最核心的区别就是:
L/R 是“选择我属于哪边”的配置;WS 是“总线现在进行到哪边”的时序。
这也是为什么 L/R 不需要占用 ESP32 GPIO,而 WS 必须占用 ESP32 的一个 GPIO。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)