本文作者:我爱下载
1、概述
RVB2601采用ES7210进行麦克风的数字化采样。本次测试,学习使用I2S接口从ES7210中进行一定时间的麦克风音频数据采集和暂存。
2、驱动描述
2.1 硬件接口原理
CH2601采用I2C接口完成ES7210的配置,采用I2S接口读取ES7210的转换数据,其接口如图所示。
序号 |
ES7210 |
GPIO |
1 |
I2C SCL |
PA8(I2C0_SCL) |
2 |
I2C SDA |
PA9(I2C0_SDA) |
3 |
ADC MCLK |
PA10(I2S0_MCLK) |
4 |
ADC BCLK |
I2S4_SCLK |
5 |
ADC LRLK |
I2S4_LSCLK |
6 |
ADC DAT1 |
I2S4_DATA |
7 |
ADC DAT2 |
I2S5_DATA |
2.2 软件驱动设计 CODEC
CODEC在这里指的是同时具有D/A(数字讯号转换成模拟讯号)和A/D(模拟讯号转换成数字讯号)转换功能的编解码器,播放音乐的时候用到的是D/A转换功能。在录音的时候用到的是A/D转换功能。
在接口中,D/A指的是输出通道,A/D指的是输入通道。我们这里主要使用AD的输入通道
本次使用CODEC的CSI接口如下所示:
函数 |
说明 |
csi_codec_init |
CODEC设备初始化 |
csi_codec_uninit |
CODEC设备去初始化 |
csi_codec_input_open |
CODEC输入通道打开 |
csi_codec_input_config |
CODEC输入通道配置 |
csi_codec_input_analog_gain |
CODEC输入通道设置模拟增益 |
csi_codec_input_start |
CODEC接收输入音频流 |
csi_codec_input_stop |
CODEC结束接收输入音频流 |
csi_codec_input_read_async |
CODEC输入通道异步模式读取数据 |
csi_codec_input_read |
CODEC输入通道同步模式读取数据 |
csi_codec_input_attach_callback |
CODEC输入通道注册回调函数 |
csi_codec_input_detach_callback |
CODEC输入通道注销回调函数 |