i2s总线小结

2023-11-10 09:58
文章标签 总线 小结 i2s

本文主要是介绍i2s总线小结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、i2s总线概述

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


二、总线规范:
  在飞利浦公司的I2S标准中,既规定了  硬件接口规范,也规定了 数字音频数据的格式。 I2S有 3个主要信号:
1.串行时钟 SCLK,也叫 位时钟(BCLK),即对应数字音频的 每一位数据,SCLK 都有1个脉冲。 SCLK的频率=2×采样频率×采样位数 
  2. 帧( 左右声道)时钟LRCLK,( 也称WS)用于切换左右声道的数据。LRCLK为 “1”表示正在传输的是左声道的数据,为 “0”则表示正在传输的是右声道的数据。 LRCK的频率等于采样频率。  LRCLK = 采样频率; 3.串行数据SDATA,就是 用二进制补码表示的 音频数据    4.有时为了使系统间能够 更好地同步,还需要另外传输一个信号 MCLK,称为主时钟,也叫系统时钟( Sys Clock), 是采样频率的256倍或384倍MCLK = 256 × 采样频率(16位模式)或者384 × 采样频率(24位模式)

三、串行数据(SD)


  I2S格式的信号无论有多少位有效数据,数据的 最高位总是被最先传输,它是出现在 LRCK变化(也就是一帧开始) 第2个SCLK脉冲处。因此 最高位拥有固定的位置,而最低位的位置则是依赖于数据的有效位数。这就使得接收端与发送端的有效位数可以不同。 如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的 低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位(常补足为零)。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。
   为了保证数字音频信号的正确传输,发送端和接收端应该采用 相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。

数据格式:高位数据在前,低位数据在后,其中一个音频帧的数据是 有符号数。


四、字段(声道)选择(WS) 


  命令选择线表明了正在被传输的声道。
   WS=0,表示 正在传输的是 右声道的数据。
   WS=1,表示 正在传输的是 左声道的数据。

  WS可以在串行时钟的 上升沿 或者 下降沿 发生改变,并且WS信号不需要一定是对称的。在 从属装置端,WS在时钟信号的上升沿发生改变WS总是在最高位传输前的一个时钟周期发生改变,这样可以使 从属装置得到与被传输的串行数据同步的时间,并且使接收端存储当前的命令以及为下次的命令清除空间。该总线为上升沿抓取数据

对于系统而言,产生 SCK和WS 的信号端 就是设备,用MASTER表示,简单系统示意图如图1所示:      


图1 简单 系统配置 和 基本接口 时序


       
另一个基本的接口时序图可以参看图2所示:  






















图2 I2S典型的接口时序


五、电气规范:


  输出电压:
  VL <0.4V 
  VH>2.4V 
  输入电压
  VIL=0.8V 
  VIH=2.0V

  注:目前使用的TTL电平标准,随着其他IC(LSI)的流行,其他电平也会支持。


六、时序要求:


  在I2s总线中, 任何设备 都可以通过 提供必需的时钟信号 成为 系统的 主导装置,而 从属装置 通过外部时钟信号 来 得到 它的 内部时钟信号,这就意味着 必须重视 主导装置 和 数据 以及 命令选择信号 之间的传播 延迟,总的延迟主要由两部分组成:
  1外部时钟 和 从属装置的内部时钟 之间的延迟
  2内部时钟 和 数据信号 以及 命令选择信号 之间的延迟

  对于数据和命令信号的输入,外部时钟和内部时钟的延迟不占据主导地位,它只是延长了有效的建立时间(set—up time)。延迟的主要部分是 发送端的传输延迟 和 设置接收端 所需的时间。见图3和图4: 


图3 Timing for IIS Transmitter

其中:


  T是时钟周期,Tr是最小允许时钟周期, T>Tr 这样 发送端和接收端 才能满足数据传输速率的要求
  对于所有的 数据速率,发送端和接收端均发出一个具有固定的传号空号比(mark—space ratio)的时钟信号,所以t LC和 tHC是由T所定义的。 t LC和tHC必须大于0.35T,这样信号在从属装置端就可以被检测到。
  延迟(tdtr)和最快的传输速度(由Thr定义)是相关的,快的发送端信号在慢的时钟上升沿可能导致tdtr不能超过tRC而使thtr为零或者负。只有tRC不大于tRCmax的时候(tRCmax>:0.15T),发送端才能保证thtr大于等于0。
  为了允许数据在下降沿被记录,时钟信号上升沿及T相关的时间延迟应该给予接收端充分的建立时间(set-up time)。
  数据建立时间(set-up time)和保持时间(hold time)不能小于指定接收端的建立时间和保持时间。


这篇关于i2s总线小结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/381938

相关文章

Redis分片集群、数据读写规则问题小结

《Redis分片集群、数据读写规则问题小结》本文介绍了Redis分片集群的原理,通过数据分片和哈希槽机制解决单机内存限制与写瓶颈问题,实现分布式存储和高并发处理,但存在通信开销大、维护复杂及对事务支持... 目录一、分片集群解android决的问题二、分片集群图解 分片集群特征如何解决的上述问题?(与哨兵模

SpringBoot中使用Flux实现流式返回的方法小结

《SpringBoot中使用Flux实现流式返回的方法小结》文章介绍流式返回(StreamingResponse)在SpringBoot中通过Flux实现,优势包括提升用户体验、降低内存消耗、支持长连... 目录背景流式返回的核心概念与优势1. 提升用户体验2. 降低内存消耗3. 支持长连接与实时通信在Sp

Python打印对象所有属性和值的方法小结

《Python打印对象所有属性和值的方法小结》在Python开发过程中,调试代码时经常需要查看对象的当前状态,也就是对象的所有属性和对应的值,然而,Python并没有像PHP的print_r那样直接提... 目录python中打印对象所有属性和值的方法实现步骤1. 使用vars()和pprint()2. 使

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python函数返回多个值的多种方法小结

《Python函数返回多个值的多种方法小结》在Python中,函数通常用于封装一段代码,使其可以重复调用,有时,我们希望一个函数能够返回多个值,Python提供了几种不同的方法来实现这一点,需要的朋友... 目录一、使用元组(Tuple):二、使用列表(list)三、使用字典(Dictionary)四、 使

Python程序的文件头部声明小结

《Python程序的文件头部声明小结》在Python文件的顶部声明编码通常是必须的,尤其是在处理非ASCII字符时,下面就来介绍一下两种头部文件声明,具有一定的参考价值,感兴趣的可以了解一下... 目录一、# coding=utf-8二、#!/usr/bin/env python三、运行Python程序四、

Python中合并列表(list)的六种方法小结

《Python中合并列表(list)的六种方法小结》本文主要介绍了Python中合并列表(list)的六种方法小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、直接用 + 合并列表二、用 extend() js方法三、用 zip() 函数交叉合并四、用

Spring Boot中的YML配置列表及应用小结

《SpringBoot中的YML配置列表及应用小结》在SpringBoot中使用YAML进行列表的配置不仅简洁明了,还能提高代码的可读性和可维护性,:本文主要介绍SpringBoot中的YML配... 目录YAML列表的基础语法在Spring Boot中的应用从YAML读取列表列表中的复杂对象其他注意事项总

CSS 样式表的四种应用方式及css注释的应用小结

《CSS样式表的四种应用方式及css注释的应用小结》:本文主要介绍了CSS样式表的四种应用方式及css注释的应用小结,本文通过实例代码给大家介绍的非常详细,详细内容请阅读本文,希望能对你有所帮助... 一、外部 css(推荐方式)定义:将 CSS 代码保存为独立的 .css 文件,通过 <link> 标签