RGB565转VGA接口的阻抗匹配问题(冰枫 .4.17)

时间:2024-03-26 12:31:46

最近所做的工作涉及到RGB565信号到VGA接口的转换问题,于是简单地研究了一下VGA接口设计相关的东西,写的有点长,可能大家看起来会比较累,见谅~ VGA(Video Graphics Array)是IBM在1987年随PS/2机一起推出的一种视频传输标准,具有分辨率高、显示速率快、颜色丰富等优点,在彩色显示器领域得到了广泛的应用。目前VGA技术的应用还主要基于VGA显示卡的计算机、笔记本等设备。根据分辨率不同,VGA分为VGA(640x480)、SVGA(800x600)、XGA(1024x768)、SXGA(1280x1024)等。虽然VGA接口对于当前的PC机而言已经十分“老土”了,但不可否认的是目前它依然是PC机上应用最为广泛的视频接口。几乎所有的PC机都默认支持VGA接口。

VGA物理连接器接口共有15针,分成3排,每排5个孔,是显卡上应用最为广泛的接口类型,绝大多数显卡都带有此种接口。它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。一般在VGA接头上,会标明每个接口编号。VGA接口15根针,其对应接口定义如下: 1.红基色 red 2.绿基色 green 3.蓝基色 blue 4.地址码 ID Bit(也有部分是RES,或者为ID2显示器标示位2) 5.自测试 ( 各家定义不同)(一般为GND) 6.红地7.绿地8.蓝地9.保留 ( 各家定义不同)(KEY··我也不是很理解)10. 数字地 11.地址码(ID0显示器标示位0) 12.地址码(ID1显示器标示位1) 13.行同步 14.场同步 15.地址码 ( ID3或显示器标示位3 )。

VGA物理连接器接口共有15针,分成3排,每排5个孔,是显卡上应用最为广泛的接口类型,绝大多数显卡都带有此种接口。它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。一般在VGA接头上,会标明每个接口编号。VGA接口15根针,其对应接口定义如下: 1.红基色 red 2.绿基色 green 3.蓝基色 blue 4.地址码 ID Bit(也有部分是RES,或者为ID2显示器标示位2) 5.自测试 ( 各家定义不同)(一般为GND) 6.红地7.绿地8.蓝地9.保留 ( 各家定义不同)(KEY··我也不是很理解)10. 数字地 11.地址码(ID0显示器标示位0) 12.地址码(ID1显示器标示位1) 13.行同步 14.场同步 15.地址码 ( ID3或显示器标示位3 )。

VGA接口的时序总体来说比较简单,图1和图2分别为VGA接口行信号时序和场信号时序图。

RGB565转VGA接口的阻抗匹配问题(冰枫 2011.4.17)

图1 行信号时序

RGB565转VGA接口的阻抗匹配问题(冰枫 2011.4.17)

图2 场信号时序

行信号时序图主要给出了两方面的参数:一是行同步信号HSYNC的时间e,包括同步脉冲信号SYNC(a),后沿Back porch(b),有效信号时间Active video time(c),前沿Front porch(d)。即e = a + b + c + d;二是有效信号时间,这段时间内给出行像素的数据DATA,即每个像素点的RGB值。场信号时序与行信号时序类似。其中a,b,c,d,e,o,p,q,r,s各个参数的值与分辨率、刷新频率有关。图3为VGA接口常见显示模式的时序表,其中给出了各常见显示模式下行时序与场时序的参数。

表1 VGA常见显示模式时序表

RGB565转VGA接口的阻抗匹配问题(冰枫 2011.4.17)

以上是VGA接口的一些基础知识,这次研究的内容主要在于RGB565信号转VGA信号的接口设计与匹配问题,对VGA接口时序部分就不作深入研究了。

在应用中,经常用到的VGA接口信号只有5个,分别是红、绿、蓝三基色信号(1、2、3),行同步信号(13),场同步信号(14)。在这5个主要信号中,三基色信号相对比较特别,因为它们是电压值范围在0~0.714V的模拟信号,对应每一种基色的0.714V最多可被等分为256个电压值,即每种基色最多对应有256种颜色,对应可用8bit数字信号来表示,则三基色信号可用对应的24bit数字信号表示,因此24bitRGB信号所表示的色彩信号也被称为真彩色。低于24bit的RGB信号表示的彩色信号被称为伪彩色。行同步和场同步信号相对简单,为TTL电平。

在大多数情况下处理器输出的信号都是数字信号,因此要用到VGA接口就必须先将数字的三基色信号转换为电压值在0~0.714V之间的模拟电压信号。这次研究的重点就是将RGB565格式的数字信号转换为适应VGA接口的三基色模拟信号。所谓RGB565格式的数字信号就是一个16bit的数字信号,其中R、G、B这三种基色分别为5bit,6bit,5bit。故其实质为一个数模转换问题。

当然,除了数模转换的方法之外可能还有其它更加巧妙的方法,比如曾经看到特权同学在一篇博文中提出的在保证整体刷新频率不变的前提下,在每个行像素的时间内串行送出一个基色的多位数据,这样利用视觉暂留效果也可以达到不错的显示效果,唯一的缺点就是对于系统时钟的要求比较高,如果要实现16bit或者24bit的色彩信号的话难度会比较大。但对于较低分辨率下256色显示的实现还是很不错的方案。

当然,除了数模转换的方法之外可能还有其它更加巧妙的方法,比如曾经看到特权同学在一篇博文中提出的在保证整体刷新频率不变的前提下,在每个行像素的时间内串行送出一个基色的多位数据,这样利用视觉暂留效果也可以达到不错的显示效果,唯一的缺点就是对于系统时钟的要求比较高,如果要实现16bit或者24bit的色彩信号的话难度会比较大。但对于较低分辨率下256色显示的实现还是很不错的方案。

对于解决RGB565信号到VGA的三基色模拟电压信号转换的问题,主要有两种解决方案,一种是利用通用的三通道视频DA转换芯片来实现(如ADI公司的ADV7125芯片),这种方案的主要优点在于转换速度快,可靠性高,缺点是成本高。另一种方案是通过自己搭建电阻网络来实现模数转换,这种方案相对采用DA转换芯片的方案而言,缺点在于转换速度和可靠性不如DA转换芯片,但优点在于成本低。

值得注意的是,VGA接口的三基色信号为模拟电压信号,且信号的速率较高,在1024*[email protected]的显示模式下就已经达到78.8MHz的频率,在如此高的频率下,对于VGA 接口三基色模拟电压信号的阻抗匹配也就成为了一个不容忽视的问题。关于阻抗匹配问题,很多同学通常都是“谈虎色变”,在设计中对于这类问题也是视而不见。在频率不高的时候,

对阻抗问题视而不见通常不会有什么问题,但一旦频率上去了,随之而来的各种诡异的问题就会让我们头疼不已。我想说的是,其实阻抗匹配问题本身也并不是那么高深。在这里,我不打算做任何让人头疼的数学公式和推导,只是想以这个VGA接口为例说一说我对于阻抗匹配问题的理解:为什么要做阻抗匹配,在什么地方该考虑阻抗匹配,怎样去做阻抗匹配。当然,这些理解很可能不正确,只是希望给同学们一个更加感性的认识,希望大家能够去其糟粕,取其精华,也欢迎各位前辈拍砖,帮助我树立起正确的认识~

在高速信号的传输中,传输线如果终端开路或接入高阻器件,就类似将一个小球(信号)丢向一堵墙,将会反向弹回,甚至回到源端以致对后续信号造成干扰。但如果那堵是橡皮泥墙(与传输线路上的阻抗接近的终端),小球(信号)就会嵌入到里面而不发生反弹,这就是“终端匹配”。当然,这里所说的只是阻抗匹配的一个作用,以便同学们对阻抗匹配的作用,即为什么要进行阻抗匹配有一个感性的认识。

接下来说在什么地方需要进行阻抗匹配的问题。其实需要进行阻抗匹配的原因主要是因为大多数集成电路芯片的输出阻抗都很小,而输入阻抗都很大。阻抗匹配的目的就在于使得上一级电路的输出阻抗与传输线的阻抗和下一级电路的输入阻抗尽量接近,以避免或减少前面所提到的问题以及其它问题的发生。在VGA接口中要求三基色的源端和终端匹配电阻均为75欧。

在利用通用的三通道视频DA转换芯片来实现VGA接口时就会遇到这个问题。这里以AD7125芯片为例。VGA接口为RS-343A电平标准。对于电流型的DA芯片AD7125而言,其标准负载要求为37.5欧,因而ADI公司的手册中对于DA芯片在RS-343A电平标准下的输出端连接给出了如图3所示的方案,即在源端和终端都并联75欧到地的电阻。在此方案中考虑了连接线(通常为同轴电缆,对地阻抗为75欧)的阻抗,故可得到DA芯片的负载刚好为源端电阻和同轴电缆对地阻抗并联,为75欧/2 = 37.5欧。

在利用通用的三通道视频DA转换芯片来实现VGA接口时就会遇到这个问题。这里以AD7125芯片为例。VGA接口为RS-343A电平标准。对于电流型的DA芯片AD7125而言,其标准负载要求为37.5欧,因而ADI公司的手册中对于DA芯片在RS-343A电平标准下的输出端连接给出了如图3所示的方案,即在源端和终端都并联75欧到地的电阻。在此方案中考虑了连接线(通常为同轴电缆,对地阻抗为75欧)的阻抗,故可得到DA芯片的负载刚好为源端电阻和同轴电缆对地阻抗并联,为75欧/2 = 37.5欧。

RGB565转VGA接口的阻抗匹配问题(冰枫 2011.4.17)

图3 RS-343A电平标准下DA芯片输出VGA三基色信号但对于电压型的集成电路芯片(如视频缓冲器AD848)而言,在源端则应该采用串联电阻的形式实现匹配。图4中是ADI公司给出的DA芯片经视频缓冲器AD848后的输出端连接方案。由图中可以看到,在AD848的输出端采用了串联75欧电阻的方式进行匹配,在终端依然是并联75欧到地电阻。

RGB565转VGA接口的阻抗匹配问题(冰枫 2011.4.17)

图4 DA芯片经视频缓冲器AD848输出VGA三基色信号

在弄清楚上述问题之后,还有一点值得注意,那就是在VGA接口连接头输入的电压驱动电阻即为75欧,也就是通常情况下终端的75欧电阻是不需要我们自己去做的。这点从AD7125的芯片手册中也得到了验证,如图5所示,终端电阻是在显示器连接头内部的。

RGB565转VGA接口的阻抗匹配问题(冰枫 2011.4.17)

图5 AD7125典型输出电路

现在再来考虑用权电阻网络来实现RGB565信号到VGA接口三基色信号转换的电路。最基本的权电阻网络实现DA转换的原理这里就不说了,不熟悉的同学可以参考数字电路的教材。

在RGB565格式的数据中,红色占5位数据,绿色占6位数据,蓝色占5位数据。即红色信号R需要5位权电阻网络来实现,绿色信号G需要6位权电阻网络来实现,蓝色信号B需要5位权电阻网络来实现。

以红色信号R为例来说明权电阻网络参数的选取。由于R对应的数字信号为5位,故当该5位全为1的时候对应的模拟电压信号值应为0.714V,当5位全为0的时候对应的模拟电压信号值应为0。等效电路如图6所示。

RGB565转VGA接口的阻抗匹配问题(冰枫 2011.4.17)

图6 等效电路

其中Rx为5位权电阻网络的等效电阻,当5位全为1时

Rx = R || 2R || 4R || 8R || 16R

由图中电路可知,有如下关系

3.3/(Rx + 75) = 0.714/75

可以得出,等效电阻Rx = 271.6欧,R =526.225欧。考虑到所有电阻都必须取标称值的

原因,故将R取为500欧,这样跟理论值会存在一些误差。

根据同样的方法可以计算出,对于绿色信号G,权电阻R = 534.7125,考虑到所有电阻都必须取标称值的原因,故将R取为500欧。

这里有同学会提到匹配的问题,在前面我们已经说过,在终端,连接头输入的电压驱动电阻即为75欧,也就是通常情况下终端的75欧电阻是不需要我们自己去做的。而在源端,由于我们的权电阻网络是电流型的,因此若要做匹配的话可以采取并联电阻的方式。但要注意的是,在这里我们并没有用到集成DA芯片,源端匹配的负载阻抗并没有明确要求,因此在这里索性不做源端匹配。

最终用权电阻实现RGB565信号到VGA三基色模拟电压信号转换电路的原理图如图7所示。

RGB565转VGA接口的阻抗匹配问题(冰枫 2011.4.17)

图7 转换电路原理图