一起玩儿物联网人工智能小车(ESP32)——67 I2S协议简介

摘要:本文介绍I2S通信协议的基本知识

前面的Mini MP3模块是借助完整的功能模块实现了声音文件的播放,但在整个声音播放的过程中,ESP32处理器并未从事任何的工作,只是通过UART通信设备,发送指令来控制Mini MP3模块进行音乐播放。

本文将介绍一个专门用于数字音频设备之间传递音频数据的总线协议——IIS(Inter-IC-Sounder)协议。下面先来看一下声音从被采集到被扬声器播放出来的整个过程。

首先是麦克风在声音引起的机械振动下将声音信号转变为电压信号,电压信号经过放大等处理,给到ADC采样,ADC功能实现了将模拟信号转化为数字信号;数字信号经过编码、压缩等技术处理后,会被存储在介质上。在播放的时候,存储在介质上的数据会被发送给解码器(DSP、专用解码器),然后再发送给DAC,通过DAC将数字信号还原为模拟信号,最后给到喇叭完成声音/音频的播放。整个过程如下图所示:

在这个过程中进行数字信号传输的时候,就可能用到IIS通信协议。因为音频数据的传输对准确性要求较低,跟强调的是传输的速度。因此,IIS通信协议比之前讲解的IIC和SPI要更简单一些,IIS通信协议既没有地址也没有片选信号。

IIS通信协议依然采用的是主从方式进行通信,在同一时刻只能有一个主设备和发射设备。在IIS通信协议中,规定提供时钟的设备为主设备,主设备可以是发射设备也可以是接收设备,还可以是协调两者的其他控制设备。如下图所示:

上图中分别列举了发射设备是主设备、接收设备是主设备以及发送接收之外的设备担当主设备的情况。

IIS通信协议的传输信号线的数量不是固定的,主要包含了以下三类信号线:时钟信号线(Continues Serial Clock,SCK)、左/右声道线(Left-Right Clock,LRCK)和数据线(Serial Data,SD)。

时钟信号线也叫位时钟线(Bit Clock,BCLK),该数据线提供了同步数据传输的时钟信号,确定了数据传输的速度和时序。时钟线的每一个脉冲,对应音频数字信号的一位数据。以双通数字道音频信号为例,SCK频率=2*采样频率*采样位数。

左/右声道线指示了当前传输的是左声道的音频数据还是右声道的音频数据。它也被称为帧同步信号(Frame SyncFS)、Word ClockWCLK)、WordSelect(WS)。LRCK为低电平时,表示数据线传输的是左声道的数据,LRCK为高电平时,表示数据线传输的是右声道的数据。LRCK频率=采样频率。

数据线用于传输音频数据。音频数据是以二进制补码(将原二进制数按位取反后加1,就是这个数据的补码)的形式在数据线上传输,高位在前。在LRCK电平发生变化后的第二个SCK周期开始传输数据的最高位。数据线的位宽(只每个采样数据的位数,可类比DAC中的采样分辨率)可以根据具体应用的不同而变化,通常位宽是16位或者32位。发送端的有效数据位数和接收端的有效数据位数可以不同,当发送端的数据位数大于接收端的数据位数时,超出的数据位数会被忽略接收。当发送端的数据位数小于接收端的数据位数时,超出的数据位数会被置0,也就是按收到的是0来处理。数据线的数量在不同的设备之间是不同的,可以根据自己的需要双方商议确定。

介绍到这里可以看到,对比其他通信协议,IIS通信协议专注的是音频数据传输的效率,没有数据地址、命令字、校验位等相关的辅助操作,整个协议设计得简洁明了。

好了,IIS通信协议得基本知识就介绍到这里了,接下来会介绍几个基本的应用。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一起玩儿科技

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值