六、基于 A7 的 DDR3 与 HDMI 连接器(直接从ddr3中读出数据在hdmi显示)

本项目通过FPGA实现DDR3 SDRAM数据读出并经HDMI显示,采用异步FIFO解决时钟域问题。在FIFO参数设置中,写位宽为128bit,读位宽为16bit,深度为512,以保证HDMI至少1.5行像素数据。FPGA设计中关注缓存写入和读出条件,以及HDMI差分信号的TMDS_33电平标准与管脚绑定策略。
摘要由CSDN通过智能技术生成

前言:前文中,我们实现了控制DDR3 SDRAM的读写操作,本项目将会把 DDR3 SDRAM 中原始的数据读出,并通过 HDMI 接头显示在显示器上,图片的分辨率选择 1024x768@60Hz,1pixel=24bit。

1.总框架介绍与结构框图设计

由于 DDR3 SDRAM 读出的数据所在的时钟域和 HDMI 的时钟域不同,需要进行数据的跨时钟域处理

因此我们需要在 DDR3 SDRAM 和 HDMI 之间加入一个fifo缓存器。
在这里插入图片描述
由于 HDMI 端每次至少会连续的需求一行的数据量,为了 HDMI 能够从 fifo 中取出足够的数据,我们需要保证该缓存 fifo 中存有的数据量不能少于 HDMI 所需求的一行数据,因此每当缓存器 fifo 中的数据量低于 HDMI 所需的一行数据时,我们就应该启动DDR3 SDRAM 的读,并将读出的数据输入到缓存器中,下图为 DDR3 SDRAM的读数据流程图。
在这里插入图片描述

问:如何确保数据(像素)被hdmi显示在正确的位置上呢?
答:除了缓存数据量的问题,还需要注意像素点和扫描区域匹配的问题
在这里插入图片描述

所以我们读取 fifo 时需要满足三个条件:(Assign rd_fifo_en=h_active_flag & v_active_flag )
1、缓存 fifo 内够 1.5 行的像素点个数;
2、Vga 扫描到显示区域;
3、新的一行的开始位置。

结构框图设计:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值