(一)数字音频技术

一、声音的基本概念

声音是通过一定介质传播的连续的波。


图1 声波

重要指标:

振幅:音量的大小
周期:重复出现的时间间隔
频率:指信号每秒钟变化的次数

声音按频率分类:


图2 声音的频率(语音信号频率范围:300Hz-3kHz)
声音的传播携带了信息,它是人类传播信息的一种主要媒体。

声音的三种类型: 

波形声音:包含了所有声音形式
语音:不仅是波形声音,而且还有丰富的语言内涵(抽象→提取特征→意义理解)
音乐:与语音相比,形式更规范。音乐是符号化的声音。

二、声音的数字化

1.声音信号的类型

模拟信号(自然界、物理)
数字信号(计算机)

2.声音数字化过程

图3 声音数字化过程

3.声音数字化过程示意图

图4 声音数字化过程示意图

用一个比源声音频率高的采样信号去量化源声音,记录每个采样点的值,最后如果把所有采样点数值连接起来与源声音曲线是互相吻合的,只是它不是连续的。在图中,两条线距离就是采样信号的周期,即对应一个采样频率(FS),可以想象得到采样频率越高最后得到的结果就与源声音越吻合,但此时采样数据量越越大,一般使用 44.1KHz 采样频率即可得到高保真的声音。每条线长度决定着该时刻源声音的量化值,该量化值有另外一个概念与之挂钩,就是量化位数。量化位数表示每个采样点用多少位表示数据范围,常用有 16bit、 24bit 或 32bit,位数越高最后还原得到的音质越好,数据量也会越大。

4.声音数字化三要素

5.声音数字化的数据量

音频数据量=采样频率×量化位数×声道数/8(字节/秒)

例:对一个声音信号进行数字化处理,采样频率为44.1KHz,量化位数为16位,

则:单声道的音频数据量为:44100 * 16 * 1 / 8 = 88200 字节/秒;

立体声的音频数据量为:44100 * 16 * 2 / 8 = 176400 字节/秒。

三、音频的文件格式

WAV文件:WAV是Microsoft/IBM共同开发的PC波形文件。因未经压缩,文件数据量很大。
特点:声音层次丰富,还原音质好。

MP3文件:(MPEG Audio layer3)是一种按MPEG标准的音频压缩技术制作的音频文件。
特点:高压缩比(11:1),优美音质。

WMA文件:(Windows Media Audio)是Windows Media格式中的一个子集(音频格式)。
特点:压缩到MP3一半

MIDI文件:(乐器数字接口)是由一组声音或乐器符号的集合。
特点:数据量很小,缺乏重现自然音。

四、数字音频压缩标准

1.音频压缩方法概述

音频信号能压缩的基本依据:

①声音信号中存在大量的冗余度;
②人的听觉具有强音能抑制同时存在的弱音现象。

音频信号压缩编码的分类:

①无损压缩(熵编码)      霍夫曼编码、算术编码、行程编码
②有损压缩
波形编码--PCM、DPCM、ADPCM 、子带编码、矢量量化
参数编码--LPC
混合编码--MPLPC、CELP

 2.音频压缩技术标准

五、声卡
1.声卡的主要功能

声卡是负责录音、播音和声音合成的一种多媒体板卡。其功能包括:
①录制、编辑和回放数字音频文件
②控制和混合各声源的音量
③记录和回放时进行压缩和解压缩
④语音合成技术(朗读文本)
⑤具有MIDI接口(乐器数字接口)

2.声卡芯片类型

CODEC芯片(依赖CPU,价格便宜)

数字信号处理器DSP(不依赖CPU)

(二)、I2S总线概述

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

一、I2S总线规范

I2S总线拥有三条数据信号线:

 1.SCK: (continuous serial clock)  串行时钟

对应数字音频的每一位数据,SCK都有1个脉冲。SCK的频率=2×采样频率×采样位数。

2.WS: (word select)  字段(声道)选择用于切换左右声道的数据。

WS的频率=采样频率。
      命令选择线表明了正在被传输的声道。
      WS为“1”表示正在传输的是左声道的数据。
      WS为“0”表示正在传输的是右声道的数据。
      WS可以在串行时钟的上升沿或者下降沿发生改变,并且WS信号不需要一定是对称的。在从属装置端,WS在时钟信号的上升沿发生改变。WS总是在最高位传输前的一个时钟周期发生改变,这样可以使从属装置得到与被传输的串行数据同步的时间,并且使接收端存储当前的命令以及为下次的命令清除空间。

 3.SD: (serial data)  串行数据 -用二进制补码表示的音频数据。

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

 4.主时钟MCLK

一般还有MCLK,主时钟。MCLK的频率 = 128或者256或者512 * 采样频率。

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

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

二、几种常见的I2S数据格式

        随着技术的发展,在统一的I2S硬件接口下,出现了多种不同的I2S数据格式,可分为左对齐(MSB)标准、右对齐(LSB)标准、I2S Philips 标准。

对于所有数据格式和通信标准而言,始终会先发送最高有效位(MSB 优先)。发送端和接收端必须使用相同的数据格式,确保发送和接收的数据一致。

1.I2S Philips 标准时序图如下所示: 

2.左对齐(MSB)标准

在LRCLK发生翻转的同时开始传输数据。该标准较少使用。注意此时LRCLK为1时,传输的是左声道数据,这刚好与I2S Philips标准相反。左对齐(MSB)标准时序图如下所示:

3.右对齐(LSB)标准

声音数据LSB传输完成的同时,LRCLK完成第二次翻转(刚好是LSB和LRCLK是右对齐的,所以称为右对齐标准)。注意此时LRCLK为1时,传输的是左声道数据,这刚好与I2S Philips标准相反。右对齐(LSB)标准时序图如下所示:

三、时序要求

在IIS总线中,任何设备都可以通过提供必需的时钟信号成为系统的主设备置,而从属设备通过外部时钟信号来得到它的内部时钟信号,这就意味着必须重视主设备和数据以及命令选择信号之间的传播延迟,总的延迟主要由两部分组成:
1.外部时钟和从设备的内部时钟之间的延迟
2.内部时钟和数据信号以及命令选择信号之间的延迟对于数据和命令信号的输入,外部时钟和内部时的延迟不占据主导的地位,它只是延长了有效的建立时间(set-up time)。延迟的主要部分是发送端的传输延迟和设置接收端所需的时间。见图3和图4:

图3 Timing for IIS Transmitter

图4  Timing for IIS Receiver

其中:

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

四、电气特性

输出电压: VL <0.4V     VH>2.4V

输入电压: VIL=0.8V    VIH=2.0V

I2S总线学习:I2S数据格式相关推荐

  1. I2S音频总线学习(二)I2S总线协议

    I2S音频总线学习(二)I2S总线协议 一.I2S总线概述 音响数据的采集.处理和传输是多媒体技术的重要组成部分.众多的数字音频系统已经进入消费市场,例如数字音频录音带.数字声音处理器.对于设备和生产 ...

  2. I2S音频总线学习(四)I2S接口设计

    I2S音频总线学习(四)I2S接口设计 一.数据发送端的设计 图1 发送端 随着WS信号的改变,导出一个WSP脉冲信号,进入并行移位寄存器装入DATA LEFT或DATA RIGHT,从而输出数据被激 ...

  3. I2S音频总线学习(一)数字音频技术

    IIS音频总线学习(一)数字音频技术 一.声音的基本概念 声音是通过一定介质传播的连续的波. 图1 声波 重要指标: 振幅:音量的大小 周期:重复出现的时间间隔 频率:指信号每秒钟变化的次数 声音按频 ...

  4. Linux音频驱动之四:I2S 总线操作接口

    本文是基于mini2440开发板Linux版本号是linux-2.6.32.2的学习笔记 一. I2S driver 的probe函数 映射虚拟内存,IIS寄存器的起始地址是:0x55000000 s ...

  5. 物理层、数据链路层间的PHY、MAC、MII、RMII、SMII、GMII、RGMII以及I2S总线、SFP接口

    物理层与数据链路层间的PHY.MAC.MII.RMII.SMII.GMII.RGMII 一.PHY(Physical Layer,物理层) 二.MAC(Media Access Control.媒体访 ...

  6. 从0学起的esp-idf之旅——i2s总线理解与运用

    i2s总线理解与运用 I2S总线基础概念 I2S概念 PCM音频数据 转换成PCM格式的三个参数 采样频率(声音周期量化) 采样位数(声音的幅度量化) 声道数(单声道,立体声) I2S总线通讯方式 I ...

  7. python 开发板 i2s_[Craftor原创] I2S总线接口设计(Verilog)

    本文有Craftor原创,转载请保留出处. I2S是数字音频的接口,这里不用多说,请读者自己查阅相关资料. 本文中要设计的是FPGA与数字音频芯片的I2S接口时序.简单点说,就是通过FPGA向音频芯片 ...

  8. I2C总线学习—查缺补漏—S3C2440的I2C控制器

    I2C总线学习-查缺补漏-S3C2440的I2C控制器                  学习了IIC总线协议的理论部分,觉得应该学习具体操作2440的IIC控制器,毕竟最终都是为了学习S3C2440 ...

  9. I2C总线学习—查缺补漏—应答信号ACK

    I2C总线学习-查缺补漏-应答信号ACK           IIC协议规定,当主机作为接收设备时,主机对最后一个字节不应答,以向发送设备(从设备)标识数据传送结束.这是因为每次传输都应得到应答信号后 ...

最新文章

  1. win10下使用certutil工具对文件的SHA1、MD5和SHA256哈希结果做验证(超简单,附图)
  2. Thymeleaf表达式
  3. NEUQ 字符串 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛
  4. centos7安装mysql5.7.24版本
  5. 牛客题霸 [二叉搜索树的第k个结点]C++题解/答案
  6. 【学习笔记】无向图、有向图的三元环、四元环计数问题(根号分支+bitset)
  7. GC对吞吐量和延迟的影响
  8. python 打包文件夹_Python打包文件夹(zip/tar/
  9. [JAVA语法]怎样制作ear,war文件
  10. Java内存溢出OOM使用Mat分析
  11. 数据库面试题之PL/SQL面试题
  12. CamShift算法,OpenCV实现1--Back Projection
  13. 神器 Nginx 的学习手册(建议收藏吃灰)
  14. keras实现Segnet、FCN、U-Net系列分割网络
  15. python绘制密度图
  16. 无PS只需几步操作轻松改变图片尺寸大小,而且一点都不失真!
  17. Quartus18.0新建工程
  18. python什么意思m_/usr/bin中的python3.6m 中的m是什么意思?和python3.6有什么区别?
  19. Kubernetes 集群安全机制详解
  20. 【Python】MD5批量修改

热门文章

  1. systemctl的常用命令和使用说明
  2. Vue+Gojs实现流程图demo
  3. origin 作图时 下面出现一条Y=0直线怎么去掉
  4. SUN 的Java认证体系
  5. FILE_DIRNAME
  6. 获取客户端mac地址 php,js获取客户端mac地址的方法
  7. 招商银行证书到期后不同机器恢复导致的问题——“用户密码、证件号码和证书错误#3”
  8. 俞敏洪的一分钟励志演讲
  9. 数据结构大作业_聊聊我的数据结构与算法课
  10. matlab中如何转动三维图_MATLAB小技巧之:绕任意空间轴旋转三维图形