一、I2S介绍

I2S(Inter—IC Sound)总线, 又称 集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准,该总线专门用于音频设备之间的数据传输,广泛应用于各种多媒体系统。它采用了沿独立的导线传输时钟与数据信号的设计,通过将数据和时钟信号分离,避免了因时差诱发的失真,为用户节省了购买抵抗音频抖动的专业设备的费用。

二、I2S特点

1、支持全双工/半双工

2、支持主/从模式

3、和PCM相比,I2S更适合立体声系统。当然,I2S的变体也支持多通道的时分复用,因此可以支持多声道。

I2S主要有三个信号

1、串行始终SCLK,也叫位始终(BCLK),对应数字音频的每一位数据,SCLK都有一个脉冲。SCLK的频率=2 * 采样频率 * 采样位深。

2、帧时钟LRCK(也称WS),用于切换左右声道的数据。LRCK为‘1’表示传输右声道数据,为“0”则是左声道。LRCK的频率 = 采样频率

3、串行数据(SDATA),就是用二进制补码表示的音频数据,(MSB ---> LSB:数据由高位到低位依次传输)

4、一般还有MCLK,主时钟。

三、典型I2S信号时序图

随着技术的发展,也出现了很多种不同的数据格式。根据data相对于LRCK海人SCLK位置的不同,分为I2S标准格式(飞利浦规定的格式),左对齐(较少使用)和右对齐(日本格式,普通格式),发送和接收端必须使用相同的数据格式。

I2S标准格式:

左对齐:

右对齐:

四、I2S初始化配置

①,i2s的时钟使能和GPIO口配置
②,配置为i2s模式
③,i2s标准,无论有多少位有效数据,即数据的最高位总是出现在WS变化(也就是一帧开始)后的第2个CK脉冲处。
④,i2s数据长度,包括16位,16位扩展(16位数据以32位包发送),24位,32位。
⑤,设置i2s时钟
⑥,设置i2s空闲状态下时钟电平
⑦,i2s使能

⑨,设置I2S的采样率。采样率一般在8K-192K之间。

五、使用GPIO模拟I2S程序

待补充。。。

【音频】I2S协议详解相关推荐

  1. 音频接口设计详解!智能硬件设计,I2S、PDM、TDM选什么接口?

    音频接口设计详解!智能硬件设计,I2S.PDM.TDM选什么接口? 在智能硬件和物联网产品设计中,经常遇到声音的传输.本文主要讲一下最常用的音频接口,以及使用场景. 主要分类:模拟.数字(I2S.PC ...

  2. rtmp官方协议详解

    标准规范学习: rtmp消息结构,包括几个部分: 时戳:4  byte,单位毫秒.超过最大值后会翻转. 长度:消息负载的长度. 类型ID:Type Id 一部分ID范围用于rtmp的控制信令.还有一部 ...

  3. AXI接口协议详解-AXI总线、接口、协议

    转自:https://cloud.tencent.com/developer/article/1695010 AXI接口协议详解-AXI总线.接口.协议 AXI 总线 上面介绍了AMBA总线中的两种, ...

  4. 最详细的流媒体传输协议-rtsp协议详解

    流媒体传输协议-rtsp协议详解 参阅:RTSP协议详解和分析从零开始写一个RTSP服务器(一)RTSP协议讲解关于RTSP_RTP_RTCP协议的深刻初步介绍 rtsp RTSP出现以前,最热的大概 ...

  5. FFmpeg入门详解之87:HLS直播协议详解

    引言与效果演示 ----------------------------------------- FFmpeg431的官方地址已经无法打开, 我将ffmepg4.3.1的开发包和源码上传到了百度云: ...

  6. FFmpeg入门详解之102:HLS直播协议详解

    引言与效果演示 ----------------------------------------- FFmpeg431的官方地址已经无法打开, 我将ffmepg4.3.1的开发包和源码上传到了百度云: ...

  7. RTSP、HTTP、HTTPS、SDP四种协议详解

    RTSP.HTTP.HTTPS.SDP四种协议详解 从这篇开始我们将进入流媒体的环节,流媒体在android中有nuplayer来实现的,在开始讲解android流媒体前,我们先来讲讲流媒体传输协议, ...

  8. WebRTC中RTP协议详解

    WebRTC中RTP协议详解 WebRTC中RTP协议详解 WebRTC中RTP协议详解 前言 一.RTP/RTCP在协议栈中的位置 1. RTP传输流程图 二.RTP Header 的结构图 1.R ...

  9. HTTP协议详解(真的很经典)

    转自:http://blog.csdn.net/gueter/archive/2007/03/08/1524447.aspx Author :Jeffrey 引言 HTTP是一个属于应用层的面向对象的 ...

  10. Http 协议详解笔记

    HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第 ...

最新文章

  1. Memcached简介
  2. 【需求工程】需求获取
  3. Firefox 检测到该服务器正在将此地址的请求循环重定向。     此问题可能是因为禁用或拒绝 Cookie 导致。...
  4. 钉钉自带浏览器版本过低,导致Object.assign不兼容...
  5. 百度地图Map属性和方法
  6. java get 和post_[Java教程]get和post方法的区别
  7. 简单好玩的手机编程代码
  8. python3-matplotlib手册
  9. 计算机系统基础袁春风试题,计算机系统基础习题解答与教学指导
  10. Arduino笔记四电子指南针罗盘HMC5883L
  11. Ruoyi 整合Flowable UI Modeler 6.7.2
  12. [图形计算器]Desmos
  13. 拉新、复购、供应链,双11中小商家“三难”如何破?
  14. TextView 加下划线 、 中划线
  15. 零基础如何入门IT行业?
  16. 微信服务器 移动信号,微信消息延迟,只需更改手机这5个设置,效果“立竿见影”...
  17. linux C 基于事件回调的epoll反应堆模型
  18. 02 MSC类设备-基础篇(二)
  19. clear 和evict
  20. Juju and Binary String(前缀和)

热门文章

  1. FTP文件上传Java代码实操
  2. mtk2503 新增物联网卡apn
  3. 使用ApiPost按顺序传参及测试多个接口
  4. 计算机操作系统——进程调度算法
  5. 分享个三国志2017挂机脚本 可玩性很高占用小
  6. 元器件选型实例(如何选一款合适的 DC-DC )
  7. 【白皮书分享】2021年中国家庭教育白皮书.pdf(附下载链接)
  8. 你知道门禁卡的原理吗?手机模拟门禁卡研究
  9. 飞思卡尔单片机高效c语言编程,飞思卡尔单片机高效C语言编程(中文)
  10. 荣耀盒子显示服务器繁忙错误码7,【沙发管家】华为荣耀盒子的三种解决方式...