问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

ESP32的I2S引脚及支持的音频标准使用说明

创作时间:
作者:
@小白创作中心

ESP32的I2S引脚及支持的音频标准使用说明

引用
CSDN
1.
https://blog.csdn.net/USALCD/article/details/140265283

ESP32 I2S 接口

ESP32 配备了 2 个标准 I2S 接口。这两个接口可以在主机或从机模式下工作,支持全双工或半双工模式,并且可以配置为 8/16/32/48/64-bit 的输入输出通道。它们支持的 BCK 时钟频率范围从 10 kHz 到 40 MHz。当一个或两个接口被配置为主机模式时,主机时钟可以输出到外部 DAC/CODEC。

这两个 I2S 接口都配备了专用的 DMA 控制器,支持 PDM 和 BT PCM 接口。值得注意的是,PDM 可以直接接入 I2S,但只能接入 I2S0。

I2S 接口主要用于串行立体声数据的输入输出、并行 LCD 数据的输出以及 camera 并行数据的输入。

I2S第0通道接口

信号
管脚
I2S0I_DATA_in0~15
I2S除I2S_CLK,均支持映射(切换)到任意 GPIO 管脚
I2S0O_BCK_in
I2S0O_WS_in
I2S0I_BCK_in
I2S0I_WS_in
I2S0I_H_SYNC
I2S0I_V_SYNC
I2S0I_H_ENABLE
I2S0O_BCK_out
I2S0O_WS_out
I2S0I_BCK_out
I2S0I_WS_out
I2S0O_DATA_out0~23

I2S第1通道接口

信号
管脚
I2S1I_DATA_in0~15
I2S除I2S_CLK,均支持映射(切换)到任意 GPIO 管脚
I2S1O_BCK_in
I2S1O_WS_in
I2S1I_BCK_in
I2S1I_WS_in
I2S1I_H_SYNC
I2S1I_V_SYNC
I2S1I_H_ENABLE
I2S1O_BCK_out
I2S1O_WS_out
I2S1I_BCK_out
I2S1I_WS_out
I2S1O_DATA_out0~23
信号
管脚
I2S0_CLK
仅可通过GPIO0、U0RXD、或 U0TXD
I2S1_CLK
仅可通过GPIO0、U0RXD、或 U0TXD

注:I2S0_CLK 和 I2S1_CLK 仅可通过 IOMUX 映射至 GPIO0、U0RXD (GPIO3) 或 U0TXD (GPIO1),选择 GPIO 功能 CLK_OUT1、CLK_OUT2 或 CLK_OUT3。这个 CLK 是高速 CLK,主要用于 RGB 接口的 LCD 液晶显示屏。每组 I2S 的 DATA 有 0-23 个信号,用于 RGB 接口液晶显示屏时,可连接 18 位或 24 位的 LCD 液晶显示屏。

I2S 模式

ESP32 I2S 模块内置数据 A 律压缩/解压缩模块,用于对接收到的音频数据进行 A 律压缩/解压缩操作。如果要使用 A 律压缩/解压缩模块,需要将 I2S_CONF1_REG 寄存器的 RX_PCM_BYPASS 比特和 TX_PCM_BYPASS 比特清零。

支持的音频标准

I2S 模式下,BCK 为串行时钟;WS 为通道选择信号,用于表示左右声道的切换;SD 为串行数据信号,传输音频数据。WS 信号和 SD 信号在 BCK 的下降沿发生变化,并在 BCK 的上升沿采样 SD 信号。如果将寄存器 I2S_CONF_REG 的 I2S_RX_RIGHT_FIRST 比特和 I2S_TX_RIGHT_FIRST 比特都置 1,表示 I2S 模块首先接收和发送的是右声道数据,否则为首先接收和发送的是左声道数据。

Philips 标准

图 12-3. Philips 标准

如图 12-3 所示,在 Philips 标准下,在 BCK 的下降沿,WS 信号先于 SD 信号一个 BCK 时钟周期开始变化,即 WS 信号从当前通道数据的第一个位之前的一个时钟开始有效,并在当前通道数据发送结束前一个 BCK 时钟周期变化。SD 信号线首先传输音频数据的最高有效位。如果分别将寄存器 I2S_CONF_REG 的 I2S_RX_MSB_SHIFT 比特和 I2S_TX_MSB_SHIFT 比特置 1,I2S 模块接收数据和发送数据将使用 Philips 标准。

MSB 对齐标准

图 12-4. MSB 对齐标准

如图 12-4 所示,MSB 对齐标准下,在 BCK 下降沿,WS 信号和 SD 信号同时变化。WS 持续到当前通道数据发送结束,SD 信号线上首先传输音频数据的最高位。如果寄存器 I2S_CONF_REG 的 I2S_RX_MSB_SHIFT 比特和 I2S_TX_MSB_SHIFT 比特清零,则 I2S 模块接收数据和发送数据将使用 MSB 对齐标准。

PCM 标准

图 12-5. PCM 标准

如图 12-5 所示,在 PCM 标准的短帧同步模式下,在 BCK 的下降沿,WS 信号先于 SD 信号一个 BCK 时钟周期开始变化,即 WS 信号从当前通道数据的第一个位之前的一个时钟开始有效,并持续 1 个 BCK 时钟周期。SD 信号线上首先传输音频数据的最高位。如果将寄存器 I2S_CONF_REG 的 I2S_RX_SHORT_SYNC 比特和 I2S_TX_SHORT_SYNC 比特置 1,那么 I2S 模块接收数据和发送数据将使用短帧同步模式。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号