RS232及RTS和CTS.docx

上传人:b****5 文档编号:11703244 上传时间:2023-03-30 格式:DOCX 页数:38 大小:22.10KB
下载 相关 举报
RS232及RTS和CTS.docx_第1页
第1页 / 共38页
RS232及RTS和CTS.docx_第2页
第2页 / 共38页
RS232及RTS和CTS.docx_第3页
第3页 / 共38页
RS232及RTS和CTS.docx_第4页
第4页 / 共38页
RS232及RTS和CTS.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

RS232及RTS和CTS.docx

《RS232及RTS和CTS.docx》由会员分享,可在线阅读,更多相关《RS232及RTS和CTS.docx(38页珍藏版)》请在冰豆网上搜索。

RS232及RTS和CTS.docx

RS232及RTS和CTS

RS232及RTS和CTS

EIARS-232-C标准

 EIARS-232-C是由美国电子工业协会EIA制定的串行通信物理接口标准。

最初是远程数据通信时,为连接数据终端设备DTE(DataTerminal

Equipment,数据通信的信源,如计算机)和数据通信装置DCE(DataCircuit-

terminalEquipment、数据通信中面向用户的设备,如调制解调器)而制定的。

它规定以25芯或9芯的D型插针连接器与外部相连。

这个连接器上的基本

信号定义如表8-1所示。

 表8-1RS-232-C标准接口信号

 信号符号

 25芯引脚

 9芯引脚

 方向

 信号描述

 TXD

 2

 3

 O

 发送数据

 RXD

 3

 2

 I

 接收数据

 RTS

 4

 7

 O

 请求传送

 CTS

 5

 8

 I

 允许传送

 DSR

 6

 6

 I

 数据通信装置(DCE)就绪

 GND

 7

 5

 信号地

 DCD

 8

 1

 I

 数据载波检测

 DTR

 20

 4

 O

 数据终端设备(DTE)就绪

 RI

 22

 9

 I

 振铃指示

 通信将在数据终端设备(DTE)和数据通信装置(DCE)之间进行,信号线中的

RTS、CTS、DSR和DTR为控制信号,其含义如下:

 RTS(请求传送):

当数据终端设备(DTE)需向数据通信装置(DCE)发送数据

时,该信号有效,请求数据通信装置接收数据。

 CTS(允许传送):

如数据通信装置(DCE)处于可接收数据的状态,此信号有

效,允许数据终端设备(DTE)发送数据。

反之,如数据通信装置(DCE)处于不

可接收数据的状态,此信号无效,不允许数据终端设备(DTE)发送数据。

 DSR(数据设备就绪)、DCD(数据载波检测):

当数据通信装置(DCE)需向数

据终端设备(DTE)发送数据时,该信号有效,请求数据终端设备(DTE)接收数

据。

 DTR(数据终端就绪):

如数据终端设备(DTE)处于可接收数据的状态,此信

号有效,允许数据通信装置(DCE)发送数据。

反之,如数据终端设备(DTE)处

于不可接收数据的状态,此信号无效,不允许数据通信装置(DCE)发送数

据。

 因而采用RS-232标准的通信,除了连接发送和接收的数据线外还需连接控

制信号。

图8-3为采用RS-232标准进行通信常用的连接方法。

 图8-3RS-232标准通信常用的连接方法

 为实现数据的传输,A端与B端的发送和接收的数据线相互连接,A端的

请求传送(RTS)与B端的数据通信装置就绪、数据载波检测(DSR、DCD)相

连,B端的数据终端设备就绪(DTR)信号与A端的允许传送(CTS)相连。

在A

端需发送数据时,该端的请求传送(RTS)输出有效,此信号连接到B端的数

据设备就绪、数据载波检测(DSR、DCD)端,如B端允许接收信号,将使数

据终端设备就绪(DTR)信号有效,此信号输入到A端的允许传送(CTS),A端

接收到此信号后即发送数据。

当B端需发送数据时,将B端的RTS信号置

为有效,因而控制A端的DSR,如A端可接收数据,将置DTR有效,控制

B端正确地发送数据。

 在最简单的情况下,主系统和终端之间仅连接发送、接收的数据线和地

线,而控制信号由各自自行产生。

其连接方法如图8-4所示。

 图8-4RS-232的简化连接方式

 在这样的连接方法中,请求传送(RTS)信号的输出连接到本机的允许传送

(CTS)端,数据终端设备就绪(DTR)的输出连接到本机的数据通信装置就绪

(DSR)、数据载波检测端(DCD)。

当需发送数据时,控制RTS信号有效,此

信号直接连接到CTS,此时由于RTS信号有效,因而可将数据送出。

同样应

控制DTR信号有效,此信号直接连接到DSR、DCD,在需接收数据时,由

于所需的DSR信号有效,可接收数据。

采用这样的方法可减少通信两端的连

线,但必须协调收发双方的通信软件,避免在数据发送时,接收方未能及时

地接收数据。

 采用RS-232标准除了规定信号与连接器外,还规定了信号的电气特性。

其发送端与接收端的电气特性规定如下:

 发送端:

输出最大电压小于25V(绝对值),最大短路输出电流为500mA,

输出阻抗大于300Ω,逻辑1为-25V~-3V,逻辑0为+3~+25V。

 接收端:

输入阻抗为3~7KΩ,最大负载电容2500PF,当信号小于-

3V时为逻辑1,信号大于+3V时为逻辑0。

 为此在进行信号传输时,必须将信号的TTL电平与RS-232电平进行转

换,在发送时,将TTL电平转换为RS-232电平,而在接收时将RS-232电平

转换为TTL电平。

 能满足上述要求将信号由TTL电平与RS-232电平互换的常用器件有

MC1488和MC1489。

MC1488为发送器,它将TTL电平转换为RS-232电

平,采用±12V电源,当输入为TTL1电平时,输出为-12V的信号;

当输入为TTL0电平时,输出为+12V的信号。

MC1489为接收器,将RS-

232电平转换为TTL电平,采用5V电源。

当输入为-12V时,输出TTL1电

平;当输入为+12V时,输出TTL0电平。

 采用单电源供电的RS-232电平转换器件利用内部的电源电压变换器将输入

的+5V电源变换成RS-232输出电平所需的±10V电压。

由于器件内部

的电源电压变换器由电荷泵和倍压电路构成,因而需外接倍压和滤波电容,

电容的容量和质量将影响此电路能否正常工作。

此类电路的TIN端为发送的

TTL/CMOS电平的输入,TOUT端为发送的RS-232电平输出,与此对应,

RIN为接收的RS-232电平的输入,ROUT端为接收的TTL/CMOS电平输

出。

在一个芯片中可包含不同数量的电平转换电路,如图8-5所示的

MAXIM公司的MAX232提供了两个发送电平转换电路和两个接收电平转换

电路。

 图8-5RS-232电平转换电路

 RS232中RTS和CTS的作用

 问:

 以前挺明白的,今天一下子觉得以前的理解都不对了,以下三种解释哪个

对呢?

 解释一:

 RTS:

终端我已经准备就绪,有数据就发过来吧

 CTS:

来了,接招

 解释二:

 RTS:

终端我准备发数据给你,快用CTS应答,准备好没?

 CTS:

好了,来吧

 解释三:

 CTS:

主机,我有数据,请求接收

 RTS:

我是主机,就绪,请求发送。

 我今天弄了个SIM100模块,我将RTS设置无效之后,凡是要发往主机的

数据都没有发过来(包括主动数据RING),指令和指令返回结果都没有返回,

都缓存在模块之中,等我将RTS设置有效后,缓存的数据全发来了,包括一

大堆指令的执行结果,由此,我觉得上面的解释一应该正确,而解释二应该

是错的,但解释三是否正确呢?

就是说CTS和RTS哪个是发起者呢?

 答:

 一是错的

 二是RS232标准

 三是MODEM的硬件流控

 SIMCOM公司的解释完全正确

 很久很久以前,计算机还没有出现,那时就已经存在了(计算机)史前的串

口设备(电传打字机,工控测量设备,通信调制解调器),为了连接这些串

口,EIA制定了RS232标准,采用DB25接插件,支持同步和异步串口,D

型的接口可以有效防止插反。

标准化给使用带来了便利。

 时光荏苒,个人计算机出现了,这些已有的串口设备毫无疑问地成为了最

初的外设,自然而然地RS232标准被个人计算机采纳。

但是设备制造商倾向

于体积更小,成本更低的接口,因此,将DB25中未使用的和支持同步模式

的引脚去掉,形成DB9。

最初的情况相当混乱,因为DB9只定义了信号,却

没有指定信号和引脚的对应关系,各个制造商只能自行定义。

幸运的是,

IBM的PC成了工业标准,DB9逐渐统一到IBM的定义上来。

 DB9只有9根线,遵循RS232标准。

定义如下:

 DTR,DSR------DTE设备准备好/DCE设备准备好。

主流控信号。

 RTS,CTS------请求发送/清除发送。

用于半双工时,收发切换。

属于辅助流

控信号。

半双工的意思是说,发的时候不收,收的时候不发。

那幺怎幺区分

收发呢?

缺省时是DCE向DTE发送数据,当DTE决定向DCE发数据时,先

有效RTS,表示DTE希望向DCE发送,一般DCE不能马上转换收发状态,

DTE就通过监测CTS是否有效来判断可否发送,这样避免了DTE在DCE未

准备好时发送所导致的数据丢失。

 全双工时,这两个信号一直有效即可。

 随着计算机的日益普及,很多非RS232的串口也要接入PC机,如果为每

一种新出现的串口都增加一个新的I/O口显然不现实,因为PC后面板位置有

限,因此,将RS232串口和非RS232串口都通过RS232口接入是最佳方

案。

UART的U(通用)指的就是这个意思。

早期ROMBIOS和DOS里的通信

软件都是为RS232设计的,在没有检测到DCD有效前不会发送数据,因

此,就连发送一个字符这样朴素的应用也要给出DCD、DTR、DSR等控制

信号。

因此,串口接头上要将一些控制线短接,或者干脆绕过系统软件自己

写通信程序。

 到此,UART的涵义就总结为:

通用的异步(串行)I/O口。

 就在UART冠以通用二字,准备一统江湖的时候,制造商们不满于它的速

度、体积和灵活性(软件可配置),推出了USB和1394串口。

目前,笔记本

上的UART串口有被取消的趋势,因而有网友发出了没有串口,吾谁与归的

慨叹,古今多少事,都付笑谈中,USB取代UART是后话,暂且不表。

 话说自从贺氏(Hayes)公司推出了聪明猫(SmartModem),他们制定的

MODEM接口就成了业界标准,自此以后,所有公司制造的兼容猫都符合贺

氏标准(连AT指令也兼容,大家一起抄他呗)。

 细观贺氏制定的MODEM串口,与RS232标准大不相同。

DTR在整个通

信过程中一直保持有效,DSR在MODEM上电后/可以拨号前有效(取决于软

件对DSR的理解),在通信过程的任意时刻,只要DTR/DSR无效,通信过程

立即终止。

在某种意义上,这也可以算是流控,但肯定不是RS232所指的那

种主流控。

如果拘泥于RS232,你是不会理解DTR和DSR的用途的。

 贺氏不但改了DTR和DSR,竟然连RTS和CTS的涵义也重新定义了。

此,RTS和CTS已经不具有最开始的意义了。

从字面理解RTS和CTS,是

用于半双工通信的,当DTE想从收模式改为发模式时,就有效RTS请求发

送,DCE收到RTS请求后不能立即完成转换,需要一段时间,然后有效

CTS通知DTE:

DCE已经转到发模式,DTE可以开始发送了。

在全双工

时,RTS和CTS都缺省置为有效即可。

然而,在贺氏的MODEM串口定义

中,RTS和CTS用于硬件流控,和什幺劳什子的全双工/半双工一点关系也

没有。

 注意,硬件流控是靠软件实现的,之所以强调硬件二字,仅仅是因为硬件

流控提供了用于流量情况指示的硬件连线,并不是说,你只要把线连上,硬

件就能自己流控。

如果软件不支持,光连上RTS和CTS是没有用的。

 RTS和CTS硬件流控的软件算法如下:

(RTS有效表示PC机可以收,CTS

有效表示MODEM可以收,这两个信号互相独立,分别指示一个方向的流量

情况。

 ==========我是分隔线==========

 以下是我的几句胡言乱语

 最近在捣鼓一个GSM模块,正好也要用到这东西,就baidu了一把,可以

帮助我理解Datasheet的内容。

看了上面的内容,我不知道各位明白了几分,

如果觉得都明白了,就不用看我废话了。

 还是先引用一些文字,来自Telit公司GM862QUAD/PY的数据手册

 PinSignalI/OFunction

 20C103/TXDISerialdatainput(TXD)fromDTE

 29C106/CTSOOutputforCleartosendsignal(CTS)toDTE

 33C107/DSROOutputforDatasetreadysignal(DSR)toDTE

 37C104/RXDOSerialdataoutputtoDTE

 43C108/DTRIInputforDataterminalreadysignal(DTR)fromDTE

 45C105/RTSIInputforRequesttosendsignal(RTS)fromDTE

 注意上面各个功能的I/O的方向,看到这些缩写的全称,结合信号流向,

是不是更容易理解呢

 DTE是数据发送的主动方,DCE是数据的接受方。

 CTS是让DTE明白的,也就是说DCE需要把自己的CTS给DTE看,让

他知道DEC已经准备好接受数据了。

 RTS是DTE给DCE看的,告诉DCE,DTE有数据要发。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1