陈平平,杨 雷,张志坚

(1.东莞理工学院 电子工程学院,广东 东莞 523808;2.东莞理工学院 工程技术研究院,广东 东莞 523808)

基于FPGA的VGA数据线测试仪的设计与实现

陈平平1,杨雷2,张志坚1

(1.东莞理工学院 电子工程学院,广东 东莞523808;2.东莞理工学院 工程技术研究院,广东 东莞523808)

针对企业生产VGA数据线性能测试方面的需求,设计一款VGA数据线测试仪。该测量仪按照VGA视频流格式把VGA视频流信号通过被测数据线进行传输,然后通过计算其VGA视频流信号的错误率来判断数据线性能的好坏。实验结果和实际应用表明,该仪器较其他测试方法具有测试速度快,测试结果准确等优点,可广泛地应用于VGA数据线生产企业。

VGA;数据线;视频流;数据线测试仪

VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,是IT业使用时间最长的视频传输方式[1⁃2]。它支持从640×480到2 560×1 600的各种分辨率。虽然已经有了HDMI,Displayport等高清数字标准,但VGA可以支持远远高于高清的分辨率。所以目前各大工程及各大机构的指挥中心(如:军警和电视台)均采用VGA技术来传输超高清晰的大屏幕图像[3⁃4]。

VGA数据线是用来连接各个VGA接口设备间的必须通道。目前生产VGA数据线时,对数据线的测试基本上只是测试内部接口是否连通,是否有短路或断路,其传输性能却无法测试[5]。因为如果使用网络分析仪或是高频信号发生器和频谱分析仪进行测试时也只是进行单通道的传输测试,但因为VGA数据线中有视频分量R,G,B等3路信号,同时还有HV和SV等2路行场时钟信号。依次单独测试其中1路信号的测试无法实现整体传输性能的判断[6⁃7]。所以在很多VGA数据线生产企业都使用,把VGA数据线连接到视频播放器和显示器上面,进行实际的视频传输测试,但这样的测试方法,不但测试时间长,而且只是靠人的肉眼去看,无法定量分析其性能。

本文设计了一种采用实际传输VGA视频信号,通过检测视频信号收发之间的数据差异来判断数据线的传输性能。该方法具有测试速度快,4 s内完成测试和能定性定量分析测试结果的优点,可广泛用于VGA数据线生产企业。

1 测试原理

本设计是针对VGA数据线传输VGA视频信号的特点,在生产线上对VGA数据线进行性能测试。测试原理和方法是:如图1所示,按照VGA视频格式,将几种常用的VGA矩阵测试信号,即垂直栅格、斜坡信号、窗口信号、彩条信号、32级阶梯波和全白平场信号信号等形成VGA视频流;将VGA视频流通过被测数据线进行传输,然后通过计算其传输VGA视频流信号的错误率来判断数据线性能的好坏。具体实施如下:使用一个VGA视频D/A转换芯片和一个VGA视频A/D转换芯片,两个芯片的外部都加了ESD保护芯片后成为了两个VGA接口,被测VGA数据线就连接在两个VGA接口上。由主控制器控制原始的数字信号输出到VGA视频D/A转换芯片产生VGA视频流信号,VGA视频流经过数据线后,就到达了第二个VGA接口,并由VGA视频A/D转换芯片接收转换为数字信号,最后通过比较收发的信号差异性来计算其传输性能。最终判断数据线性能的好坏,如选择1 600×1 200@80 Hz的信号时,如果误码率小于10%,则认为数据线是合格的。

图1 测试原理

2 硬件系统设计与实现

系统结构图如图2所示,系统以FPGA为核心,辅之相应的电源、晶振、存储器、LED指示灯和LCD键盘等模块,以VGA视频D/A和A/D芯片为控制对象,FPGA产生测试视频流从VGA接口A输出,从VGA接口B读入数据。

图2 硬件结构图

FPGA采用 Altera公司的 ArriaⅡ GX系列的EP2AGX125EF35。该芯片为1152引脚的BGA封装,拥有124 100个LE,49 640个ALM,8 121 KB片内存储器,12个高速收发器,6个锁相环(PLL),576个18×18乘法器。内建32位的NiosⅡ嵌入式处理器,负责整个系统的控制和数据处理。

电源为整个系统提供能源动力,具有30 W的功率,输出5 V,3.3 V和1.2 V等电压,能满足系统各部分的需求。

LED为4颗彩色LED用于作为运行指示灯、测试进行指示灯、测试合格指示灯和不合格指示灯。

晶振选50 MHz有源晶振,通过FPGA内部PLL倍频到750 MHz为系统运行提供时钟。

系统中设计了3个串口,其中一个为开发调试作用,一个为与上位机通信使用,另一个为与其他机器通信使用。

键盘采用4×4的矩阵键盘,在FPGA内部建立键盘扫描模块,负责键盘扫描。

LCD选用7英寸的TFT屏,具有320×240的分辨率,满足良好的人机操作界面和测试功能显示的需求。

VGA视频D/A转换芯片选用ADV7123,这是ADI公司推出的高速视频D/A转换芯片,高达330 MHz的转换速度,能满足VGA视频流各类格式的视频流信号转换输出的要求,电路图如图3所示。

图3VGA视频D/A电路图

VGA视频A/D转换芯片,选用AD9888,如图4所示,这也是ADI公司的高速视频A/D芯片,500 MHz的处理速度能满足VGA视频流各类格式的视频流信号转换输入的要求。

ESD保护芯片选用MAX4895E,这是一款专门为VGA接口设计的ESD保护芯片,可以在测试数据线的拨插过程中进行静电保护。DDR3使用了2片256 MB× 16的DDR3芯片K4B4G1646B组成1 GB的存储器作为系统的内存使用,该芯片组为32位总线接口,在400 MHz的系统总线下能提供25.6 Gb/s的数据吞吐带宽,满足高速数据收发存储的功能需求。

FLASH为JS28F512P30BF,芯片有64 MB的容量,作为系统的程序存储器,用于存储系统运行的程序和非易失性数据。该芯片为Micron公司生产的Parallel NOR FLASH存储器提供16位的数据宽度,典型的访问时间为25 ns,可满足系统的高速运行需求。

图4VGA视频A/D电路图

PROMS为EPCS16SI16N,是FPGA的重配置芯片,提供了16 Mb的容量,可满足大规模FPGA设计的重配置要求。

3 软件设计

本系统的软件设计采用从下到上与至顶向下相结合的设计方法,采用模块化设计,软件都是在FPGA内完成。很多处理程序采用软件硬件化和处理电路采用硬件软件化等软硬件相结合的技术在FPGA内完成。软件结构图如图5所示,软件设计分为两大部分,一个基于VHDL的硬件化设计,即FPGA设计,主要是A/D驱动、D/A驱动、串口通信、TFT屏驱动和键盘扫描等部分;另一个基于C语言的软件化设计,即NiosⅡ的程序设计,主要是主控程序、视频流读写程序、通信程序和界面程序等部分。

图5 软件结构图

3.1FPGA设计

FPGA设计主要是采用VHDL语言设计,有键盘扫描控制器、串口通信控制器、A/D驱动器、D/A驱动器和TFT驱动控制器等。

利用Mealy状态机的原理实现了三个串口通信控制器,波特率n×9 600 b/s(n为1~12可配置)。同时给主控程序提供了收发寄存器,用于串口数据的收发。

用Moore状态机实现D/A驱动器和A/D驱动器。D/A驱动器自行产生VGA视频流的行场信号,并将发送数据缓存中的数据发送到D/A数据口中。A/D驱动器则是根据接收到的行场信号从A/D数据口中读取数据,并送到接收数据缓存中。

采用Altera公司提供的5×5矩阵键盘IP核和TFT驱动控制器IP核实现人机交互界面。键盘IP核能自动识别按键的按下,并输出中断信号给主控器。TFT驱动控制器IP核提供了8位的颜色配置器可实现256色的320×240屏的控制和显示。

3.2NiosⅡ的程序设计

NiosⅡ的程序主要有主控程序、视频流读写程序、人机界面程序和通信程序4大块。

通信程序对接3个串口,根据主控程序要求实现串口数据的发送和接收。界面程序负责界面的绘制与显示。视频流读/写程序负责从测试数据发送到D/A驱动器的收发缓存中,同时从A/D驱动器的接收缓存中读取数据。主控程序是系统运行的主干程序,负责调用各个子程序协调完成系统的运行。如通过读取键盘扫描的按键信息来判断用户的操作意图,并通过界面程序实现界面操作的显示。主要工作是通过视频流读写程序,实现VGA数据流数据的收发和差错统计,主程序流程如图6所示。

图6 主控程序流程图

系统上电开机后首先要进行系统初始化,如内部寄存器的复位清零和A/D、D/A芯片的初始化为下一步的测试做准备。然后是进行系统菜单界面显示,并判断是否启动测试,如果不需要启动测试就一直停在界面显示步骤;如果启动测试,则根据用户选择的VGA分辨率配置好发送数据的行场时钟,然后开始发送视频流,即从第一个数据帧开始,一个数据帧包括8幅完整的视频图片。连续发送10个数据帧。在发送数据帧的同时也在接收端接收视频数据帧,采用流控对齐的方法进行数据对齐并存储以方便比较。发送完所有数据帧以后则开始对比数据,因为传输的模拟信号,需要考虑A/D、D/A芯片在数据转换时的量化误差,所以比对时,只要每个像素点收发两个数据相差不超过3%,则认为是相同的。然后统计出有差异的像素点个数,最后计算出误码率。

4 测试与分析

为了验证本设计的测试效果,将两个厂家10种不同长度的数据线用本测试仪与网络分析仪、电脑连显示器实测对比。本测试仪和电脑、显示器都设置为1 600× 1 200@80 Hz的分辨率,测试结果如表1所示。

表1 三种测试方式对比表

从表1中的统计数据可分析出:VGA数据线随着长度的增加,其传输数据的带宽会下降,误码率则增大;且用电脑连显示器时,也会逐渐出现人眼能分辨的雪花。统计数据表明三种测试方法的结果基本一致,但本文设计的仪器测试时长远小于其他两种测试方法,具有测试速度快的优点。根据分辨率为1 600×1 200@80 Hz的视频标准,其传输带宽至少要116 Mb/s以上,实测中,被测数据线的带宽小至80.2 Mb/s时,肉眼目测还无法分辨雪花,但用本仪器已经能测量出其传输视频的误码率为7.9%,则表明本仪器具有测量精度高的特点。即用本仪器能更快速、更精确地测试出VGA数据线的传输性能。

5 结 语

本文设计并实现了一种基于FPGA的VGA数据线测试仪,详细介绍了系统的测试原理和整体架构,给出了相关重要部件的实现方法。实际应用表明,该测试仪可以进行VGA数据线的性能测试,并具有测试速度快和准确的优点。

[1]朱嵘喆,戎蒙恬,刘文江.基于SoC的VGA/LCD控制器设计和实现[J].计算机工程,2007,33(13):260⁃262.

[2]邓春健,王琦,徐秀知,等.基于FPGA和ADV7123的VGA显示接口的设计和应用[J].电子器件,2006,29(4):1325⁃1328.

[3]王勃,周雄,张毅.云南网军的新装备:屏屏通广播系统[J].电视技术,2015(6):108⁃111.

[4]李立新,王筠,容太平.在CATV网络中实现监警系统的数据通信[J].电视技术,1994(7):22⁃25.

[5]陈平平,杨雷,张志坚.手机USB数据线测试仪的研制[J].计算机测量与控制,2015,23(5):1841⁃1843.

[6]胡振强,崔艳丽.多芯线缆快速测试技术分析[J].计算机与网络,2011(11):41⁃43.

[7]李迎华.DTX⁃LT频谱测试功能在400型电缆性能研究中的应用[J].石油仪器,2012,26(2):80⁃82.

Design and implementation of VGA data cable tester based on FPGA

CHEN Pingping1,YANG Lei2,ZHANG Zhijian1
(1.School of Electronic Engineering,Dongguan University of Technology,Dongguan 523808,China;2.Institute of Engineering Technology,Dongguan University of Technology,Dongguan 523808,China)

A VGA data cable tester was designed to satisfy the demand for the performance test of VGA data cable pro⁃duced by enterprises.With the tester,the VGA video stream signal is transmitted through the tested data line according to the VGA video stream format,and then the error rate of VGA video streaming signal is calculated to determine the performance of data cable.The experimental results and practical application show that,in comparison with other test methods,the tester has faster test speed and more accurate test results,and can be widely used in VGA data cable manufacturers.

VGA;data cable;video stream;data cable tester

10.16652/j.issn.1004⁃373x.2016.14.033

TN913.3⁃34;TH89

A

1004⁃373X(2016)14⁃0127⁃04

2015⁃11⁃22

国家“973”计划项目(2013CB834305);国家自然科学基金科学仪器基础研究专款项目(11127508)

陈平平(1983—),女,广东雷州人,实验师,硕士。从事嵌入式、电子测控方面的研究。

杨雷(1964—),男,教授,博士。从事嵌入式、电子测控等方面的研究。

张志坚(1982—),男,硕士。从事通信、电子测控方面的研究。