美文网首页
I2S注意事项

I2S注意事项

作者: 施瓦辛格777 | 来源:发表于2018-11-06 16:16 被阅读0次

关于I2S,wikipedia上介绍的比较全面。这里记录一些容易出错的点。

启用I2S

以Linux/Android主板而言,I2S是ASoC中的CPU Platform驱动。一般情况下需要同时搭上Codec和Machine驱动才能够启用。启用后会在/proc/asound/cards中查看到多出一个声卡。(如果硬件上I2S确实没有连接Codec,那么一般CPU厂家内核中会有Plublic Machine的Machine驱动来保证单独的I2S也可以被使用起来)

以Allwinner H3的I2S0为例,由于板子I2S0没有连接Codec,需要按照以下配置启用该I2S:

Device Drivers  --->
 <*> Sound card support  --->
  <*>   Advanced Linux Sound Architecture  --->
   <*>   ALSA for SoC audio support  ---> 
    ....
    <*>   SoC daudio0 tdm interface for SUNXI chips
    <*>   Daudio0 Public Machine for SUNXI chips
    ....

其中SoC daudio0 tdm interface for SUNXI chips为ASoC中的CPU Platform驱动,Daudio0 Public Machine for SUNXI chips为ASoC中的Machine + 虚拟Codec驱动。

对于Allwinner的平台而言还要确定sys_config.fex中的相应配置有没有选中,相应的GPIO有无占用。
这样编译烧写系统后,cat /proc/asound/cards可以查看到多了一个声卡。

使用I2S

使用I2S就是按照普通声卡的方式进行使用,比如Android下的tinyalsa都可以做简单的播放录制等等。
更多使用方法见:Android音频底层调试-基于tinyalsa

注意事项

I2S中的一般常用的bit有16 24 32,这些I2S输出的CLK都是32个。播放16bit时,放到了前32bit的前16bit;播放32bit一般是刚好是32bit;而播放24bit时,需要把数据按照32bit传递给设备节点,也是前24bit。如果使用tinyalsa播放一个真24bit数据时,没有转换成32bit下传时播放会出现噪声。

|<- 16bit ->|
|<-       32bit     ->|
|<-    24bit    ->|   |

I2S硬件输出的波形如下:

|<-       32bit     ->|
|<-    24bit    ->|   |
|<- 16bit ->|         |

当然还有一点,一些宣称支持到32bit的,实际输出的是时候可能会按照24bit输出(当低8bit丢弃了),比如Allwinner H3。或许只是kernel驱动的问题。

I2S波形图镇楼

352001119870964952.jpg

<完>

相关文章

  • I2S注意事项

    关于I2S,wikipedia上介绍的比较全面。这里记录一些容易出错的点。 启用I2S 以Linux/Androi...

  • 2. I2S接口

    1. I2S接口概述 I2S全称Inter-IC Sound, Integrated Interchip Soun...

  • I2S接口

    I2S总线I2S(InterIC Sound Bus)是飞利浦公司针对数字音频设备之间的音频数据传输而制定的一种总...

  • 十一 . 树莓派A20 i2s接口

    1 i2s介绍 2 A20 i2s接口 2.1 寄存器 DA0与DA1对应IIS-0与IIS-1,手册上写的IIS...

  • I2S_RX 音频接收通用设计

    I2S简介 如上图所示: SCLK :位时钟,数据单bit反转。 频率=2 * 采样频率 * 采样位...

  • I2S_TX 音频发送通用设计

    I2S简介 如上图所示: SCLK :位时钟,数据单bit反转。 频率=2 * 采样频率 * 采样位...

  • 关于I2S

    I2S信号定义 MCLK---主时钟,即系统时钟(设计中并未必须),一般是采用频率的256倍或384倍 SCLK(...

  • [RaspberryPi] I2S audio

    之前在树莓派3上顺利用Android Things调通了I2S Audio输出,享受于高信噪比的音乐之余,不禁想起...

  • [Android Things] I2S

    Android Things Preview 6中已移除本文中提及的重要API,并变更了I2S音频的实现方式,新的...

  • I2S总线总结

    导语: I2S总线是专门开发传输音频信号的总线 一、自然界声音频率的范围 自然界声音频率范围.png 如上图所示,...

网友评论

      本文标题:I2S注意事项

      本文链接:https://www.haomeiwen.com/subject/sjmuxqtx.html