博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
几种常见的I2S数据格式(转)
阅读量:6149 次
发布时间:2019-06-21

本文共 865 字,大约阅读时间需要 2 分钟。

来自:http://blog.sina.com.cn/s/blog_6aaa97370100vdo1.html

I2S有4个主要信号:

  1. SCLK:串行时钟,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数 
  2. LRCK:帧时钟,用于切换左右声道的数据。LRCK的频率=采样频率。
  3. SDATA:串行数据,就是用二进制补码表示的音频数据
  4. MCLK:主时钟,也叫系统时钟(Sys Clock)。为了使系统间能够更好地同步,MCLK的频率= 256倍或384倍采样频率。

随着技术的发展,在统一的 I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同分为:

  • 左对齐(较少使用)
  • I2S格式(即飞利浦规定的格式)
  • 右对齐(也叫日本格式、普通格式)。

这些格式的具体描述如下。

24位左对齐格式

24/16位I2S格式

    对于这种标准I2S格式的信号,无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。

 

24位右对齐格式

 

20位右对齐格式

 

18位右对齐格式

 

16位右对齐格式

由上述数据格式图可知:

对于左/右对齐格式:LRCK为“1”表示正在传输的是左声道的数据,为“0”则表示正在传输的是右声道的数据;

对于标准I2S格式:LRCK为“0”表示正在传输的是左声道的数据,为“1”则表示正在传输的是右声道的数据。

综上为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对标准I2S格式来说数据长度可以不同。

转载于:https://www.cnblogs.com/Baby-Xi5201314/p/6984240.html

你可能感兴趣的文章
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
向上扩展型SSD 将可满足向外扩展需求
查看>>
jenkins updatecenter更新插件有问题
查看>>
一个BUG的发现、定位和解决
查看>>
Oacle sys用户无法使用sysdba登录
查看>>
linux下svn命令大全
查看>>
Nginx源码分析(6)
查看>>
PHP 微信扫码支付
查看>>
shell脚本批量替换文件名和文件的内容
查看>>
遍历元组写excel,读excel文件
查看>>
一个正则引发的 java CPU异常问题
查看>>
java中的参数传递方式以及内存分配情况
查看>>
[原]解决pacman git无法自动补全的问题
查看>>
Shell编程中的变量【转载】
查看>>
国内一些大公司(阿里巴巴、腾讯、百度、网易、豆瓣等)的开源项目
查看>>
学习笔记 二十: load balancer
查看>>
Linux文件权限管理
查看>>
魔兽世界私服Trinity,从源码开始
查看>>
Three.js / DOC (一) 创建一个场景
查看>>