一、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 协议

    I2S 协议详解 信号线定义 各个信号线的功能及描述见下表 信号线 描述 MCLK 主时钟,也叫系统时钟(Sys Clock),为了使系统间能够更好的同步,MCLK的频率=256fs 或384fs(f ...

  2. Linux驱动学习--音频传输之I2S接口时序的配置

    目录 一.引言 二.I2S传输 ------> 1.I2S时序种类 ------> 2.I2S时序计算 ------> 3.I2S主从模式 三.simple-card ------& ...

  3. spi协议时序图和四种模式实际应用详解

    大家好,我是无际. 上个章节我们讲解了spi接口定义,今天我们更加深入讲解下spi协议时序图和spi四种模式的用法. 刚开始接触单片机开发时,最怕就是看时序图,对于我来说就是奇怪的知识. 特别是SPI ...

  4. I2S接口规范时序以及其同DSP的连接

    I2S接口概述 I²S或I2S(Inter-IC Sound或Integrated Interchip Sound)是由飞利浦公司(现NXP)在1986年制定的一种用于音频IC或者设备之间传输数字PC ...

  5. 音频常用协议说明 IIS TDM PDM PCM SPDIF协议解析

    音频常用协议说明 目录 音频常用协议说明 IIS协议 特点 效率高主要传输音乐 PCM PDM SPDIF A2B 协议 IIS协议 I2S(Inter-IC Sound Bus)是飞利浦公司为数字音 ...

  6. 蓝牙音频双剑客(二)--高质量音频分布协议(A2DP) 概念介绍

    零. 概述 主要介绍下蓝牙协议栈(bluetooth stack)传统蓝牙音频协议之高质量音频分布协议(A2DP) 概念介绍,包括在协议栈中的架构,角色以及Source到Sink的发送Audio流程 ...

  7. uvc音频传输协议_蓝牙中的三种音频编码:Apt-X、SBC、AAC,请问分别有什么区别?...

    Apt-X在理论上声音保留的细节会更多,但需要购买对应的使用授权:SBC是A2DP蓝牙音频传输协议强制规定的编码格式,音质比MP3差:ACC是杜比实验室为音乐社区提供的技术,音质比SBC好.详细介绍如 ...

  8. ARP协议及ARP欺骗详解

    ARP协议及ARP欺骗详解 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议.主机发送信息时将包含目标IP地址的ARP ...

  9. HTTP协议的头信息详解

    HTTP协议的头信息详解 http://blog.csdn.net/guoguo1980/archive/2008/07/14/2649658.aspx HTTP协议的头信息详解 HTTP(Hyper ...

  10. C++ 实现 STL 标准库和算法(二)template 编程和迭代器粗解 实验楼笔记

    一.template 编程和迭代器粗解 1.1 实验内容 本节内容主要讲述 c++11 模板的用法,以后的代码中会大量的用到模板的知识.同时简单讲解迭代器的相关知识,为后面容器和算法的内容作铺垫. 1 ...

最新文章

  1. 机器学习与数据科学 基于R的统计学习方法(基础部分)
  2. 开源Android或将收费
  3. 讯wifi_罗永浩直播带货,网友为何pick讯飞智能录音笔?
  4. php pdo 数组,php – 使用PDO更新数组
  5. sqlserver 储存过程 批量更新_大白菜怎么储存过冬,好吃还不烂?掌握方法,其实很简单...
  6. 阿里云服务器部署django项目
  7. npm安装vue-cli时报错解决方法
  8. php能连接动易吗,动易CMS数据转成dedecms的php程序
  9. .Net: C#中的委托(Delegate)和事件(Event)
  10. PAIP.WEB程序网站安全扫描检测工具(桌面程序)总结
  11. 限时免费下载《程序员面试宝典》.pdf
  12. python合并大量ts文件_python合并ts视频
  13. 天线效应的原理及消除【转帖】
  14. 百度地图api-个性化地图-主题更换
  15. linux中常用的截图录屏软件
  16. fmt:formatDate标签的输出格式
  17. 研发计算机主板需要什么专业,一种计算机主板研发用固定装置的制作方法
  18. 牛年伊始,鹏欣携手MTC,打造中国千亿级肉牛产业航母
  19. android系统重力感应传感器 方向控制与方向切换,android sensor orientation 方向传感器 重力感应...
  20. 靶机14 DEATHNOTE: 1

热门文章

  1. java编程对电脑配置,编程对电脑配置要求高吗?
  2. mac自带代码对比工具
  3. 计算机专业英语交换机,计算机专业英语词汇
  4. 小米5 进9008模式
  5. android分区调整大小写,小米2 32G开发版 无损分区调整
  6. 51单片机汇编学习笔记1——内部结构
  7. 微信小程序中生成二维码
  8. gps高斯utm_高斯投影与UTM投影的区别
  9. 【数学建模】相关性分析 - 皮尔逊相关系数 斯皮尔曼相关系数
  10. 阿里面试失败后,一气之下我图解了Java中18把锁