串行通信接口标准经过使用和发展,目前已经有几种。但都是在R S-232标准的基础上经过改进而形成的。所以,以R S-232C为主来讨论。R S-323C标准是美国E I A(电子工业联合会)与B E L L等公司一起开发的1969年公布的通信协议。它适合于数据传输速率在0~20000b/s范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与R S-232C制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
在讨论R S-232C接口标准的内容之前,先说明两点:
首先,R S-232-C标准最初是远程通信连接数据终端设备D T E(D a t a T e r m i n a l E q u i p m e n t)与数据通信设备D C E(D a t a C o m m u n i c a t i o n E q u i p m e n t)而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对R S-232C标准与计算机不兼容的地方就不难理解了。
其次,R S-232C标准中所提到的“发送”和“接收”,都是站在D T E立场上,而不是站在D C E的立场来定义的。由于在计算机系统中,往往是C P U和I/O设备之间传送信息,两者都是D T E,因此双方都能发送和接收。
一、R S-232-C
R S-232C标准(协议)的全称是E I A-R S-232C标准,其中E I A(E l e c t r o n i c I n d u s t r y A s s o c i a t i o n)代表美国电子工业协会,R S(e c o m m e d e d s t a n d a r d)代表推荐标准,232是标识号,C代表R S232的最新一次修改(1969),在这之前,有R S232B、R S232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有E I AR S-232-C、E I AR S-422-A、E I AR S-423A、E I AR S-485。 这里只介绍E I AR S-232-C(简称232,R S232)。 例如,目前在I B M P C机上的C O M1、C O M2接口,就是R S-232C 接口。
1.电气特性
E I A-R S-232C对电器特性、逻辑电平和各种信号线功能都作了规定。
在T x D和R x D上:逻辑1(M A R K)=-3V~-15V
逻辑0(S P A C E)=+3~+15V
在R T S、C T S、D S R、D T R和D C D等控制线上:
信号有效(接通,O N状态,正电压)=+3V~+15V
信号无效(断开,O F F状态,负电压)=-3V~-15V
上规定说明了R S-323C标准对逻辑电平的定义。对于数据(信息码):逻辑“1”(传号)的电平低于-3V,逻辑“0”(空号)的电平高于+3V;对于控制信号;接通状态(O N)即信号有效的电平高于+3V,断开状态(O F F)即信号无效的电平低于-3V,也就是当传输电平的绝对值大于3V时,电路可以有效地检查出来,介于-3~+3V之间的电压无意义,低于-15V或高于+15V的电压也认为无意义,因此,实际工作时,应保证电平在±(3~15)V之间。
E I A-R S-232C与T T L转换:E I A-R S-232C是用正负电压来表示逻辑状态,与T T L以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的T T L器件连接,必须在E I A-R S-232C与T T L电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如M C1488、S N75150芯片可完成T T L电平到E I A电平的转换,而M C14、S N75154可实现E I A电平到T T L电平的转换。M A X232芯片可完成T T L←→E I A双向电平转换,图1显示了1488和14的内部结构和引脚。M C1488的引脚(2)、(4,5)、(9,10)和(12,13)接T T L输入。引脚3、6、8、11输出端接E I A-R S-232C。M C1498的14的1、4、10、13脚接E I A输入,而3、6、8、11脚接T T L输出。具体连接方法如图2所示。图中的左边是微机串行接口电路中的主芯片U A R T,它是T T L器件,右边是E I A-R S-232C 连接器,要求E I A高电压。因此,R S-232C所有的输出、输入信号都要分别经过M C1488和M C1498转换器,进行电平转换后才能送到连接器上去或从连接器上送进来。
22、、连接器的机械特性:
连接器:由于R S-232C并未定义连接器的物理特性,因此,出现了D B-25、D B-15和D B-9各种类型的连接器,其引脚的定义也各不相同。下面分别介绍两种连接器。
(1)D B-25: P C和X T机采用D B-25型连接器。D B-25连接器定义了25根信号线,分为4组:
①异步通信的9个电压信号(含信号地S G)2,3,4,5,6,7,8,20,22
②20m A电流环信号 9个(12,13,14,15,16,17,19,23,24)
③空6个(9,10,11,18,21,25)
④保护地(P E)1个,作为设备接地端(1脚)
D B-25型连接器的外形及信号线分配如图3所示。注意,20m A电流环信号仅I B M P C和I B M P C/X T机提供,至A T机及以后,已不支持。
(2)D B-9连接器
在A T机及以后,不支持20m A电流环接口,使用D B-9连接器,作为提供多功能I/O卡或主板上C O M1和C O M2两个串行接口的连接器。它只提供异步通信的9个信号。D B-25型连接器的引脚分配与D B-25型引脚信号完全不同。因此,若与配接D B-25型连接器的D C E设备连接,必须使用专门的电缆线。
电缆长度:在通信速率低于20k b/s时,R S-232C所直接连接的最大物理距离为15m(50英尺)。
最大直接传输距离说明:R S-232C标准规定,若不使用M O D E M,在码元畸变小于4%的情况下,D T E和D C E之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码元畸变小于4%的前提下给出的。为了保证码元畸变小于4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500p F。
3、R S-232C的接口信号
R S-232C规标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线,常用的只有9根,它们是:
(1)联络控制信号线:数据装置准备好(D a t a s e t r e a d y-D S R)——有效时(O N)状态,表明M O D E M处于可以使用的状态。
数据终端准备好(D a t a s e t r e a d y-D T R)——有效时(O N)状态,表明数据终端可以使用。
这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。
请求发送(R e q u e s t t o s e n d-R T S)——用来表示D T E请求D C E发送数据,即当终端要发送数据时,使该信号有效(O N状态),向M O D E M请求发送。它用来控制M O D E M是否要进入发送状态。
允许发送(C l e a r t o s e n d-C T S)——用来表示D C E准备好接收D T E发来的数据,是对请求发送信号R T S的响应信号。当M O D E M已准备好接收终端传来的数据,并向前发送时,使该信号有效,通知终端开始沿发送数据线T x D发送数据。
这对R T S/C T S请求应答联络信号是用于半双工M O D E M系统中发送方式和接收方式之间的切换。在全双工系统中作发送方式和接收方式之间的切换。在全双工系统中,因配置双向通道,故不需要R T S/C T S联络信号,使其变高。
接收线信号检出(R e c e i v e d L i n e d e t e c t i o n-R L S D)——用来表示D C E已接通通信链路,告知D T E准备接收数据。当本地的M O D E M收到由通信链路另一端(远地)的M O D E M送来的载波信号时,使R L S D信号有效,通知终端准备接收,并且由M O D E M将接收下来的载波信号解调成数字两数据后,沿接收数据线R x D送到终端。此线也叫做数据载波检出(D a t a C a r r i e r d e c t e c t i o n-D C D)线。
振铃指示(R i n g i n g-R I)——当M O D E M收到交换台送来的振铃呼叫信号时,使该信号有效(O N状态),通知终端,已被呼叫。
(2)数据发送与接收线:
发送数据(T r a n s m i t t e d d a t a-T x D)——通过T x D终端将串行数据发送到M O D E M,(D T E→D C E)。
接收数据(R e c e i v e d d a t a-R x D)——通过R x D线终端接收从M O D E M发来的串行数据,(D C E→D T E)。
(3)地线
有两根线S G、P G——信号地和保护地信号线,无方向。
上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有当D S R和D T R都处于有效(O N)状态时,才能在D T E和D C E之间进行传送操作。若D T E要发送数据,则预先将D T R线置成有效(O N)状态,等C T S线上收到有效(O N)状态的回答后,才能在T x D线上发送串行数据。这种顺序的规定对半双工的通信线路特别有用,因为半双工的通信才能确定D C E已由接收方向改为发送方向,这时线路才能开始发送。
2个数据信号:发送T X D;接收R X D。
1个信号地线:S G。
6个控制信号:
D S R数传机(即m o d e m)准备好,D a t a S e t R e a d y.
D T R数据终端(D T E,即微机接口电路,如I n t e l8250/8251,16550)准备好,D a t a T e r m i n a l R e a d y。
R T SD T E请求D C E发送(R e q u e s t T o S e n d)。
C T S
D C E允许D T E发送(C l e a r T o S e n d),该信号是对R T S信号的回答。
D C D数据载波检出,D a t a C a r r i e r D e t e c t i o n当本地D C E设备(M o d e m)收到对方的D C E设备送来的载波信号时,使D C D有效,通知D T E准备接收, 并且由D C E将接收到的载波信号解调为数字信号, 经R X D线送给D T E。
R I振铃信号 R i n g i n g当D C E收到交换机送来的振铃呼叫信号时,使该信号有效,通知D T E已被呼叫。
232引脚
C C I T T
M o d e m名称
说明
异步
同步
1101
A A保护地
设备外壳接地
P E
P E√
2103
B A发送数据
数据送M o d e m
T X D
3104
B B接收数据
从M o d e m接收数据
R X D
4105
C A请求发送在半双工时控制发送器的开和关 R T S
5106
C B允许发送
M o d e m允许发送
C T S
6107
C C数据终端准备好
M o d e m准备好
D S R
7102
A B信号地
信号公共地
S G
S G√
8109
C F载波信号检测
M o d e m正在接收另一端送来的信号 D C D
9空
10空
11空
12接收信号检测(2)
在第二通道检测到信号
√
13允许发送(2)
第二通道允许发送
√
14118
发送数据(2)
第二通道发送数据
√
15113
D A发送器定时
为M o d e m提供发送器定时信号
√
16119
接收数据(2)
第二通道接收数据
√
17115
D F接收器定时
为接口和终端提供定时
√
18空
19请求发送(2)
连接第二通道的发送器
√
20108
数据终端准备好
数据终端准备好
D T R
21
空
22125振铃
振铃指示
R I
23111
C H数据率选择
选择两个同步数据率
√
24114
D B发送器定时
为接口和终端提供定时
√
25空
一、远距离通信
第1和第2中情况是属于远距离通信(传输距离大于15m的通信)的例子,故一般要加调制解调器M O D E M,因此使用的信号线较多。注意:在以下各图中,D T E信号为R S-232-C信号,D T E与计算机间的电平转换电路未画出。
1、采用M o d e m(D C E)和电话网通信时的信号连接:
若在双方M O D E M之间采用普通电话交换线进行通信,除了需要2~8号信号线外还要增加R I(22号)和D T R(20号)两个信号线进行联络,如图1所示。
图1
D S R、D T R:数传机(D C E)准备好、数据终端(D T E)准备好,只表示设备本身可用。
首先,通过电话机拔号呼叫对方,电话交换台向对方发出拔号呼叫信号,当对方D C E收到该信号后,使R I (振铃信号)有效,通知D T E,已被呼叫。当对方“摘机”后,两方建立了通信链路。
若计算机要发送数据至对方,首先通过接口电路(D T E)发出R T S(请求发送)信号。此时,若D C E(M o d e m)允许传送,则向D T E回答C T S(允许发送)信号。一般可直接将R T S/C T S接高电平,即只要通信链路已建立,就可传送信号。(R T S/C T S可只用于半双工系统中作发送方式和接收方式的切换。
当D T E获得C T S信号后,通过T X D线向D C E发出串行信号,D C E(M o d e m)将这些数字信号调制成模拟信号(又称载波信号),传向对方。
计算机向D T E“数据输出寄存器”传送新的数据前,应检查M o d e m状态和数据输出寄存器为空。当对方的D C E收到载波信号后,向对方的D T E发出D C D信号(数据载波检出),通知其D T E准备接收,同时,将载波信号解调为数据信号,从R X D线上送给D T E,D T E通过串行接收移位寄存器对接收到的位流进行移位,当收到1个字符的全部位流后,把该字符的数据位送到数据输入寄存器,C P U可以从数据输入寄存器读取字符。
2、采用专用电话线通信:在通信双方的M O D E M之间采用电话线进行通信,则只要使用2~8号信号线进行
联络与控制。不需要电话机、振铃信号R I和D T R信号,其信号线的连接如图2那样。
图2
二、近距离通信:
当通信距离较近时,可不需要M o d e m,通信双方可以直接连接,这种情况下,只需使用少数几根信号线。最简单的情况,在通信中根本不需要R S-232C的控制联络信号,只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信,即是这里要讨论的第一种情况。
无M o d e m时,最大通信距离按如下方式计算:
R S-232C标准规定:当误码率小于4%时,要求导线的电容值应小于2500P F。对于普通导线,其电容值约为170P F/M。则允许距离L=2500P F/(170P F/M)=15M
这一距离的计算,是偏于保守的,实际应用中,当使用9600b p s,普通双绞屏蔽线时,距离可达30~35米。
1、零M o d e m的最简连线(3线制)
图3是零M O D E M方式的最简单连接(即三线连接),图中的2号线与3号线交叉连接是因为在直连方式时,把通信双方都当作数据终端设备看待,双方都可发也可收。在这种方式下,通信双方的任何一方,只要请求发送R T S有效和数据终端准备好D T R有效就能开始发送和接收。
图3
(1)R T S与C T S互联:只要请求发送,立即得到允许
(2)D T R与D S R互联:只要本端准备好,认为本端立即可以接收(D S R、数传机准备好)。
2、零M o d e m标准连接:
如果想在直接连接时,而又考虑到R S-232C的联络控制信号,则采用零M O D E M方式的标准连接方法,其通信双方信号线安排如下1-2-3-4-5顺序所演示的那样。
无M o d e m的标准联线(7线制)如图所示:
从中可以看出,R S-232C接口标准定义的所有信号线都用到了,并且是按照D T E和D C E之间信息交换协议的要求进行连接的,只不过是把D T E自己发出的信号线送过来,当作对方D C E发来的信号,因此,又把这种连接称为双叉环回接口。
双方的握手信号关系如下(注:甲方乙方并未在图中标出):
(1)当甲方的D T E准备好,发出D T R信号,该信号直接联至乙方的R I(振铃信号)和D S R(数传机准备好)。即只要甲方准备好,乙方立即产生呼叫(R I)有效,并同时准备好(D S R)。尽管此时乙方并不存在D C E(数传机)。
(2)甲方的R T S和C T S相连,并与乙方的D C D互连。即:一旦甲方请求发送(R T S),便立即得到允许(C T S),同时,使乙方的D C D有效,即检测到载波信号。
(3)甲方的T X D与乙方的R X D相连,一发一收。