音频芯片介绍
开发板上带有一个麦克风,一个扬声器,音频编解码芯片使用ES8311。麦克风直接连接到了ES8311芯片上,ES8311和扬声器之间,还有一个音频驱动放大器。ES8311通过I2S接口与ESP32-C3连接。
ES8311这个芯片不仅使用I2S接口与ESP32连接,还有I2C接口与ESP32连接,I2C接口用于配置,I2S接口用于音频传输。
配置文件example_config.h
I2C引脚相关代码在它24~35行之间,这里使用了条件编译,根据使用的ESP32不同型号,定义I2C引脚。针对我们开发板上ESP32-C3,我们应该修改它的33、34行,我们修改为开发板上使用的GPIO0和GPIO1引脚。
I2C,共四个接线,VCC(正极), SCL,SDA,GND(负极),所以需要定义的只有SCL和SDA。
/* I2C端口和GPIO */
#define I2C端口号 (0)
#define I2C_串行时钟线 (GPIO_NUM_1)
#define I2C_串行数据线 (GPIO_NUM_0)
I2S引脚相,共五个接线,MCK主时钟引脚,BCK时钟引脚,WS左右声道引脚,SDI串行数据输入引脚用于接收音频数据,SDO串行数据输出引脚用于发送音频数据,
例如: 44.1kHz(音频的采样频率)×16(位数据)×2(对于立体声