CN104822040B - 一种基于fpga的多格式视频序列产生系统及方法 - Google Patents

一种基于fpga的多格式视频序列产生系统及方法 Download PDF

Info

Publication number
CN104822040B
CN104822040B CN201510209734.5A CN201510209734A CN104822040B CN 104822040 B CN104822040 B CN 104822040B CN 201510209734 A CN201510209734 A CN 201510209734A CN 104822040 B CN104822040 B CN 104822040B
Authority
CN
China
Prior art keywords
fpga
resolution
clock
driving chip
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510209734.5A
Other languages
English (en)
Other versions
CN104822040A (zh
Inventor
李学瑞
辛有安
易武
李鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen carrier Intelligent Technology Co., Ltd
Original Assignee
SHENZHEN ZAIDE OPTOELECTRICS TECHNOLOGY DEVELOPMENT Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN ZAIDE OPTOELECTRICS TECHNOLOGY DEVELOPMENT Co Ltd filed Critical SHENZHEN ZAIDE OPTOELECTRICS TECHNOLOGY DEVELOPMENT Co Ltd
Priority to CN201510209734.5A priority Critical patent/CN104822040B/zh
Publication of CN104822040A publication Critical patent/CN104822040A/zh
Application granted granted Critical
Publication of CN104822040B publication Critical patent/CN104822040B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)

Abstract

本发明提出了一种基于FPGA的多格式视频序列产生系统及方法,系统包括命令键盘、显示屏、控制单元、时钟芯片、驱动芯片、FPGA和显示设备;控制单元与命令键盘、显示屏、时钟芯片、驱动芯片和FPGA连接,用于人机交互,对时钟芯片和驱动芯片进行配置,向FPGA发送分辨率信息,控制整个系统;显示屏显示当前分辨率或菜单供选择相应的分辨率;时钟芯片根据控制单元发送的寄存器配置信息,输出各种分辨率所需的像素时钟并发送到FPGA;FPGA产生出视频时序;驱动芯片将FPGA输出信号打包成TMDS信号,驱动显示设备显示。实施本发明的基于FPGA的多格式视频序列产生系统及方法,具有以下有益效果:成本较低、通用性较强。

Description

一种基于FPGA的多格式视频序列产生系统及方法
技术领域
本发明涉及视频序列领域,特别涉及一种基于FPGA的多格式视频序列产生系统及方法。
背景技术
视觉是人类最重要的感觉,也是人类获取信息的主要来源,视频图像信息具有直观、具体、生动等特点,并且包含的信息量很大。所有显示设备要想显示视频图像,就离不开视频时序,只有正确的视频同步时序给到显示器,才能让显示器正常显示。
现有技术中,一般是利用显卡GPU或者专用显示芯片来产生视频时序的。显卡GPU具有灵活的特性,能按照显示器最佳分辨率输出相应的时序,但是价格高昂,成本较高。专用显示芯片往往根据某些特殊应用,针对某种分辨率做一个单独的时序,或者针对某几种分辨率做选择输出,一般支持Progressive(逐行扫描)格式输出的不支持Interlaced(隔行扫描)格式输出,不具备通用性。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述成本较高、不具备通用性的缺陷,提供一种成本较低、通用性较强的基于FPGA的多格式视频序列产生系统及方法。
本发明解决其技术问题所采用的技术方案是:构造一种基于FPGA的多格式视频序列产生系统,包括命令键盘、显示屏、控制单元、时钟芯片、驱动芯片、FPGA和显示设备;所述控制单元分别与所述命令键盘、显示屏、时钟芯片、驱动芯片和FPGA连接,用于通过对所述命令键盘和显示屏的控制实现人机交互,利用IIC总线对所述时钟芯片和驱动芯片进行配置,通过串口向所述FPGA发送分辨率信息,控制整个系统;所述显示屏用于显示当前分辨率或显示菜单供使用者选择相应的分辨率;所述时钟芯片根据所述控制单元发送过来的寄存器配置信息,输出各种分辨率所需的像素时钟并发送到所述FPGA;所述FPGA根据所述分辨率信息和像素时钟产生出视频时序;所述驱动芯片将所述FPGA输出的相应分辨率的同步信号和像素时钟打包成TMDS信号,驱动所述显示设备进行显示。
在本发明所述的基于FPGA的多格式视频序列产生系统中,所述串口为UART接口,所述控制单元通过IIC接口分别对所述时钟芯片和驱动芯片进行配置。
在本发明所述的基于FPGA的多格式视频序列产生系统中,所述同步信号包括行同步信号、场同步信号和有效显示数据选通信号,所述驱动芯片输出的TMDS信号是标准的HDMI/DVI信号格式。
在本发明所述的基于FPGA的多格式视频序列产生系统中,所述驱动芯片与所述显示设备通过HDMI/DVI线缆连接,所述HDMI/DVI线缆有DDC通道,所述驱动芯片通过IIC协议读取所述显示设备的EDID信息,并将所述EDID信息存储在其内部的RAM中。
在本发明所述的基于FPGA的多格式视频序列产生系统中,所述FPGA包括参数调取模块和时序产生模块;所述参数调取模块根据所述分辨率信息,从库文件中调用相应分辨率的各个参数传递给所述时序产生模块,所述时序产生模块接根据相应的参数产生对应的时序。
在本发明所述的基于FPGA的多格式视频序列产生系统中,所述控制单元包括主控MCU和输出板MCU;所述主控MCU分别与所述命令键盘和显示屏连接,用于通过对所述命令键盘和显示屏的控制实现人机交互,控制整个系统;所述输出板MCU分别与所述主控MCU、时钟芯片、驱动芯片和FPGA连接,用于利用IIC总线对所述时钟芯片和驱动芯片进行配置,通过串口向所述FPGA发送分辨率信息,控制整个输出系统。
在本发明所述的基于FPGA的多格式视频序列产生系统中,所述命令键盘自带键盘驱动芯片,所述显示屏为自带字库型LCD显示屏,所述分辨率信息为八位二进制数据。
本发明还涉及一种基于FPGA的多格式视频序列产生方法,包括如下步骤:
A)判断是自动输出显示设备支持的最佳分辨率还是根据用户选择输出相应分辨率,如是自动输出显示设备支持的最佳分辨率,则执行步骤B);否则,执行步骤F);
B)当驱动芯片连接显示设备后,所述驱动芯片通过HDMI/DVI线缆的DDC通道,自动读取所述显示设备的EDID信息,并将其存储在所述驱动芯片内部的RAM中;
C)输出板MCU通过IIC接口访问所述驱动芯片的RAM,获取所述显示设备的EDID并对其进行分析,得到所述显示设备的最佳分辨率;
D)所述输出板MCU根据视频标准的规定,以及对应所述显示设备的最佳分辨率,通过IIC接口配置时钟芯片,使其输出所述最佳分辨率对应的像素时钟,同时通过UART接口向FPGA发送分辨率信息;
E)所述FPGA在系统时钟作用下,接收从所述UART接口发送过来的分辨率信息后,从与*.bit文件一起下载到FPGA的RAM中的库文件中选择相应的分辨率参数,并根据所述时钟芯片输入给所述FPGA的像素时钟,产生出相应的分辨率的同步信号,同时输出所述像素时钟;
F)进入根据用户选择输出相应分辨率的流程。
在本发明所述的基于FPGA的多格式视频序列产生方法中,所述步骤F)进一步包括:
F1)在菜单中选择分辨率设置,用户选择一种需要输出的分辨率,并选择要设置的输出板卡,按下Enter键;
F2)主控MCU或输出板MCU通过IIC接口查询键盘驱动芯片的相应寄存器后,得知选择的分辨率以及设置的输出板卡信息;
F3)所述主控MCU通过CAN总线将键盘输入命令发送到输出板MCU,经所述输出板MCU解析后选择一种配置,并通过IIC接口配置所述时钟芯片,同时通过UART接口向所述FPGA发送相应的分辨率信息;或者所述输出板MCU检测到键盘输入命令后,直接选择相应的时钟频率配置,通过IIC接口配置时钟芯片,同时通过UART接口向所述FPGA发送分辨率信息,返回步骤E)。
在本发明所述的基于FPGA的多格式视频序列产生方法中,所述视频标准包括VESA标准、CEA861标准和SMPTE标准。
实施本发明的基于FPGA的多格式视频序列产生系统及方法,具有以下有益效果:由于使用控制单元、时钟芯片、驱动芯片、FPGA和显示设备;控制单元利用IIC总线对时钟芯片和驱动芯片进行配置,通过串口向FPGA发送分辨率信息;时钟芯片根据不同的寄存器配置输出不同的时钟频率,同时根据控制单元发送过来的控制命令信息,输出各种分辨率所需的像素时钟并发送到FPGA;FPGA根据分辨率信息和像素时钟产生出视频时序;驱动芯片将FPGA输出的相应分辨率的同步信号和像素时钟打包成TMDS信号,驱动显示设备进行显示,其能产生多种格式的视频序列,且不再使用昂贵的显卡GPU,所以其成本较低、通用性较强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于FPGA的多格式视频序列产生系统及方法一个实施例中系统的结构示意图;
图2为所述实施例中FPGA的逻辑结构示意图;
图3为所述实施例中参数调取模块的运行流程图;
图4为所述实施例中时序产生模块的运行流程图;
图5为所述实施例中基于FPGA的多格式视频序列产生方法的流程图;
图6为所述实施例中进入根据用户选择输出相应分辨率的流程的具体流程图;
图7为所述实施例中以720P视频为例的第一仿真图;
图8为所述实施例中以720P视频为例的第二仿真图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明基于FPGA的多格式视频序列产生系统及方法实施例中,其基于FPGA的多格式视频序列产生系统的结构示意图如图1所示。图1中,该基于FPGA的多格式视频序列产生系统包括命令键盘1、显示屏2、控制单元3、时钟芯片4、驱动芯片5、FPGA6和显示设备7;控制单元3分别与命令键盘1、显示屏2、时钟芯片4、驱动芯片5和FPGA6连接,用于通过对命令键盘1和显示屏2的控制实现人机交互,利用IIC总线对时钟芯片4和驱动芯片5进行配置,通过串口向FPGA6发送分辨率信息,控制整个系统;显示屏2用于显示当前分辨率或显示菜单供使用者选择相应的分辨率;时钟芯片4根据控制单元3发送过来的寄存器配置信息,输出各种分辨率所需的像素时钟并发送到FPGA6;FPGA6根据分辨率信息和像素时钟产生出视频时序;驱动芯片5将FPGA6输出的相应分辨率的同步信号和像素时钟打包成TMDS信号,驱动显示设备7进行显示。其能产生多种格式的视频序列,且不再使用昂贵的显卡GPU,所以其成本较低、通用性较强。
本实施例中,上述串口为UART接口,控制单元3通过IIC接口分别对时钟芯片4和驱动芯片5进行配置。上述同步信号包括行同步信号、场同步信号和有效显示数据选通信号,驱动芯片5输出的TMDS信号是标准的HDMI/DVI信号格式。本实施例中,将行同步信号、场同步信号和有效显示数据选通信号分别标记为HS、VS和DE,将输入FPGA6的像素时钟标记为GCLK,将FPGA6输出的像素时钟标记为PCLK。
本实施例中,驱动芯片5与显示设备7通过HDMI/DVI线缆连接,HDMI/DVI线缆有DDC通道,驱动芯片5通过IIC协议读取显示设备7的EDID信息,并将EDID信息存储在驱动芯片5内部的RAM中。
本实施例中,控制单元3包括主控MCU31和输出板MCU32;主控MCU31分别与命令键盘1和显示屏2连接,用于通过对命令键盘1和显示屏2的控制实现人机交互,控制整个系统,主控MCU31还控制网口和串口(图中未示出)用来和上位机进行通讯;输出板MCU32分别与主控MCU31、时钟芯片4、驱动芯片5和FPGA6连接,用于利用IIC总线对时钟芯片4和驱动芯片5进行配置,通过UART接口向FPGA6发送分辨率信息,控制整个输出系统。上述分辨率信息为八位二进制数据。
本实施例中,具体的,对于FPGA6来说,FPGA6根据输出板MCU32通过UART接口传送过来的分辨率信息以及时钟芯片4输入的GCLK,产生相应的视频时序输出。FPGA6内部通过VHDL/Verilog HDL实现的各种逻辑模块之间配合使用,能根据外部输入的分辨率信息和GCLK,产生出完美的视频时序,从而符合VESA、CEA861、SMPTE等标准。对于时钟芯片4来说,时钟芯片4可根据不同的寄存器配置输出不同的时钟频率,时钟芯片4能通过IIC接口实现编程,根据输出板MCU32由IIC接口发送过来的控制命令信息,输出各种分辨率所需的GCLK。对于驱动芯片5来说,驱动芯片5把FPGA6输出的HS、VS、DE和Data数据打包成TMDS信号输出,用来驱动显示设备7,驱动芯片5的输出端是标准的HDMI/DVI信号格式,线缆中有DDC通道,通过IIC协议可读取显示设备7的EDID信息,并将EDID信息存储在其内部的RAM中,供输出板MCU32通过IIC接口访问,并配置驱动芯片5。对于命令键盘1来说,命令键盘1由主控MCU31驱动,该命令键盘1自带键盘驱动芯片,主控MCU31只需要用IIC访问键盘驱动芯片的寄存器即可知道按下的按键信息。丢对于显示屏2来说,显示屏2为自带字库型LCD显示屏,具体采用12864自带字库型液晶显示屏。
值得一提的是,在本实施例的另外一些情况下,上述控制单元3也可以只包括输出板MCU,将原来主控MCU31实现的功能也一起集成到输出板MCU中,那么,这时,输出板MCU用来控制整个输出系统,负责利用IIC总线对时钟芯片4和驱动芯片5的配置,还负责控制整个系统,通过对命令键盘1和显示屏2的控制实现人机交互,在显示屏2显示菜单和分辨率信息等内容,可供用户通过命令键盘1选择,还负责通过UART接口向FPGA6发送分辨率信息。
图2为本实施例中FPGA的逻辑结构示意图。图2引用自Xilinx的EDA开发工具软件ISE14.7。图2中,FPGA6包括参数调取模块和时序产生模块;参数调取模块根据分辨率信息,从库文件中调用相应分辨率的各个参数传递给时序产生模块,时序产生模块根据相应的参数产生对应的时序。本实施例中,为了方便描述,将参数调取模块标记为timing_o_switch模块,将时序产生模块标记为timing模块。
本实施例中,具体的,在timing_o_switch模块中,有调用自定义库文件,这个自定义库文件在FPGA开发中就跟在模块中定义的寄存器变量一样,会随着下载FPGA时用到的*.bit文件存储在FPGA内部的RAM中,或者下载FPGA外挂Flash时用到的*.mcs/*.bin文件一起,伴随着FPGA上电自动加载外挂Flash中的内容存储在FPGA内部的RAM中,供其他模块调用。timing_o_switch模块根据video_format_o信号(从UART接口接收到的由输出板MCU发送过来的八位二进制数据转化而成),从自定义库文件中调用相应分辨率的各个参数,传递给timing模块,同时能够判断从UART接口传递过来的分辨率信息中哪个值代表Progressive(逐行扫描),哪个值代表Interlaced(隔行扫描),并输出output_interlaced信号。而timing模块则根据相应的参数,产生对应的时序。其中,通过对GCLK进行计数,产生出hblank_out和vblank_out信号,再通过这两个信号的组合,产生出hsync_out、vsync_out和DE_out信号,timing模块还需要根据video_format_o信号判断哪种分辨率是Progressive(逐行扫描)格式,哪种分辨率是Interlaced(隔行扫描)格式,并根据Interlaced格式的特点来产生标准的field_id信号,如果是Progressive(逐行扫描)格式,则field_id信号直接赋值为0。在一般的应用中,hblank_out、vblank_out和field_id信号是不需要用到的,所以在参考图2中没有把这三个信号引出来,当然如果需要用到这三个信号,也可以很方便地把这些信号传递到timing模块外部供其他的逻辑模块使用。
本实施例中,在产生Interlaced(隔行扫描)格式时,另外定义一组变量tc_vsblnk、tc_vssync、tc_vesync和tc_veblnk,比如1080I时赋值为1920x1080I_d,这些变量值为把I格式的一场模拟成P格式的一帧处理得出的值。从而控制计数寄存器使其产生Interlaced(隔行扫描)格式的同步信号输出。图3为本实施例中timing_o_switch的运行流程图;图4为本实施例中timing的运行流程图。本发明能很灵活的设置输出分辨率,可实现输出自适应,是低性能ASIC芯片和高成本显卡GPU的一种折中方案。利用库文件的形式,把需要的视频分辨率参数化,能实现随意的加减分辨率,可支持P和I的输出,并且能很方便的扩展。
本实施例还涉及一种基于FPGA的多格式视频序列产生方法,其流程图如图5所示。图5中,上述基于FPGA的多格式视频序列产生方法包括如下步骤:
步骤S01判断是自动输出显示设备支持的最佳分辨率还是根据用户选择输出相应分辨率:本步骤中,判断是自动输出显示设备支持的最佳分辨率还是根据用户选择输出相应分辨率,如是自动输出显示设备支持的最佳分辨率,则执行步骤S03;否则,执行步骤S02。
步骤S02进入根据用户选择输出相应分辨率的流程:如果上述步骤S01的判断结果是根据用户选择输出相应分辨率,则执行本步骤。本步骤中,进入根据用户选择输出相应分辨率的流程。
步骤S03当驱动芯片连接显示设备后,驱动芯片通过HDMI/DVI线缆的DDC通道,自动读取显示设备的EDID信息,并将其存储在驱动芯片内部的RAM中:如果上述步骤S01的判断结果为自动输出显示设备支持的最佳分辨率,则执行本步骤。本步骤中,当驱动芯片连接显示设备后,驱动芯片通过HDMI/DVI线缆的DDC通道,自动读取显示设备的EDID信息,并将其存储在驱动芯片内部的RAM中。执行完本步骤,执行步骤S04。
步骤S04输出板MCU通过IIC接口访问驱动芯片的RAM,获取显示设备的EDID并对其进行分析,得到显示设备的最佳分辨率:本步骤中,输出板MCU通过IIC接口访问驱动芯片的RAM,获取显示设备的EDID并对其进行分析,根据EDID里面的第54到第71的18个两位十六进制数据得到显示设备的最佳分辨率。
步骤S05输出板MCU根据视频标准的规定,以及对应显示设备的最佳分辨率,通过IIC接口配置时钟芯片,使其输出最佳分辨率对应的像素时钟,同时通过UART接口向FPGA发送分辨率信息:本步骤中,输出板MCU根据视频标准的规定,以及对应显示设备的最佳分辨率,通过IIC接口配置时钟芯片,使其输出该最佳分辨率对应的像素时钟。同时相应的通过UART接口向FPGA发送特定的八位二进制数据代表的分辨率信息。上述视频标准包括VESA标准、CEA861标准和SMPTE标准。
步骤S06FPGA在系统时钟作用下,接收从UART接口发送过来的分辨率信息后,从与*.bit文件一起下载到FPGA的RAM中的库文件中选择相应的分辨率参数,并根据时钟芯片输入给FPGA的像素时钟,产生出相应的分辨率的同步信号,同时相应的输出像素时钟:本步骤中,FPGA在系统时钟作用下,接收从UART接口发送过来的分辨率信息后,从与*.bit文件一起下载到FPGA的RAM中的库文件中选择相应的分辨率参数,并根据时钟芯片输入给FPGA的像素时钟,产生出相应的分辨率的同步信号(HS、VS和DE),同时相应的输出像素时钟。这样就实现了自动输出显示设备支持的最佳分辨率。
对于本实施例而言,上述步骤S02还可进一步细化,其细化后的流程图如图6所示。图6中,上述步骤S02进一步包括:
步骤S21在菜单中选择分辨率设置,用户选择一种需要输出的分辨率,并选择要设置的输出板卡,按下Enter键:本步骤中,在菜单中有一项设置为分辨率设置,有很多分辨率可供选择,用户选择一种想要输出的分辨率,选择好想要设置的输出板卡,并按Enter键。
步骤S22主控MCU或输出板MCU通过IIC接口查询键盘驱动芯片的相应寄存器后,得知选择的分辨率以及设置的输出板卡信息:本步骤中,在用户按Enter键之后,键盘驱动芯片相应的寄存器位发生改变,主控MCU(当控制单元包括主控MCU和输出板MCU时)或者输出板MCU(当控制单元只包括输出板MCU时)通过IIC接口查询键盘驱动芯片的相应寄存器后,得知选择的分辨率以及设置的输出板卡信息。
步骤S23主控MCU通过CAN总线将键盘输入命令发送到输出板MCU,经输出板MCU解析后选择一种配置,并通过IIC接口配置时钟芯片,同时通过UART接口向FPGA发送相应的分辨率信息;或者输出板MCU检测到键盘输入命令后,直接选择相应的时钟频率配置,通过IIC接口配置时钟芯片,同时通过UART接口向FPGA发送分辨率信息:本步骤中,主控MCU通过CAN总线将键盘输入命令发送到输出板MCU(当控制单元包括主控MCU和输出板MCU时),输出板MCU解析后选择一种配置,并通过IIC接口配置时钟芯片,同时通过UART接口向FPGA发送相应的分辨率信息;或者输出板MCU(当控制单元只包括输出板MCU时)检测到键盘输入命令后,直接选择相应的时钟频率配置,通过IIC接口配置时钟芯片,同时通过UART接口向FPGA发送分辨率信息。执行完本步骤,返回步骤S06。
本实施例中,FPGA内部的库文件所包含的参数和参数的计算如下(所使用的参数命名不限于以下的名称):
tc_hsblnk=HPIXELS–1;
tc_hssync=HPIXELS–1+HFNPRCH;
tc_hesync=HPIXELS–1+HFNPRCH+HSYNCPW;
tc_heblnk=HPIXELS–1+HFNPRCH+HSYNCPW+HBKPRCH;
tc_vsblnk=VLINES–1;
tc_vssync=VLINES–1+VFNPRCH;
tc_vesync=VLINES–1+VFNPRCH+VSYNCPW;
tc_veblnk=VLINES–1+VFNPRCH+VSYNCPW+VBKPRCH。
以上计算公式中,各算子分别对应VESA标准格式中规定的参数,各算子代表的意思如下:
HPIXELS:Hor Addr time即为一个有效视频行中有效像素的个数;
HFNPRCH:Hor Front Porch即为视频行中前同步头的像素个数;
HSYNCPW:Hor Sync time即为HS同步头的像素数;
HBKPRCH:Hor Back Porch即为视频行中后同步头的像素个数;
VLINES:Ver Addr time即为一个有效视频帧中有效视频行数;
VFNPRCH:Ver Front Porch即为视频帧中前同步头的行数;
VSYNCPW:Ver Sync time即为视频帧中VS同步头的行数;
VBKPRCH:Ver Back Proch即为视频帧中后同步头的行数;以上这些参数同时也适用于CEA861标准和SMPTE标准。
本实施例中,FPGA库文件中包含的分辨率如下:1920x1200、1920x1080、1920x1080_cvt、1920x1080_cvr、1920x1080_50、1920x1080_24、1920x1080_60I、1920x1080_50I、1920x1080_25I、1600x900、1600x1200、1600x1200_cvr、1680x1050、1680x1050_cvt、1400x1050、1400x1050_cvt、1440x900、1440x900_cvt、1366x768、1366x768_cvt、1360x768、1360x768_cvr、1360x768_cvt、1280x1024、1280x1024_cvt、1280x1024_cvr、1280x800、1280x800_cvt、1280x768、1280x768_cvt、1280x720、1280x720_cvt1、1280x720_cvt2、1280x720_cvr、1280x720_50、1280x720_30、1024x768、1024x768_cvt、1024x768_cvr、800x600、800x600_cvt、800x600_cvr、720x576、720x480和1920x1080I_d等等。
图7为本实施例中以720P视频为例的第一仿真图;图7表示复位后连续产生的几行视频数据,可以清楚的看到库中定义的几个参数,该参数为720P视频标准的参数。图8为本实施例中以720P视频为例的第二仿真图,图8为仿真连续运行三帧后的截图,该仿真图放大后,各个同步信号之间的间隔关系完全符合VESA、CEA861和SMPTE标准。
总之,在本实施例中,在FPGA设计中以库文件的形式存储各个视频分辨率的有关参数,供FPGA内部的其他逻辑模块调用,这种通过自定义库文件的开发方法实现了多种视频分辨率时序输出。本发明能兼容目前市面上常见的视频分辨率,支持VESA、CEA861和SMPTE等视频标准,并且可以实现根据显示设备的EDID信息自动输出最佳分辨率的功能。其具有以下优点:第一,灵活的输出,根据显示设备的EDID信息,自适应输出显示设备支持的最佳分辨率;第二,标准的分辨率时序,所有产生的分辨率时序都与现有视频标准格式完全兼容。只要显示设备是按照标准时序兼容的,都不存在无法点亮显示设备或者不兼容的问题;第三,用户可根据自己的需要手动设置分辨率,所涉及的系统都能稳定地响应。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于FPGA的多格式视频序列产生系统,其特征在于,包括命令键盘、显示屏、控制单元、时钟芯片、驱动芯片、FPGA和显示设备;所述控制单元分别与所述命令键盘、显示屏、时钟芯片、驱动芯片和FPGA连接,用于通过对所述命令键盘和显示屏的控制从而实现人机交互,利用IIC总线对所述时钟芯片和驱动芯片进行配置,通过串口向所述FPGA发送分辨率信息,控制整个系统;所述显示屏用于显示当前分辨率或显示菜单供使用者选择相应的分辨率;所述时钟芯片根据所述控制单元发送过来的寄存器配置信息,输出各种分辨率所需的像素时钟并发送到所述FPGA;所述FPGA根据所述分辨率信息和像素时钟产生出视频时序;所述驱动芯片将所述FPGA输出的相应分辨率的同步信号和像素时钟打包成TMDS信号,驱动所述显示设备进行显示;
所述驱动芯片与所述显示设备通过HDMI/DVI线缆连接,所述HDMI/DVI线缆有DDC通道,所述驱动芯片通过IIC协议读取所述显示设备的EDID信息,并将所述EDID信息存储在其内部的RAM中;
所述FPGA包括参数调取模块和时序产生模块;所述参数调取模块根据所述分辨率信息,从库文件中调用相应分辨率的各个参数传递给所述时序产生模块,所述时序产生模块接根据相应的参数产生对应的时序;
将所述参数调取模块标记为timing_o_switch模块,将所述时序产生模块标记为timing模块;
在timing_o_switch模块中,有调用自定义库文件;timing_o_switch模块根据video_format_o信号,从自定义库文件中调用相应分辨率的各个参数,传递给timing模块,同时能够判断从UART接口传递过来的分辨率信息中哪个值代表Progressive,哪个值代表Interlaced,并输出output_interlaced信号;所述video_format_o信号从UART接口接收到的由输出板MCU发送过来的八位二进制数据转化而成;而timing模块则根据相应的参数,产生对应的时序;通过对GCLK进行计数,产生出hblank_out和vblank_out信号,再通过这两个信号的组合,产生出hsync_out、vsync_out和DE_out信号,timing模块还需要根据video_format_o信号判断哪种分辨率是Progressive格式,哪种分辨率是Interlaced格式,并根据Interlaced格式的特点来产生标准的field_id信号,如果是Progressive格式,则field_id信号直接赋值为0;
在产生Interlaced格式时,另外定义一组变量tc_vsblnk、tc_vssync、tc_vesync和tc_veblnk,这些变量值为把I格式的一场模拟成P格式的一帧处理得出的值;从而控制计数寄存器使其产生Interlaced格式的同步信号输出。
2.根据权利要求1所述的基于FPGA的多格式视频序列产生系统,其特征在于,所述串口为UART接口,所述控制单元通过IIC接口分别对所述时钟芯片和驱动芯片进行配置。
3.根据权利要求2所述的基于FPGA的多格式视频序列产生系统,其特征在于,所述同步信号包括行同步信号、场同步信号和有效显示数据选通信号,所述驱动芯片输出的TMDS信号是标准的HDMI/DVI信号格式。
4.根据权利要求1所述的多格式视频序列产生系统,其特征在于,所述控制单元包括主控MCU和输出板MCU;所述主控MCU分别与所述命令键盘和显示屏连接,用于通过对所述命令键盘和显示屏的控制实现人机交互,控制整个系统;所述输出板MCU分别与所述主控MCU、时钟芯片、驱动芯片和FPGA连接,用于利用IIC总线对所述时钟芯片和驱动芯片进行配置,通过串口向所述FPGA发送分辨率信息,控制整个输出系统。
5.根据权利要求4所述的多格式视频序列产生系统,其特征在于,所述命令键盘自带键盘驱动芯片,所述显示屏为自带字库型LCD显示屏,所述分辨率信息为八位二进制数据。
6.一种基于FPGA的多格式视频序列产生方法,其特征在于,包括如下步骤:
A)判断是自动输出显示设备支持的最佳分辨率还是根据用户选择输出相应分辨率,如是自动输出显示设备支持的最佳分辨率,则执行步骤B);否则,执行步骤F);
B)当驱动芯片连接显示设备后,所述驱动芯片通过HDMI/DVI线缆的DDC通道,自动读取所述显示设备的EDID信息,并将其存储在所述驱动芯片内部的RAM中;
C)输出板MCU通过IIC接口访问所述驱动芯片的RAM,获取所述显示设备的EDID并对其进行分析,根据EDID里面的第54到第71的18个两位十六进制数据得到所述显示设备的最佳分辨率;
D)所述输出板MCU根据视频标准的规定,以及对应所述显示设备的最佳分辨率,通过IIC接口配置时钟芯片,使其输出所述最佳分辨率对应的像素时钟,同时通过UART接口向FPGA发送分辨率信息;
E)所述FPGA在系统时钟作用下,接收从所述UART接口发送过来的分辨率信息后,从与*.bit文件一起下载到FPGA的RAM中的库文件中选择相应的分辨率参数,并根据所述时钟芯片输入给所述FPGA的像素时钟,产生出相应的分辨率的同步信号,同时输出所述像素时钟;
F)进入根据用户选择输出相应分辨率的流程;
FPGA内部的库文件所包含的参数和参数的计算如下:
tc_hsblnk=HPIXELS–1;
tc_hssync=HPIXELS–1+HFNPRCH;
tc_hesync=HPIXELS–1+HFNPRCH+HSYNCPW;
tc_heblnk=HPIXELS–1+HFNPRCH+HSYNCPW+HBKPRCH;
tc_vsblnk=VLINES–1;
tc_vssync=VLINES–1+VFNPRCH;
tc_vesync=VLINES–1+VFNPRCH+VSYNCPW;
tc_veblnk=VLINES–1+VFNPRCH+VSYNCPW+VBKPRCH;
以上计算公式中,各算子分别对应VESA标准格式中规定的参数,各算子代表的意思如下:
HPIXELS:Hor Addr time即为一个有效视频行中有效像素的个数;
HFNPRCH:Hor Front Porch即为视频行中前同步头的像素个数;
HSYNCPW:Hor Sync time即为HS同步头的像素数;
HBKPRCH:Hor Back Porch即为视频行中后同步头的像素个数;
VLINES:Ver Addr time即为一个有效视频帧中有效视频行数;
VFNPRCH:Ver Front Porch即为视频帧中前同步头的行数;
VSYNCPW:Ver Sync time即为视频帧中VS同步头的行数;
VBKPRCH:Ver Back Proch即为视频帧中后同步头的行数;
所述步骤F)进一步包括:
F1)在菜单中选择分辨率设置,用户选择一种需要输出的分辨率,并选择要设置的输出板卡,按下Enter键;
F2)主控MCU或输出板MCU通过IIC接口查询键盘驱动芯片的相应寄存器后,得知选择的分辨率以及设置的输出板卡信息;
F3)所述主控MCU通过CAN总线将键盘输入命令发送到输出板MCU,经所述输出板MCU解析后选择一种配置,并通过IIC接口配置所述时钟芯片,同时通过UART接口向所述FPGA发送相应的分辨率信息;或者所述输出板MCU检测到键盘输入命令后,直接选择相应的时钟频率配置,通过IIC接口配置时钟芯片,同时通过UART接口向所述FPGA发送分辨率信息,返回步骤E)。
7.根据权利要求6所述的基于FPGA的多格式视频序列产生方法,其特征在于,所述视频标准包括VESA标准、CEA861标准和SMPTE标准。
CN201510209734.5A 2015-04-28 2015-04-28 一种基于fpga的多格式视频序列产生系统及方法 Active CN104822040B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510209734.5A CN104822040B (zh) 2015-04-28 2015-04-28 一种基于fpga的多格式视频序列产生系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510209734.5A CN104822040B (zh) 2015-04-28 2015-04-28 一种基于fpga的多格式视频序列产生系统及方法

Publications (2)

Publication Number Publication Date
CN104822040A CN104822040A (zh) 2015-08-05
CN104822040B true CN104822040B (zh) 2018-06-19

Family

ID=53732191

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510209734.5A Active CN104822040B (zh) 2015-04-28 2015-04-28 一种基于fpga的多格式视频序列产生系统及方法

Country Status (1)

Country Link
CN (1) CN104822040B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106713858A (zh) * 2016-12-16 2017-05-24 西安汇明光电技术有限公司 基于CameraLink协议的视频图像显示方法、装置及系统
CN106793738B (zh) * 2017-03-23 2019-04-30 合肥惠科金扬科技有限公司 显示设备接口的电磁干扰辐射调整的方法及装置
CN107256200B (zh) * 2017-07-13 2019-09-13 北京无线电测量研究所 一种多种edid数据选择性输出的系统及方法
CN108347599B (zh) * 2018-01-26 2019-07-30 郑州云海信息技术有限公司 一种基于fpga的视频信号有效性判断方法及系统
CN108615500B (zh) * 2018-05-11 2019-12-03 深圳市摩西尔电子有限公司 Led跨平台显示的控制方法
CN109698937A (zh) * 2018-12-13 2019-04-30 中电科仪器仪表(安徽)有限公司 一种基于fpga的自适应lcd控制器
CN111031261A (zh) * 2019-12-31 2020-04-17 南京洛菲特数码科技有限公司 一种hdmi视频矩阵输入信号和显示设备匹配方法
CN111601104B (zh) * 2020-05-28 2021-07-06 湖南安元信息科技有限公司 自适应分辨率的arinc818总线仿真测试设备及分辨率自适应方法
CN112351223A (zh) * 2020-09-24 2021-02-09 天津市英贝特航天科技有限公司 基于fpga的多视频扩展系统及方法
CN114520856A (zh) * 2020-11-20 2022-05-20 西安诺瓦星云科技股份有限公司 视频时序信号生成方法、可编程逻辑器件及视频控制设备
CN112419969B (zh) * 2020-11-30 2022-01-07 天津光电通信技术有限公司 一种led显示屏的edid参数自适应装置及方法
CN113014915B (zh) * 2021-02-19 2023-02-24 青岛智动精工电子有限公司 信号源设备及信号源设备的信号生成方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025882A (zh) * 2006-02-23 2007-08-29 深圳迈瑞生物医疗电子股份有限公司 显示控制设备的显示时序参数自适应调整方法
CN201576432U (zh) * 2009-12-03 2010-09-08 康佳集团股份有限公司 一种多媒体显示控制装置
CN201682555U (zh) * 2009-11-13 2010-12-22 大连科迪视频技术有限公司 3g-sdi高清数字视频信号发生器
CN103248794A (zh) * 2013-05-06 2013-08-14 四川虹微技术有限公司 一种分辨率可调的行场同步信号产生装置
CN203288224U (zh) * 2013-05-30 2013-11-13 华南理工大学 一种具有多通讯接口的液晶屏显示系统
CN103873802A (zh) * 2012-12-18 2014-06-18 深圳市广平正科技有限责任公司 高清视频信号发生器及其信号产生方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101025882A (zh) * 2006-02-23 2007-08-29 深圳迈瑞生物医疗电子股份有限公司 显示控制设备的显示时序参数自适应调整方法
CN201682555U (zh) * 2009-11-13 2010-12-22 大连科迪视频技术有限公司 3g-sdi高清数字视频信号发生器
CN201576432U (zh) * 2009-12-03 2010-09-08 康佳集团股份有限公司 一种多媒体显示控制装置
CN103873802A (zh) * 2012-12-18 2014-06-18 深圳市广平正科技有限责任公司 高清视频信号发生器及其信号产生方法
CN103248794A (zh) * 2013-05-06 2013-08-14 四川虹微技术有限公司 一种分辨率可调的行场同步信号产生装置
CN203288224U (zh) * 2013-05-30 2013-11-13 华南理工大学 一种具有多通讯接口的液晶屏显示系统

Also Published As

Publication number Publication date
CN104822040A (zh) 2015-08-05

Similar Documents

Publication Publication Date Title
CN104822040B (zh) 一种基于fpga的多格式视频序列产生系统及方法
CN100507645C (zh) 驱动液晶显示器的方法和装置
CN101228515A (zh) 用于管理多个计算机的装置和系统
CN101046941B (zh) 用于驱动液晶显示器件的装置和方法
CN102142236B (zh) 针对高分辨率隔行扫描视频信号的液晶显示驱动器
CN102543032A (zh) 用于显示通过各种端口输入的视频的显示设备
CN102097050A (zh) 一种实现显示信号无缝切换的装置和方法
US20170115946A1 (en) Display device of multi-display system and control method thereof
CN100365701C (zh) 多层实时图像叠加控制器
CN101815180A (zh) 显示屏接口信号自适应转接板
CN108628569A (zh) 一种双系统实时显示运行方法及设备和双系统一体机
CN111161668B (zh) 一种基于安卓系统广告机的显示驱动控制方法
CN100466049C (zh) 液晶显示器的驱动装置
CN103873802A (zh) 高清视频信号发生器及其信号产生方法
CN101755452B (zh) 显示设备
CN1897671A (zh) 视频信号多显示设备同步输出接口模块
WO2001089193A2 (en) Video signal processing system for driving multiple monitors
CN101666958A (zh) 投影装置
KR20140105171A (ko) 디스플레이패널의 화질검사시스템 및 화질검사방법
GB2364844A (en) LCD panel signal processor
JP2000224477A (ja) 映像表示装置および方法
CN109461395A (zh) 一种显示设备信息便携式分析仪及使用方法
CN205645209U (zh) 一种显示屏分辨率驱动装置
CN102625066A (zh) 图像处理装置和图像处理方法
CN110753194B (zh) 双屏异显方法、存储介质及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200521

Address after: 308 / 310, 3 / F, building 2, Zhuguang Innovation Technology Park, Zhuguang community, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen carrier Intelligent Technology Co., Ltd

Address before: 518000, Guangdong, Shenzhen province Nanshan District Taoyuan Street pearl innovation science and Technology Park 1, 202

Patentee before: SHENZHEN ZAIDE OPTOELECTRICS TECHNOLOGY DEVELOPMENT Co.,Ltd.

TR01 Transfer of patent right