2

rs232串口通讯功能,带你认识RS232通讯

关于【rs232串口通讯功能】,今天小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

  • 内容导航:
  • 1、rs232串口通讯功能:带你认识RS232通讯
  • 2、rs232串口通讯功能,聊聊RS232串口通讯的应用

1、rs232串口通讯功能:带你认识RS232通讯

RS-232(又称EIA RS-232)是常用的串行通信接口标准之一,由美国电子工业协会(EIA)联合贝尔系统公司、调制解调器厂家及计算机终端生产厂家于1970年共同制定。

它具有信号线少、灵活的波特率选择、采用负逻辑传送和传送距离较远等特点。

rs232串口通讯功能,带你认识RS232通讯

在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。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三条线。

一、串口协议标准

RS-232C 标准(协议)的全称是 EIA-RS-232C 标准,其中EIA (Electronic Industry Association)代表美国电子工业协会,RS(recommended standard)代表推荐标准,232是标识号,C代表RS232的最新一次修改(1969),在这之前,有RS232B、RS232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。常用物理标准还有EIARS-422A、EIA RS-423A、EIARS-485。这里只介绍EIA RS-232C(简称232,RS232)。例如,目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。

一、串口的引脚定义:

rs232串口通讯功能,带你认识RS232通讯

两个串口连接时,接收数据针脚与发送数据针脚相连,彼此交叉,信号地对应相接即可。

二、串口的电气特性:
1)RS-232串口通信最远距离是50英尺
2)RS232可做到双向传输,全双工通讯,最高传输速率20kbps
3)RS-232C上传送的数字量采用负逻辑,且与地对称
逻辑1:-3 ~-15V
逻辑0:+3~+15V
所以与单片机连接时常常需要加入电平转换芯片:

rs232串口通讯功能,带你认识RS232通讯

三、串口的机械特性:

连接器:由于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脚)

注意:20mA电流环信号仅IBM PC和IBM PC/XT机提供,至AT机及以后,已不支持。

(2)DB-9:

在AT机及以后,不支持20mA电流环接口,使用DB-9连接器,作为提供多功能I/O卡或主板上COM1和COM2两个串行接口的连接器。它只提供异步通信的9个信号。DB-9型连接器的引脚分配与DB-25型引脚信号完全不同。因此,若与配接DB-25型连接器的DCE设备连接,必须使用专门的电缆线。

电缆长度:在通信速率低于20kb/s时,RS-232C 所直接连接的最大物理距离为15m(50英尺)。

最大直接传输距离说明:RS-232C标准规定,若不使用MODEM,在码元畸变小于4%的情况下,DTE和DCE之间最大传输距离为15m(50英尺)。可见这个最大的距离是在码元畸变小于4%的前提下给出的。为了保证码元畸变小于4%的要求,接口标准在电气特性中规定,驱动器的负载电容应小于2500pF。

三、串口的接线 :

在工程当中经常会用到232口,一般是圆头8针与D型9针两种串口。在一定的条件下,必须要自己制作一个相应的"圆头或者是D型的"232串口。

RS232C串口通信接线方法(三线制)

首先,串口传输数据只要有接收数据针脚和发送针脚就能实现:同一个串口的接收脚和发送脚直接用线相连,两个串口相连或一个串口和多个串口相连

同一个串口的接收脚和发送脚直接用线相连对9针串口和25针串口,均是2与3直接相连;

两个不同串口(不论是同一台计算机的两个串口或分别是不同计算机的串口)

DB9-DB9

2-3,3-2,5-5

DB25-DB25

2-3,3-2,7-7

DB9-DB25

2-3,3-2,5-7

上面是对微机标准串行口而言的,还有许多非标准设备,如接收GPS数据或电子罗盘数据,只要记住一个原则:接收数据针脚(或线)与发送数据针脚(或线)相连,彼此交叉,信号地对应相接。

8针圆形串口接线:2"逻辑地",4"TXD",7"RXD"。

9针D型串口:2"RXD",3"TXD",5"逻辑地"。

RS-232-C的电气接口电路

RS-232-C的电气接口电路采取的是不平衡传输方式,即所谓单端通讯,其发送电平与接收电平的差只有2~3V,所以共模抑制能力较差,容易受到共地噪声和外部干扰的影响,再加上信号线之间的分布电容,因此其传送距离最大为约15米,最高数据传输速率为20kb/s。此外RS-232-C的接口电路的信号电平较高,容易损坏接口电路的芯片,与TTL电路的电平也不兼容,影响其通用性。为了弥补RS-232-C的不足,提高数据传输率和延长通信距离,EIA于1977年制订了RS-499串行通信标准,这个标准对RS-232-C的不足做了改进和补充。RS-422A是RS-499的标准子集之一。

二、串口的接口定义

25芯

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串口通讯功能,带你认识RS232通讯

9芯针脚信号定义作用1DCD载波检测Received Line Signal Detector(Data Carrier Detect)2RXD接收数据Received Data3TXD发送数据Transmit Data4DTR数据终端准备好Data Terminal Ready5SGND信号地Signal Ground6DSR数据准备好Data Set Ready7RTS请求发送Request To Send8CTS清除发送Clear To Send9RI振铃提示Ring Indicator25芯接口9芯接口23324758667581204229

三、串口的缺点:

(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。

(2)传输速率较低,在异步传输时,波特率为20Kbps;因此在CPLD开发板中,综合程序波特率只能采用19200,也是这个原因。

(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。

(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左右。

2、rs232串口通讯功能,聊聊RS232串口通讯的应用

今天我们来聊聊RS232的应用。一提到RS232相信大家都会联想到RS485,都是串口通讯很多时候都会放在一起来讲,但是今天我们只讲232。以前基本不用rs232,因为知道它的通讯距离太短了,最好不要超过10米,在实际应用中很难满足它这个要求。而rs485通讯的距离能有1000米,所以rs485的应用比rs232广多了。其实,rs232的距离是可以通过串口服务器(比如moxa)转换成网线,从而延长通讯距离。

我们都知道串口通讯需要设置波特率,停止位,数据位,奇偶校验,除了这些基本的设置,如果你经常使用232你肯定常常看到RTS/CTS和XON/XOFF这两个选项,这就是两个流控制的选项,目前流控制主要应用于调制解调器的数据通讯中,但对普通RS232编程,了解一点这方面的知识是有好处的。那么,流控制在串行通讯中有何作用,在编制串行通讯程序怎样应用呢?这里我们就来谈谈这个问题。

1.流控制在串行通讯中的作用

这里讲到的“流”,当然指的是数据流。数据在两个串口之间传输时,常常会出现丢失数据的现象,或者两台计算机的处理速度不同,如台式机与单片机之间的通讯,接收端数据缓冲区已满,则此时继续发送来的数据就会丢失。现在我们在网络上通过MODEM进行数据传输,这个问题就尤为突出。流控制能解决这个问题,当接收端数据处理不过来时,就发出“不再接收”的信号,发送端就停止发送,直到收到“可以继续发送”的信号再发送数据。因此流控制可以控制数据传输的进程,防止数据的丢失。 PC机中常用的两种流控制是硬件流控制(包括RTS/CTS、DTR/CTS等)和软件流控制XON/XOFF(继续/停止),下面分别说明。

2.硬件流控制

硬件流控制常用的有RTS/CTS流控制和DTR/DSR(数据终端就绪/数据设置就绪)流控制。

硬件流控制必须将相应的电缆线连上,用RTS/CTS(请求发送/清除发送)流控制时,应将通讯两端的RTS、CTS线对应相连,数据终端设备(如计算机)使用RTS来起始调制解调器或其它数据通讯设备的数据流,而数据通讯设备(如调制解调器)则用CTS来起动和暂停来自计算机的数据流。这种硬件握手方式的过程为:我们在编程时根据接收端缓冲区大小设置一个高位标志(可为缓冲区大小的75%)和一个低位标志(可为缓冲区大小的25%),当缓冲区内数据量达到高位时,我们在接收端将CTS线置低电平(送逻辑0),当发送端的程序检测到CTS为低后,就停止发送数据,直到接收端缓冲区的数据量低于低位而将CTS置高电平。RTS则用来标明接收设备有没有准备好接收数据。

常用的流控制还有还有DTR/DSR(数据终端就绪/数据设置就绪)。我们在此不再详述。由于流控制的多样性,我个人认为,当软件里用了流控制时,应做详细的说明,如何接线,如何应用。

3.软件流控制

由于电缆线的限制,我们在普通的控制通讯中一般不用硬件流控制,而用软件流控制。一般通过XON/XOFF来实现软件流控制。常用方法是:当接收端的输入缓冲区内数据量超过设定的高位时,就向数据发送端发出XOFF字符(十进制的19或Control-S,设备编程说明书应该有详细阐述),发送端收到XOFF字符后就立即停止发送数据;当接收端的输入缓冲区内数据量低于设定的低位时,就向数据发送端发出XON字符(十进制的17或Control-Q),发送端收到XON字符后就立即开始发送数据。一般可以从设备配套源程序中找到发送的是什么字符。

应该注意,若传输的是二进制数据,标志字符也有可能在数据流中出现而引起误操作,这是软件流控制的缺陷,而硬件流控制不会有这个问题。

总结一下,不管用硬件流控制还是软件流控制肯定需要在设备中选择或者设备指定了哪种流控制,因为流控制方式的不同其本质是232通讯程序的不同。当然也可以没有流控制,只是数据没有流控制那么可靠。

4.串口通讯方式

串口通讯方式分为异步和同步,我碰到的只有异步方式,同步方式还没碰到过。我们来说说异步方式。

异步串行通讯规定了每个字符以帧的格式传送, 每一帧信息由起始位、 数据位、 奇偶校

验位和停止位组成。

rs232串口通讯功能,带你认识RS232通讯

rs232串口通讯功能,带你认识RS232通讯

1) 起始位起始位的作用就是表示通讯开始。 在串口通讯中, 通讯线上没有数据传送的时候信号处于逻辑“ 1”的状态,当发送设备要发送一个字符数据的时候,首先发出一个逻辑“ 0”信号, 这个逻辑低电平就是起始位。 接收设备检测到这个逻辑低电平以后, 就开始准备接收数据信号。

2) 数据位当接收设备收到起始位信号后, 紧接着就是数据位。数据位的个数可以是 5、 6、 7 或 8

位的二进制数据。在字符数据传送过程中,数据位从最小有效位(最低位)开始传送。

3) 奇偶校验位

数据位发送完成以后, 可以在传送字符的各位之外, 再传送 1 位奇偶校验位, 使用通讯

双方在通讯时约定一致的奇偶检验方式, 进行有限的差错检验。 即, 通过判断所有传送的数

位(含字符的各数位和校验位)中“ 1”的个数为奇数还是偶数进行检验。奇偶校验仅能检

测不能纠错。在发现错误后,只能要求重发。但由于其实现简单,仍得到了广泛使用。

4) 停止位

当奇偶校验位或数据位 (无奇偶校验时) 发送完成以后, 系统发送停止位作为一个字符

数据结束的标志。停止位可以是 1 位、 1.5 位或者 2 位。因为位数的本质含义是信号出现的

时间,故可有分数位,如停止位可以是 1.5 位

FANUC 系统使用的串口通讯方式

FANUC 系统使用异步串行通讯方式,标准设定为:数据位 7 位、奇偶校验位 1 位、停

止位 2 位。其中数据位是固定的, 奇偶校验可以通过参数 134# 1 设定是否使用,停止位通

过参数 101 # 0 选择使用 1 位或是 2 位。

另外,除了上述标准串行通讯信号, FANUC 系统还使用了一些自己的控制码,主要用

于数据传送的流控制:

DC1 ,代码 0x11h ,表示 NC 读入数据开始

DC2 ,代码 0x12h ,表示 NC 输出数据开始

DC3 ,代码 0x93h (或 0x13h ,最高为视为符号位) ,表示 NC 读入数据结束

DC4 ,代码 0x14h ,表示 NC 输出数据结束

FANUC 系统 RS-232-C 串口的流控制

根据《FANUC 连接说明书 (硬件) 》 中的相关描述, FANUC 对串口数据控制方式如下:

v NC 接收数据的控制流程

1) NC 输出 DC1 。

2) 在接受到 DC1 控制码后,外部设备开始传输数据。

3) 若 NC 来不及进行处理,则 NC 送出 DC3 控制码。

4) 外部设备在收到 NC 送出的 DC3 控制码后, 停止发送数据。外部设备在收到 DC3

控制信号后,最多可发送 10 个字符,如果送出的字符多于 10 个,就会发生 087

报警(缓冲区溢出) 。

5) NC 在结束延时处理后,送出 DC1 控制码。

6) 外部设备在接受到 DC1 控制信号后,重新开始传送数据(数据必须是下一个要处

理的数据) 。

7) NC 在结束接收数据后,送出 DC3 控制信号。

8) 外部设备停止送出数据。

v NC 发送数据的控制流程

1) NC 送出 DC2 控制代码。

2) NC 连续地输出穿孔数据。

3) 若 I/O 设备延时处理数据( I/O 速度慢)时。

a) 当 CS 信号 OFF 时,包括当前正在传输的字符, NC 在传送 2 个字符后停止

传送。

当 CS 信号再次 ON 时,数据传输重新开始。

b) 如果控制代码 DC3 送入 NC , NC 在传输 10 个字符后停止数据输出。当控制

代码 DC1 送入 NC 后, NC 重新开始送出数据。

4) 外部设备传输数据完成后且 CS 信号 ON 时, NC 开始送出下一组数据。

5) 数据输出完成后, NC 送出 DC4 控制代码。

根据上面的叙述, 可以得出,系统读入数据的时候,使用软件流控制方式; 输出数据的

时候,同时使用软件和硬件流控制方式,具体方式可通过参数 102 #选择(0,使用 DC1 -

DC4 ; 4,不使用) 。

因为刚好项目上用到了FANUC机床的232串口传输,所以这里特别写了一点,工作中碰不到FANUC机床的可以忽略。

好了,今天就写这么多了,欢迎各位大佬来喷。

这就是关于《rs232串口通讯功能,带你认识RS232通讯》的所有内容,希望对您能有所帮助!

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2151702/
1
上一篇 英文名字怎么取,怎样取一个合适的英文名字(幼儿园老师让给孩子起英文名)
下一篇 武夷岩茶之马头岩九龙窠肉桂,武夷岩茶入门

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部