1、 VGA 接口详解及其单片机驱动方法 VGA(视频图形阵列)作为一种标准的显示接口已经得到了广泛的应用。对 VGA 接口时序进行深入的研究,从而采用单片机实现显示器的驱动。由于 VGA 接口对于时序十分严格,而传统单片机在处理速度上并不能达到其时序要求。现采用增强型高速单片机,实现了VGA 接口的显示器的驱动。下面对 VGA 接口进行详细的介绍。 ( 1) VGA 接口定义 ( 2) 针脚功能详述 编号 标识 功能描述 1 RED 红色信号 2 GREEN 绿色信号 3 BLUE 蓝色信号 4 ID2 显示器标识位 25 GND 地 6 RGND 红色地 7 GGND 绿色地 8 BGND 蓝
2、色地 9 KEY-KEY 空,无引脚 10 SGND 同步地 11 ID0 显示器标识位 012 ID1 或 SDA 显示器标识位 113 HSYNC 或 CSYNC 行同步 14 VSYNC 场同步 15 ID3 或 SCL 显示器标识位 3通常情况下,对 VGA 显示器进行驱动只需要 5 个信号即可,包括:行、场帧同步信号,红、绿、兰三色信号。其中行、场同步信号为数字信号,红、绿、 兰三色信号为模拟信号。 三色信号的输入电压范围是 0.0V0.7V, 采用 DAC来产生此信号时,应考虑到这个问题。 ( 3) VGA 接口时序 VGA 接口时序是对其实现驱动与控制的关键所在,也是难点所在。难
3、不光难在时序的产生,更多的是在于处理速度上的问题。以下以“ VGA 工业标准”即 640Hz 480Hz60Hz 模式为例进行讲解。 60Hz, 640 480 VGA 显示信号时序: VGA控制时序: VGA接口各时序部分时间表: 垂直同步 水平同步 符号 含义 时间 时钟 线数 时间 时钟 Ts 同步脉冲时间 16.7ms 417,800 512 32us 800 Tdisp 显示时间 15.36ms 384,000 480 25.6us 640 Tpw 脉冲宽度 64us 1,600 2 3.84us 96 Tfp 前廊 320us 8,000 10 640ns 16 Tbp 后廊 92
4、8us 23,200 29 1.92us 48 实际的时序如下图: 由上面列出的图示与数据可以得知, VGA 显示器扫描一屏,垂直扫描有512 线,其中 480 线有效,其它 32 线位于消隐区,不在可视范围内。水平扫描有 800 线,其中 640 线有效,需要写入像素数据,其它 160 线位于消隐区。 什么会有消隐区与无效扫描呢?这与扫描设备的扫描方式是有关的。在一行扫描完毕时,将回到下一行的开头进行新的扫描,这个回置过程是需要一定的时间的。所以需要一个消隐区,使得回置过程不可见。驱动时,一定要严格遵循显示器的扫描顺序与控制时序,否则可能造成显示失真或根本无显示(比如写入的像素落在了消隐区)
5、 。 ( 4) 单片机驱动 VGA 显示器的可行性 由于单片机达不到很高工作频率,从而使其是否能够满足 VGA 接口时序成为问题。采用 STC 增强型 51 单片机,对其可行性进行分析。 STC12系列单片机是 1T 单片机(工作频率与外部振荡器频率相同) ,最高可以达到 35MHz,这相当于传统 51 单片机的 420MHz(内部 12 分频) ,这使得 VGA 时序的实现成为可能。 STC12 系列单片机在 35MHz 的最高频率下,机器周期为约 0.029us,与VGA 时序相比,行同步与场同步信号的产生是没有问题的。而像素的写入频率为 25MHz,即写一个像素值的时间为 0.04us。
6、单片机将一个像素值写出,加之单片机内部的寻址与 DAC 通信,所需要的时间大大长于所规定的像素值写入时间。从而不可能实现单个像素点的数据写入。在同一行里,如果在某一位置写入像素值,那么等到一下次写像素值时,已经跨越了若干个点,因此最终的效果就是显示了一条像素值相同的线。 这条线的长度与两次写入像素数据的时间间隔是有关的,如果这个时间间隔超过了行扫描周期,则它会一直被写到下一行去。如果一直都没有新的数据写入,那么整屏都会写入相同的像素值,即为相同的颜色。 如果采用 DAC 来给 VGA 接口提供颜色信号,那么应该选用速度、精度等参数都满足设计要求的芯片。简单的方法是采用电阻网络,如下图所示: 采
7、用 8 个 IO 口,串以一定阻值的电阻,从而实现不同的电压输入。经过电阻网络变换后可以使显示器显示 256 种颜色。 ( 5) 其它模式的时序 众所周知, VGA 显示器并非只有 640 48060Hz 这一种模式,还有诸如 800 60060Hz、 1024 76860Hz 等很多模式。下面列出所有常用模式的时序: 横向 纵向 模式 像素频率( MHz)有效 线数 前廊 同步 脉冲 后廊 有效 线数 前廊 同步 脉冲 后廊 640x480, 60Hz 25.175 640 16 96 48 480 11 2 31 640x480, 72Hz 31.500 640 24 40 128 480
8、 9 3 28 640x480, 75Hz 31.500 640 16 96 48 480 11 2 32 640x480, 85Hz 36.000 640 32 48 112 480 1 3 25 800x600, 56Hz 38.100 800 32 128 128 600 1 4 14 800x600, 60Hz 40.000 800 40 128 88 600 1 4 23 800x600, 72Hz 50.000 800 56 120 64 600 37 6 23 800x600, 75Hz 49.500 800 16 80 160 600 1 2 21 800x600, 85Hz 56.250 800 32 64 152 600 1 3 27 1024x768, 60Hz 65.000 1024 24 136 160 768 3 6 29 1024x768, 70Hz 75.000 1024 24 136 144 768 3 6 29 1024x768, 75Hz 78.750 1024 16 96 176 768 1 3 28 1024x768, 85Hz 94.500 1024 48 96 208 768 1 3 36