ZYNQ_HDMI显示

简介:

HDMI 是新一代的多媒体接口标准,英文全称是High-Definition Multimedia Interface,即高清多媒体接口。它能够同时传输视频和音频,简化了设备的接口和连线;同时提供了更高的数据传输带宽,可以传输 无压缩的数字音频及高分辨率视频信号。HDMI 1.0 版本于 2002 年发布,最高数据传输速度为 5Gbps;而 2017 年发布的HDMI 2.1 标准的理论带宽可达 48Gbps

参考资料:(22条消息) FPGA纯verilog手写HDMI发送IP 提供源码和技术支持_fpga ip源码_9527华安的博客-CSDN博客

正点原子hdmi彩条显示例程

显示原理:

 

一个hdmi显示系统由发送端和接收端组成。4个通道对应硬件上的4对差分信号(三对视频数据信号,一对时钟信号)。一个ddc通道(类似IIC),发送端可以通过此通道读取接收端的显示模式等相关信息。将控制信号和视频数据信号转化成四对差分信号传输的技术称为TMDS:

接口定义:

引脚1、4、7,3、6、9共同组成了三对差分信号对。中间的引脚2、5、8作为数据屏蔽

引脚10、11、12组成了一对时钟差分对

13脚CEC:保留的信号引脚,在工业用途上会使用。

17脚DDC:身份识别

硬件电路:

 (这是正点原子启明星V2的拓展板HDMI原理图)

TMDS技术:

名称:最小化传输差分信号(Transition Minimized Differential Signaling)

发送端将接收到的8为并行数据转化成串行数据,

TMDS技术的优点:

相比于LVDS与TTL技术,TMDS算法可以减少传输信号过程中的上冲和下冲。直流平衡使信号对信号线的电磁干扰减少。可以使用低成本的专用电缆实现长距离,高质量的数字信号传输。

TMDS传输原理

算法流程图:

其中:

1、视频数据8bit到10bit的转换

通过异或或者异或非运算逻辑运算得到前8位数据,第9位是编码位的添加,第十位是

直流均衡的处理 (保证这10位数据中1和0的个数相同)。

2、并行数据转化为差分信号

程序设计:

系统框图:

程序文件

1,hdmi_color_bar_top.v 顶层模块

1),端口包含:系统时钟与复位,三对RGB差分信号线,一对TMDS时钟差分信号线,一个TMDS输出使能信号(TMDS_oen)。

module  hdmi_colorbar_top(

    input        sys_clk,

    input        sys_rst_n,

   

    output       tmds_clk_p,    // TMDS 时钟通道

    output       tmds_clk_n,

    output [2:0] tmds_data_p,   // TMDS 数据通道

    output [2:0] tmds_data_n,

    output       tmds_oen       // TMDS 输出使能

);

 

2),例化的模块:

//例化MMCM/PLL IP核

clk_wiz_0  clk_wiz_0(

    .clk_in1        (sys_clk),

    .clk_out1       (pixel_clk),        //像素时钟

    .clk_out2       (pixel_clk_5x),     //5倍像素时钟

   

    .reset          (~sys_rst_n),

    .locked         (clk_locked)

);

作用:使用MMCM ip核产生其他模块所需的时钟信号

//例化视频显示驱动模块

video_driver u_video_driver(

    .pixel_clk      (pixel_clk),

    .sys_rst_n      (sys_rst_n),

    .video_hs       (video_hs),

    .video_vs       (video_vs),

    .video_de       (video_de),

    .video_rgb      (video_rgb),

    .pixel_xpos     (pixel_xpos_w),

    .pixel_ypos     (pixel_ypos_w),

    .pixel_data     (pixel_data_w)

    );

作用:产生彩条图案数据

 

//例化视频显示模块

video_display  u_video_display(

    .pixel_clk      (pixel_clk),

    .sys_rst_n      (sys_rst_n),

    .pixel_xpos     (pixel_xpos_w),

    .pixel_ypos     (pixel_ypos_w),

    .pixel_data     (pixel_data_w)

    );

作用:产生行场同步信号时序

//例化HDMI驱动模块

dvi_transmitter_top u_rgb2dvi_0(

    .pclk           (pixel_clk),

    .pclk_x5        (pixel_clk_5x),

    .reset_n        (sys_rst_n & clk_locked),

               

    .video_din      (video_rgb),

    .video_hsync    (video_hs),

    .video_vsync    (video_vs),

    .video_de       (video_de),

               

    .tmds_clk_p     (tmds_clk_p),

    .tmds_clk_n     (tmds_clk_n),

    .tmds_data_p    (tmds_data_p),

    .tmds_data_n    (tmds_data_n),

    .tmds_oen       (tmds_oen)

    );

作用:并串转换

 

 

oserdese2并串转换器:

在xlinx7系列的fpga中提供了专用的并串转换器:oserdese2,它还可以实DDR(双倍数据速率)的功能

OBUFDS:差分输出转换器

用于将来自FPGA内部逻辑的信号转换成差分信号输出,并支持TMDS电平标准

RGB2DVI模块框图:

  • 13
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值