0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

I2S接口概述和与DSP的连接方法

汽车玩家 来源:联合睿德 作者:admin 2020-01-27 17:39 次阅读

I2S接口概述

I²S或I2S(Inter-IC Sound或Integrated Interchip Sound)是由飞利浦公司(现NXP)在1986年制定的一种用于音频IC或者设备之间传输数字PCM信息的一种接口标准。I2S常被使用在各种音源到音频DAC中。由于I2S将信号以及时钟分开传送,它的jitter失真十分地小。I2S和I2C名字非常的像,但是切记,他们完全不是一个东西,甚至连时序都不太像,要说同I2S最像的还是SPI。I2S规范最终的修订是在1996年。

I2S接口硬件定义

NXP公司的I2S是一套硬件+时序规范。I2S硬件上有3个主要信号:

continuous serial clock,连续串行时钟SCK,在一些资料中也就SCLK或者BCLK,即对应数字音频的每一位数据,SCLK有1个脉冲。SCLK的频率=2×采样频率×采样位数。

word select,字选择WS,又叫帧时钟LRCK,用于切换左右声道的数据。WS为“0”表示代表传输的是左声道的数据,为“1”则表示正在传输的是右声道的数据。WS的频率等于采样频率。

serial data,串行数据SD,又叫SDATA,是用二进制补码表示的音频数据。

有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍,这个信号在后面会单独讲到。

I2S接口时序与对齐

I2S接口有着统一的硬件定义,但是数据的传输格式又各有不同,我们把他们分成三类:

I2S格式

左对齐格式,left justified

右对齐格式,right justified,也叫EIAJ或者SONY格式

这三种传输格式,基本都是相同的,不同之处在于SD数据同WS信号的对齐位置。I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在WS变化(也就是一帧开始)后的第2个SCK脉冲处,见下面I2S格式图:

I2S接口概述和与DSP的连接方法

i2s timing

故名思议,左对齐(left justified)、右对齐(right justified)指的是数据信号对齐的方式,左对齐的时候最高位数据在第一个时钟就出现,而右对齐的时候数据最低位在最后一个时钟出现。这就是他们的本质区别。左右对齐模式随具体的芯片不同而不同,在使用的时候需要仔细阅读芯片手册。I2S允许接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。

I2S接口的Master和Slave模式以及其同DSP的连接方法

TI公司的DSP可用的I2S接口有McBSP以及McASP,两个接口大同小异,下图代表了不同模式下的DSP同I2S设备的连接关系:

I2S接口概述和与DSP的连接方法

TI DSP I2S connecting mode

图中,箭头代表了信号的传输方向,主模式(Master)以及从模式(Slave)的区别就在于时钟信号是由哪一边给出的。在使用的时候需要参考McASP以及McBSP的资料。在DSP上使用I2S主要分为以下几个步骤:

器件选型,确定连接模式(Slave or Master)

设计原理图,正确连接电器关系

McBSP或者McASP寄存器配置

从(往)FIFO中Put or Get 数据即可

I2S接口的MCLK作用

MCLK是Master clock的缩写,在DAC内部的delta-sigma调制器以及数字滤波器都需要用到这个时钟,大部分的DAC可以使用内部的振荡器产生这个时钟,在某些要求较高的场合,例如HIFI音响系统等,需要使用一个额外的高质量的时钟用以获得最好的性能。这时候就需要用到MCLK信号了。切记,MCLK并不是必须的。可有可无,看设计要求。MCLK一般是Fs*256或者Fs*384。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • dsp
    dsp
    +关注

    关注

    544

    文章

    7680

    浏览量

    344320
  • 接口
    +关注

    关注

    33

    文章

    7627

    浏览量

    148429
  • I2S
    I2S
    +关注

    关注

    1

    文章

    59

    浏览量

    41455
收藏 人收藏

    评论

    相关推荐

    #硬声创作季 #STM32 手把手教你学STM32-082 I2S简介和实验硬件连接-1

    连接I2S
    水管工
    发布于 :2022年10月29日 15:03:51

    #硬声创作季 #STM32 手把手教你学STM32-082 I2S简介和实验硬件连接-2

    连接I2S
    水管工
    发布于 :2022年10月29日 15:04:18

    #硬声创作季 #STM32 手把手教你学STM32-082 I2S简介和实验硬件连接-3

    连接I2S
    水管工
    发布于 :2022年10月29日 15:04:44

    #硬声创作季 #STM32 手把手教你学STM32-084 I2S录音简介-1

    I2S
    水管工
    发布于 :2022年10月29日 15:07:15

    #硬声创作季 #STM32 手把手教你学STM32-084 I2S录音简介-2

    I2S
    水管工
    发布于 :2022年10月29日 15:07:40

    #硬声创作季 #STM32 手把手教你学STM32-084 I2S录音简介-3

    I2S
    水管工
    发布于 :2022年10月29日 15:08:07

    怎么设置I2S

    问候语,我在协调I2S音频协议方面遇到了一些麻烦。我所能找到的所有帮助文件都显示I2S应该是驱动程序下的选项,但是它不在那里。但是,在SPI驱动程序下,I2S使用的是什么,我可以将它设置为
    发表于 10-22 15:07

    I2S有哪些信号?

    传统 I2S—为何要包括系统时钟?过去,我们在讨论音频话题时,偶尔会提及 I2S。我在以前的一些文章中提到过 I2S,其他人在做音频研究时也都会提到它。简而言之,它是一种将立体声数据从一端传输至另一端的同步
    发表于 08-14 06:49

    基于FPGA和AD1836的I2S接口该如何去设计?

    基于FPGA和AD1836的I2S接口该如何去设计?
    发表于 05-26 06:45

    AT32 SPI和I2S入门指南

    本文参考I2S全双工章节。AT32控制器的大部分型号都是SPI和I2S共用SPI接口,根据软件编程配置来选择SPI还是I2S功能。本文分别介绍了SPI和
    发表于 03-14 19:49

    I2S 和 PCM 转换问题

    目前有一个需求,需要将音频 PCM接口 转化为 I2S 接口,在阅读资料后,想通过硬件电路,将PCM直接转化 为I2S。PCM 波形 :我想直接对PCM 的四个线路,BCLK , SY
    发表于 10-11 18:28

    传统I2S为何要包括系统时钟?

    另一端的同步方法。大多数人认为 I2S 有三种信号:数据:输入或者输出数据位时钟 (Bitclock,BCK):确立数据流中两个相邻位之间边界的信号左/右时钟 (LRCK)/字时钟 (Wordclock
    发表于 11-23 07:09

    NUC12X的I2S如何连接CODEC?

    大家好,谁熟悉NUC12X的I2S接口啊。文档里面就没有详细介绍I2S。接CODEC的时候需要区分左右声道的。就是LRCK如何接?是接在某个外部中断引脚上吗?然后单片机依靠上下沿中断处理?感觉太麻烦了啊。还有就是哪里有
    发表于 06-15 12:32

    STM32的I2S接口能不能和CODEC的I2S接口同时录音、播放?

    想用STM32录播音频,不知道STM32的I2S接口能不能和CODEC的I2S接口,同时录音、播放,就是通过CODEC的AD进来的数据同时发送到CODEC的DA输出。有没有相关的参考
    发表于 10-28 06:30

    ADAU1701的I2S主从机的问题求解

    I2S输入。 类似于将1701(2006)号的I2S输入也设置为主机。蓝牙模块也是主机。 蓝牙模块和1701(2006)号的I2S输入之间是否有一种芯片,方便这两个主机连接在一起?类
    发表于 11-28 07:05