I2S总线学习:I2S数据格式
(一)数字音频技术
一、声音的基本概念
声音是通过一定介质传播的连续的波。
图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 声波
重要指标:
振幅:音量的大小
周期:重复出现的时间间隔
频率:指信号每秒钟变化的次数
声音按频率分类:
图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