rs232接口有啥用?rs232串口接线图 深入理解RS232串口

电子说

1.3w人已加入

描述

“串口”是串行通信接口的简称,所谓“串行通信”是指数据按位依次发送的通信方式。常见的串口有:RS232和RS485。虽然串口通信诞生的时间较早,但它仍然活跃在当今工业自动化控制领域。今天这篇文章,我们来深入介绍下RS232串口。本文包括如下几个主题:

1、RS232的历史

2、RS232的接口

3、RS232的电气信号

4、RS232的电平转换芯片

5、RS232的数据传输

串行通信

1、RS232的历史

RS232是美国电子工业协会(Electronic Industries Association ,EIA)于1962年颁布的通信标准,其全称是:DTE和DCE的电气/机械接口标准。“DTE”是英文“Data Terminal Equipment ”的缩写,翻译为“数据终端设备”,比如计算机;“DCE”是英文“Data Circuit-terminating Equipment”的缩写,翻译为“数据电路端接设备”。也有将其写作“Data Communication Equipment”,翻译为“数据通信设备”,比如调制解调器。“RS232”名称中的“RS”是“Recommand Standard”的缩写,表示“推荐标准”。“232”是标识号。早期的RS232是为了实现计算机、程控电话、调制解调器之间通信而制定的标准,后来经过多次改版,成了一种通用的串行通信标准。RS232的改版信息如下:

1969年C版本(RS232-C);

1986年D版本(RS232-D);

1991年E版本(RS232-E);

1997年F版本(RS232-F);

目前,在工业自动化领域,RS232多用于触摸屏、读卡器、扫码枪、打印机等设备与PLC之间的通信。

2、RS232的接口

在F版本之前,RS232使用25针串行接口,分为公头(Male)和母头(Female)两种,公头用于DTE设备,母头用于DCE设备,如下图所示:

串行通信

实物如下图所示:

针脚定义见下面的表格:

编号 名称 缩写
1 Shield/
屏蔽
 
2 Transmitted Data/
发送数据
TxD
3 Received Data/
接收数据
RxD
4 Request To Send/
请求发送
RTS
5 Clear To Send/
允许发送
CTS
6 DCE Ready/Data Set Ready
数据集就绪
DSR
7 Signal ground/common return
信号接地
SG
8 Received line signal detector  
9 Reserved for data set testing/
保留
 
10 Reserved for data set testing/
保留
 
11 Unassigned/
未分配
 
12 Secondary received line signal detector  
13 Secondary Clear To Send (S)CTS
14 Secondary Transmitted Data (S)TxD
15 Transmission signal element timing  
16 Secondary Received Data (S)RxD
17 Receiver Signal Element Timing(DCE)  
18 Local Loopback  
19 Secondary Request To Send (S)RTS
20 DTE Ready/Data Terminal Ready DTR
21 Remote Loopback/
Signal Quality Detector
 
22 Ring Indicator RI
23 Data Signal Rate Selector  
24 Transmit signal element timing (DTE)  
25 Test Mode  

25针串口针脚太多,用起来比较繁琐。为了简化RS232串口,在F版本中定义了9针串口,同样包括公头(用于DTE)和母头(用于DCE)两种,如下图所示:

串行通信

针脚定义见下面的表格:

编号 名称 缩写
1 Data Carrier Detect/
数据载波监测
DCD
2 Received Data/
接收数据
RxD
3 Transmitted Data/
发送数据
TxD
4 Data Terminal Ready/
数据终端就绪
DTR
5 Ground/
接地
GND
6 Data Set Ready/
数据集就绪
DSR
7 Request To Send/
请求发送
RTS
8 Clear To Send/
允许发送
CTS
9 Ring Indicator/
振铃提示
RI

PLC被视为DTE设备,其RS232串口为公头。比如S7-1200的串口模块CM1241 RS232其串口为公头,如下图所示:

 

对于DTE和DTC的通信,可以使用直连的方式,如下图所示:

串行通信

对于两个DTE(比如PLC和扫码枪)之间的通信,应采用交叉连接的方式。可以将所有引脚相互连接,如下图所示:

串行通信

可以采用最小连接的方式,仅使用三根线,将双方的TxD和RxD互连,GND互连,如下图所示:

串行通信

这种DTE直接连接,不经过DCE的连接也称为“ null modem”连接,这类电缆称为“null modem”电缆或交叉电缆。

3、RS232的电气信号

RS232接收-发送端的电信号是相对于公共地线(GND)的电压信号。当电压差值在+3V~+15V之间表示逻辑“0”,当电压差值在-3V~-15V之间表示逻辑“1”,电压差值在-3V~+3V之间没有定义。3V是最小的可检测电压信号,实际使用时期望电压差的绝对值在5V~15V之间,即:发送数据时,发送端驱动器输出正电压信号+5V~+15V,表示逻辑“0”;负电压信号-5V~-15V表示逻辑1。接收数据时,只要是检测到大于3V的电信号,即将其视为有效信号。

4、RS232的电平转换芯片

单片机的引脚输出的是TTL电平,需要使用专用的转换芯片(TI公司的MAX3232或者ST公司的ST3232等)将其转换为RS232电平。详细内容请看我之前的文章:RS232电平和TTL电平有什么不同?如何转换?

5、RS232的数据传输

数据传输涉及的第一个概念是波特率。我们知道串行通信的传输是一位接着一位的,其传输单位为:位(bit)。因此,波特率的定义就是在单位时间内传输的位的个数。国际公用的单位时间为秒(s),因此波特率的单位为:bit/s(b/s),也写作bps(bit per second)。

波特率有一定的选择范围(并非任意值),常见的波特率有:9600,38400,56000,115200等。还有很多其它的值,通信双方约定好相同的波特率即可。

RS232是一种点对点的通信,其数据帧由起始位、数据位、校验位、停止位四部分组成。

起始位:长度1,数据值等于逻辑0,表示开始发送数据;

数据位:长度8或7,表示实际发送的数据;

校验位:长度0(无校验)或1(奇校验或偶校验);

停止位:长度1、1.5或者2,数据值等于逻辑1,表示数据帧发送结束;

假设某RS232通信设置数据位=7,奇校验,停止位=2,则帧和逻辑值如下图所示:

串行通信

接下来我们做一个计算。

假设某RS232通信设置波特率=9600,数据位=8,无校验(=0),停止位=1。请问该通信参数下,每秒钟可传输多少个字节的数据?

答:根据参数可知,该通信的帧长度=1+8+1=10 位(bit),在该帧中传输了一个字节(8位)。因此对于9600的波特率,每秒钟最多可传输实际数据=9600/10=960字节。

关于数据传输还有流控制等内容。本文实在有点长,就留到后期介绍吧。我的书《西门子S7-1200/1500 PLC SCL语言编程 ——从入门到精通》通信部分也对RS232有比较详细的介绍,感兴趣的话可以看看下面的链接:

  审核编辑:汤梓红

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分