前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux音频驱动-IIS总线标准

Linux音频驱动-IIS总线标准

作者头像
DragonKingZhu
发布2020-03-24 17:21:03
2.7K0
发布2020-03-24 17:21:03
举报

介绍

许多数字音频系统正被引入消费者音频市场,包括CD,磁带,数字声音处理器和数字电视声音。在这些系统中的数字音频信号需要由许许多多(Very-large-scale integration)的IC组成,处理。在音频系统中常见的IC芯片有:

  • A/D and D/A 转化器(数模转化器)
  • 数字信号处理器
  • 数字录像,以及出错纠正器
  • 数字滤波器
  • 数字输入/输出的接口

由于设备和IC制造商众多,所以需要一个统一的规范来管理,这样就可以增加设备以及系统的可移植性。为了此目的,就引入了I2S(inter-IC sound)数字总线协议接口。

I2S规范

I2S总线只能用来处理audio data,而别的信号比如控制信号,编码信号则交给别的模块处理。为了最小化所需引脚以及保持简单的布局,I2S拥有三条数据信号线。

  • SCK(continuous serial clock)
  • WS(word select)
  • SD(serial data)

对于系统而言,产生SCK和WS的信号端是主设备(Master)。

trams是主设备(播放音乐的过程)

receive是主设备(录音的过程)

SCK

可以理解为该I2S需要工作的时钟频率,如下是SCK的计算公式:

SCK=2*采样频率*采样位数。

WS

WS选择线表明使用那个通道在传输数据。

WS=0,使用通道1,也就是左声道。

WS=1,使用通道2,也就是右声道。

注意以下几点:

1. WS可以在串行时钟SCK的上升沿或者下降沿改变,并且WS信号不一定需要对称。(对称什么意思? 没搞懂)

2. 在从设备中,WS在时钟信号的上升沿改变。

3. WS总是在MSB传输前的一个时钟周期改变。这样有利于从发送设备提交建立下次传输,同时有利于从接受设备接受数据,为一下接受做准备工作。

SD

用二进制补码的形式表示音频数据。传输数据的规则:

1. 保证数据的最高位(MSB)最先被传输。

2. 当系统的发送端数据长度大于接受端数据长度,则接受端会将多余的数据截断。

3. 当系统的发生端数据长度小于接受端数据长度,则接受端会将缺少的数据补齐。

Time Diagram

关于I2S的接口协议就简单介绍到这里。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • I2S规范
    • SCK
      • WS
        • SD
          • Time Diagram
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档