FPGA使用HDMI更多时候用于传输图像数据,并不会传输音频数据,因此以下文章均采用DVI接口协议,HDMI与DVI的视频传输协议基本一致,区别也很小。
首先需要了解HDMI的来源,以及物理接口类型以及引脚信号,最后对几款FPGA开发板的HDMI接口进行对比分析各个引脚的含义,以及控制时序和电路设计。
读者需要了解如何控制HDMI接口的双向传输、热插拔、供电等等信息。
HDMI接口信号流向及原理图分析
了解HDMI接口和原理图之后,需要分析TMDS算法的原理及实现,下文对DVI接口的TMDS算法每一个步骤都进行了详细讲解,精确到每个判断条件的含义,应该所有人都能看懂。
最后通过Verilog HDL实现了TMDS算法,并且通过了仿真,方便后文直接使用该编码模块。
TMDS算法原理及Verilog HDL实现(附带源代码及仿真激励文件)
下文使用FPGA读取ROM存储的图像数据在HDMI显示器上进行显示,主要讲解图像扫描模块与HDMI驱动模块的搭建,会使用ODDR、OBUFDS原语。
基于FPGA的HDMI编码模块设计(包含工程源文件)
上面这篇文章使用ODDR加用户逻辑实现HDMI驱动,下文通过OSERDESE直接实现并串转换和双沿转换,使得用户逻辑更加简单。
基于FPGA的HDMI编码模块设计——OSERDESE2
这篇文章对HDMI驱动模块进行封装,将OV7725摄像头采集的数据,经过DDR3存储之后,显示在HDMI显示器上。应用到了DDR3的MIG IP和HDMI相关知识。
基于FPGA的OV7725摄像头的HDMI显示(含源码)
这篇文章是上位机通过千兆以太网向FPGA传输图像数据,千兆网使用UDP协议接收传输的数据,将数据存储在DDR3中,之后显示在HDMI显示器上。
基于FPGA的以太网传输图片通过HDMI显示(含源码)
目前HDMI显示器相关知识就这么多,都是把HDMI接口用作输出,关于输入的相关知识,在我有两个HDMI接口的板子之后进行验证。或者HDMI接口数据,通过千兆网传输到上位机显示也行,最近在写GTX相关知识,也没有时间,后续再说吧。
放一张图片作封面!!!!
如果对文章内容理解有疑惑或者对代码不理解,可以在评论区或者后台留言,看到后均会回复!
如果本文对您有帮助,还请多多点赞👍、评论💬和收藏⭐!您的支持是我更新的最大动力!将持续更新工程!