个人计算机上的通讯接口之一,由电子工业协会(Electronic Industries Association,EIA) 所制定的异步传输标准接口。通常 RS-232 接口以9个引脚 (DB-9) 或是25个引脚 (DB-25) 的型态出现,一般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIARS-232-C)是目前最常用的一种串行通讯接口。(“RS-232-C”中的“-C”只不过表示RS-232的版本,所以与“RS-232”简称是一样的)
它是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB-25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC机将RS232简化成了DB-9连接器,从而成为事实标准。而工业控制的RS-232口一般只使用RXD、TXD、GND三条线。
RS-232-C是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号,C表示修改次数。RS-232-C总线标准设有25条信号线,包括一个主通道和一个辅助通道。
在多数情况下主要使用主通道,对于一般双工通信,仅需几条信号线就可实现,如一条发送线、一条接收线及一条地线。
RS-232-C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200、38400波特。
RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的
通信。具体通讯距离还与通信速率有关,例如,在9600pbs时,普通双绞屏蔽线时,距离可达30-35米。
串行通信接口标准经过使用和发展,目前已经有几种。但都是在RS-232标准的基础上经过改进而形成的。所以,以RS-232C为主来讨论。RS-232C标准是美国EIA(电子工业联合会)与BELL等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电气特性都作了明确规定。由于通信设备厂商都生产与RS-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
首先,RS-232-C标准最初是远程通信连接数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communicate Equipment)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口与终端或外设之间的近端连接标准)。显然,这个标准的有些规定和计算机系统是不一致的。有了对这种背景的了解,我们对RS-232C标准与计算机不兼容的地方就不难理解了。
其次,RS-232C标准中所提到的“发送”和“接收”,都是站在DTE立场上,而不是站在DCE的立场来定义的。由于在计算机系统中,往往是CPU和I/O设备之间传送信息,两者都是DTE,因此双方都能发送和接收。
RS-232C 标准(协议)的全称是 EIA-RS-232C 标准,其中EIA (Electronic Industry Association)代表美国电子工业协会,RS(recommended standard)代表推荐标准,232是标识号,C代表RS232的一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有EIARS-422A、EIA RS-423A、EIARS-485。这里只介绍EIA RS-232C(简称232,RS232)。例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。
电气特性
EIA-RS-232C对电气特性、逻辑电平和各种信号线功能都作了规定。
在TxD和RxD上:
逻辑1(MARK)=-3V~-15V
逻辑0(SPACE)=+3~+15V
在RTS、CTS、DSR、DTR和DCD等控制线上:
信号有效(接通,ON状态,正电压)=+3V~+15V
信号无效(断开,OFF状态,负电压)=-3V~-15V
以上规定说明了RS-232C标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V;对于控制信号;接通状态(ON)即信号有效的电平高于+3V,断开状态(OFF)即信号无效的电平低于-3V,也就是当传输电平的值大于3V时,电路可以有效地检查出来,介于-3~+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在-3V~-15V或+3V~+15V之间。
EIA RS-232C 与TTL转换:EIA RS-232C 是用正负电压来表示逻辑状态,与TTL以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的TTL器件连接,必须在EIA RS-232C 与TTL电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如MC1488、SN75150芯片可完成TTL电平到EIA电平的转换,而MC1489、SN75154可实现EIA电平到TTL电平的转换。MAX232芯片可完成TTL←→EIA双向电平转换。
机械特性
连接器:由于RS-232C并未定义连接器的物理特性,因此,出现了DB-25、DB-15和DB-9各种类型的连接器,其引脚的定义也各不相同。下面分别介绍两种连接器。
(1)DB-25:PC和XT机采用DB-25型连接器。DB-25连接器定义了25根信号线,分为4组:
①异步通信的9个电压信号(含信号地SG)2,3,4,5,6,7,8,20,22
②20mA电流环信号 9个(12,13,14,15,16,17,19,23,24)
③空6个(9,10,11,18,21,25)
④保护地(PE)1个,作为设备接地端(1脚)
注意,20mA电流环信号仅IBM PC和IBM PC/XT机提供,至AT机及以后,已不支持。
(2)DB-9:
在AT机及以后,不支持20mA电流环接口,使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。DB-9型连接器的引脚分配与DB-25型引脚信号完全不同。因此,若与配接DB-25型连接器的DCE设备连接,必须使用专门的电缆线。
电缆长度:在通信速率低于20kb/s时,RS-232C 所直接连接的物理距离为15m(50英尺)。
直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间传输距离为15m(50英尺)。可见这个的距离是在码元畸变小于4%的前提下给出的。为了保证码元畸变小于4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500pF。
接口信号
RS-232C 的功能特性定义了25芯标准连接器中的20根信号线,其中2条地线、4条数据线、11条控制线、3条定时信号线,剩下的5根线作备用或未定义。常用的只有10根,它们是:
(1)联络控制信号线:
数据发送准备好(Data set ready-DSR)——有效时(ON)状态,表明MODEM处于可以使用的状态。
数据终端准备好(Data terminal ready-DTR)——有效时(ON)状态,表明数据终端可以使用。
这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。
请求发送(Request to send-RTS)——用来表示DTE请求DCE发送数据,即当终端准备要接收MODEM传来的数据时,使该信号有效(ON状态),请求MODEM发送数据。它用来控制MODEM是否要进入发送状态。
允许发送(Clear to send-CTS)——用来表示DCE准备好接收DTE发来的数据,是与请求发送信号RTS相应的信号。当MODEM准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线TxD发送数据。
这对RTS/CTS请求应答联络信号是用于半双工MODEM系统中发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要RTS/CTS联络信号,使其变高。
接收线信号检出(Received Line detection-RLSD)——用来表示DCE已接通通信链路,告知DTE准备接收数据。当本地的MODEM收到由通信链路另一端(远地)的MODEM送来的载波信号时,使RLSD信号有效,通知终端准备接收,并且由MODEM将接收下来的载波信号解调成数字量数据后,沿接收数据线RxD送到终端。此线也叫做数据载波检出(Data Carrier dectection-DCD)线。
振铃指示(Ringing-RI)——当MODEM收到交换台送来的振铃呼叫信号时,使该信号有效(ON状态),通知终端,已被呼叫。
(2)数据发送与接收线:
发送数据(Transmitted data-TxD)——通过TxD终端将串行数据发送到MODEM,(DTE→DCE)。
接收数据(Received data-RxD)——通过RxD线终端接收从MODEM发来的串行数据,(DCE→DTE)。
(3)地线 :
GND、Sig.GND——保护地和信号地,无方向。
上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有当DSR和DTR都处于有效(ON)状态时,才能在DTE和DCE之间进行传送操作。若DTE要发送数据,则预先将DTR线置成有效(ON)状态,等CTS线上收到有效(ON)状态的回答后,才能在TxD线上发送串行数据。这种顺序的规定对半双工的通信线路特别有用,因为半双工的通信才能确定DCE已由接收方向改为发送方向,这时线路才能开始发送。
2个数据信号:发送TXD;接收RXD。
1个信号地线:SG。
6个控制信号:
DSR数据发送准备好,Data Set Ready。
DTR数据终端准备好,Data Terminal Ready。
RTSDTE请求DCE发送(Request To Send)。
CTSDCE允许DTE发送(Clear To Send),该信号是对RTS信号的回答。
DCD数据载波检测(Data Carrier Detection),当本地DCE设备(Modem)收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收, 并且由DCE将接收到的载波信号解调为数字信号, 经RXD线送给DTE。
RI振铃信号(Ringing),当DCE收到对方的DCE设备送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。
接线
在工程当中经常会用到232口,一般是圆头8针与D型9针两种串口。在一定的条件下,必须要自己制作一个相应的"圆头或者是D型的"232串口。
RS232C串口通信接线方法(三线制)
首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连
同一个串口的接收脚和发送脚直接用线相连对9针串口和25针串口,均是2与3直接相连;
两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)
DB9-DB9
2-3,3-2,5-5
DB25-DB25
2-3,3-2,7-7
DB9-DB25
2-3,3-2,5-7
上面是对微机标准串行口而言的,还有许多非标准设备,如接收GPS数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼此交叉,信号地对应相接。
8针圆形串口接线:2"逻辑地",4"TXD",7"RXD"。
9针D型串口:2"RXD",3"TXD",5"逻辑地"。
RS-232-C的电气接口电路
RS-232-C的电气接口电路采取的是不平衡传输方式,即所谓单端通讯,其发送电平与接收电平的差只有2~3V,所以共模抑制能力较差,容易受到共地噪声和外部干扰的影响,再加上信号线之间的分布电容,因此其传送距离为约15米,数据传输速率为20kb/s。此外RS-232-C的接口电路的信号电平较高,容易损坏接口电路的芯片,与TTL电路的电平也不兼容,影响其通用性。为了弥补RS-232-C的不足,提高数据传输率和延长通信距离,EIA于1977年制订了RS-499串行通信标准,这个标准对RS-232-C的不足做了改进和补充。RS-422A是RS-499的标准子集之一。
RS-485总线,在要求通信距离为几十米到上千米时,广泛采用RS-485 串行总线
RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压,故传输信号能在千米以外得到恢复。
RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。
RS-485用于多点互连时非常方便,可以省掉许多信号线。应用RS-485 可以联网构成分布式系统,其允许最多并联32台驱动器和32台接收器。
RS-422与RS-485接口差异
RS-422的电气性能与RS-485完全一样。主要的区别在于:
RS-422有4根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422的收与发
是分开的所以可以同时收和发(全双工)。
RS-485有2根信号线:发送和接收都是A和B。由于RS-485的收与发是共用两根线所
以不能够同时收和发(半双工)。
25芯
1 屏蔽地线
2 发送数据 TXD
3 接收数据 RXD
4 发送请求RTS
5 发送清除 CTS
6 数据准备好 DSR
7 信号地 SG
8 载波检测 DCD
9 发送返回(+)
10 未定义
11 数据发送(-)
12~17 未定义
18 数据接收(+)
19 未定义
20数据终端准备好 DTR
21 未定义
22 振铃 RI
23~24 未定义
25 接收返回(-)
Pin 1 Protective Ground
Pin 2 Transmit Data
Pin 3 Received Data
Pin 4 Request To Send
Pin 5 Clear To Send
Pin 6 Data Set Ready
Pin 7 Signal Ground
Pin 8 Received Line Signal Detector
(Data Carrier Detect)
Pin 20 Data Terminal Ready
Pin 22 Ring Indicator
9芯
针脚 |
信号 |
定义 |
作用 |
1 |
DCD |
载波检测 |
Received Line Signal Detector(Data Carrier Detect) |
2 |
RXD |
接收数据 |
Received Data |
3 |
TXD |
发送数据 |
Transmit Data |
4 |
DTR |
数据终端准备好 |
Data Terminal Ready |
5 |
SGND |
信号地 |
Signal Ground |
6 |
DSR |
数据准备好 |
Data Set Ready |
7 |
RTS |
请求发送 |
Request To Send |
8 |
CTS |
清除发送 |
Clear To Send |
9 |
RI |
振铃提示 |
Ring Indicator |
25芯接口 |
9芯接口 |
2 |
3 |
3 |
2 |
4 |
7 |
5 |
8 |
6 |
6 |
7 |
5 |
8 |
1 |
20 |
4 |
22 |
9 |
(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
(2)传输速率较低,在异步传输时,波特率为20Kbps;因此在CPLD开发板中,综合程序波特率只能采用19200,也是这个原因。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,传输距离标准值为50英尺,实际上也只能用在15米左右。
RS232 与USB的特点和比较
RS-232与USB都是串行通信,但无论是底层信号、电平定义、机械连接方式,还是数据格式、通信协议等,两者完全不同。 RS-232是一个流行的接口。在MS-DOS中,四个串行接口称为COM1、COM2、COM3和COM4,而绝大部分windows应用程序最多可以有4个外设,但是如果用户要扩充更多外设时,就必须要用插入式串行卡或者外部开关盒实现。 RS-232点对点连接,一个串口只能连接一个外设。
而USB是一种多点、高速的连接方式,采用集线器能实现更多的连接。USB接口的基本部分是串行接口引擎SIE,SIE从USB收发器中接收数据位,转化为有效字节传送给SIE接口;反之,SIE接口也可以接收字节转化为串行位送到总线。由于PC机串口的速率仅为115.2kbps,会形成一个速度瓶颈。RS-232系统包括2个串行信号路径,其方向相反,分别用于传输命令和数据,而命令和状态必须与数据交织在一起;而USB支持分离的命令和数据通道并允许独立的状态报告。 USB是一种方便、灵活、简单、高速的总线结构,与传统的RS-232接口相比,主要有以下特点:
(1) USB采用单一形式的连接头和连接电缆,实现了单一的数据通用接口。USB统一的4针插头,取代了PC机箱后种类繁多的串/并插头,实现了将计算机常规I/O设备、多媒体设备(部分)、通信设备(电话、网络)以及家用电器统一为一种接口的愿望。
(2) USB采用的是一种易于扩展的树状结构,通过使用USB Hub扩展,可连接多达127个外设。USB免除所有系统资源的要求,避免了安装硬件时发生端口冲突的问题,为其它设备空出硬件资源。
(3) USB外设能自动进行设置,支持即插即用与热插拔。
(4) 灵活供电。USB电缆具有传送电源的功能,支持节约能源模式,耗电低。USB总线可以提供电压+5v、电流500mA的电源,供低功耗的设备作电源使用,不需要额外的电源。
(5) USB可以支持四种传输模式:控制传输、同步传输、中断传输、批量传输,可以适用于很多类型的外设。
(6)通信速度快。USB支持三种总线速度,低速1.5Mbps、全速12Mbps和高速480Mbps。
(7)数据传送的可靠性。USB采用差分传输方式,且具有检错和纠错功能,保证了数据的正确传输。
(8)低成本。USB简化了外设的连接和配置的方法,有效地减少了系统的总体成本,是一种廉价的简单实用的解决方案,具有较高的性能价格比。
RS-232应用范围广泛、价格便宜、编程容易并且可以比其它接口使用更长的导线,随着USB端口的越来越普遍,将会出现更多的把USB转换成RS-232或其它接口的转换装置。但是RS-232和类似的接口仍将在诸如监视和控制系统这样的应用中得到普遍的应用。对习惯使用RS-232的开发者和产品可以考虑设计USB/RS-232转换器,通过USB总线传输RS-232数据,即PC端的应用软件依然是针对RS-232串行端口编程的,外设也是以RS-232为数据通信通道,但从PC到外设之间的物理连接却是USB总线,其上的数据通信也是USB数据格式。采用这种方式的好处在于:一方面保护原有的软件开发投入,已开发成功的针对RS-232外设的应用软件可以不加修改地继续使用;另一方面充分利用了USB总线的优点,通过USB接口可连接更多的RS-232设备,不仅可获得更高的传输速度,实现真正的即插即用,同时解决了USB接口不能远距离传输的缺点(USB通讯距离在5米内。