I2S/PCM接口及音频codec

目录

1.I2S接口及时序

1.1 I2S接口信号

1.2 I2S接口时序

2. PCM(TDM)接口 

2.1 PCM(TDM)接口信号

2.2 PCM接口时序

3.audio codec


1.I2S接口及时序

1.1 I2S接口信号

I2S主要有三根信号:分别是SCK(sclk/bclk), WS[word select](lrclk), SD(serial data).

扫描二维码关注公众号,回复: 14770399 查看本文章

有时候为了使音频 CODEC 芯片与主控制器之间能够更好的同步,会引入另外一个叫做 MCLK 的信号,也叫做主时钟或系统时钟,一般是采样率的 256 倍或 384 倍。

I2S 可以设置为全双工/半双工,也支持主从模式。

全双工:sdi,sdo两根SD线(指的是pad上的两个IO pin)

半双工:一根SD线(指的是pad上一个双向IO pin)

【说明:这些低速串口在soc上基本都是用GPIO实现,PAD上的IO pin的方向是可配置为input,output或动态可配的inout】

所以半双工的情况下 在数字逻辑里面会多一根sd_oen的 SD IO的方向控制信号

真实的与GPIO的连接情况如下:

I2S和I2C分别如何连接pad_cy413026的博客-CSDN博客典型的pad及其接口如下图所示:一般情况下IE信号直接tie 1.因为大部分都不会做输入控制。https://blog.csdn.net/cy413026/article/details/128413260?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22128413260%22%2C%22source%22%3A%22cy413026%22%7D

主模式是指输出sck和ws的设备,对应接受sck和ws的为从模块。

audio的master可以是接受音频数据(RX)也可以是发送音频数据(TX).

同样设备既要做master又要做slave时可以有两组独立的sck和ws,也可以分时复用,通过sck_oen,ws_oen来选择SCK,WS IO PIN当前的方向。

位时钟(BCLK):又名SCK,对应每一位(bit)数据,都有一个脉冲。

BCLK = 2 * 采样频率 * 量化位数。

问:为什么BCLK是采样频率和量化位数乘积的2倍?

答:量化位数是相对于单声道来说的,SCK是同时用于左、右声道数据交替传输的时钟。例如先传输16个bit的左通道数据,再传输16个bit的右通道数据,一直这样按顺序交替传输音频。

采样频率:等于LRCK。一般音频使用16K。还有多种采样频率,看需求。

LRCK:用于切换左右声道的数据。一般,1表示左声道,0表示右声道。

MCLK:主时钟(也名过采样率),一般是采样频率的128、或256、或384或512倍。

量化位数:常见的位数有16bit,24bit,32bit,20bit。


1.2 I2S接口时序

I2S的标准时序如下图所示:

 SD数据变化在sck的下降沿。

至于左对齐 右对齐的概念可参考:

Audio-音频传输接口(I2S、PCM、PDM)_一只青木呀的博客-CSDN博客_i2s音频接口1、音频接口使用场景I2S和PCM(TDM)接口传输的数据是PCM编码格式的音频数据。PDM接口传输的数据是PDM编码格式的音频数据。2、I2S接口I2S(Inter-IC Sound)总线有时候也写作 IIS,I2S 是飞利浦公司提出的一种用于数字音频设备之间进行音频数据传输的总线。和 I2C、SPI 这些常见的通信协议一样,I2S 总线用于主控制器和音频 CODEC 芯片之间传输音频数据。因此,要想使用 I2S 协议,主控制器和音频 CODEC 都得支持 I2S 协议。I2S 接口需要 3https://blog.csdn.net/weixin_45309916/article/details/124984584

2. PCM(TDM)接口 

2.1 PCM(TDM)接口信号

无论I2S还是PCM音频接口,传输的都是pcm编码之后的数据pcm编码即脉冲编码调制。

该接口由时钟脉 冲(BCLK)、帧同步信号(FS)及接收数据(DR)和发送数据(DX)组成。在FS信号的上升沿,数据传输从MSB(Most Significant Bit)字开始,FS频率等于采样率。FS信号之后开始数据字的传输,单个的数据位按顺序进行传输,1个时钟周期传输1个数据字。发送MSB时,信号的等 级首先降到最低,以避免在不同终端的接口使用不同的数据方案时造成MSB的丢失。

PCM接口包括四根信号:

PCM_CLK (BCLK):数据时钟信号
PCM_SYNC (FS):帧同步时钟信号
PCM_IN(DR) :接收数据信号
PCM_OUT (DX):发送数据信号

PCM/TDM接口时序虽然和I2S有写差别,但完全是可以信号线复用的,无论是数字信号还是pad上的IO PIN。

2.2 PCM接口时序

以下内容摘自

Audio-音频传输接口(I2S、PCM、PDM)_一只青木呀的博客-CSDN博客_i2s音频接口1、音频接口使用场景I2S和PCM(TDM)接口传输的数据是PCM编码格式的音频数据。PDM接口传输的数据是PDM编码格式的音频数据。2、I2S接口I2S(Inter-IC Sound)总线有时候也写作 IIS,I2S 是飞利浦公司提出的一种用于数字音频设备之间进行音频数据传输的总线。和 I2C、SPI 这些常见的通信协议一样,I2S 总线用于主控制器和音频 CODEC 芯片之间传输音频数据。因此,要想使用 I2S 协议,主控制器和音频 CODEC 都得支持 I2S 协议。I2S 接口需要 3https://blog.csdn.net/weixin_45309916/article/details/124984584

根据 SD相对帧同步时钟FSYNC的位置,TDM分两种基本模式:
Mode A:数据在FSYNC有效后,BCLK的第2个上升沿有效。
在这里插入图片描述

Mode B:数据在FSYNC有效后,BCLK的第1个上升沿有效。
在这里插入图片描述

3.audio codec

audio的codec主要分为:

codec_DA: pcm解码--->DA转换

codec_AD:AD转换---->pcm编码

可参考:

WM CJC8988多功能Codec芯片性能及应用介绍_isweekDN的博客-CSDN博客_codec芯片  Codec指的是数字通信中具有编码、译码功能的器件,能有效减少数字存储占用的空间,在计算机系统中,使用硬件完成CODEC可以节省CPU的资源,提高系统的运行效率;主要作用是对视频信号进行压缩和解压缩。  Codec芯主要负责数字->模拟信号转换(DAC)和模拟->数字信号的转换(ADC);不管是音频加速器,还是I/O控制器,输入输出都是纯数字信号,要使用声卡上的Line Out插孔输出信号的话,信号就必须经过声卡上的CODEC的转换处理。可以说,声卡模拟输入输出的品质和CODEC的转换品质有着重大的关系https://blog.csdn.net/isweekDN/article/details/125522405


 

猜你喜欢

转载自blog.csdn.net/cy413026/article/details/127807774