2-DE10-Nano的HDMI音频传输案例——基于FPGA的I2S控制模块设计

I2S控制模块AUDIO_IF.v实现的功能是用离散的正弦波数据创建的查找表来合成声音(生成I2S格式的音频数据流)。如下是该模块的RTL视图:

该模块采用的是I2S 标准音频时序,每通道16位,LRCLK为低电平时传输左通道,为高电平时传输右声道,数据由高位(MSB)到低位(LSB)依次进行传输:

所以该模块里面设置了左右声道数据位宽16-bit。 另外离散的正弦波数据是48个。

该模块系统时钟是1.536MHz,位时钟sclk也是1.536MHz。因寄存器设置0x157:4=0010,ADV7513采样率为48KHz,所以lrclk经过sclk分频后也是48KHz。

这里设置sclk下降沿时数据改变,符合寄存器x0B6的设置(其默认设置是0,代表在下降沿时I2S数据发生变化,上升沿时数据保持不变锁存数据)。另外,这里Data_Count取反让数据由高位(MSB)到低位(LSB)依次进行传输:

该模块在lrclk下降沿的时候给出Data_Bit,在lrclk上升沿的时候数据保持没变,所以左右声道传输的是相同的数据:

关于正弦波离散数据的获取,用户可以通过python 或者matlab生成。本文不再赘述。

整个I2S控制模块AUDIO_IF.v的时序图如下:

往期阅读

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控制器和分辨率模式切换

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

相关推荐
AI创界者3 小时前
告别云端限制!Sulphur 2 本地文生视频/图生视频整合包,本地部署,解压即用,保姆级部署与工作流实战
人工智能·python·aigc·音视频
南山有乔木7894 小时前
NCM格式在线转换MP3怎么操作?解决ncm打不开和无法导入问题
音视频
FPGA小徐4 小时前
FPGA 数字信号处理(二):并行 FIR 滤波器的 Verilog 全流程设计与实现
fpga开发
国科安芯6 小时前
基于AS32S601ZIT2型抗辐照MCU的商业航天卫星姿态确定与控制系统研究
单片机·嵌入式硬件·安全·fpga开发·架构·risc-v
ALINX技术博客7 小时前
【黑金云课堂】FPGA技术教程FPGA基础:I2C 总线通信技术
fpga开发·i2c
Hello-FPGA7 小时前
Xilinx KU040 FPGA Camera Link 图像采集
c++·fpga开发
明德扬7 小时前
AD采集卡应用示例交流:从传感器采集到高速信号验证
fpga开发
傻童:CPU7 小时前
PS与PL之间的交互
fpga开发
小鹿研究点东西7 小时前
AI直播系统怎么搭?
人工智能·ffmpeg·自动化·音视频·语音识别
byte轻骑兵8 小时前
【AVRCP】规范精讲[29]:多播放器切换全流程,蓝牙音频控制如何精准选歌台
智能手机·音视频·avrcp·音视频控制·车机蓝牙