ES7210使用TDM模式(基于ESP32-S3-BOX、ESP-IDF)

目录

  • 0.概述
  • 1.硬件连接
  • 2.驱动配置
    • 2.1 ESP-BOX主机I2S配置
    • 2.2 ES7210从机寄存器配置
  • 3.应用层

0.概述

es7210有两个手册,一个是datasheet,一个是user guide. 比较难啃,很多单词缩写直接扔上来,只能靠着上下文勉强猜一猜……

1.硬件连接

在datasheet中,官方给出了参考设计,其中IIC负责配置,IIS负责音频传输。
ES7210使用TDM模式(基于ESP32-S3-BOX、ESP-IDF)_第1张图片
这里的IIS是接了两根数据线SDOUT1和SDOUT2,MIC0、MIC1从SDOUT1输出,MIC2、MIC3从SDOUT2输出。如果要设置成TDM模式,那么数据都是从SDOUT1输出,SDOUT2作为级联芯片的输入。寄存器配置第二章再说。
ES7210使用TDM模式(基于ESP32-S3-BOX、ESP-IDF)_第2张图片

2.驱动配置

IIS与IIC一样也有主机从机之分。主机中需要配置时钟信号。

2.1 ESP-BOX主机I2S配置

下面第一张图是默认的IIS配置,也就是只输出MIC0和MIC1。第二张图就是TDM的配置,要想改成TDM模式需要做两个改动:(1).channel_format(2).chan_mask。目前TDM模式仅在ESP32S3中可使用。
ES7210使用TDM模式(基于ESP32-S3-BOX、ESP-IDF)_第3张图片
ES7210使用TDM模式(基于ESP32-S3-BOX、ESP-IDF)_第4张图片

2.2 ES7210从机寄存器配置

在User guide中,可以看到官方提供的TDM格式下的寄存器配置参考。
ES7210使用TDM模式(基于ESP32-S3-BOX、ESP-IDF)_第5张图片
IIS中的数据格式主要有IIS、左对齐 和DSP-A和DSP-B模式。这个配置是在寄存器Reg0x11,上图中WriteReg(0x11,0x60),可以看到是设置了IIS模式,16bit。
ES7210使用TDM模式(基于ESP32-S3-BOX、ESP-IDF)_第6张图片
SDOUT输出模式是在Reg0x12里面设置,上图中WriteReg(0x12,0x02)可以看到是设置了x1 LRCK TDM(I2S/LJ)格式。x1 LRCK与xN LRCK的差别在于LRCK的变化频率。
ES7210使用TDM模式(基于ESP32-S3-BOX、ESP-IDF)_第7张图片

3.应用层

通过逻辑分析仪拉取了一下数据,采样率16K,数据深度16bit,4通道,每个左右通道各32bit数据。
ES7210使用TDM模式(基于ESP32-S3-BOX、ESP-IDF)_第8张图片

你可能感兴趣的:(嵌入式软件,单片机)