VGA视频信号详解最近做了一些关于视频的工作,稍微研究了一下V4L2和硬件上的视频知识,其中包括了VGA、component、PAL等信号。在这里总结一下关于VGA信号波形方面的知识。在学习VGA的视频输出的时候,很容易就可以从网上找到相关的引脚定义:1红色视频信号(Red,75ohm,0.7Vp-p)2绿色视频信号(Green,75ohm,0.7Vp-p)3蓝色视频信号(Blue,75ohm,0.7Vp-p)4显示器标识信号#2(MonitorIDBit2)5地线(Gnd)6红色视频信号地线(RedGnd)7绿色视频信号地线(GreenGnd)8蓝色视频信号地线(BlueGnd)9未连接(NoPin)10同步信号地线(SyncGnd)11显示器标识信号#0(MonitorIDBit0)12显示器标识信号#1/SDA(MonitorIDBit1orSDA)13水平/复合同步信号(HorizontalSyncorCompositeSync)14垂直同步信号(VerticalSync)15显示器标识信号#3/SCL(MonitorIDBit3orSCL)根据上面的定义,可以看出VGA其实就是将我们平常的3基色数据放到了三根模拟信号线中传输。但是我以前错误地认为水平和垂直同步信号是必须的,但是在这次硬件设计的时候发现,一个TI的公板上的VGA只有3基色信号和地,并且在软件调试的时候可以正常的让液晶显示器显示高清画面,所以上网搜索了一下,才发现了VGA的多种同步方式。VGA接口根据同步信号的不同可分为下列三种:1.3线同步(绿同步)2.4线同步(3基色信号+复合同步信号)3.5线同步(3基色信号+场行同步信号)首先我先找到了网上较为详细的一篇英文资料:VGASignalinformation,大家可以先看看。IntroductionVGAisahigh-resolutionvideostandardusedmostlyforcomputermonitors,whereabilitytotransmitasharp,detailedimageisessential.VGAusesseparatewirestotransmitthethreecolorcomponentsignalsandverticalandhorizontalsynchronizationsignals.VGASignalsLikeanyvideoformat,VGAvideoisastreamofframes:eachframeismadeupofaseriesofhorizontallines,andeachlineismadeupofaseriesofpixels.Thelinesineachframearetransmittedinorderfromtoptobottom(VGAisnotinterlaced),andthepixelsineachlinearetransmittedfromlefttoright.Separatehorizontalandverticalsynchronizationsignalsareusedtodefinetheendsofeachlineandframe.Acompositesynchronizationsignal(actuallyanXORofthehorizontalandverticalsignals)isalsoencodedonthegreencolorchannel.TheADV7125videoDACreadsan8-bitvalueforeachofthered,green,andbluechannelsoneachcycleofthepixelclock.Thereisatwo-cyclepipelinedelaybetweenwhenthedigitalcodesarereadbytheDACandwhenthecorrespondinganalogvoltagesappearontheDACoutputs.TheRGBinputsignalscanbeoverriddenbythesyncandblanksignals:TheactivelowblanksignalforcesallthreeDACoutputstotheirblacklevel,whiletheactivelowsyncsignalforcesthegreenDACtoaspecialsynclevelbelowthenormalblacklevel.Eachlineofvideobeginswithanactivevideoregion,inwhichRGBvaluesareoutputforeachpixelintheline.Theactiveregionisfollowedbyablankingregion,inwhichblackpixelsaretransmitted.Inthemiddleoftheblankinginterval,ahorizontalsyncpulseistransmitted.Theblankingintervalbeforethesyncpulseisknownasthefrontporch,andtheblankingintervalafterthesyncpulseisknownasthebackporch.NotethatthededicatedhorizontalsyncsignaloutputfromtheFPGAdirectlytotheVGAconnectormustbedelayedbytwoclockcyclesrelativetothecompositesyncsignalpassedtotheDACchip,toaccountforthepipelinedelayoftheDAC.Framesareconstructedfromlinesinmuchthesamewayaslinesareconstructedfrompixels.Thebeginningofaframecontainsallofthelinesthatwillactuallybedisplayedonthescreen,followedbyanumberofblacklinesthatmakeupthefrontporch.Nextcomesaverticalsyncpulsethatlastsforseverallines,andthenmoreblacklinestomakeupabackporch.Notethatthecompositesyncsignalembeddedinthegreenchannelappearsinvertedduringtheverticalsyncpulse:rememberthatthecompositesyncisanXORofthehorizontalandverticalsyncsignals.其中讲述了绿同步的原理:其实就是在绿色模拟信号中复合了场行同步信号,下面我用真实的示波器输出解释3线同步(绿同步)信号的波形。实验视频源:开发板输出的1080P-60帧/秒VGA信号(绿同步),硬件上仅用杜邦线连接三基色信号和地到VGA接口:为了方便观测,开发板输出彩条信号:首先我们从总体的波形上观察:从上面的线号波形上看,绿色信号和其他两个信号比不太一样,似乎上面罩这一层“雾”一样的。其实这层“雾”就是叠加在上面的场行同步信号。从一场的信号中,我们可以和显示器上的颜色对应上(这也是我为什么用简单彩条信号的原因,有利于分析):大家都知道,视频数据的场、行同步信号都是场、行的消隐期发生变化的,所以我们要研究场行同步信号就必须研究消隐期的波形。下面先看行消隐波形:将行消隐放大后,我们可以清楚地看到行同步信号的脉冲波形:再来看看场消隐波形:将场隐放大后,我们可以清楚地看到场同步信号的脉冲波形(下图较大,若没有显示出来请刷新页面,或者点击图片位置可在新窗口打开):从中我们可以通过波形数出在场消隐期间(VBI)有多少行的数据(以上波形为45行)。在这期间,3基色信号线上可以携带数据,所谓的VBI数据。有兴趣的朋友可以Google一下,它在不同的场合可以有不同的应用。从上面的波形采集时显示的时间,我们可以验证我们输出的是1080p的数据:(场信号周期/行周期)—场消隐期的行数=(16.7mS/14.8uS)-45=1083(其中包含了测量误差,主要来源于场周期的测量)而对于4线同步方式,也就是将场行同步信号放在了13脚的复合同步信号中;5线同步方式就是把行同步信号放在了13脚,场同步信号放在了14脚中。一般的显示器都可以接受5线同步方式;至于4线同步和3线同步,那就要看显示器硬件方案中是否可以从绿信号或复合同步信号中分离出场行同步信号了,并不是所有显示器都支持。比如我做实验的LGL179S就支持绿同步,但是NECLCD192WG就不支持,但是他们都不支持复合同步。(可以通过读取显示器的EDID数据得知显示器是否支持这些同步方式,见下文)。理论上VGA接口只要接上了上面主要的信号线和地,就可以显示了。与分量视频信号对比通常我们在一些视频设备或高档影碟机等家电上看到有YUV、YcbCr、Y/B-Y/B-Y等标记的接口标识:这表示的是分量视频信号(ComponentVideo)也叫色差信号,通常采用YPbPr和YCbCr两种标识,前者表示逐行扫描色差输出,后者表示隔行扫描色差输出。其实3线同步就是分量视频的逐行RGB形式,它和YPbPr之间的差别仅在于颜色空间上,信号的同步方法是一致的。口说无凭,下面是分量视频显示同一彩条视频的波形:整体波形,由于颜色空间不同,三个信号线所携带的数据值肯定就不同了:下图是行消隐波形:下图是场消隐波形:显示器信息(EDID)知识及实验介绍完了主要的信号线,下面简单介绍下剩下的所谓“显示器标识信号”。这个是可选的,不接也是可以显示的,但是不用这些信号就无法获取当前显示器的信息,无法实现比较高级的管理功能。这些信号线遵循VESA(VideoElectronicsStandardsAssociation:视频电子标准协会)的DDC(DisplayDataChannel:显示数据通道)相关标准。你可以去VESA注册下就可以下载。(VESA_DDC)总结得也很不错可以参考下(如果你打不开,这里有转载的)。前先看了这些资料后再阅读下面的内容。相关引脚总结如下(其实就是个IIC总线,具体可在百度查询使用):1.4脚显示器标识信号#2(MonitorIDBit2)2.11脚显示器标识信号#0(MonitorIDBit0)可能作为彩色与黑白的标志(color=GND,Mono=NC)3.12脚显示器标识信号#1/SDA(MonitorIDBit1orSDA)4.15脚显示器标识信号#3/SCL(MonitorIDBit3orSCL)