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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

飞机研发过程中,需要对包含目标信息和地图信息的机载视频信号进行调试。

但是机载显示终端普遍存在价格昂贵、使用寿命短等缺点,如果使用它不断地调试机载视频信号,则机载显示终端的消耗会增大,研发成本将大幅提高。

本文介绍了一种DVI视频信号叠加器的设计方案,可以对两组相同分辨率和刷新频率的DVI视频信号转化、合成并输出。

通过该系统,从路图像的非黑像素能够覆盖主路图像相同坐标的像素,从而完成对机载显示终端的模拟。

该方案主要以1024×768@60Hz的视频源为研究对象,可根据实际需要调节,并可支持多种分辨率和刷新频率(640×480@60Hz,800×600@60Hz,1024×768@60Hz)。

由于设计了这种模拟装置,因此不必用机载显示终端调试机载视频信号,从而减少对机载显示终端的消耗。

DVI视频信号叠加器的使用,节约了开发成本。

1DVI接口
数字视频接口(DVI)是一种适应数字显示器飞速发展而产生的显示接口。

DVI标准由DDWG(Digital Dis-play 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信号则抗干扰能力强,图像信号没有衰减,色彩更纯净、逼真。

2VESA标准介绍
VESA(Video Electronics Standards Association)即视频电子标准协会,主要致力于制订并推广显示相关标准。

它规定了各种分辨率和刷新频率的显示监视器定时标准(简称VESA标准)。

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

基于DVI和FPGA的视频叠加器设计
赵艳军,何其锐,施锡涛
(电子科技大学光电信息学院,四川成都610054)
摘要:利用FPGA作为主控单元,以数字视频接口DVI为视频接口、TI公司的TFP401和TFP410为视频信号的编解码芯片、ISSI公司的SRAM IS61LV10248-8TI为存储单元完成视频叠加器的设计。

通过该系统,从路图像的非黑像素能够覆盖主路图像相同坐标的像素。

关键词:数字视频叠加;FPGA;最小化传输差分信号
中国分类号:TP391.4文献标识码:A文章编号:0258-7998(2011)06-0031-04 Implementation of the device for video overlay based on DVI and FPGA
Zhao Yanjun,He Qirui,Shi Xitao
(School of Optoelectronic Information,University of Electronic Science and Technology of China,Chengdu610054,China)
Abstract:With FPGA as the master controller,DVI as the video interface,TFP401and TFP410of TI company respectively as the decoder and encoder chip,the SRAM IS61LV10248-8TI of ISSI company as the storage unit,the device for video overlay is implemented.Through this device,the non-black pixels of the slave image can overlay the pixels at the same location of the master image.
Key words:digital video overlay;FPGA;T.M.D.S
图3视频叠加器原理框图
VESA3
T.M.D.S3
T.M.D.S 编码电路
DVI 接口3
数据
地址
数据
地址
SRAM3SRAM4
E 2PROM
DVI
接口2T.M.D.S 解码电路2
T.M.D.S 解码电路1
VESA1
VESA2
T.M.D.S2
T.M.D.S1
DVI 接口1
E 2PROM
SRAM1
SRAM2数据
地址
数据
地址
FPGA 主控电路
图21024×768@60Hz 视频信号定时参数值
图1VESA 标准时序图与定时参数定义
VESA 标准的五组视频信号之间有严格的定时参
数,场(行)扫描包括场(行)消隐期和场(行)有效显示期(即Addr Time )。

场(行)消隐期又包括同步期(Sync )、后肩(Back Porch)、顶(左)边(Top (Left)Border)、底(右)边(Bottom (Right)Border )、前肩(Front Porch )。

图1以行同步极性和场同步极性都是负极性为例,即同步期为低电平[2]。

关于同步极性的规定(如在1024×768@60Hz 的视频格式下),如图2中“Hor Sync Polarity=NEGATIVE ”,“Ver
Sync Polarity=NEGATIVE ”所示。

2.2VESA 参数值举例(1024×768@60Hz )
VESA 同样规定了各种参数在不同分辨率和刷新频
率的具体值,例如1024×768@60Hz 的定时参数值如图2所示[2]。

结合图1与图2便可容易地用VHDL 语言生成
1024×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 ,其读写周期为8ns ,存储空间为1M ×8bit ,
图4FPGA工作流程图数据信号地址信号控制信号数据信号地址信号控制信号数据信号地址信号控制信号数据信号地址信号控制信号
SRAM控制
SRAM1 SRAM2 SRAM3 SRAM4 VESA3
Data1 CLK1、VSYNC1
VESA1
写地址生成
输出时序、读地址生成a_read、
v_trans
Data11、
Data22
VSYNC1、
DE1、CLK1
VSYNC1、
DE1、CLK1 VESA1
VESA2VSYNC2
DE2、CLK2
VESA2
写地址生成
a_write2
a_write1
场同步
极性判断
VSP
Data2
能够满足系统像素时钟最高为65MHz、最高分辨率为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.2VESA1和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.3VESA3读地址生成
由于此地址生成方法与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中读
(上接第30页)
[2]雒勇,南秀娟.高速电路板信号完整性设计及仿真[J].中
国航空计算技术研究所,2010(2).
[3]李玉山,李丽平.信号完整性分析[M].北京:电子工业出
版社,2004.
[4]胡启翔.高速数字电路的信号完整性分析及其应用[D].
天津:天津大学,2007.
[5]李晓晶.确保信号完整性的电路板设计准则[J].中国新技
术新产品,2009(18):25
(收稿日期:2011-01-26)
作者简介:
韩德强,男,1966年生,高级工程师,硕士生导师,主要研究方向:嵌入式系统教学和科研。

取的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.4SRAM 控制
将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实验结果
对于1024×768@60Hz 的VESA 时序,控制信号(vsync ,hsync ,de )和像素时钟(idck )的仿真结果如图5
所示,其他分辨率的仿真图不再给出。

经过测量场同步信号和行同步信号的周期分别为16.7ms 、20.7μs ,与
VESA 标准[2]一致,其他参数经测量也吻合,不再列举。

由于只对两路视频中的绿色信号进行了叠加,显示色数有些不足。

后期研究可向全彩色视频叠加方向努力。

但彩色信号叠加与绿色信号叠加在原理上相同,只是意味着要选用引脚数更多的FPGA 。

参考文献
[1]Digital Display Working Group.Digital visual interface DVI ,
Revision1.0.1999,4.
[2]Video Electronics Standards Association.VESA and industry
standards and guidelines for computer display monitor timing(DMT).Version 1.0,Revision 10,2004.
[3]Video Electronics Standards Association.VESA E-EDID
implementation guide.Version1.0,2001.
[4]Video Electronics Standards Association.Display data channel
(DDC)specification.Version 3,1997.
(收稿日期:2010-12-24)
作者简介:
赵艳军,男,1987年生,本科,主要研究方向:信息显示与光电技术。

何其锐,男,1975年生,讲师,主要研究方向:数字信号处理。

施锡涛,男,1988年生,本科,主要研究方向:信息显示与光电技术。

图51024×768@60Hz 的控制信号和像素时钟仿真结果
(a)粗略
(b)精细
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!。

相关文档
最新文档