新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 嵌入式系统中I2S总线数据通信的软件模拟

嵌入式系统中I2S总线数据通信的软件模拟

作者:时间:2010-09-29来源:网络收藏

引言

本文引用地址:http://www.amcfsurvey.com/article/151467.htm

  (InterIC Sound Bus)是飞利浦公司针对数字音频设备之间的音频数据传输而制定的一种标准,采用沿独立的导线传输时钟与数据信号的设计,通过分离数据和时钟信号,避免了时差诱发的失真。简单有效,可以有效提升输出数据的质量,在各种音频中有广泛应用。但是在音频设计中,并不是所有的MCU都支持格式,再加上I2S还没有统一的接口标准,不同的厂家生产的设备接口也是五花八门,采用实现I2S总线可有效解决在不支持其的MCU和设备之间通过I2S总线实现数据传输时出现的问题。

  本文通过在以太网数字语音广播I2S总线实现语音数据传输,给出了实现I2S总线的方法。

  1 I2S总线规范

  I2S为三线总线,3个信号分别为:

  ① 串行时钟SCK,也叫位时钟(BCK)。即每发送1位数字音频数据,SCK上都有1个脉冲。SCK的频率=2×采样频率×采样位数。在数据传输过程中,I2S总线的发送器和接收器都可以作为系统的主机来提供系统的时钟频率。

  ② 帧时钟WS,即命令(声道)选择,用于切换左右声道的数据。WS的频率等于采样频率,由系统主机提供。WS为“0”表示传输的是左声道的数据,WS为“1”表示传输的是右声道的数据。

  ③ 串行数据信号SD,用于传输二进制补码表示的音频数据。

  I2S格式的信号无论有多少位有效数据,数据位的最高位(MSB)总是被最先传输,1次能够发送的数据决定于I2S格式的有效位数。

  1个典型的I2S信号时序如图1所示


图1 I2S总线典型时序图

  随着技术的发展,在统一的I2S接口下出现了多种不同的数据格式。根据SD信号相对于SCK和WS位置的不同,分为左对齐和右对齐2种格式,如图2和图3所示。


图2 16位有效位数的左对齐格式


图3 16位有效位数的右对齐格式

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭