通过电气信号传输信息,最早可追溯到莫尔斯码的发明及随后出现的电报系统,莫尔斯码就是通过发送串行信号进行传送的,由此看来,串行通信的历史比并行通信要早很多。
在串行通信过程中,所有的数据都通过同一根信号线传送,而信号线上出现的信号无非就是持续一定时间的高电平或低电平。为此必须解决下面两个问题:
1)如何区分同一根信号线上传送的逻辑数据?以正逻辑中高电平代表逻辑“1”,低电平代表逻辑“0”为例,显然,在通信双方之间需要约定的每位数据的传送时间。例如,约定每秒传送两位数据,则持续时间为1s的高电平代表2个逻辑1。
2)接收到的这些位信号代表什么数据?这就是字符格式的问题。为此需要规定每一个数据单位(例如每个字节)有多少位,各位的含义是什么,以及位数据的传送顺序等。
串行通信中解决上述问题有两种不同的方法,对应着两种不同的基本通信方式:异步通信和同步通信。
异步通信方式中,数据的传送以一个字符为单位。一个字符所包含的位数可以是8位、7位、6位或5位。
异步传送过程中的起始位和停止位起着重要的作用。起始位标志着每一个字符的开始,停止位标志着每一个字符的结束。由于串行通信采用起始位为同步信号,接收端总是在接收到每个字符的头部即起始位处进行一次重新定位,保证每次采样对应一个数位。所以异步传送的发送器和接收器不必用同一个时钟,而是各有自己的局部时钟,只要是同一标称频率,略有偏差不会导致数据传送错误(见图4-108)。
异步通信具有如下特点:
1)每一个字符前冠1个起始位,表示字符开始;在字符之后,缀有1~2个停止位,表示该字符结束;
2)每一个字符内部的每一位占有相同的固定时间;
3)字符间的间隔是不固定的,可用停止位填充空闲时间。
同步通信不是用起始位来标识字符的开始,而是用一串特定的二进制序列,称为同步字符,去通知接收器串行数据第一位何时到达。
同步字符的格式和数量,通常由用户根据需要而确定,可以使用一个特殊的八位二进制码即单同步字符,也可以使用两个连续的八位二进制码即双同步字符(见图4-109)。
图4-108 异步通信格式
注:一个字符正式发送之前,先发送一个起始位,低电平,宽度为1位。结束时发一个停止位,高电平,宽度是1位、1.5位或2位;数据位占5~8位,可在数据位内设1位奇偶校验位。字符之间可有空闲位,它们都是高电平。
图4-109 同步通信格式
注:同步通信采用的同步字符的个数不同,存在着不同的格式结构,具有一个同步字符的数据格式称为单同步数据格式,有两个同步字符的数据格式称为双同步数据格式。在同步传送中,要求用时钟来实现发送端与接收端之间的同步。
同步通信具有如下特点:
1)以同步字符作为传送的开始;
2)每一数据位占用相同的时间;
3)字符之间无间隔时间,当线路空闲或无字符发送时,用发送同步字符来填充。
串行传送线路可以分为三种传送方向的类型:单工、半双工和全双工(见图4-110~图4-112)。
图4-110 单工传送
注:只允许数据按照一个固定方向传送,即只能从A发送至B。
图4-111 半双工传送
注:允许数据两个方向传送,但同一时间只能单方向。
图4-112 全双工传送
注:允许数据两个方向传送,但同一时间都能双方向。
在PC和打印机上,一般所说的串口,基本上就是指RS-232C串行通信接口。
1.RS-232C接口
EIARS-232C是应用最广泛的串行接口之一,RS-232C既是一种协议标准,又是一种电气标准,它采用单端的、双极性电源供电电路,可用于最远距离为15m、最高速率达20kbit/s的串行异步通信。
早期人们借助电话网进行远距离数据传送而设计了调制解调器(Modem),为此就需要有关数据终端与Modem之间的接口标准,RS-232C标准在当时就是为此目的而产生的。目前RS-232C已成为数据终端设备(Data Terminal Equipment,DTE)如计算机,与数据通信设备(Data Communication Equip-ment,DCE)如Modem,其之间的接口标准,不仅在远距离通信中要经常用到它,就是两台计算机或设备之间的近距离串行连接也普遍采用RS-232C接口。
在EIARS-232C的电气规格中,规定了设备所传送的数据和控制信号的电平及其通信上的逻辑约定。由于RS-232C早在TTL集成电路之前就已发展起来,因此它没有采用TTL逻辑电平。
要实现DTE与DCE之间的数据通信,还需要做一些规程方面的规定。这些规定包括收发双方的同步方式、传输控制步骤、差错校验方式、数据编码、数据传输速度、通信报文的格式以及控制字符的定义,这些功能和协议通常由通信规程控制器实现。
RS-232C数据线TxD和RxD使用负逻辑,即高电平表示逻辑0,用符号SPACE(空号)表示;低电平表示逻辑1,用符号MARK(传号)表示。其他控制线均为正逻辑,高电平有效,为ON状态;低电平无效,为OFF状态:
MARK(逻辑1)=-3~-25V
SPACE(逻辑0)=+3~+25V
对于请求发送、允许发送、数据设备准备好、接收信号检测、振铃指示等控制信号和状态信号,信号电平规定为:
ON=+3~+25V(接通)
OFF=-3~-25V(断开)
一般情况下:
逻辑0=+5~+15V
逻辑1=-5~-15V
由于RS-232C信号电平与TTL电平不同,为了实现与TTL电路的连接,必须进行信号电平转换。目前,RS-232C与TTL电平转换最常用的芯片有MC1488和MC1489及MAX232等型号。
MC1488内部有3个与非门和一个反相器,电源电压为±12V,输入为TTL电平,输出为RS-232C电平(见图4-113)。
MC1489内部有4个反相器,电源电压为+5V,输入为RS-232C电平,输出为TTL电平。MC1489中每一个反相器都有一个控制端,高电平有效,可作为RS-232C操作的控制端(见图4-114)。
图4-113 MC1488芯片内部结构和引脚
图4-114 MC1489芯片内部结构和引脚
MAX232和MAX233是MAXIM公司生产的、高速两路接收器和驱动器的IC芯片,其内部均包含有电源电压变换器,因此仅需+5V电源供电,使用十分方便。这两种电平转换器均可以将两路TTL电平转换成RS-232C电平,也可以将RS-232C转换成TTL电平,使用时需注意的是MAX232需要外接5个1μF的电容,而MAX233不需要外接电容,使用起来更加方便,但MAX233的价格要略高一些(见图4-115)。
信号可分为两类,一类是数据信息;另一类是控制和状态信息。在处理器的控制下,接口电路负责提供接收和发送这些信号的通道及信号的匹配(抗干扰),保证信息传输正确无误。
RS-232C总线标准设有25条信号线,包括一个主通道和一个辅助通道,在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
RS-232C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200bit/s等多个档位。RS-232C标准规定,驱动器允许有最大2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232C属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。
RS-232C使用一个25针的连接器,在这25个引脚中,20个引脚作为RS-232C信号,其中有4个数据线、11个控制线、3个定时信号线、2个地信号线。另外,还保留了2个引脚,有3个引脚未定义(见表4-5)。
图4-115 MAX232电平转换及串行接口电路(www.xing528.com)
注:从主机来的数据从RxD被输入,串行数据被转化并行数据,并输送到逻辑主板。相反地,并行数据在这里被转化为串行数据后被送到TxD端。
表4-5 RS-232C引脚名称
各引脚的名称和功能如下:
1)TxD(Transmitted Data,发送数据):串行数据的发送端。
2)RxD(Received Data,接收数据):串行数据的接收端。
3)RTS(Request To Send,请求发送):当数据终端准备好送出数据时,就发出有效的RTS信号,通知Modem准备接收数据。
4)CTS[Clear To Send,清除发送(也称允许发送)]:当Modem已准备好接收数据终端的传送数据时,发出CTS有效信号来响应RTS信号。所以RTS和CTS是一对用于发送数据的联络信号。
5)DTR(Data Terminal Ready,数据终端准备好):通常当数据终端一加电,该信号就有效,表明数据终端准备就绪。它可以用作数据终端设备发给数据通信设备Modem的联络信号。
6)DSR(Data Set Ready,数据装置准备好):通常表示Modem已接通电源连到通信线路上,并处在数据传输方式,而不是处于测试方式或断开状态。它可以用作数据通信设备Modem响应数据终端设备DTR的联络信号。
7)GND(Ground,信号地):它为所有的信号提供一个公共的参考电平,相对于其他信号,它为0V电压。
8)保护地(机壳地):一个起屏蔽保护作用的接地端。一般应参照设备的使用规定,连接到设备的外壳或机架上,必要时要连接到大地。
9)DCD/CD(Carrier Detected,载波检测):当本地Modem接收到来自远程Modem正确的载波信号时,由该引脚向数据终端发出有效信号。该引脚也可缩写为DCD。
10)RI(Ring Indicator,振铃指示):自动应答的Modem用此信号作为电话铃响的指示。在响铃期间,该引线保持有效。
11)TxC(Transmitter Clock,发送器时钟):控制数据终端发送串行数据的时钟信号。
12)RxC(Receiver Clock,接收器时钟):控制数据终端接收串行数据的时钟信号。
13)TC(Transmit Clock,终端发送器时钟):由数据终端向外提供发送时钟,在信号电平的中间跳变。它和发送时钟TxC都与发送数据TxD有关。
14)信号质量检测和数据信号速率选择:通常用于指示信号质量和选择传输速率。
IBMPC/XT机采用DB-25型连接器。在IBMPC/AT机及以后的PC兼容机中,不再支持20mA电流环接口,转而使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号(见图4-116和图4-117)。
图4-116 DB-25型连接器引脚
图4-117 DB-9型连接器引脚
注:连接器的型号名称中,“D”表示外壳形状,“B”表示尺寸,“9”表示针数,为了使机器小型化,有一些机器使用比较小型的DE25或DE9连接器作为COM口的接口。
利用PC的RS-232C串行接口总线可以实现PC与其他具有RS-232C接口的设备或计算机的连接。一种最简单的连接,PC与其他计算机或外设只利用3条线连接。利用查询或中断均可以实现它们之间的通信(见图4-118~图4-123)。
图4-118 最简单的只用三线实现相连的通信方式
注:为了交换信息,TxD和RxD应当交叉连接。因为不使用联络信号,所以程序中不必使RTS和DTR有效,也不应检测CTS和DSR是否有效。
图4-119 RTS和CTS互接
注:这是用请求发送RTS信号来产生允许发送CTS,以满足全双工通信的联络控制要求。当请求发送接到允许发送时,表明请求传送总是允许的。同样,DTR和DSR互接,用数据终端准备好信号产生数据装置准备好信号。虽然使用了联络信号,但是实际上通信双方并未真正相连。
图4-120 另一种利用RS-232C直接互连的通信方式
注:这种方式下的通信更加可靠,但所用连线较多,不如前者经济。由于上述连接不使用调制解调器,所以也称为零调制解调器连接(Null Modem)。
图4-121 另一种利用RS-232C直接互连的通信方式
注:广泛用于数字终端设备如计算机与调制解调器之间的接口以实现通过电话线路进行远距离通信。
图4-122 接收数据时序图
图4-123 发送数据时序图
注:串行接口除了多一个串并转换器外,原理基本上和并行接口相同。发往串行接口电路的串行数据通过接收电路转化为TTL信号,并由CPU把串行数据转成并行数据,然后产生中断请求信号。随后CPU进行相应的数据命令处理。数据处理结束后,根据选择的通信协议,CPU通过接口输出缓冲状态,如DC1/DC3或ACK信号。
2.其他串行接口
EIARS-232D(1987年1月发布)是RS-232C的升级版本,但一直没有能够完全取代RS-232C(C版于1969年发布1981年修订),而通常人们所说的RS-232其实就是RS-232C。
为了能够在更大的距离和更高速率的情况下实现直接互联,EIA又制定了新的RS-449接口标准。该标准保留了与RS-232C的兼容性并且针对RS-232C的局限性,增加了以下特性:
1)支持较高的数据传输速率。
2)支持较远的传输距离。
3)制定了连接器的技术规范。
4)通过提供平衡电路改进接口电气性能。
RS-423/422(全双工)是RS-499标准的子集。RS-485(半双工)是RS-422的变型,是EIA于1983年公布的新的平衡传输标准,主要特性和性能为:
1)正逻辑。
发送端:逻辑“1”以两线间的电压差为+2~+6V表示,逻辑“0”以两线间的电压差为-2~-6V表示;
接收端:A比B高200mV以上即认为是逻辑“1”,A比B低200mV以上即认为是逻辑“0”。RS-485接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性能好。
2)可以连接32台驱动器/32台接收器。
3)最大传输距离为1200m。
4)最大传输速率为10Mbit/s(12m)或1Mbit/s(120m)或100kbit/s(1200m)。
5)发送器的共模电压最大为3V。
6)接收器的共模电压为-7~+12V。
7)半双工。
由于RS-485的多种特点,在多点通信系统中得到了广泛的应用。
打印机和计算机主机的串行连接基本还是采用EIARS-232C协议。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。