1-DE10-Nano的HDMI音频传输案例——I2S通信协议

I2S(Inter---IC Sound)总线, 又称集成电路内置音频总线,是飞利浦公司为数字音频设备之间的音频数据传输而制定的一种总线标准。ADV7513可以支持2~8个I2S音频通道,采样率最高可达192KHz。

1 声音数字化

在自然界中,声音是连续的模拟信号,为了方便传输和储存,将声音转化为数字信号,在需要还原声音的地方再把数字量转成模拟量输出:

模拟量转成数字量一般可以分为三个过程,分别为采样、量化、编码,如下图所示。

用一个比源声音频率高的采样信号去量化源声音,记录每个采样点的值,最后如果把所有采样点数值连接起来与源声音曲线是互相吻合的,只是它不是连续的。在上图中,两条绿色虚线距离就是采样信号的周期,即对应采样频率(FS,每秒钟抽取声波幅度样本的次数),可以想象得到采样频率越高最后得到的结果就与源声音越吻合,但此时采样数据量越大,常用的采样频率有11.025KHz,22.05KHz,44.1KHz,48KHz,96KHz等。一般使用 44.1KHz 采样频率即可得到高保真的声音。

每条绿色虚线长度决定着该时刻源声音的量化值,每个采样点用多少二进制位表示数据范围,就是量化位数,常用有16bit、 24bit 或 32bit,位数越高最后还原得到的音质越好,数据量也会越大。

为模拟人耳接收声音的空间特性,音频系统中设置了左声道(Left Channel)与右声道(Right Channel),声音传输的时候可以是单声道,也可以是立体声(包括左声道和右声道),它比单声道的表现力丰富,但是数据量翻倍。

2 I2S信号线定义

I2S总线使用3线串行总线,它包括一条用于切换左右声道的数据线WS,一条音频传输数据线SD和一条时钟线SCK。对于系统而言,能够产生SCK和WS的信号端就是主设备,用MASTER表示,简单系统示意图如下:

3 I2S数据传输格式

I2S数据传输时序如下,如果I2S数据在时钟上升沿变化,建议在下降沿将其锁存到ADV7513中。如果I2S数据在时钟下降沿变化,建议在上升沿将其锁存到ADV7513中。这可以通过设置寄存器R0x0B[6]来指定:0表示在时钟上升沿锁存;1表示在时钟下降沿锁存(详情见本文寄存器设置章节)。

ADV7513的音频数据传输支持标准的I2S、左对齐串行音频、右对齐串行音频等格式。右对齐和左对齐格式并非源自Philips 原始的 I2S 标准。它们属于 I2S 协议的变种,由其他芯片厂商扩展而来。

I2S Philips 标准时序图如下所示,声音数据LRCLK 翻转后空1 个 SCLK 才开始(延迟设计避免干扰)。LRCLK为0时,传输的是左声道数据;LRCLK为1时,传输的是右声道数据。

右对齐(Right-Justified)时序如下,声音数据在LRCLK翻转前LSB传输完成(刚好是LSB和LRCLK是右对齐的,所以称为右对齐标准)。注意此时LRCLK为1时,传输的是左声道数据,这刚好与I2S Philips标准相反。

右对齐的传输格式为接收端预留更长的数据稳定时间,适合长距离传输。

左对齐(Left-Justified)时序图如下,声音数据在LRCLK翻转的同时开始MSB传输(刚好是MSB和LRCLK是左对齐的,所以称为左对齐标准)。注意此时LRCLK为1时,传输的是左声道数据,这刚好与I2S Philips标准相反。

左对齐的传输格式为减少处理延迟,适合实时音频处理。

往期阅读

1-DE10-Nano的HDMI方块移动案例------显示器时序(DMT)标准介绍

2-DE10-Nano的HDMI方块移动案例------HDMI接口介绍(含TMDS)

3-DE10-Nano的HDMI方块移动案例------ADV7513芯片解读

4-DE10-Nano的HDMI方块移动案例------I2C通信协议

5-DE10-Nano的HDMI方块移动案例------基于FPGA的I2C控制模块设计

6-DE10-Nano的HDMI方块移动案例------使用Modelsim仿真I2C控制器

7-DE10-Nano的HDMI方块移动案例的整体实现(含Quartus完整工程免费下载)

1- DE10-Nano的HDMI彩条显示案例(分辨率可切换)(含Quartus完整工程免费下载)

2-DE10-Nano的HDMI彩条显示案例(分辨率可切换)------ VGA显示控制器模块设计

3-DE10-Nano的HDMI彩条显示案例(分辨率可切换)------学会用Signal Tap逻辑分析仪查看信号波形

4-DE10-Nano的HDMI彩条显示案例(分辨率可切换)------ ALTPLL IP与ALTPLL RECONFIG IP介绍

5-DE10-Nano的HDMI彩条显示案例(分辨率可切换)------ PLL控制器和分辨率模式切换

相关推荐
MonkeyKing_sunyuhua2 小时前
借助openClaw的架构开发短视频生成平台的思路
架构·音视频
非凡ghost3 小时前
proDAD ReSpeedr:专业视频变速编辑的利器
java·网络·windows·python·音视频·软件需求
愚公搬代码4 小时前
【愚公系列】《剪映+DeepSeek+即梦:短视频制作》013-剪辑:把碎片素材串联成片(知识拓展:剪辑点的选择)
音视频
电商API&Tina5 小时前
淘宝商品视频的采集需要注意哪些问题||item_video-获得淘宝商品视频
大数据·网络·数据库·人工智能·python·音视频
雾江流5 小时前
HDx播放器1.0.195 | 4K视频播放器,解码强,内置视频嗅探下载
音视频·软件工程
非凡ghost6 小时前
Smart Launcher安卓版(安卓桌面启动器)
android·windows·学习·音视频·软件需求
EasyDSS6 小时前
EasyDSS以视频点播VOD/高清直播/WebRTC视频会议/语音转写STT技术创新,解决校园数字化核心难题
音视频·webrtc·语音识别·点播技术·流媒体直播
NGBQ121386 小时前
K-Lite_Codec_Pack_1957_Mega.exe 全解析:Windows 端全能音视频解码器深度指南
windows·音视频
爱奥尼欧6 小时前
使用libmpv库时如何获取拥有多个分片的视频总播放进度
开发语言·qt·音视频