《基于FPGA的DVI接收器设计与实现.docx》由会员分享,可在线阅读,更多相关《基于FPGA的DVI接收器设计与实现.docx(6页珍藏版)》请在第一文库网上搜索。
1、基于FPGA的DVI接收器设计与实现DVKDigita1VideoInterfaCe)接旦1-3是由数字显示工作组在1999年制定的,利用最小变换差分信号TMDS作为基本电气链接信号。图像源生成的3路红、绿、蓝信号和控制信号在班的作用下由DV1发送器进行编码并串行化后,通过TMDS通道发送给DV1接收避;DV1接收器对其进行串/并转换、通道对齐、解码等一系列处理后发送给显示设备,如图1所示。DV1接口传送的是数字信号,因此可以减少模/数转换的成本,节约时间,速度更快,加之它与HDM1在电气特性上完全兼容,因此升级更容易。DV1链路结构如图1所示。DVI在高速串行远距离传输后进行接收,常规做法是
2、用接收甚左与FPGA相结合来进行接收,但在用FPGA进行视频信号处理的场合无疑会增加系统功耗和成本。因此,提出一种充分利用FPGA自身资源来实现DV1接收的方法,即采用内置TMDSI/O电气接口的FPGA芯片而无需外接专用芯片来实现TMDS连接,加之FPGA的可编程性,可使用户快速实现设计,从而缩短设计周期。DV1的单TMDS只提供24bit色深,当用户要求色深超过24bit时,并且系统已经确认显卡和显示器都支持双链路TMDS,此时系统会启动双TMDS链路,链路0(数据通道广3)传输24bit信息,其他颜色信息由链路1(数据通道46)传输。当用户的分辨率和刷新率要求超出单TMDS链路的传输能力
3、时(单链路的最高像素传输频率为165MHZ),系统会启动链路1,并定义显示器上每一行的第一个像素为1,奇数像素。链路。用来传输奇数像素信息,链路1用来传输偶数像素信息。由于TMDS链路共用一条时钟回路,所以双链路工作时,链路的时钟频率为像素数据带宽的一半。DV1编码器在时钟驱动下,利用TMDS编码方式对8bit像素信号和2bit控制信号分别进行8bit转10bit和2bit转10bit编码,最低有效位先送出。这种编码方式充分体现了TMDS的两大优势,即:变换次数最小化和直流均衡作用。1接收器设计1.1 系统架构DV1接收器的系统结构包括电平转换、时钟恢复、相位调整、串/并转化、字对齐、通道对齐
4、、解码等几部分组成,由TMDS通道传输过来的串行信号最终被转化成3路8bit的像素信号和2bit的控制信号,如图2所示。图2测试系统硬件总体悔攵事5rHWT”齐H”码f:_rMfr!tmrfchinaAET.com1.2 时钟恢复和相位调整时钟与同步是DVI接收器设计中非常重要的一步,以DV1信号提供的像素时钟为参考时钟,在TMDS通道上传输的串行数据的时钟为参考时钟的10倍,在接收端采样时要用倍频后的速率进行采样。文中这几个时钟信号由P11电路产生,采用哒4的方式采样数据,可实现两倍于以往的串行数据传输速率,因此只需将参考时钟5倍频即可,这样可降低器件成本。DV1信号在经过长距离传输后,数据
5、与采样时钟的相位不确定性很大,有较大的相位偏移,对正确采样有很大的影响,因此需要进行相位调整5。利用FPGAIO接口模块内置的IoDE1AY4模块,在算法上利用状态机动态调整串行数据的延时来获取最佳的数据采样时刻。由于之前已可用DCM来实现相位调整,IODE1AY模块与DCM模块相比较,其缺少两个输出,分别为DCM的PSdone和D00,因此给IoDE1AY模块模拟两个输出psdone和D00,在调用IODE1AY模块的代码中依照它们在DCM中的时序来编写代码,完成在IODE1AY中相同的功能。其中psdone相当于DCM模块中的psdone,表示一级调整的完成;DO0相当于DCM中的D00,
6、表示调整级数超过63级时溢出,用这两个输出送到相位调整算法的状态机上来实现动态调整。由于通过TMDS通道传输的视频数据是随机的,但4个控制字是周期发送的,因此可以用来检测时钟相对于数据的位置。如果收到4个控制字之一,就认为数据有效。如图3所示,串行数据的两个采样窗口之间是抖动区域,抖动区域描述了时钟和数据在传输边沿的到达时间不确定性,有效采样的部分称作窗。为保证有效采样,采样时钟必须调整到窗的中心。相位调整算法如下:(1)如果时钟的初始位置在S2处,则增加IODE1AY的相位偏移值至T1并记录下来,再增加相位偏移值至T2并记录下来,。2-T1)/2即为最佳的采样时刻。(2)如果时钟的初始位置在
7、S1处,则增加相位偏移至S2处,即从下一个抖动区开始,同步骤(1)分别增加相位偏移至T1、T2记录,则(T2-TD/2为最佳的采样时刻。相位调整亦可通过DCM模块来实现,不需要额外模拟输出信号。与通过DCM模块来实现相位调整不同的是,IODE1AY实现相位调整时是数据在移动,而DCM则是时钟在动。利用I0DE1AY可以节约FPGA内的DCM和BUFG资源,但需要额外提供200MHz的工作时钟,且IODE1AY模块的相位调节步长和幅度是固定的,对于较低频率的DV1数据,可能无法完成采样窗口扫描。1.3 数据串/并转换利用FPGA1o接口模块内的ISERDES5完成串/并转换,与用一系列寄存器完成
8、串/并转换相比,避免了时序混乱且节约资源。要实现1:10串/并转换,需要将两个ISERDES串接起来,即将一个设置为主ISERDES,一个设置为从ISERDES,然后将主ISERDES的输出SH1FTOUT1、SHIFT0UT2连接到从ISERDES的SHIFTINGSHIFTIN2,如图4所示。rqtm*WHfOkInMwoTWwfWTItR_IU.WW,VWWWWt4DBnf.v*1O4K*0wtfMmrfrwf1-cmtfrawwowds10:1rawwords18:9rawwords19:10之一,之后即可通过多路选择器选出具有正确高低字节的数据输出。1.4 通道对齐每个通道会收到一个
9、来自于相位调整状态机的表示字对齐后的数据是否为有效的信号,如果3个通道都有效,则通道对齐模块内的FIFo缓存器开始传送数据,不断地写入和读出。FIFo是一个16B深度的分布式幽1资源,当一个通道的FIFO输出检测到控制字时,则该通道的读出数据流被延迟,仅当另外两个通道检测到控制字时才恢复,这样可消除通道延迟。1. 5DVI解码在经过通道对齐后,通过DVI解码规则可解出8bit数据信号和2bit控制信号,解码规则如下:DE=0(消隐期)解出2bit的控制信号,DE=I解出8bit的像素信号。2仿真结果本设计在mode1sim6.5版本上进行仿真6,功能仿真如图6所示。用H264EJDATA文件作
10、为Y、U、V源文件,用它产生R、G、B信号,经过发送端到达接收端时,接收端的输入信号为图中的TMDS差分信号b1ue_p、b1uen、green_pgreen_nred_pred_n和时钟tmdsc1k_p、tmdsc1k_n0输出信号为3路8位的R、G、B信号b1ue_out、green_outred_out和一路的时钟恢复信号区Xe1C1k及控制信号hsync、vsyncde0此设计在Xi1inx公司的Virtex5-330TFPGA上得到验证。资源利用情况如表1所示。受限于FPGA内P11模块的最高输出主频450MHz,所以主时钟工作频率为90MHz,即TMDS串行输入数据的理论最高速率
11、为900Mbso湍?胖府7方一实际测试使用PC机显卡输出的DV1信号源,DVI传输线长1m,点频74.5MHz,视频分辨率1280720O接入FPGA后DV1信号解码正确,输出的并行视频数据接入FPGA内的视频处理模块后,可采集得到正确的动态视频画面,且画面清晰无噪点,证明了文中方法的可行性。本文讨论了一种符合DVI1.0规范的、基于FPGA的DVI接收器设计与实现方法。经验证可得,此方法可用于Dv1视频的接收解码,尤其是在利用FPGA进行DV1解码设计时,可减少资源消耗,提高集成度,充分利用FPGA自身资源实现。参考文献1王春军,潘昉晟.DV1接口在嵌入式系统中的应该J.计算机工程,2005
12、,31(20):207-208.2尹淑仙,徐火生.DVI核心技术剖析与逻辑实现J.液晶与显示,2007,22(6):765-769.3冯永茂,王瑞光,丁铁头.数字视频接旦-DV11OJ.电子技术应用,2003,29(9):10-14.4 Xi1inx.Virte-5FPGAuserguideEBO1.(2009-03-19)2013-06-015 FENGB,CRABI11E.VideoconnectivityusingTMDSI/OinSpartan-3AFPGAsEBO1.(2008-07-25)2013-06-016 Xi1inx.Virte-51ibrariesguideforHD1designsEBO1.(2009-09-16)2013-06-01