ES8311 - 音频编解码芯片调试

Posted FANG_YISHAO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES8311 - 音频编解码芯片调试相关的知识,希望对你有一定的参考价值。

目录

前言

ES8311 codec芯片介绍

调通的配置

软件配置

ID 验证

回环测试

注意事项:


前言

最近因任务需求,需要将一款codec 芯片配合TTS调通,做某款云喇叭播放设备。

这款codec的驱动已经适配过多次,但在此系统上却是第一次调试,谨做记录。

ES8311 codec芯片介绍

System
High performance and low power multi-bit delta-sigma audio ADC and DAC
• I2S/PCM master or slave serial data port
• 256/384Fs, USB 12/24 MHz and other non standard audio system clocks
• I2C interface


ADC
• 24-bit, 8 to 96 kHz sampling frequency
• 100 dB signal to noise ratio, -93 dB THD+N
• One pair of analog input with differential input option
• Low noise pre-amplifier
• Noise reduction filters
• Auto level control (ALC) and noise gate
• Support analog and digital microphone


DAC
• 24-bit, 8 to 96 kHz sampling frequency
• 110 dB signal to noise ratio, -80 dB THD+N
• One pair of analog output with headphone driver and differential output option
• Dynamic range compression
• Pop and click noise suppression
Low Power
• 1.8V to 3.3V operation
• 14 mW playback and record
• Low standby current

以上摘自ES8311的芯片手册。这里重点关注几个地方:

1. 播放和录音的最大功率为14mW。这意味着直接接喇叭可能带不动,笔者也是在这里遇到了问题,最后将喇叭的P接到耳机的 [左/右] 声道进行测试的。

2. 供电电平1.8-3.3v。注意这里是一个宽容性较大的电压范围,要保持供数字电电压等级、I2C的上拉电压、保持一致,否侧影响通信。

调通的配置

目前使用这款codec调通了播放,录音没有测试。

当前配置:

8K 采样率、16bit采样深度、单通道输出、1.8v通信逻辑电平、mclk为256fs(默认256倍,可调)。

从机地址:0x18(7bit)

pin2,MCLK:2.048MHz

pin3,PVDD、pin4,DVDD:1.8V

pin6,SCLK:位时钟,256KHz

pin8,LRCLK:左右声道指示信号,等于采样率。8KHz

pin12,OUTP:接耳机的左/右声道进行测试。

———————————————————————————————————————————

———————————————————————————————————————————

Codec 初始化配置

    0x45, 0x00,
    0x01, 0x30,
    0x02, 0x10,
    0x02, 0x00,
    0x03, 0x10,
    0x16, 0x24,
    0x04, 0x10,
    0x05, 0x00,
    0x0B, 0x00,
    0x0C, 0x00,
    0x10, 0x1F,
    0x11, 0x7F,
    0x00, 0x80,
    0x0D, 0x01,
    0x01, 0x3F,
    0x14, 0x10,
    0x12, 0x00,
    0x13, 0x00,
    0x09, 0x0C,
    0x0A, 0x0C,
    0x0E, 0x02,
    0x0F, 0x44,
    0x15, 0x00,
    0x1B, 0x0A,
    0x1C, 0x6A,
    0x37, 0x08,
    0x44, 0x00, //loopback test。on:0x88; off:0x00; mic-->speak
    0x17, 0xBF, //(0x17,ADC_Volume);
    0x32, 0xBF, //(0x32,DAC_Volume);

———————————————————————————————————————————

读取ID验证

一般判断从机是否启动,可以读取一些出厂的ID,如下图

ES8311 ID 寄存器

———————————————————————————————————————————

回环测试

回环测试可以验证,codec 是否能正常工作。

原理:将mic捕捉到的声音,直接通过spk输出出来。

这里通过写 0x44,0x88,打开回环测试的开关。

———————————————————————————————————————————

注意事项:

1. 检查数字供电、I2C的逻辑电平已经寄存器配置的逻辑电平(0x10和0x11寄存器),这几个需要保持一致。

2. 读取ID, 确保codec 芯片启动正常。

3. 工作模式【I2S或PCM】选择(0x09)、采样位深配置(0x09和0x0A),需要配置正确。

4. 主从模式,codec一般作为SOC的从机,需要将codec配置为从机slave模式(0x80)。

0x80寄存器:bit7,1: master(default); 0: slave

5. 最大功率输出较小,一般需要配合PA使用。如果没有PA,可以使用耳机测试。

满树玉瓣多傲然,江南烟雨却痴缠

以上是关于ES8311 - 音频编解码芯片调试的主要内容,如果未能解决你的问题,请参考以下文章

SylixOS音频驱动移植

HIFI音频解码芯片ES9023

ES9023音频解码芯片原理及应用简介

台湾SSS鑫创SSS1700替代Cmedia CM6533 24bit 96KHZ USB音频编解码芯片

使用 webengine 视频和音频编解码器

开发那些事儿:如何解决RK芯片视频处理编解码耗时很长的问题?