1. 实验要求
在FPGA上生成1280x720@60分辨率的视频信号,通过DE23-Lite的 HDMI输出到显示屏上进行显示,显示的内容是一个黑色方块每隔10ms移动一个像素位置,方块遇到边框自行回弹,屏幕背景为白色,屏幕边框为绿色。
2. 设计框图
根据实验要求分析可得出,想要控制ADV7513最终在HDMI显示器上显示画面,需要先配置ADV7513寄存器,配置通过I2C总线,该部分的控制原理在DE10-Nano相关案例教程里面(https://mp.weixin.qq.com/s/DpEgkPZmBlLgoRR00GO9qw)已经讲解过。
想要在HDMI显示器上显示边框,方块和白色背景,需要设计一个满足DMT时序的视频信号。
1280x720@60分辨率的像素时钟是74.25MHz,所以这里可调用Altera的PLL IP来生成这个时钟(系统时钟是50MHz)。
整个系统的设计框图如下所示:

3.代码实现
DE23_Lite和DE10-Nano 都采用ADV7513器件作为HDMI 发送器芯片,所以其代码实现可以直接参考DE10-Nano的教程:
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完整工程免费下载)
4. 硬件准备
DE23-Lite 开发板一套(包括电源和USB 线缆)
HDMI显示器一台
HDMI cable 一根
5. 软件安装
DE23-Lite开发板配备的是Agilex 3 器件,需要使用高版本的Quartus软件,建议使用Quartus 25.1及以上版本即可(本次移植使用的是Quartus25.3),安装步骤参考 :最新版Quartus Prime Pro 25.1 的安装和使用演示(含Questa仿真)
6.移植步骤
1. 将DE10-Nano 的 HDMI_block_move工程拷贝过来,用Quartus 25.3打开该工程。打开工程时选择Agilex 3:

2. 右击Agilex 3器件,点击Device, 修改器件为 A3CZ135BB18AE7S,然后点击OK。


3. 该工程之前的pll IP 是在其他低版本Quartus上产生的,现在需要删除之前例化的pll IP及所有文件, 重新生成Quartus 25.3 上的pll IP相关文件。在IP Catalog里面搜索pll 找到IOPLL,点击它:

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

5. 接着设置pll参数,在Reference Clock Frequency处填写50,在outclk0处填写74.25,然后点击Create HDL 结束pll的配置:

6. 确保如下这些文件都添加到了当前Project里面:

7. 按照下表完成DE23-Lite开发板工程的FPGA 引脚分配:

8. 点击全编译生成sof文件并下载到DE23-Lite开发板,就可以观察现象了。

7.实验现象

视频参考:
8.工程下载
通过网盘分享的文件:DE23_Lite_HDMI_block_move.rar
链接: https://pan.baidu.com/s/1Tq3V6lccIK_tyeuVE9aBmA 提取码: tera
全部0条评论
快来发表一下你的评论吧 !