目录

前言

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:接耳机的左/右声道进行测试。

ES8311pin脚示意图

软件配置

寄存器配置

    {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 - 音频编解码芯片调试相关推荐

  1. 台湾SSS鑫创SSS1700替代Cmedia CM6533 24bit 96KHZ USB音频编解码芯片|SSS1700替代CM6533设计方案

    台湾SSS鑫创SSS1700替代Cmedia CM6533 24bit 96KHZ USB音频编解码芯片|SSS1700替代CM6533设计方案 台湾鑫创在2021年推出一款芯片SSS1700可以替代 ...

  2. 《嵌入式Linux软硬件开发详解——基于S5PV210处理器》——2.5 WM8960音频编解码芯片...

    本节书摘来自异步社区<嵌入式Linux软硬件开发详解--基于S5PV210处理器>一书中的第2章,第2.5节,作者 刘龙,更多章节内容可以访问云栖社区"异步社区"公众号 ...

  3. MP3音频编解码芯片 VS1053B-L

    VS1000/VS1103/VS1011/VS1003/VS1033/VS1053/VS1063/VS8053,VLSI专注于高品质的音频解码领域.此款产品用于互联网广播.互联网收音机.汽车音响.交通 ...

  4. VLSI MP3 音频 编解码芯片

    VS1003B-L   解码 MP3 , MIDI (SP),编码 ADPCM VS1053B-L   解码MP3 FLAC eAAC+.WMA, MP1+MP2, MIDI(GM1),ADPCM;P ...

  5. IIS协议和UDA1341TS音频编解码芯片简述

    前言 今天学习韦老师的驱动视频,写到了IIS协议相关的内容,虽然目前工作中没有直接用到,但是也做个记录吧,万一以后用到,也方便快速回忆.下面的章节内容大概分为: (1)IIS协议介绍(参考链接:htt ...

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

    台湾鑫创在2021年推出一款芯片SSS1700可以替代兼容CM6533,不管在音质和兼容性方面都优于Cmedia CM6533,且SSS1700外围电路较简单易设计,芯片成本比Cmedia CM653 ...

  7. USB音频编解码芯片电路方案设计(原理图)|TYPEC音频方案|TYPEC扩展坞方案|USB音频方案

    1.描述 ATE1133是一颗包含音频编解码器.HIFI级单麦克风输入和立体声耳机输出解决方案.内部集成多个模块,包括高速&全速USB Host/Device收发器(PHY),ARM??Cor ...

  8. wm(欧胜)8960音频编解码芯片

    https://easydatasheet.cn/WOLFSON/WM8960_11/views/

  9. 音频编解码基础知识(一)

    音频编解码常用的三种实现方案 1)采用专用的音频芯片对语音信号进行采集和处理,音频编解码算法集成在硬件内部,如 MP3 编解码芯片.语音合成分析芯片等.使用这种方案的优点就是处理速度块,设计周期短:缺 ...

最新文章

  1. v-html解析的相对地址img 显示不出来_人工智能专题作品解析——APPInventor安卓应用开发AI图像识别简单应用...
  2. CSS3透明属性opacity
  3. 如何一次性复制带有markdown/mathjax/latex的博客内容
  4. (转载)Qt中使用cout输出的方法
  5. 中国电信天翼云进入4.0阶段,打造一朵无处不在的分布式云
  6. 中国科学院大学计算机金智,金智-中国科学院大学-UCAS
  7. hibernate native oracle,hibernate native 主键生成策略
  8. ArcGIS 城市生活区用地适宜性评价(二)
  9. github上优秀的源码
  10. C语言定时器按键消抖程序,按键消抖方法(中断与定时器配合使用)
  11. 如何在html中在线编辑word文档,怎样用word文档编辑网页
  12. Python中form的使用
  13. 基于matlab的汽车牌照识别程序
  14. (私人收藏)商务工作学习万能简约大气PPT模板
  15. HTTP_REFERER的用法及伪造及去掉REFERER方法
  16. Neo4j 简单入门
  17. 地震引发的网络关系简化论
  18. QT 5.9学习笔记
  19. Vue源码中的对象相等比较
  20. 基于localStorge开发登录模块的记住密码与自动登录

热门文章

  1. USB-Blaster驱动安装失败——文件哈希值不在指定目录中
  2. .net 6项目使用DB First时报“Unable to resolve service for type......”的错
  3. 【STM32】 TFT触摸彩屏
  4. ThreadPoolTaskScheduler实现动态管理定时任务
  5. opencv 数字识别详细教程
  6. 北京交通大学计算机考研906计算机专业基础初试经验分享北交大考研计算机
  7. python字符串两个冒号_Python 数组字符串 冒号 用法
  8. AI智能视频平台EasyCVR新增接口可对接海康安防综合开放平台
  9. mysql 把表名改成大写_mysql将表名改成大写的实例
  10. Linux指令--let