RS232学习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RS232学习相关的知识,希望对你有一定的参考价值。

个人计算机上的通讯接口之一,由电子工业协会(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三条线。[1] 

 

 

接口信号

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。

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收到对方的DCE设备送来的振铃呼叫信号时,使该信号有效,通知DTE已被呼叫。

 

 

 

 

RS485

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的收与发是共用两根线所

以不能够同时收和发(半双工)。

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

 

以上是关于RS232学习的主要内容,如果未能解决你的问题,请参考以下文章

FPGA的学习:基于RS232的VGA图像处理

FPGA的学习:基于RS232的VGA图像处理

几个串口协议学习整理

雕爷学编程Arduino动手做(59)---RS232转TTL串口模块

Hali硬件安全工具-串口通讯RS232/485/422/CAN抓包

Hali硬件安全工具-串口通讯RS232/485/422/CAN抓包