在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。
SCLK:串行时钟,频率= 2 * 采样频率 * 采样位数。
LRCK(WS):字段(声道)选择,用来切换左右声道数据。WS = 采样频率(fs)。
a、1(左声道)
b、0(右声道)
SDATA:串行数据(二进制补码)(MSB--->LSB:数据由最高位到最低位依次传输)
1、支持全双工/半双工
2、支持主/从模式
3、和PCM相比,I2S更适合立体声系统。当然,I2S的变体也支持多通道的时分复用,因此可以支持多声道。
随着技术的发展,在统一的 I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同,分为左对齐(较少使用)、I2S格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。
假设有一路音频流,有左右两声道的数据。左声道用L表示,右声道用R表示。
存储时,如果是左右声道数据交替存储成一维数组,这种格式称为packed。格式为LRLRLR…LRLR
如果是分开存储成二维数组,这种格式称为planar。格式为LLLLLLLLLLLLLL和RRRRRRRRRRRRR
视频也是如此,但是对于YUV格式的数据,比音频多一种存储方法叫semi-planar,也就是半planar。一共2路存储,Y一路,UV一路,其中UV交叉存储。
在智能硬件和物联网产品设计中,经常遇到声音的传输。
主要分类:模拟、数字(I2S、PCM、PDM、TDM)
模拟音频,就是功放输出的,驱动音箱和喇叭的音频。模拟麦克风采样回来的数据也是模拟音频。通常会有单端或差分两种信号。
数字音频,不能直接驱动喇叭,必须要通过DAC转换成模拟音频,才能发出声音来。数字音频的接口比较多,目前较为通用的是I2S、PCM、PDM和TDM接口。
智能硬件产品的设备内音频传输,采用I2S、PCM、TDM、PDM等数字接口。
I2S速度快,专门用于传音乐。
PCM/TDM,主要用来传语音。
PDM,只有2根线,传音乐,编码方式和I2S不同。
其他数字接口:USB
像科大讯飞的多mic降噪模块,用的就是usb接口,方便调试。
但是万变不离其宗,不管用的什么接口,传输的都是PCM或者PDM编码的数字音频。
如果喜欢我的文章,欢迎关注、点赞和转发,下面可以留言~~~
本文分享自 嵌入式Linux系统开发 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!