串行通信接口标准经过使用和发展
,
目前已经有几种。但都是在
RS-232
标准的基础上经过改进而形成的。所以,以
RS-232C
为主来讨论。
RS-323C
标准是美国
EIA(
电子工业联合会)与
BELL
等公司一起开发的
1969
年公布的通信协议。它适合于数据传输速率在
0
~
20000b/s
范围内的通信。这个标准对串行通信接口的有关问题,如信号线功能、电器特性都作了明确规定。由于通行设备厂商都生产与
RS-232C
制式兼容的通信设备,因此,它作为一种标准,目前已在微机通信接口中广泛采用。
在讨论
RS-232C
接口标准的内容之前,先说明两点:
首先,
RS-232-C
标准最初是远程通信连接数据终端设备
DTE(Data Terminal Equipment)
与数据通信设备
DCE
(
Data Communication Equipment)
而制定的。因此这个标准的制定,并未考虑计算机系统的应用要求。但目前它又广泛地被借来用于计算机(更准确的说,是计算机接口)与终端或外设之间的近端连接标准。显然,这个标准的有些规定及和计算机系统是不一致的,甚至是相矛盾的。有了对这种背景的了解,我们对
RS-232C
标准与计算机不兼容的地方就不难理解了。
其次,
RS-232C
标准中所提到的“发送”和“接收”,都是站在
DTE
立场上,而不是站在
DCE
的立场来定义的。由于在计算机系统中,往往是
CPU
和
I/O
设备之间传送信息,两者都是
DTE
,因此双方都能发送和接收。
一、
RS-232-C
RS-232C
标准(协议)的全称是
EIA-RS-232C
标准,其中
EIA(Electronic Industry Association)
代表美国电子工业协会,
RS
(
ecommeded standard
)代表推荐标准,
232
是标识号,
C
代表
RS232
的最新一次修改(
1969
),在这之前,有
RS232B
、
RS232A
。。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有有
EIA�RS-232-C
、
EIA�RS-422-A
、
EIA�RS-423A
、
EIA�RS-485
。
这里只介绍
EIA�RS-232-C
(简称
232
,
RS232
)。
例如,目前在
IBM PC
机上的
COM1
、
COM2
接口,就是
RS-232C
接口。
1.
电气特性
EIA-RS-232C
对电器特性、逻辑电平和各种信号线功能都作了规定。
在
TxD
和
RxD
上:逻辑
1(MARK)=-3V
~
-15V
逻辑
0(SPACE)=+3
~+
15V
在
RTS
、
CTS
、
DSR
、
DTR
和
DCD
等控制线上:
信号有效(接通,
ON
状态,正电压)=
+3V
~
+15V
信号无效(断开,
OFF
状态,负电压
)=-3V
~
-15V
图
1
以上规定说明了
RS-323C
标准对逻辑电平的定义。对于数据(信息码):逻辑“
1
”(传号)的电平低于
-3V
,逻辑“
0
”(空号)的电平告语
+3V
;对于控制信号;接通状态(
ON
)即信号有效的电平高于
+3V
,断开状态
(OFF)
即信号无效的电平低于
-3V
,也就是当传输电平的绝对值大于
3V
时,电路可以有效地检查出来,介于
-3
~
+3V
之间的电压无意义,低于
-15V
或高于
+15V
的电压也认为无意义,因此,实际工作时,应保证电平在±
(3
~
15)V
之间。
EIA-RS-232C
与
TTL
转换:
EIA-RS-232C
是用正负电压来表示逻辑状态,与
TTL
以高低电平表示逻辑状态的规定不同。因此,为了能够同计算机接口或终端的
TTL
器件连接,必须在
EIA-RS-232C
与
TTL
电路之间进行电平和逻辑关系的变换。实现这种变换的方法可用分立元件,也可用集成电路芯片。目前较为广泛地使用集成电路转换器件,如
MC1488
、
SN75150
芯片可完成
TTL
电平到
EIA
电平的转换,而
MC1489
、
SN75154
可实现
EIA
电平到
TTL
电平的转换。
MAX232
芯片可完成
TTL
←→
EIA
双向电平转换,图
1
显示了
1488
和
1489
的内部结构和引脚。
MC1488
的引脚
(2)
、
(4,5)
、
(9,10)
和
(12,13)
接
TTL
输入。引脚
3
、
6
、
8
、
11
输出端接
EIA-RS-232C
。
MC1498
的
14
的
1
、
4
、
10
、
13
脚接
EIA
输入,而
3
、
6
、
8
、
11
脚接
TTL
输出。具体连接方法如图
2
所示。图中的左边是微机串行接口电路中的主芯片
UART
,它是
TTL
器件,右边是
EIA-RS-232C
连接器,要求
EIA
高电压。因此,
RS-232C
所有的输出
、
输入信号都要分别经过
MC1488
和
MC1498
转换器,进行电平转换后才能送到连接器上去或从连接器上送进来。
图
2
2
、、连接器的机械特性:
连接器:由于
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
脚)
DB-25
型连接器的外形及信号线分配如图
3
所示。注意,
20mA
电流环信号仅
IBM PC
和
IBM PC/XT
机提供,至
AT
机及以后,已不支持。
(2)DB-9连接器
在AT机及以后,不支持20mA电流环接口,使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。DB-25型连接器的引脚分配与DB-25型引脚信号完全不同。因此,若与配接DB-25型连接器的DCE设备连接,必须使用专门的电缆线。
电缆长度:在通信速率低于20kb/s时,RS-232C所直接连接的最大物理距离为15m(50英尺)。
最大直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码元畸变小于4%的前提下给出的。为了保证码元畸变小于4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500pF。
3、RS-232C的接口信号
RS-232C规标准接口有25条线,4条数据线、11条控制线、3条定时线、7条备用和未定义线,常用的只有9根,它们是:
(1)联络控制信号线:
数据装置准备好(Data set ready-DSR)——有效时(ON)状态,表明MODEM处于可以使用的状态。
数据终端准备好(Data set ready-DTR)——有效时(ON)状态,表明数据终端可以使用。
这两个信号有时连到电源上,一上电就立即有效。这两个设备状态信号有效,只表示设备本身可用,并不说明通信链路可以开始进行通信了,能否开始进行通信要由下面的控制信号决定。
请求发送(Request to send-RTS)——用来表示DTE请求DCE发送数据,即当终端要发送数据时,使该信号有效(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)地线
有两根线SG、PG——信号地和保护地信号线,无方向。
上述控制信号线何时有效,何时无效的顺序表示了接口信号的传送过程。例如,只有当DSR和DTR都处于有效(ON)状态时,才能在DTE和DCE之间进行传送操作。若DTE要发送数据,则预先将DTR线置成有效(ON)状态,等CTS线上收到有效(ON)状态的回答后,才能在TxD线上发送串行数据。这种顺序的规定对半双工的通信线路特别有用,因为半双工的通信才能确定DCE已由接收方向改为发送方向,这时线路才能开始发送。
2个数据信号:发送TXD;接收RXD。
1个信号地线:SG。
6个控制信号:
DSR��数传机(即modem)准备好,Data Set Ready.
DTR��数据终端(DTE,即微机接口电路,如Intel8250/8251,16550)准备好,Data Terminal Ready。
RTS��DTE请求DCE发送(Request To Send)。
CTS��DCE允许DTE发送(Clear To Send),该信号是对RTS信号的回答。
DCD��数据载波检出,Data Carrier Detection当本地DCE设备(Modem)收到对方的DCE设备送来的载波信号时,使DCD有效,通知DTE准备接收, 并且由DCE将接收到的载波信号解调为数字信号, 经RXD线送给DTE。
RI��振铃信号 Ringing当DCE收到交换机送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。
232引脚 CCITT Modem 名称 说明 异步 同步 1 101 AA 保护地 设备外壳接地 PE PE√ 2 103 BA 发送数据 数据送Modem TXD
3 104 BB 接收数据 从Modem接收数据 RXD
4 105 CA 请求发送 在半双工时控制发送器的开和关 RTS
5 106 CB 允许发送 Modem允许发送 CTS
6 107 CC 数据终端准备好 Modem准备好 DSR
7 102 AB 信号地 信号公共地 SG SG√ 8 109 CF 载波信号检测 Modem正在接收另一端送来的信号 DCD
9 空
10 空
11 空
12 接收信号检测(2) 在第二通道检测到信号 √ 13 允许发送(2) 第二通道允许发送 √ 14 118 发送数据(2) 第二通道发送数据 √ 15 113 DA 发送器定时 为Modem提供发送器定时信号 √ 16 119 接收数据(2) 第二通道接收数据 √ 17 115 DF 接收器定时 为接口和终端提供定时 √ 18 空
19 请求发送(2) 连接第二通道的发送器 √ 20 108 数据终端准备好 数据终端准备好 DTR
21 空
22 125 振铃 振铃指示 RI
23 111 CH 数据率选择 选择两个同步数据率 √ 24 114 DB 发送器定时 为接口和终端提供定时 √ 25 空
~~~~~~~~~~~~~
一、远距离通信
第1和第2中情况是属于远距离通信(传输距离大于15m的通信)的例子,故一般要加调制解调器MODEM,因此使用的信号线较多。注意:在以下各图中,DTE信号为RS-232-C信号,DTE与计算机间的电平转换电路未画出。
1、采用Modem(DCE)和电话网通信时的信号连接:
若在双方MODEM之间采用普通电话交换线进行通信,除了需要2~8号信号线外还要增加RI(22号)和DTR(20号)两个信号线进行联络,如图1所示。
图1
DSR、DTR:数传机(DCE)准备好、数据终端(DTE)准备好,只表示设备本身可用。
首先,通过电话机拔号呼叫对方,电话交换台向对方发出拔号呼叫信号,当对方DCE收到该信号后,使RI(振铃信号)有效,通知DTE,已被呼叫。当对方“摘机”后,两方建立了通信链路。
若计算机要发送数据至对方,首先通过接口电路(DTE)发出RTS(请求发送)信号。此时,若DCE(Modem)允许传送,则向DTE回答CTS(允许发送)信号。一般可直接将RTS/CTS接高电平,即只要通信链路已建立,就可传送信号。(RTS/CTS可只用于半双工系统中作发送方式和接收方式的切换。
当DTE获得CTS信号后,通过TXD线向DCE发出串行信号,DCE(Modem)将这些数字信号调制成模拟信号(又称载波信号),传向对方。
计算机向DTE“数据输出寄存器”传送新的数据前,应检查Modem状态和数据输出寄存器为空。当对方的DCE收到载波信号后,向对方的DTE发出DCD信号(数据载波检出),通知其DTE准备接收,同时,将载波信号解调为数据信号,从RXD线上送给DTE,DTE通过串行接收移位寄存器对接收到的位流进行移位,当收到1个字符的全部位流后,把该字符的数据位送到数据输入寄存器,CPU可以从数据输入寄存器读取字符。
2、采用专用电话线通信:在通信双方的MODEM之间采用电话线进行通信,则只要使用2~8号信号线进行联络与控制。不需要电话机、振铃信号RI和DTR信号,其信号线的连接如图2那样。
图2
二、近距离通信:
当通信距离较近时,可不需要Modem,通信双方可以直接连接,这种情况下,只需使用少数几根信号线。最简单的情况,在通信中根本不需要RS-232C的控制联络信号,只需三根线(发送线、接收线、信号地线)便可实现全双工异步串行通信,即是这里要讨论的第一种情况。
无Modem时,最大通信距离按如下方式计算:
RS-232C标准规定:当误码率小于4%时,要求导线的电容值应小于2500PF。对于普通导线,其电容值约为170PF/M。则允许距离L=2500PF/(170PF/M)=15M
这一距离的计算,是偏于保守的,实际应用中,当使用9600bps,普通双绞屏蔽线时,距离可达30~35米。
1、零Modem 的最简连线(3线制)
图3是零MODEM方式的最简单连接(即三线连接),图中的2号线与3号线交叉连接是因为在直连方式时,把通信双方都当作数据终端设备看待,双方都可发也可收。在这种方式下,通信双方的任何一方,只要请求发送RTS有效和数据终端准备好DTR有效就能开始发送和接收。
图3
(1)RTS与CTS互联:只要请求发送,立即得到允许
(2)DTR与DSR互联:只要本端准备好,认为本端立即可以接收(DSR、数传机准备好)。
2、零Modem标准连接:
如果想在直接连接时,而又考虑到RS-232C的联络控制信号,则采用零MODEM方式的标准连接方法,其通信双方信号线安排如下1-2-3-4-5顺序所演示的那样。
无Modem的标准联线(7线制)如图所示:
从中可以看出,RS-232C接口标准定义的所有信号线都用到了,并且是按照DTE和DCE之间信息交换协议的要求进行连接的,只不过是把DTE自己发出的信号线送过来,当作对方DCE发来的信号,因此,又把这种连接称为双叉环回接口。
双方的握手信号关系如下(注:甲方乙方并未在图中标出):
(1)当甲方的DTE准备好,发出DTR信号,该信号直接联至乙方的RI(振铃信号)和DSR(数传机准备好)。即只要甲方准备好,乙方立即产生呼叫(RI)有效,并同时准备好(DSR)。尽管此时乙方并不存在DCE(数传机)。
(2)甲方的RTS和CTS相连,并与乙方的DCD互连。即:一旦甲方请求发送(RTS),便立即得到允许(CTS),同时,使乙方的DCD有效,即检测到载波信号。
(3)甲方的TXD与乙方的RXD相连,一发一收。
|