HDMI RGB_TO_DVI模块
HDMI RGB_TO_DVI模块
一、模块简介
在HDMI视频数据传输过程中,将24位的RGB888格式的图像,在编码和并串转换后,以TMDS数据输出至HDMI。HDMI_Encoder模块负责对数据进行编码,HDMI_Serializer模块对编码后的数据进行并串转换,最后通过OBUFDS转化成TMDS差分信号传输。
二、逻辑代码
module HDMI_RGBtoDVI(input wire [00:00] i_pixel_clk , //像素数据输入时钟input wire [00:00] i_pixel_5_clk , //像素数据输出shizhonginput wire [00:00] i_rst_n , //复位时钟,低有效 input wire [23:00] i_pixel_data , //像素输入数据input wire [00:00] i_hsync , //行同步数据input wire [00:00] i_vsync , //场同步数据input wire [00:00] i_de , //像素数据有效信号output wire [02:00] o_tmds_data_p , //TMDS数据信号output wire [02:00] o_tmds_data_n ,output wire [00:00] o_tmds_clk_p , //TMDS时钟信号output wire [00:00] o_tmds_clk_n , output wire [00:00] o_tmds_en //TMDS使能信号);reg [00:00] rst_temp1 ;reg [00:00] rst_temp2 ; wire [00:00] sys_rst ; //异步复位信号,高有效wire [00:00] tmds_data_r ;wire [00:00] tmds_data_g ;wire [00:00] tmds_data_b ;wire [00:00] tmds_clk ;wire [09:00] tmds_red ;wire [09:00] tmds_green ;wire [09:00] tmds_blue ;wire [09:00] tmds_clk_bit ;assign o_tmds_en = 1'b1;assign tmds_clk_bit = 10'b11_1110_0000; //同步信号,异步复位,高有效assign sys_rst = rst_temp2;always@(posedge i_pixel_clk or negedge i_rst_n)beginif(!i_rst_n)beginrst_temp1 <= 1'b1;rst_temp2 <= 1'b1;endelse beginrst_temp1 <= 1'b0;rst_temp2 <= rst_temp1;endendOBUFDS #(.IOSTANDARD("TMDS33"), // Specify the output I/O standard.SLEW("SLOW") // Specify the output slew rate)OBUFDS_inst_r (.O(o_tmds_data_p[2]), // Diff_p output (connect directly to top-level port).OB(o_tmds_data_n[2]), // Diff_n output (connect directly to top-level port).I(tmds_data_r) // Buffer input); OBUFDS #(.IOSTANDARD("TMDS33"), // Specify the output I/O standard.SLEW("SLOW") // Specify the output slew rate)OBUFDS_inst_g (.O(o_tmds_data_p[1]), // Diff_p output (connect directly to top-level port).OB(o_tmds_data_n[1]), // Diff_n output (connect directly to top-level port).I(tmds_data_g) // Buffer input); OBUFDS #(.IOSTANDARD("TMDS33"), // Specify the output I/O standard.SLEW("SLOW") // Specify the output slew rate)OBUFDS_inst_b (.O(o_tmds_data_p[0]), // Diff_p output (connect directly to top-level port).OB(o_tmds_data_n[0]), // Diff_n output (connect directly to top-level port).I(tmds_data_b) // Buffer input); OBUFDS #(.IOSTANDARD("TMDS33"), // Specify the output I/O standard.SLEW("SLOW") // Specify the output slew rate)OBUFDS_inst_clk (.O(o_tmds_clk_p), // Diff_p output (connect directly to top-level port).OB(o_tmds_clk_n), // Diff_n output (connect directly to top-level port).I(tmds_clk) // Buffer input); HDMI_Encoder HDMI_Encoder_b(.i_pixel_clk (i_pixel_clk ) , .i_rst (sys_rst ) , .i_data (i_pixel_data[07:00]) , .i_de (i_de ) , .i_ctrl_1 (i_hsync ) , .i_ctrl_2 (i_vsync ) , .o_data (tmds_blue ) ); HDMI_Encoder HDMI_Encoder_g(.i_pixel_clk (i_pixel_clk ) , .i_rst (sys_rst ) , .i_data (i_pixel_data[15:08]) , .i_de (i_de ) , .i_ctrl_1 (1'b0 ) , .i_ctrl_2 (1'b0 ) , .o_data (tmds_green ) ); HDMI_Encoder HDMI_Encoder_r(.i_pixel_clk (i_pixel_clk ) , .i_rst (sys_rst ) , .i_data (i_pixel_data[23:16]) , .i_de (i_de ) , .i_ctrl_1 (1'b0 ) , .i_ctrl_2 (1'b0 ) , .o_data (tmds_red ) ); HDMI_Serializer HDMI_Serializer_r(.i_pixel_clk (i_pixel_clk ) , .i_pixel_5_clk (i_pixel_5_clk) , .i_rst (sys_rst ) , .i_pixel_data (tmds_red ) , .o_pixel_data (tmds_data_r ) ); HDMI_Serializer HDMI_Serializer_g(.i_pixel_clk (i_pixel_clk ) , .i_pixel_5_clk (i_pixel_5_clk) , .i_rst (sys_rst ) , .i_pixel_data (tmds_green ) , .o_pixel_data (tmds_data_g ) ); HDMI_Serializer HDMI_Serializer_b(.i_pixel_clk (i_pixel_clk ) , .i_pixel_5_clk (i_pixel_5_clk) , .i_rst (sys_rst ) , .i_pixel_data (tmds_blue ) , .o_pixel_data (tmds_data_b ) ); HDMI_Serializer HDMI_Serializer_clk(.i_pixel_clk (i_pixel_clk ) , .i_pixel_5_clk (i_pixel_5_clk) , .i_rst (sys_rst ) , .i_pixel_data (tmds_clk_bit ) , .o_pixel_data (tmds_clk ) );
endmodule
HDMI RGB_TO_DVI模块相关推荐
- FPGA极速入门(持续更新)
第一章:VERILOG速览 关于参数与符号: 1.1 数值表示:以8'b10_110_110为例,8指的是位宽,b指的是数据类型为2进制,可以用下划线或者空格作数值分隔,不影响数值大小.此外,字符串类 ...
- FPGA设计——CMOS摄像与HDMI显示(DVP版)
1. 概述 本设计采用FPGA技术,将CMOS摄像头(DVP接口)的视频数据经过采集.存储.处理.帧率转换,最终通过HDMI接口显示在电视屏幕上. 2. 硬件系统框图 CMOS采用分辨率为1080p的 ...
- rk3566 HDMI 热插拔HDMI显示无信号
环境: rk3566 android11 kernel 内核版本,4.19.172 问题描述: hdmi热插拔相关的问题,当插入HDMI 系统开机启动,并正常运行,HDMI有显示且显示正常,进行热插拔 ...
- MS2109高清采集卡 HDMI转USB2.0免驱,支持MJPEG YUV数据格式 demo原理图介绍
MS2109是一款高清视频采集芯片,内部集成USB2.0控制器和数据收发模块.HDMI RX模块和音视频处理模块.MS2109可以将HDMI 接口输出的音视频信号通过USB 接口传送到PC.智能手机或 ...
- MS2109/HDMI转USB2.0高清视频采集
一.基本介绍 MS2109是一款高清视频采集芯片,内部集成USB2.0控制器(今年会更新推出USB3.0)和数据收发模块.HDMI RX模块和音视频处理模块.MS2109可以将HDMI接口输出的音视频 ...
- 【正点原子FPGA连载】第四十四章MT9V034摄像头HDMI显示实验 -摘自【正点原子】新起点之FPGA开发指南_V2.1
1)实验平台:正点原子新起点V2开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=609758951113 2)全套实验源码+手册+视频下载地址:ht ...
- USB 高清视频采集芯片HDMI转USB2.0
MS2109 是一款高清视频采集芯片,内部集成了 USB2.0 控制器和数据收发模块.HDMI RX模块,音视频处理模块,MS2109 可以将 HDMI 接口输出的音视频信号,通过 USB 接口传送 ...
- HDMI转USB--------HDMI采集卡
HDMI转USB--------HDMI采集卡 MS2109 是一款高清视频采集芯片,内部集成了 USB2.0 控制器和数据收发模块.HDMI RX模块,音视频处理模块,MS2109 可以将 HDMI ...
- FPGA虚拟三阶魔方(HDMI显示版)
目录 编辑 一.设计概述 二.设计模块 1.三阶魔方建模 (1)魔方基本操作: (2)魔方建模: 2.魔方转动控制: (1)控制概述: (2)按键消抖: (3)魔方控制: 3.HDMI显示模块: ( ...
最新文章
- [BZOJ1857][Scoi2010]传送带
- socket.io的基本使用
- 将新更新从原始GitHub存储库中提取到派生的GitHub存储库中
- python 语言-Python的语言特点
- 数据分析_SQL数据分析--旅游数据分析可视化实操
- linux关机_Linux中shutdown,halt,poweroff,init 0区别
- php 的cookie设置时间,php cookie时间设置的方法
- 超声波的四个特性_超声波传感器,超声波的特性
- 阶段1 语言基础+高级_1-3-Java语言高级_05-异常与多线程_第2节 线程实现方式_11_Thread类的常用方法_sleep...
- AD19---彻底解决原理图转PCB时,出现failed to add class member及Unknown Pin的问题
- Lasergene DNASTAR 8.1.3 特别版 Mac 专业的医学生物综合性序列分析工具
- APT、ET、RGI、ICQ
- PyQt5 打造GUI爬虫 小说下载器
- 【方向盘】使用IDEA的60+个快捷键分享给你,权为了提效(操作系统、终端篇)
- WinRM 服务无法创建以下 SPN: /WSMAN/DC.contoso.com; WSMAN/DC
- Python实战笔记-常用知识点
- 字节题--雀魂启动!
- Iphone攻与防-一
- Ubuntu 根目录结构
- 网络代理(Proxy)