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中。这可以通过设置寄存器R0x0B6来指定: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控制器和分辨率模式切换

相关推荐
小鹿研究点东西8 小时前
直播带货长视频AI自动剪辑开播:一场直播如何反复利用?
ffmpeg·自动化·音视频·语音识别
换个昵称都难8 小时前
webrtc PeerConnection 模块介绍
音视频·webrtc
潜创微科技9 小时前
4K60 over IP 方案简介
网络·嵌入式硬件·网络协议·tcp/ip·音视频
超哥--10 小时前
B站视频内容智能分析系统(三):B站视频自动采集
java·开发语言·音视频·ai编程
localbob16 小时前
日语视频 SRT 字幕生成软件下载:日语视频本地自动翻译SRT字幕生成、日语视频自动翻译 Faster Whisper v1.7 下载与使用教程(含AMD显卡支持)
whisper·音视频·机器翻译·日语字幕翻译·日语视频翻译·本地ai翻译日语视频
音乐宝贝家18 小时前
吉他桶型技术解析:GA桶 vs D桶 vs OM桶——入门弹唱选哪个
新媒体运营·音视频·业界资讯·媒体·材质·零售·内容运营
luoyayun36118 小时前
Qt + FFmpeg 实战:获取音视频文件基础属性、流信息和元数据
qt·ffmpeg·音视频·元数据·获取音视频文件属性
Rudon滨海渔村18 小时前
ffmpeg裁剪视频黑屏、不准时等处理方式 - ffmpeg基本操作
ffmpeg·音视频
谁刺我心19 小时前
[QtCPP]Examples使用示例-QtMultimedia、QMediaPlayer、Audio音频引擎测试mp3播放
qt·音视频·qml
FFZero119 小时前
[mpv脚本系统] (五) C层系统调用的实现: mpv client通信机制
c语言·音视频