news 2026/4/16 2:45:02

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
7-DE10-Nano的HDMI方块移动案例的整体实现(含Quartus完整工程免费下载)

1 实验要求


在FPGA上生成1280x720@60分辨率的视频信号,通过DE10-Nano的 HDMI输出到显示屏上进行显示,显示的内容是一个黑色方块每隔10ms移动一个像素位置,方块遇到边框自行回弹,屏幕背景为白色,屏幕边框为绿色。


2 设计框图


根据实验要求分析可得出,想要控制ADV7513最终在HDMI显示器上显示画面,需要先配置ADV7513寄存器,配置通过I2C总线,该部分的控制原理在前面(参考文末往期阅读的链接)已经讲解过。

想要在HDMI显示器上显示边框,方块和白色背景,需要设计一个满足DMT时序的视频信号。

1280x720@60分辨率的像素时钟是74.25MHz,所以这里可调用Altera的PLL IP来生成这个时钟(系统时钟是50MHz)。

整个系统的设计框图如下所示:

3 代码实现


(1)Top level代码


主要是例化PLL、HDMI显示和I2C控制三个模块。具体代码参考工程。

(2)HDMI控制器模块


HDMI控制器模块用于生成1280x720分辨率的视频信号,并在屏幕上显示一个每隔10ms移动的黑色方块,背景为白色,屏幕边框为绿色。

1. 首先是1280*720分辨率时序参数的设定。如下是行时序参数设定:

这些参数对应到时序如下图所示:

如下是场时序参数设定:

这些参数对应到时序如下图所示:


2. 实现行计数器和场计数器,用于跟踪当前像素位置,以及生成像素点横纵坐标:

3. 根据行场计数器生成行场同步信号:

4. 根据行场计数器生成像素点横纵坐标:


5. hdmi_ctrl模块的时钟是74.25MHz(1280*720@60对应的像素时钟),利用计数器产生10ms间隔:


6. 当方块移动到边界时,改变移动方向:


根据代码画出方向改变的框图示意图如下:


7. 根据方块移动方向,改变其纵横坐标:


8. 给不同的区域绘制不同的颜色:


(3)I2C控制模块

I2C控制模块直接参考本文第8.3章节(内容一模一样)。

4 硬件准备

  • DE10-Nano开发板一套(包括电源和USB 线缆)

  • HDMI显示器一台

  • HDMI cable 一根

5 软件安装

1. 进入Altera官网选择Quartus Prime Lite 17.1版本:

2. 点击Indicidual Files 找到Cyclone V的器件包并下载:

3. 往下继续找到Intel® Quartus® Software下载QuartusLiteSetup压缩包和ModelSimSetup压缩包(后续会有仿真章节):

4. 所有文件都下载完以后,双击QuartusLiteSetup-17.1.0.590-windows.exe文件进行安装。安装的过程中会默认选择一起安装Nios II IDE、ModelSim和Cyclone V器件包(未勾选时可自行勾选这些内容),建议安装的过程中所有默认设置都保留(除了安装路径自己选择外)。USB Blaster II驱动程序将在软件安装结束时提示安装。

6 操作步骤

1. 打开Quartus软件,点击File——New Project Wizard...

2. 点击Next:


3. 在如下对话框里面选择工程路径和工程名称:

4. 继续点击Next:


5. 继续点击Next:


6. 然后在如下对话框里面键入DE10-Nano对应的FPGA器件(5CSEBA6U23I7):


7. 点击Finish结束工程的创建:

8. 开始新建Top工程,点击File——New...

9. 选择Verilog HDL File 然后点击OK:

10. 编Verilog代码(代码可以参考随本文一起提供的工程)并保存为HDMI_block_move.v文件:

11. 用同样的方法新建.v文件,编Verilog代码(代码可以参考随本文一起提供的工程)并保存为hdmi_ctrl.v文件:

12. 将第八章节提到的I2C控制器所包含的三个.v文件拷贝到当前工程路径下:

13. 并将这三个文件添加到当前工程里面以便后面编译的时候会调用这三个文件,具体做法是点击Project——Add/Remove Files in Project..., 然后点击File Name旁边的...浏览到三个文件所在路径,选中这三个文件然后点击打开按钮:

14. 然后点击Apply和OK按钮结束工程文件的添加:

15. 接下来配置PLL IP,在IP Catalog里面搜索pll 找到Altera PLL,点击它:


16. 在出现如下的对话框里填入pll的名称为pll,然后点击OK:

17. 在Reference Clock Frequency处填写50,在outclk0处填写74.25,然后点击Finish结束pll的配置:

18. 等pll模块生成以后会弹出如下对话框,点击Yes将其添加到当前工程:

19. 这时FPGA电路设计基本完成,接下来是引脚分配,首先点击Start Analysis&Synthesis按钮对工程进行分析和综合,这样在后面引脚分配的时候信号端口才能出现:

20. 接下来参考DE10-Nano的 usermanual文档或者schematic文件来分配引脚,该工程引脚分配如下:


21. 引脚分配完成就点击Start Compilation按钮开始全编译工程:

22. 工程全编译结束后在HDMI_block_move\output_files路径下会产生HDMI_block_move.sof文件,接下来点击Programmer 按钮将此文件配置到FPGA里面去:


23. 点击Hardware Setup(在这之前记得用一根HDMI线缆连接HDMI显示器和DE10-Nano, 然后用一根Mini USB线连接PC和DE10-Nano, 然后给DE10-Nano开发板插上5V电源),选择DE-SoC[USB-1]端口,点击Close:

24. 点击Auto Detect,选择5CSEBA6,然后点击OK:

25. 如果出现如下窗口,点击Yes:

26. 此时系统会出现两个器件,一个是SOCVHPS, 一个是5CSEBA6U23,鼠标右击5CSEBA6U23选择Change File:

27. 浏览到HDMI_block_move.sof路径下选择该文件,然后点击Open:

28. 点选如下复选框,然后点击Start开始FPGA 文件配置:

29. 当Progress进度条显示100%(颜色变绿了)代表FPGA配置完成:


7 实验现象

可以观察到HDMI显示器上有个绿色边框,中间背景为白色,有个黑色小方块在屏幕中移动:

实验现象

HDMI_block_move工程下载链接: https://pan.baidu.com/s/1LwQjqLpmZMl5IkvTgzo-3w 提取码: tera

往期阅读

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控制器

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/12 0:02:06

‌测试工程师职业发展路线图:从入门到专家的全面指南

在快速迭代的软件行业,测试工程师扮演着质量守护者的关键角色。截至2026年,随着AI和DevOps的普及,测试领域正经历深刻变革。 ‌一、初级测试工程师:夯实基础,开启职业生涯(0-2年)‌ 初级阶段是…

作者头像 李华
网站建设 2026/4/11 19:33:50

告别全能扫描王!本地化AI文档扫描镜像使用避坑指南

告别全能扫描王!本地化AI文档扫描镜像使用避坑指南 1. 引言 在日常办公与学习中,纸质文档的数字化需求日益增长。传统拍照方式常因拍摄角度倾斜、光照不均或背景干扰导致图像质量差,影响后续阅读与归档。市面上主流的“全能扫描王”类应用虽…

作者头像 李华
网站建设 2026/4/6 20:34:59

微博开源VibeThinker-1.5B部署全流程:从镜像拉取到网页调用

微博开源VibeThinker-1.5B部署全流程:从镜像拉取到网页调用 1. 简介与技术背景 1.1 小参数模型的推理能力突破 近年来,大语言模型在数学推理和代码生成任务中展现出惊人能力,但其高昂的训练与推理成本限制了广泛应用。微博推出的 VibeThin…

作者头像 李华
网站建设 2026/4/5 1:59:56

5个开源动漫转换模型测评:AnimeGANv2为何脱颖而出?

5个开源动漫转换模型测评:AnimeGANv2为何脱颖而出? 1. 引言:AI驱动的二次元风格迁移热潮 随着深度学习在图像生成领域的持续突破,照片到动漫风格迁移(Photo-to-Anime Translation)已成为AI创意应用的重要…

作者头像 李华
网站建设 2026/3/26 12:59:09

AnimeGANv2部署教程:支持人脸优化的二次元风格迁移方案

AnimeGANv2部署教程:支持人脸优化的二次元风格迁移方案 1. 章节概述 随着深度学习在图像生成领域的持续突破,AI驱动的风格迁移技术正逐步走入大众视野。其中,AnimeGANv2 作为专为“照片转动漫”设计的轻量级生成对抗网络(GAN&am…

作者头像 李华
网站建设 2026/4/16 0:48:10

AnimeGANv2入门指南:零代码实现照片动漫化转换

AnimeGANv2入门指南:零代码实现照片动漫化转换 1. 学习目标与前置知识 本文旨在为初学者提供一份完整的 AnimeGANv2 入门教程,帮助你无需编写任何代码即可实现真实照片到二次元动漫风格的高质量转换。通过本指南,你将掌握: 如何…

作者头像 李华