基于DVI和FPGA的视频叠加器设计

发布者:MoonlightStar最新更新时间:2011-08-17 来源: 电子技术应用关键字:FPGA  最小化传输差分信号 手机看文章 扫描二维码
随时随地手机看文章
   

摘  要: 利用FPGA作为主控单元,以数字视频接口DVI为视频接口、TI公司的TFP401和TFP410为视频信号的编解码芯片、ISSI公司的SRAM IS61LV10248-8TI为存储单元完成视频叠加器的设计。通过该系统,从路图像的非黑像素能够覆盖主路图像相同坐标的像素。
关键词: 数字视频叠加;FPGA;最小化传输差分信号

 飞机研发过程中,需要对包含目标信息和地图信息的机载视频信号进行调试。但是机载显示终端普遍存在价格昂贵、使用寿命短等缺点,如果使用它不断地调试机载视频信号,则机载显示终端的消耗会增大,研发成本将大幅提高。
    本文介绍了一种DVI视频信号叠加器的设计方案,可以对两组相同分辨率和刷新频率的DVI视频信号转化、合成并输出。通过该系统,从路图像的非黑像素能够覆盖主路图像相同坐标的像素,从而完成对机载显示终端的模拟。该方案主要以1024×768@60Hz的视频源为研究对象,可根据实际需要调节,并可支持多种分辨率和刷新频率(640×480@60Hz,800×600@60Hz,1024×768@60Hz)。
    由于设计了这种模拟装置,因此不必用机载显示终端调试机载视频信号,从而减少对机载显示终端的消耗。DVI视频信号叠加器的使用,节约了开发成本。


1 DVI接口
    数字视频接口(DVI)是一种适应数字显示器飞速发展而产生的显示接口。DVI 标准由 DDWG(Digital Display Working Group)于1999年4月正式推出,该组织包括了Intel、IBM、HP、Silicon Image、NEC等众多芯片及整机的生产厂家,因而 DVI 标准具有广泛的业界支持[1]。DVI的接口主要有两种类型:DVI-Digital(DVI-D),只支持数字式显示器,共 24 个 引 脚;DVI-Integrated(DVI-I),兼容模拟和数字的连接,共29个引脚。计算机显卡一般有DVI-I和VGA两个接口。本设计选用的是 DVI-I 接口,相对于VGA(Video Graphics Array)接口,其优势突出,DVI传输的是数字信号,数字图像信息不需经过数字→模拟→数字繁琐的转换过程,就会直接被传送到显示设备上,大大节省了时间,因此它的速度更快,能有效消除拖影现象。而且VGA模拟信号易受干扰,DVI信号则抗干扰能力强,图像信号没有衰减,色彩更纯净、逼真。


2 VESA标准介绍
    VESA(Video Electronics Standards Association)即视频电子标准协会,主要致力于制订并推广显示相关标准。它规定了各种分辨率和刷新频率的显示监视器定时标准(简称VESA标准)。


2.1 VESA标准时序图与参数定义
    从图 1可以看出[2],VESA标准包括场同步(VSYNC)、行同步(HSYNC)、像素数据有效(DE)、像素时钟(CLK)、像素数据(Data,一般为24 bit)五组信号。

 

 

    VESA标准的五组视频信号之间有严格的定时参数,场(行)扫描包括场(行)消隐期和场(行)有效显示期(即Addr Time)。场(行)消隐期又包括同步期(Sync)、后肩(Back Porch)、顶(左)边(Top (Left)Border)、底(右)边(Bottom (Right)Border)、前肩(Front Porch)。图 1以行同步极性和场同步极性都是负极性为例,即同步期为低电平[2]。关于同步极性的规定(如在1 024×768@60Hz的视频格式下),如图2中“Hor Sync Polarity=NEGATIVE”,“Ver Sync Polarity= NEGATIVE”所示。

2.2 VESA参数值举例(1 024×768@60Hz)
    VESA同样规定了各种参数在不同分辨率和刷新频率的具体值,例如1 024×768@60Hz的定时参数值如图2所示[2]。结合图 1与图2便可容易地用VHDL语言生成1 024×768@60Hz的时序信号。


3 系统框图
    系统总体框图如图 3所示,大致可分为五个部分:DVI接口、DVI解码电路、FPGA主控制器及存储器电路、DVI编码电路。本设计只选取了两路绿色数据输入信号进行处理,故以下的像素数据信号(Data)无特殊说明都是绿色的8位信号。

    连接DVI接口的计算机显卡,通过DDC[3,4]接口读取存储在EEPROM中的EDID[3]数据,在通信握手成功后,向DVI接口发出T.M.D.S视频信号。DVI接口传输的T.M.D.S时序码流,经过T.M.D.S解码电路可以被解码为VESA标准的数字视频信号。SRAM1(SRAM3)与SRAM2(SRAM4)构成VESA1(VESA2)链路的一组乒乓RAM,轮流存储VESA1(VESA2)链路的像素数据。FPGA读取已存储的像素数据进行叠加操作并产生VESA标准的视频信号,然后通过VESA3链路发送到T.M.D.S编码电路。T.M.D.S编码电路将VESA3链路的VESA标准的信号编码成T.M.D.S时序码流,最后将其传送到DVI接口,供显示器显示。引入乒乓RAM是由于即使两路VESA视频信号分辨率和刷新频率相同,两者一般也存在非零的相位差,所以需要存储器对它们的像素数据进行存储。
    T.M.D.S解码电路的解码芯片采用TFP401,T.M.D.S编码电路的编码芯片采用TFP410。SRAM选用IS61LV-
10248-8TI,其读写周期为8 ns,存储空间为1 M×8 bit,能够满足系统像素时钟最高为65 MHz、最高分辨率为1024×768的要求。

 


4 工作流程
    FPGA内部工作模块如图4所示。下面简要阐述关键信号的数据流向。

    场同步极性判断模块的功能是根据输入的VESA1信号判断出场同步极性(VSP),因VESA1和VESA2视频格式相同,只需判断VESA1的场同步极性。VESA1(VESA2)写地址生成模块的功能是利用场同步极性实现写地址和像素位置的合理对应。输出时序、写地址生成模块的功能是利用场同步极性、VESA1写地址生成模块生成的写地址a_write1和VESA1中的场同步信号,实现分辨率的判断,进而结合其他信号完成输出时序的生成和读地址的生成。SRAM控制模块负责根据上述生成的读地址和写地址,写入两路VESA信号的新的像素数据,读出先前存储的两路VESA信号像素数据。被读出的两个像素点将用于输出时序、写地址生成模块的像素叠加操作,产生的像素作为输出像素。


4.1 场同步极性(Ver Sync Polarity)判断
    由于DE1=1期间,VSYNC1信号必然处于非同步期,此时的电平与同步期相反。所以,在DE1=1时,若VSYNC1=1,则记为VSP=0(Ver Sync Polarity=NEGATIVE),否则,记为VSP=1(Ver Sync Polarity=POSITIVE)。在实现该模块的编程中,采用VESA1视频信号中的CLK1像素时钟信号上升沿来同步此进程,可以保证产生的信号稳定。


4.2 VESA1和VESA2写地址生成
    因为VESA1写地址生成与VESA2写地址生成类似,这里只介绍VESA1的写地址(a_write1)生成。由于系统中SRAM的地址总线为20位(寻址能力1M),所以a_write1为20位。若将输入视频信号的分辨率记为def,则VESA1一帧像素数据所需SRAM空间范围是0~def-1。因此,在场同步期间(VSYNC1=VSP),可令a_write1<=220-1。在非场同步期间,若处于像素数据有效期(DE1=1),则当像素时钟(CLK1)上升沿到来时,对a_write1实行自加一操作(假设已设置T.M.D.S解码器1输出的控制信号及像素数据在CLK1的上升沿前后稳定);若处于像素数据无效期(DE1≠0),则a_write1保持不变。这样,在一帧图像期间,对应从图像左上角开始计数的每个像素数据,便可形成0~def-1的地址范围。


4.3 输出时序、读地址生成
4.3.1 分辨率判断

      a_write1(VESA1写地址)的范围是0~def-1,而a_write1完成从def-1到0跳变的触发源正是场同步信号(VSYNC1)从非同步期到同步期的跳变。因此,可定义一信号def_clk,当VSYNC1≠VSP时,def_clk<=0,否则,def_clk<=1。这样,当def_clk上升沿到来时,正是场同步信号从非同步期到同步期的跳变,此时若令20位信号def_1<= a_write1(等于def-1),且令def<=def_1+1,则可得真正的分辨率,。


4.3.2 暂时输出时序控制信号生成
    VESA标准的控制信号包括VSYNC、HSYNC、DE。由于已知两路视频信号的分辨率(def),这时将VESA1的像素时钟(CLK1)作为暂时的输出时序像素时钟(CLK33),再结合VESA标准的介绍,便可生成分辨为def的暂时的输出时序控制信号VSYNC33、HSYNC33、DE33。


4.3.3 VESA3读地址生成
    由于此地址生成方法与VESA1和VESA2写地址生成方法相同,只是此处生成的地址是SRAM控制器用来读取像素数据而已,故不再赘述。


4.3.4 换场信号生成
    当主时序换场时,每一路视频信号的两片SRAM需要交换读写方式,即若换场前读SRAM1、SRAM3,写SRAM2、SRAM4,则换场后读SRAM2、SRAM4,写SRAM1、SRAM3。因此需要一个信号在主时序相邻两场的电平不同,即换场信号,记为v_trans。此信号用来控制图 4中SRAM控制模块的读写方式。
    v_trans的生成方式比较简单,只需在VSYNC33的上升沿到来时将v_trans取反即可。


4.3.5 输出时序同步处理和叠加像素生成
    由于信号在FPGA生成的电路存在延迟,主时序控制信号和像素时钟信号可能产生不同步现象。因此需要对控制信号进行同步处理,同步期间同时生成像素数据Data3(VESA3像素数据)并输出。VESA3中的像素时钟直接短接CLK33即可。Data11(Data22)是从SRAM中读取的VESA1(VESA2)链路像素数据。
    同步过程为CLK33下降沿到来时输出控制信号和像素数据。由于本文将VESA1作为主路、VESA2作为从路,所以要将VESA2信号叠加在VESA1上。叠加算法为:若VESA2第i个像素点(Data22)为黑色(Data22=0),则输出的VESA3第i个像素为VESA1的第i个像素(Data11),即Data3<=Data11;否则,输出的VESA3第i个像素为VESA2的第i个像素,即Data3<=Data22。


4.4 SRAM控制
    将SRAM1和SRAM2分为一组,对应VESA1链路;将SRAM3和SRAM4分为一组,对应VESA2链路。SRAM控制模块需要对每一组中的两块SRAM轮流进行读写操作。若v_trans=0,则用VESA3读地址生成模块产生的地址a_read来读取SRAM1、SRAM3,分别得像素数据Data11、Data22,同时用VESA1、VESA2写地址生成模块产生的地址a_write1、a_write2分别将Data1、Data2写入SRAM2、SRAM4;否则,用地址a_read读取SRAM2、SRAM4,分别得像素数据Data11、Data22,同时用地址a_write1和a_write2分别将Data1和Data2写入SRAM1、SRAM3。Data11、Data22被送至输出时序、读地址生成模块进行叠加像素生成。


5 实验结果
    对于1 024×768@60Hz的VESA时序,控制信号(vsync,hsync,de)和像素时钟(idck)的仿真结果如图 5所示,其他分辨率的仿真图不再给出。经过测量场同步信号和行同步信号的周期分别为16.7 ms、20.7 ?滋s,与VESA标准[2]一致,其他参数经测量也吻合,不再列举。

    由于只对两路视频中的绿色信号进行了叠加,显示色数有些不足。后期研究可向全彩色视频叠加方向努力。但彩色信号叠加与绿色信号叠加在原理上相同,只是意味着要选用引脚数更多的FPGA。

关键字:FPGA  最小化传输差分信号 引用地址:基于DVI和FPGA的视频叠加器设计

上一篇:应对功耗挑战:晶体管技术方案面临瓶颈
下一篇:在FPGA中实现图像格式转换的参考设计

推荐阅读最新更新时间:2024-05-02 21:32

FPGA实现1553B总线接口中的曼码编解码器
摘要:介绍用FPGA设计实现MIL-STD1553B部接口中的曼彻斯特码编解码器。该设计采用VHDL硬件描述语言编程,并且专门的综合工具Synplify对设计进行综合、优化,在MAX+PLUS II进行时序仿真,最后在FPGA上实现。 关键词:曼彻斯特码 1553B总线 VHDL FPGA 引言 曼彻斯特码编码、解码器是1553B总线接口中不可缺少的重要组成部分。曼彻斯特码编解码器设计的好坏直接影响总线接口的性能。本文介绍的是MIL-STD-1553B接口中最曼彻斯特码的编码和解码器的设计实现。 在电子设计领域,可编程器件的广泛应用为数字系统的设计带来极大的灵活性,1片FPGA/CPLD芯片可替代上百个IC电路。同时,Altera公
[半导体设计/制造]
利用FPGA实现无线分布式采集系统设计
1 引言 近些年来,随着电子技术的发展,无线通信技术、计算机网络的发展,分布式无线数据采集网络技术开始兴起,并迅速的应用到各个领域。在一些地形复杂,不适合人类出现的区域需要进行数据采集的情况下,都可以适当的选择无线分布式采集来进行。现有的无线分布式采集系统中,往往使用单片机、DSP等作为系统的主控控制单元。但是由于其自身工作特点,往往对于精确的定时控制以及并行处理能力上比FPGA弱。随着FPGA等可编程逻辑器件的发展,为无线数据可靠传输提供了很好的实现平台。采用FPGA作为时序控制和信号处理的处理器,将使系统电路设计更加简洁、可靠、灵活,可有效的缩短开发周期,并降低开发成本。 为此,基于CycloneIV+STM32设计了
[单片机]
利用<font color='red'>FPGA</font>实现无线分布式采集系统设计
Crestron 采用英特尔 FPGA 改进视频质量和连接
移动工作者正在推动对于随时随地连接的需求。很快他们将实现高质量的 4K 连接并在不久之后实现 8K 连接。为了满足这种工作环境的变化,商业音视频系统正在实现真正的统一,将 PC 与视频会议系统和投影仪以及员工“自带”个人设备连接起来。与此同时,新的 4K、HDR 和 8K 视频标准将带来更多挑战,要求设备制造商将系统升级为这些标准,以便将设备推向市场。   随着人们从工作场所会议室转移到较小的协作空间再转移到小隔间,他们希望从任何地方均能够快速访问所需信息。 Crestron 今天宣布,该公司将在其新的数字媒体 AV 发布系统中使用英特尔 Arria® 10 FPGA,该系统可支持 4K 质量的视频会议并为使用任何设备的用户提供
[嵌入式]
基于FPGA的光纤通信系统的设计与实现
摘要:光纤通信是现今数据通信系统的主要通信方式,其性能的好坏直接影响数据通信系统的质量。本文采用Verilog语言实现FPGA光纤通信系统的功能。光纤通信系统又包含位同步时钟提取模块、8B/10B编解码器模块和NRZI编解器模块;这些模块都利用了DA(Design Analyz er)、Quartus II以及Modelsim等EDA工具来完成综合与仿真,从仿真的结果可以看出该设计方法很好地满足了系统的要求。 关键词:光纤通信;FPGA;位同步时钟;Verilog 光纤收发器与FPGA技术相结合的方案是现在光纤通信系统的主流解决方案。目前,在超高速光纤通信中还多采用专用的ASIC芯片,但最近各FPGA厂商也相继推出了40G
[嵌入式]
基于<font color='red'>FPGA</font>的光纤通信系统的设计与实现
FPGA实现傅立叶变换算法
引言   DFT(Discrete Fourier Transformation)是数字信号分析与处理如图形、语音及图像等领域的重要变换工具,直 接计算DFT的计算量与变换区间长度N的平方成正比。当N较大时,因计算量太大,直接用DFT算法进行谱分析和信号的实时处理是不切实际的。快速傅立叶变换(Fast Fourier Transformation,简称FFT)使DFT运算效率提高1~2个数量级。其原因是当N较大时,对DFT进行了基4和基2分解运算。FFT算法除了必需的数据存储器ram和旋转因子rom外,仍需较复杂的运算和控制电路单元,即使现在,实现长点数的FFT仍然是很困难。本文提出的FFT实现算法是基于FPGA之上的,算法完成
[嵌入式]
用<font color='red'>FPGA</font>实现傅立叶变换算法
基于FPGA 与VHDL 的微型打印机的驱动设计
摘 要:为了取代传统利用单片机驱动微型打印机,使用Alt era 公司的FPGA 芯片EP3C25Q240C8N 设计驱动打印机的硬件控制电路,并正确控制微型打印机的工作时序。软件使用硬件描述语言VH DL 实现对微型打印机的时序控制,并通过Quar tus 软件平台下载到FPGA 调试通过,证明该方法行之有效,完全可以取代传统利用单片机来驱动微型打印机,且抗干扰性好,可靠性高,具有较强的可移植性。   0 引 言   FPGA 即现场可编程逻辑阵列。是在CPLD 的基础上发展起来的新型高性能可编程逻辑器件。FPGA的集成度很高,其器件密度从数万门到数千万门不等,可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、高密度
[嵌入式]
基于<font color='red'>FPGA</font> 与VHDL 的微型打印机的驱动设计
一种跳频MSK信号检测算法及FPGA 实现
引言   采用MSK 调制的跳频通信具有主瓣能量集中、旁瓣衰落滚降快、频谱利用率高和抗干扰能力强等优点,在军事通信中应用广泛。如美军现役的联合战术信息分发系统采用的通信信号,工作带宽969~1 206 MHz,跳频速率为70000 多跳/ s, 单个频点驻留时间约为13 s,信号持续时间* s, 总共有51个间隔为3 MHz 的信道,码速率为5 MHz。已知在该工作频段内主要还存在单频、窄带调幅和线性调频等信号。为了准确截获并识别目标信号,针对此信号环境设计了一种MSK 信号检测识别方法,并使用FPGA 进行了设计实现。   1 算法设计   1.1 宽带跳频信号实时检测算法   用现代技术来实现宽带数字化接收的一
[嵌入式]
一种跳频MSK信号检测算法及<font color='red'>FPGA</font> 实现
FPGA与SRAM相结合完成大容量数据存储
1 引言 随着数字信号处理技术的不断发展,大容量可编程逻辑器件的不断涌现,FPGA技术越来越多地应用在大规模集成电路设计中。在此硬件系统设计中,经常会遇到需要大容量的数据存储的情况,下面我们将针对FPGA中内部Block RAM有限的缺点,提出了将FPGA与外部SRAM相结合来改进设计的方法,并给出了部分VHDL程序。 2 硬件设计 这里将主要讨论以Xilinx公司的 FPGA(XC2S600E-6fg456)和ISSI公司的SRAM(IS61LV25616AL)为主要器件来完成大容量数据存储的设计思路。 FPGA即现场可编程门阵列,其结构与传统的门阵列相似,大量的可编程逻辑块(CLB, Configurable L
[缓冲存储]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved