用Xilinx的FPGA实现HDMI(DVI)接收器

1. 问题-HDMI接收器

1.1 ADV7511

一般来说,如果要使用HDMI作为视频收发协议的话,会配置关于HDMI的编解码芯片。常见的有ADV7511(HDMI发送器)和ADV7611(HDMI接收器)。这样开发者关于HDMI的设计部分可以转化为与HDMI接收或者发送芯片的数据交互。利用FPGA进行设计时,有的FPGA有HDMI接口,却没有HDMI编解码芯片。这个时候要如何使用HDMI接口呢?
一种方案是通过FMC接口外置HDMI模块子卡,这样就可以使用上HDMi编解码芯片。另外一种方案,可以使用FPGA内置的HDMi的IP。接下来我将介绍利用Xilinx的IP实现HDMI接收器。
对于HDMI发送器的部分,当然也可以利用Xilinx的IP实现。

2. HDMI(DVI)接收器

2.1 IP的设置

本文使用的是digilent公司的genesys2开发板,使用的是digilent公司提供的IP。这里需要注意的是当你安装vivado的时候,digilent公司的IP不会集成在vivado的IP中,需要开发者自己手动下载,并添加到vivado中。

2.2 IP设置如下


首先要设置TMDS的工作频率。最重要的是要使能Enable DDC ROM,它会设置DVI接收端可以接受的分辨率,与DVI发送端连接时,发送端会自动从接收端读取接收端可以处理的分辨率。按照这个分辨率发送数据。如果不使能Enable DDC ROM,发送端将无法检测到HDMI接收端,无法发送数据。

3. HDMI转VGA

下面代码是一个简易的HDMI—VGA转换器。FPGA设置好后,连接到PC端,再将FPGA连接到一个VGA显示器,图片信息就会从PC端发出,经由FPGA,显示在VGA显示器上。


```handlebars
module  hdmi_input(
input             clk_in1_n,
input             clk_in1_p,
input             sys_rst,      //高电平复位//dvi接口input TMDS_Clk_p,input TMDS_Clk_n               ,input [2:0]TMDS_Data_p         ,input [2:0]TMDS_Data_n         ,inout   DDC_0_scl_io,inout    DDC_0_sda_io,output   hpa,output   led1                  ,output               vga_hsync,output                vga_vsync,output[4:0]           vga_r,output[5:0]           vga_g,output[4:0]           vga_b  );wire  rst;
wire     clk_200m;
wire     locked;
assign  hpa = 1;
wire SDA_I ;
wire SDA_O ;
wire SDA_T ;
wire SCL_I ;
wire SCL_O ;
wire SCL_T ;wire [23:0]vid_pData;
wire vid_pVDE;
wire  vid_pHSync;
wire  vid_pVSync;wire  PixelClk;wire  aPixelClkLckd;
reg   pRst;reg [10:0]   hcnt;
reg [9:0]    ycnt;
sys_rst_hdmi     u_sys_rst(
.rst       (rst),
.sys_rst   (!locked & sys_rst),
.clk       (clk_200m));clk_hdmi   u_clk_hdmi(.clk_200m            (clk_200m)  ,.reset               (sys_rst)   ,.locked              (locked)    ,.clk_in1_p           (clk_in1_p) ,.clk_in1_n           (clk_in1_n));IOBUF DDC_0_scl_iobuf(.I(SCL_O),.IO(DDC_0_scl_io),.O(SCL_I),.T(SCL_T));IOBUF DDC_0_sda_iobuf(.I(SDA_O),.IO(DDC_0_sda_io),.O(SDA_I),.T(SDA_T));
dvi2rgb_0  u_dvi2rgb(.TMDS_Clk_p                       (TMDS_Clk_p),.TMDS_Clk_n                       (TMDS_Clk_n),.TMDS_Data_p                      (TMDS_Data_p),.TMDS_Data_n                      (TMDS_Data_n),.RefClk                           (clk_200m),.aRst                             (rst),.vid_pData                        (vid_pData),    //输出数据.vid_pVDE                         (vid_pVDE),     //数据有效使能信号.vid_pHSync                       (vid_pHSync),.vid_pVSync                       (vid_pVSync),.PixelClk                         (PixelClk),.aPixelClkLckd                    (aPixelClkLckd),.SDA_I                            (SDA_I),.SDA_O                            (SDA_O),.SDA_T                            (SDA_T),.SCL_I                            (SCL_I),.SCL_O                            (SCL_O),.SCL_T                            (SCL_T), .pRst                             (pRst)
);
always@(posedge PixelClk)
beginpRst <=  rst;
end
assign vga_hsync = vid_pHSync;
assign vga_vsync = vid_pVSync;
assign vga_r  = vid_pData[23:19];assign      vga_g  = vid_pData[15:10];assign      vga_b  = vid_pData[7:3];endmodule

用Xilinx的FPGA实现HDMI(DVI)接收器相关推荐

  1. 基于 FPGA 的 HDMI/DVI 显示

    文章目录 前言 一.HDMI 与 DVI 的区别与联系 1.1 DVI 接口含义 1.2 HDMI 接口含义 1.3 HDMI 与 DVI 的区别 1.4 HDMI 与 DVI 的兼容性 1.5 HD ...

  2. 202- K7 +C6678学习资料:基于TI DSP TMS320C6678、Xilinx K7 FPGA XC7K325T的高速数据处理核心板

    基于TI DSP TMS320C6678.Xilinx K7 FPGA XC7K325T的高速数据处理核心板 一.板卡概述 该DSP+FPGA高速信号采集处理板由我公司自主研发,包含一片TI DSP ...

  3. C6678板卡学习资料:202-基于TI DSP TMS320C6678、Xilinx K7 FPGA XC7K325T的高速数据处理核心板

    一.板卡概述 该DSP+FPGA高速信号采集处理板由我公司自主研发,包含一片TI DSP TMS320C6678和一片Xilinx FPGA K7 XC72K325T-1ffg900.包含1个千兆网口 ...

  4. 202-基于TI DSP TMS320C6678、Xilinx K7 FPGA XC7K325T的高速数据处理核心板

    基于TI DSP TMS320C6678.Xilinx K7 FPGA XC7K325T的高速数据处理核心板 一.板卡概述 该DSP+FPGA高速信号采集处理板由我公司自主研发,包含一片TI DSP ...

  5. 基于FPGA的HDMI输出接口设计

    基于FPGA的HDMI输出接口设计 HDMI接口简述 HDMI协议简述 HDMI接口设计 HDMI代码 总结 HDMI接口简述 HDMI接口是现在特别常用的音视频接口,另一个常用的视频流接口是VGA接 ...

  6. 第 4 代 4 端口 HDMI/DVI 分配器龙迅LT86104SXE

    1. 描述 龙迅LT86104SXE 是 Lontium 的第 4 代 4 端口 HDMI/DVI 分配器,可将一个 HDMI/DVI 信号重复为 4 个 HDMI/DVI 信号集,支持多达 4 个不 ...

  7. 龙迅LT86102SXE 是 Lontium 的第 4 代 2 端口 HDMI/DVI 分配器

    1. 说明 龙迅LT86102SXE 是 Lontium 的第 4 代 2 端口 HDMI/DVI 分配器,可将一个 HDMI/DVI 信号重复到 2 个 HDMI/DVI 信号集,支持多达 2 个不 ...

  8. FPGA实现HDMI接口

    作者 QQ群:852283276 微信:arm80x86 微信公众号:青儿创客基地 B站:主页 https://space.bilibili.com/208826118 参考 用FPGA实现HDMI ...

  9. 基于FPGA的HDMI显示(二)

    基于FPGA的720P HDMI显示 1.4.1 HDMI 硬件电路分析   本次设计采用了 IO 模拟的方式实现 HDMI 的功能.与采用专用 HDMI 芯片相比,此方案具有成本更低.效果不输于采用 ...

最新文章

  1. BERT拿下最佳长论文奖!NAACL 2019最佳论文奖公布
  2. android 无埋点 简书,无埋点README
  3. GUID和自增ID的比较_delete
  4. java中让数据生成excle文件并且支持下载
  5. Linux下V4L2编程小结
  6. Geany——Python配置
  7. Spring4.x(2)--SpringIOC的概念和作用
  8. python机器学习库sklearn——神经网络
  9. jquery提交表单_jQuery提交表单
  10. [渝粤教育] 西南科技大学 材料力学 在线考试复习资料
  11. 光猫修改rms服务器地址大全,光猫服务器dns怎么设置教程
  12. 如何进行企业设备管理?
  13. c语言error函数的使用方法,IsError_Excel中iserror函数的使用方法
  14. 【毕业设计】翻译词霸的实现
  15. android 收税计算器,个人所得税计算器2021
  16. C++设计模式-中介者模式详解
  17. 线程的故事(了解线程生命周期)
  18. 跨境电商| FaceBook 群发消息
  19. 公司给股票期权,我买还是不买?
  20. 算法设计与分析------蛮力法

热门文章

  1. 数据挖掘考前30分钟必看(2.0版本)
  2. 本地apk安装是什么意思_移动端爬虫-安装模拟器
  3. SCSI与USB的关系
  4. 解决Mac电脑连不上wifi的问题
  5. linux怎么添加跃点数,Windows 7修改静态路由表的跃点数
  6. 强化学习(一):概述
  7. OJ每日一练——角谷猜想
  8. 译文:dBA和dBC的不同
  9. 【HTML】HTML网页设计---海贼王动漫网页设计
  10. 给博士一年级新生的建议!