常用硬件接口知识
VGA 接口
VGA(Video Graphics Array)视频图形阵列是 IBM 于 1987 年提出的一个使用模拟信号的电脑显示标准。VGA 接口即电脑采用 VGA 标准输出数据的专用接口。VGA 接口共有 15 针,分成 3 排,每排 5 个孔,显卡上应用最为广泛的接口类型,绝大多数显卡都带有此种接口。它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。
VGA 接口是一种 D 型接口,上面共有 15 针孔,分成三排,每排五个。其中,除了 2 根 NC(Not Connect)信号、3 根显示数据总线和 5 个 GND 信号,比较重要的是 3 根 RGB 彩色分量信号和 2 根扫描同步信号 HSYNC 和 VSYNC 针。VGA 接口中彩色分量采用 RS343 电平标准。RS343 电平标准的峰值电压为 1V。VGA 接口是显卡上应用最为广泛的接口类型,多数的显卡都带有此种接口。有些不带 VGA 接口而带有 DVI(Digital Visual Interface 数字视频接口)接口的显卡,也可以通过一个简单的转接头将 DVI 接口转成 VGA 接口,通常没有 VGA 接口的显卡会附赠这样的转接头。
大多数计算机与外部显示设备之间都是通过模拟 VGA 接口连接,计算机内部以数字方式生成的显示图像信息,被显卡中的数字/模拟转换器转变为 R、G、B 三原色信号和行、场同步信号,信号通过电缆传输到显示设备中。对于模拟显示设备,如模拟 CRT 显示器,信号被直接送到相应的处理电路,驱动控制显像管生成图像。而对于 LCD、DLP 等数字显示设备,显示设备中需配置相应的 A/D(模拟/数字)转换器,将模拟信号转变为数字信号。在经过 D/A 和 A/D 两次转换后,不可避免地造成了一些图像细节的损失。VGA 接口应用于 CRT 显示器无可厚非,但用于连接液晶之类的显示设备,则转换过程的图像损失会使显示效果略微下降。
而且可以从接口处来判断显卡是独显还是集成显卡,VGA 接口竖置的说明是集成显卡,VGA 接口横置说明是独立显卡(一般的台式主机都可以用此方法来查看)
显示器扫描方式分为逐行扫描和隔行扫描:逐行扫描是扫描从屏幕左上角一点开始,从左像右逐点扫描,每扫描完一行,电子束回到屏幕的左边下一行的起始位置,在这期间,CRT 对电子束进行消隐,每行结束时,用行同步信号进行同步;当扫描完所有的行,形成一帧,用场同步信号进行场同步,并使扫描回到屏幕左上方,同时进行场消隐,开始下一帧。隔行扫描是指电子束扫描时每隔一行扫一线,完成一屏后在返回来扫描剩下的线,隔行扫描的显示器闪烁的厉害,会让使用者的眼睛疲劳。
完成一行扫描的时间称为水平扫描时间,其倒数称为行频率;完成一帧(整屏)扫描的时间称为垂直扫描时间,其倒数称为场频率,即刷新一屏的频率,常见的有 60Hz,75Hz 等等。标准的 VGA 显示的场频 60Hz,行频 31.5KHz。
行场消隐信号:是针对老式显像管的成像扫描电路而言的。电子枪所发出的电子束从屏幕的左上角开始向右扫描,一行扫完需将电子束从右边移回到左边以便扫描第二行。在移动期间就必须有一个信号加到电路上,使得电子束不能发出。不然这个回扫线会破坏屏幕图像的。这个阻止回扫线产生的信号就叫作消隐信号,场信号的消隐也是一个道理。
显示带宽:带宽指的显示器可以处理的频率范围。如果是 60Hz 刷新频率的 VGA,其带宽达 640x480x60=18.4MHz,70Hz 的刷新频率 1024x768 分辨率的 SVGA,其带宽达 1024x768x70=55.1MHz。
时钟频率:以 640x480@59.94Hz(60Hz)为例,每场对应 525 个行周期(525=10+2+480+33),其中 480 为显示行。每场有场同步信号,该脉冲宽度为 2 个行周期的负脉冲,每显示行包括 800 点时钟,其中 640 点为有效显示区,每一行有一个行同步信号,该脉冲宽度为 96 个点时钟。由此可知:行频为 525*59.94=31469Hz,需要点时钟频率:525*800*59.94 约 25MHz.
VESA 中定义行时序和场时序都需要同步脉冲(Sync a)、显示后沿(Back porch b)、显示时序段(Display interval c)和显示前沿(Front porch d)四部分。VGA 工业标准显示模式要求:行同步,场同步都为负极性,即同步脉冲要求是负脉冲。
由 VGA 的行时序可知:没一行都有一个负极性行同步脉冲(Sync a),是数据行的结束标志,同时也是下一行的开始标志。在同步脉冲之后为显示后沿(Back porch b),在显示时序段(Display interval c)显示器为亮的过程,RGB 数据驱动一行上的每一个像素点,从而显示一行。在一行的最后为显示前沿(Front porch d)。在显示时间段(Display interval c)之外没有图像投射到屏幕是插入消隐信号。同步脉冲(Sync a)、显示后沿(Back porch b)和显示前沿(Front porch d)都是在行消隐间隔内(Horizontal Blanking Interval),当消隐有效时,RGB 信号无效,屏幕不显示数据。
VGA 的场时序与行时序基本一样,每一帧的负极性脉冲(Sync a)是一帧的结束标志,同时也是下一帧的开始标志。而显示数据是一帧的所有行数据。
下面以 800x600@60Hz 分辨率威力详细讲解 VGA 时序:
为简化设计,本实验平台采用的是 8 位,256 色的 VGA 视频接口,如下图所示,通过不同阻值的限流电阻,将数字信号转换成模拟信号。
RS232 接口
串口是计算机上一种非常通用的设备通信协议
两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可
RS-232 串口通信最远距离是 50 英尺
RS232 可做到双向传输,全双工通讯,最高传输速率 20kbps
RS-232C
上传送的数字量采用负逻辑,且与地对称。逻辑 1:-3 ~-15V ,逻辑 0:+3~+15V ,所以与单片机连接时常常需要加入电平转换芯片,如下图所示
串口通信参数:
a)波特率:RS-232-C 标准规定的数据传输速率为每秒 50、75、 100、150、300、600、1200、2400、4800、9600、19200 波特。
b)数据位:标准的值是 5、7 和 8 位,如何设置取决于你想传送的信息。比如,标准的 ASCII 码是 0~127(7 位);扩展的 ASCII 码是 0~255(8 位)。
c)停止位:用于表示单个包的最后一位,典型的值为 1,1.5 和 2 位。由于数是在传输线上定时的,并且每一个设备有其自己的时钟,很可能在通信中两台设备间出现了小小的不同步。因此停止位不仅仅是表示传输的结束,并且提供计算机校正时钟同步的机会。
d)奇偶校验位:在串口通信中一种简单的检错方式。对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。例如,如果数据是 011,那么对于偶校验,校验位为 0,保证逻辑高的位数是偶数个。如果是奇校验,校验位位 1,这样就有 3 个逻辑高位。
串口通信的传输格式:
串行通信中,线路空闲时,线路的 TTL 电平总是高,经反向 RS232 的电平总是低。一个数据的开始 RS232 线路为高电平,结束时 Rs232 为低电平。数据总是从低位向高位一位一位的传输。示波器读数时,左边是数据的高位。例如,对于 16 进制数据 55aaH,当采用 8 位数据位、1 位停止位传输时,它在信号线上的波形如图所示。
55H=01010101B,取反后 10101010B,加入一个起始位 1,一个停止位 0,55H 的数据格式为 1010101010B; aaH=10101010B,取反后 01010101B,加入一个起始位 1,一个停止位 0,55H 的数据格式为 1101010100B
串口通信的接收过程:(异步通信:接收器和发送器有各自的时钟;同步通信:发送器和接收器由同一个时钟源控制。RS232 是异步通信)
(1)开始通信时,信号线为空闲(逻辑 1),当检测到由 1 到 0 的跳变时,开始对"接收时钟"计数。
(2)当计到 8 个时钟时,对输入信号进行检测,若仍为低电平,则确认这是"起始位",而不是干扰信号。
(3)接收端检测到起始位后,隔 16 个接收时钟,对输入信号检测一次,把对应的值作为 D0 位数据。若为逻辑 1, 作为数据位 1;若为逻辑 0,作为数据位 0。
(4)再隔 16 个接收时钟,对输入信号检测一次,把对应的值作为 D1 位数据。„.,直到全部数据位都输入。
(5)检测校验位 P(如果有的话)。
(6)接收到规定的数据位个数和校验位后,通信接口电路希望收到停止位 S(逻辑 1),若此时未收到逻辑 1,说明出现了错误,在状态寄存器中置"帧错误"标志。若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中送数据输入寄存器。若校验错,在状态寄存器中置奇偶错标志。
(7)本幀信息全部接收完,把线路上出现的高电平作为空闲位。
(8)当信号再次变为低时,开始进入下一幀的检测。
版权声明: 本文为 InfoQ 作者【向阳逐梦】的原创文章。
原文链接:【http://xie.infoq.cn/article/11737925cde241196e5c27868】。文章转载请联系作者。
评论