MyFPGA Forum

 找回密码
 注册
搜索
查看: 2092|回复: 1

【开源项目介绍】DE10-Nano的HDMI显示

[复制链接]
发表于 2022-9-14 15:49:14 | 显示全部楼层 |阅读模式
本帖最后由 Doreen 于 2022-9-14 15:50 编辑

DE10-Nano_HDMI.jpg
1. GitHub开源项目

https://github.com/nhasbun/de10nano_vgaHdmi_chip

2.  项目介绍  


这是来自智利圣地亚哥的学员分享在GitHub上的一个开源项目。该项目旨在帮助新手在DE10-Nano上轻松部署第一个可工作的HDMI显示设计。项目基于Quartus Prime 17,内容包括:

  • Verilog HDL 文件
  • SDC TimeQuest 文件用于时序分析
  • Quartus 项目文件(完成引脚分配等)
  • ./src/下包含用于 vga 模块和同步信号的功能验证(在Active HDL 9.1上完成的仿真)的文件。


接下来将简略介绍DE10-Nano开发板HDMI硬件设计框架和开源工程设计框架,以便大家能更轻松的学习这个开源项目。

3. DE10-Nano HDMI硬件设计框架

大家知道 TMDS(Transition Minimized Differential Signaling) 是 HDMI 传输的基础。DE10-Nano开发板板载Analog Devices的ADV7513芯片,它能够直接将FPGA 内部的RGB 并行信号转换为TMDS信号输出给HDMI接口进行显示。

2.jpg

所以我们无需在FPGA 代码里面去实现TMDS算法,只需将FPGA内产生的 R G B 数据并行发送给ADV7513, ADV7513 会将这些并行数据编码为串行数据,再转成差分信号传出给HDMI接口即可。换句话说,ADV7513芯片能轻松让您的设计从普通VGA兼容到HDMI 1.4。

4. 开源工程设计框架  

该设计主要是在连接到DE10-Nano的HDMI 显示器上显示红绿蓝三色,通过DE10-Nano上的开关(SW)进行颜色切换。这里主要包括一个VGA数据输出模块vgaHdmi.v和一个配置ADV7513寄存器的模块I2C_HDMI_Config.v。vgaHdmi.v模块产生VGA数据经过ADV7513芯片自动转化为串行的带TMDS算法的差分数据输出给HDMI显示器进行显示。每次启动时,ADV7513需通过I2C_HDMI_Config.v模块进行配置才能正常工作。
640.png
其实,这里的I2C_HDMI_Config.v模块是学员直接移植了友晶科技随板参考案例 DE10-Nano_v.x.x.x_HWrevC_SystemCD\Demonstrations\FPGA\HDMI_TX 里面的I2C控制代码,关于该代码的解读可以参考笔记:
https://www.cnblogs.com/DoreenLiu/p/16480274.html[/url](ADV7513芯片控制解读)
https://www.cnblogs.com/DoreenLiu/p/16661299.html[/url](基于FPGA控制的ADV7513芯片的I2C代码解析)

5. 测试结果

先编译工程生成sof文件,然后连接HDMI显示器到DE10-Nano开发板并对开发板上电,最后下载sof文件。

1. 只将SW0往上拨,HDMI显示器显示红色;

2. 只将SW1往上拨,HDMI显示器显示绿色;

3. 只将SW2往上拨,HDMI显示器显示蓝色。

企业微信截图_16625145986181.png
 楼主| 发表于 2022-9-14 15:51:30 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|MyFPGA

GMT+8, 2024-3-28 18:35 , Processed in 0.047387 second(s), 18 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表