[X]关闭

RGB 转 HDMI实现2k30传输

文档创建者:fpga-02
浏览次数:2940
最后更新:2023-07-26
本帖最后由 fpga-02 于 2022-10-17 13:13 编辑

软件版本:vitis2021.1(vivado2021.1)
操作系统:WIN10 64bit
硬件平台:适用XILINX A7/K7/Z7/ZU/KU系列FPGA
登录米联客”FPGA社区-www.uisrc.com视频课程、答疑解惑!
1概述
本实验通过FPGA内部资源实现HDMI协议,使用HDMI直接驱动HDMI接口显示器,实现HDMI输出2k@30fps的视频图像。
2系统框图


3顶层调用接口源码
  1. `timescale 1 ps / 1 ps
  2. module display(
  3. input  clk_i,
  4. output HDMI_CLK_P,
  5. output HDMI_CLK_N,
  6. output [2:0]HDMI_TX_P,
  7. output [2:0]HDMI_TX_N
  8. );
  9. wire vid_rst,vid_clk,vid_vs,vid_hs,vid_de;
  10. wire pclkx1,pclkx5,locked;
  11. wire [7 :0]        rgb_r ,rgb_g ,rgb_b;
  12. assign vid_clk = pclkx1;
  13. assign vid_rst = locked;
  14. clk_wiz_0 clk_wiz0_inst(.clk_out1(pclkx1),.clk_out2(pclkx5),.locked(locked),.clk_in1(clk_i));
  15. uihdmitx #
  16. (
  17. .FAMILY("7FAMILY")                        
  18. )
  19. uihdmitx_inst
  20. (
  21. .RSTn_i(locked),
  22. .HS_i(vid_hs),
  23. .VS_i(vid_vs),
  24. .VDE_i(vid_de),
  25. .RGB_i({rgb_r,rgb_g,rgb_b}),
  26. .PCLKX1_i(pclkx1),
  27. .PCLKX2_5_i(1'b0),
  28. .PCLKX5_i(pclkx5),
  29. .TMDS_TX_CLK_P(HDMI_CLK_P),
  30. .TMDS_TX_CLK_N(HDMI_CLK_N),
  31. .TMDS_TX_P(HDMI_TX_P),
  32. .TMDS_TX_N(HDMI_TX_N)
  33. );
  34. uivtc#
  35. (
  36. .H_ActiveSize(2560),
  37. .H_SyncStart(2560+30),
  38. .H_SyncEnd  (2560+30+50),
  39. .H_FrameSize(2560+30+50+80),
  40. .V_ActiveSize(1440),
  41. .V_SyncStart(1440+3),
  42. .V_SyncEnd (1440+3+5),
  43. .V_FrameSize(1440+3+5+23)
  44. )
  45. uivtc_inst
  46. (
  47. .vtc_rstn_i(vid_rst),
  48. .vtc_clk_i(vid_clk),
  49. .vtc_vs_o(vid_vs),
  50. .vtc_hs_o(vid_hs),
  51. .vtc_de_o(vid_de)        
  52. );
  53. uitpg uitpg_inst        
  54. (
  55. .tpg_rstn_i(vid_rst),
  56. .tpg_clk_i(vid_clk),
  57. .tpg_vs_i(vid_vs),
  58. .tpg_hs_i(vid_hs),
  59. .tpg_de_i(vid_de),
  60. .tpg_vs_o(),
  61. .tpg_hs_o(),
  62. .tpg_de_o(),        
  63. .tpg_data_o({rgb_r,rgb_g,rgb_b})               
  64. );
  65. endmodule
复制代码
PLL 时钟设置
对于 PLL 的设置需要产生 1:5 的时钟,对于演示 demo 2560x1440的设置如下:

4:VTC 参数设置
具体内容阅读《3-1-01米联客2022ZYNQ FPGA课程基础篇》 第22课相关内容,这里针对 120M PCLK 参数如下:
.H_ActiveSize(2560),
.H_SyncStart(2560+30),
.H_SyncEnd  (2560+30+50),
.H_FrameSize(2560+30+50+80),
.V_ActiveSize(1440),
.V_SyncStart(1440+3),
.V_SyncEnd (1440+3+5),
.V_FrameSize(1440+3+5+23)


5:下载演示
fpga 工程的创建过程参考基础篇,下载程序前,先确保 FPGA 工程已经编译。
这里以MK7325FB 开发板 作为演示 demo。请确保下载器和开发板已经正确连接,并且开发板已经上电(注意 JTAG 端子不支持热插拔,而 USB 接口支持, 所以在不通电的情况下接通好 JTAG 后,再插入USB 到电脑,之后再上电,以免造成 JTAG IO 损坏)

显示器循环输出测试图形







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

发表评论已发布 4

bzyomvtj

发表于 2023-5-3 13:30:04 | 显示全部楼层

"Sometime ever, sometime never. 相聚有时,后会无期。,福彩3DBe cheerful and hopeful. 乐观向上,充满希望。
Make each day your masterpiece. 让每一天成为你的杰作。 体彩排列3,Only they who fulfill their duties in everyday matters will fulfill them on great occasions. 只有在日常生活中尽责的人才会在重大时刻尽责。
Genius is an infinite capacity for taking pains. 所谓的天才是不断地承受痛楚。 快乐8,Quitters never win and winners never quit. 退缩者永无胜利,胜利者永不退缩No fear of words, no fear of years. 不惧人言,不畏岁月。,彩票app"


云淡海阔

发表于 2023-7-26 13:39:28 | 显示全部楼层

4K30HZ 的 IO 带宽 差不多1.5G 已经超出 K系列的 IO带宽了吧

云淡海阔

发表于 2023-7-26 13:40:31 | 显示全部楼层

看错了 是2k
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则