首页 > 其他分享 >数字音频接口之I2S总线协议详解

数字音频接口之I2S总线协议详解

时间:2024-08-11 15:18:11浏览次数:14  
标签:SCK 总线 音频 I2S LRCK 音频接口 传输 数据

数字音频接口之I2S总线协议详解

应用场景

I2S(Inter-IC Sound)是一种广泛应用于数字音频传输的串行接口标准。它最初由飞利浦(Philips)公司开发,用于解决在集成电路之间传输音频数据的问题I2S协议定义了音频数据的传输格式、时序和控制信号。在工作中音频采集和输出,AD和主芯片之间的通信均是通过I2S进行通信的,其应用场景如下:

I2S RX方向麦克风在机械振动下将声音信号转变为电压信号,电压信号经过放大等处理,给到ADC采样,将模拟信号转化为数字信号;音频在ADC与DSP之间的传输协议就是使用的I2S协议

I2S TX方向数字信号经过编码、存储、压缩等技术后,发送给解码器-DAC(DSP、专用解码器),将数字信号还原为模拟信号,最后给到喇叭完成声音/音频的播放。音频在DAC与DSP之间的传输就是使用I2S协议


I2S的应用

I2S基本信号

I2S基本信号线


I2S协议基本时序关系

如上图I2S接口通常由三类信号线组成,分别是:

  • 时钟线(Continues Serial Clock,SCK):SCK线提供了同步音频数据传输的时钟信号。确定了数据传输的速度和时序。该时钟也称为Bit Clock(BCLK)。SCK的频率=2x采样频率x位宽

  • 左/右声道线(Left-Right Clock,LRCK):LRCK线指示了当前传输的是左声道的音频数据还是右声道的音频数据。它被称为帧同步信号。LRCK的频率=采样频率

  • 数据线(Serial Data,SD ):SD线用于传输实际的音频数据。数据的位宽可以根据具体应用而变化,通常为16位或32位。TX方向为:Serial Data Out(SDOUT);RX方向为:Serial Data In(SDIN)。

I2S协议中常见的参数

  • 位宽(Word Length):位宽指定每个采样数据的位数,通常为16位或32位。较大的位宽可以提供更高的分辨率和动态范围

  • 时钟极性(Clock Polarity):时钟极性确定了数据位传输的时钟沿。根据具体的I2S设备和系统设置,可以定义在时钟上升沿或下降沿开始数据传输

  • 帧同步极性(Frame Sync Polarity):帧同步极性确定了帧同步信号的有效电平。帧同步信号指示音频数据的帧起始和结束位置

  • 传输格式(Data Format):传输格式定义了音频数据的编码方式,传输格式还可以指定数据的顺序如左声道先传输还是右声道先传输

主从工作模式

I2S工作模式可以是主模式(Master Mode)从模式(Slave Mode)。两者唯一的区别是:Master Mode提供时钟信号(SCK)和帧同步信号(LRCK)。如下图所示,一共存在三种工作模式,分别是:

1.发射器(transmitter)为Master,接收器(receiver)为Slave,此时由发射器提供SCK和LRCK

2.接收器(receiver)为Master,发射器(transmitter)为Slave,此时由接收器提供SCK和LRCK

3.发射器(transmitter)和接收器(receiver)均为Slave,由系统中其他模块提供SCK和LRCK


I2S的主从工作模式

数据传输模式

I2S接口标准中,存在三种数据传输模式,分别是:飞利浦标准模式(I2S mode),左对齐(Left Justified)和右对齐(Right Justified)三种传输模式。

飞利浦标准(I2S)模式


I2S标准模式接口时序

其主要特点如下:

(1)LRCK(左右声道选择信号):LRCK信号用于指示当前数据帧是左声道数据还是右声道数据。飞利浦格式中,当LRCK为低时,表示当前传输的数据是左声道数据;当LRCK为高时,表示当前传输的数据为右声道数据

(2)SCK(位时钟):数据传输的时钟信号。在SCK下降沿发送数据,在SCK上升沿采样数据

(3)Data Delay:发送的有效数据相对于LRCK的跳变沿(从0到1或从1到0延迟一个时钟周期

(4)数据发送从MSB开始数据MSB与LRCK delay 1个SCK的边沿对齐

左对齐(Left Justified)模式


左对齐模式接口时序

其主要特点如下

(1)在左对齐格式中,LRCK为高时,表示当前传输的数据为左声道数据;当LRCK为低时,表示当前传输的数据为右声道数据

(2)在SCK下降沿发送数据,在SCK上升沿接收数据

(3)无data delay:发送的有效数据相当于LRCK跳变沿(从0到1或从1到0不延迟

(4)数据发送从MSB开始数据MSB与LRCK跳变沿对齐

3.右对齐(Right Justified)模式


右对齐模式接口时序

其主要特点如下

(1)右对齐格式中,LRCK为高电平时,表示当前传输的数据为右声道数据;当LRCK为低电平时,表示当前传输的数据为左声道数据

(2)在SCK下降沿发送数据,在SCK上升沿接收数据

(3)无Data delay:发送的有效数据相当于LRCK跳变沿(从0到1或从1到0不延迟

(4)数据发送从MSB开始数据LSB与LRCK跳变沿对齐

数据位宽与位深

(1)位宽:根据SCK与LRCK的关系:

采样频率位宽一般为16位或32位

(2)位深:表示音频数据量化后的精度

需要注意的是,I2S中位宽和位深都是由Master决定的。因此在使用时需要先确定本模块在系统中的工作模式(Master or Slave)。下面以32位位宽,32/24/20/16位位深为例,说明位宽与位深的区别(以下例子的数据格式均为I2S格式)。

32位位宽,32位位深

位宽=32bit,位深=32bit

32位位宽,24位位深

位宽=32bit,位深=24bit

32位位宽,20位位深

位宽=32bit,位深=20bit

32位位宽,16位位深

位宽=32bit,位深=16bit

I2S初始化配置

  1. i2s的时钟使能和GPIO口配置
  2. 配置为i2s模式
  3. i2s标准,无论有多少位有效数据,即数据的最高位总是出现在WS变化(也就是一帧开始)后的第2个CK脉冲处。
  4. i2s数据长度,包括16位,16位扩展(16位数据以32位包发送),24位,32位。
  5. 设置i2s时钟
  6. 设置i2s空闲状态下时钟电平
  7. i2s使能,设置I2S的采样率。采样率一般在8K-192K之间。

总结

1、SDATA,也就是串行数据信号,使用二进制传输数字信号。请注意数据的传输形式为补码的方式

2、例如音频的采样率是8K,一s内存采样8K个点,一个点包含一个左声道,一个右声道,所以LRCK是8K,BCLK是2×采样频率×采样位数

3、同时双向(TX和RX)音频流:串行数据同步移位到时钟信号SCK和LRCK。在SCK的下降沿将TX数据写入SDOUT引脚,并在SCK的上升沿从SDIN引脚读取RX数据。始终首先发送最高有效位(MSB);TX和RX均可在主模式和从模式下使用。

4、MCLK:主时钟(也名过采样率),一般是采样频率[不是bclk而是LRCK]的128、或256、或384或512倍。

普通IO模拟IIS接口

标签:SCK,总线,音频,I2S,LRCK,音频接口,传输,数据
From: https://www.cnblogs.com/bujidao1128/p/18353467

相关文章

  • 佰泰盛世—HT5169内置BOOST升压的11WI2S输入D类音频功放
    1特性电源供电• 升压输入VBAT:2.5V-5.5V;• 升压输出PVDD可调,最高7.5V• DVDD/AVDD:3.3V音频性能•9.0W(VBAT=3.7V,PVDD=7.5V,RL=3Ω,THD+N=10%)•11.0W(VBAT=3.7V,PVDD=7.5V,RL=2Ω,THD+N=10%•5.5W(VBAT=3.7V,PVDD=6.5V,RL=4Ω,THD+N=10%)灵......
  • 佰泰盛世—HT760 2x30W I2S 输入,无电感,立体声D级放大器
    1特性电源:•PVDD:4.5V-22V;•DVDD:3.3V音频性能•BTL,2x33W(PVDD=22V,RL=8Ω,THD+N=10%)•PBTL,50W(PVDD=22V,RL=4Ω,THD+N=1%)•THD+N=0.05%(PVDD=12V,RL=4Ω,Po=1W)•Noise:100uV(Gain=19dBV,Aweighted)低静态电流•PVDD=12V时,12mA,无滤波器 1SPW......
  • 车载总线的诊断报文格式
    1.Flexray中的诊断报文格式1.1Flexray的诊断报文类型Flexray中的诊断报文帧共共分为以下几种类型:1.起始帧(STF)2. 3.流控帧()1.2 Flexray的诊断报文解析如下表,无论哪种类型的诊断报文,诊断报文中负载区域均由以下几个部分构成:1.接受方ECU地址(C_TA:communicationtarget......
  • 汇川EC总线伺服简单使用只要关注这几个参数就够了
    目录H02基本控制参数H03端子输入参数H04端子输出参数H09自调整参数这些参数都可以通过汇川的伺服调试软件,或者是伺服驱动器面板上的按键来进行设置H02基本控制参数H02-01绝对值系统选择根据当前系统选择是增量模式还是绝对值模式H02-02旋转方向选择选择......
  • 驱动开发系列09 - Linux设备模型之设备,驱动和总线
    一:概述     Linux设备模型(LDM)是Linux内核中引入的一个概念。用于管理内核对象(那些需要引用计数的对象、例如文件、设备、总线甚至驱动程序),以及描述它们之间的层次结构,以及这些内核对象之间绑定关系。Linux设备模型引入了对象生命周期管理、引用计数、以及面向对象......
  • UFS4.0/UFS3.1/Unipro总线协议分析仪
    UFS4.0/UFS3.1/Unipro总线协议分析仪(Analyzer)&训练器(Exerciser):全球市场占有率排名第一的UFS/Unipro总线协议分析仪厂商,支持MIPIM-PHYv5.0GEAR5,UniProv2.0andUFSv4.0等规格测试并支持向下兼容。ProtocolInsight为开发移动设备的客户提供测试和测量工具,并为UFS的......
  • 3 IIC总线
    3IIC总线1、基本概念1.1IIC总线定义1.2IIC总线协议概念2以AT24C02为例说明时序2.1基本特性2.2利用GPIO模拟IIC2.3对AT24C02的操作2.4重定向printf1、基本概念1.1IIC总线定义定义:两线式串行总线两线式:说明处理器和外设之间只需两根信号线,分别是SCL时钟......
  • 平台总线驱动和设备的匹配流程分析
    参考文章:https://blog.csdn.net/qq_44182115/article/details/1232315761、宏module_platform_driver//include/linux/platform_device.h展开为staticint__init__platform_driver_init(void)\{\ returnplatform_driver_register(&......
  • (BS ISO 11898-1:2015)CAN_FD 总线协议详解5- MAC子层描述4
    5.5帧编码帧中的比特流应按照不归零(NRZ,Non-Return-to-Zero)方法进行编码。这意味着在整个比特时间内生成的比特电平是恒定不变的。为了限制可用于同步的最大边沿(即信号波形的上升沿或下降沿)间距,帧的不同部分如起始边界(SOF,StartofFrame)、仲裁字段、控制字段、数据字段以......
  • (BS ISO 11898-1:2015)CAN_FD 总线协议详解5- MAC子层描述3
    目录 创作不易,请帮忙点赞+评论+转载,非常感谢5.4.3MACRF(远程帧)规范5.4.3.1描述5.4.3.2MACDF和MACRF相同的字段5.4.3.3仲裁字段5.4.3.4控制字段5.4.4错误帧(EF)的规范5.4.4.1描述5.4.4.2错误标志5.4.4.3错误分隔符5.4.5过载帧(OF)的规定5.......