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通信协议

相关推荐
国科安芯14 分钟前
ASL706S:让 MCU 不再“失忆跑飞“的守护芯片
分布式·单片机·嵌入式硬件·安全·fpga开发·架构
明德扬3 小时前
多路MIPI摄像头如何同步聚合?一文看懂FPGA视频汇聚方案
fpga开发·音视频
折枝吖5 小时前
音视频开发-PCM 原理与 AI 模块实战
音视频·pcm
HySpark6 小时前
熙瑾·会悟 ASR 实战:Qwen-ASR 漏字导致转写不完整,如何从音频分段到二次校验解决?
音视频·熙瑾会悟
大鹅办公8 小时前
酷狗音乐怎么转换MP3格式?4种方法亲测对比+避坑指南(附FFmpeg命令行教程)
ffmpeg·音视频·音频格式
松小白song8 小时前
FPGA开发三大铁律:位宽、逻辑与连接,为何仿真通过上板却挂?
fpga开发
小妖同学学AI8 小时前
AI视频生成难在提示词?这个Claude插件让Seedance 2.0效率翻倍,附超全示例!
人工智能·开源·github·音视频
梦想的旅途211 小时前
企业微信视频消息:mp4当图片发送失败
音视频·企业微信
阿童木写作11 小时前
跨马翻译:AI图片翻译工具批量处理,跨境电商视频字幕翻译更高效
人工智能·python·音视频
老衲の少女心11 小时前
【AI项目】从零构建 AI 视频生成系统:多模型编排的工程实践
人工智能·音视频