串口通信原理详解232、422、485
时间:2023-02-11 00:00:00
本文介绍了串口通信的基本概念、数据格式、通信方式、典型的串口通信标准等。
串口通讯,RS232,RS485、停车位、奇校验、偶校验
1 串口通讯
串口通讯(Serial Communication),是指外设和计算机间通过数据信号线、地线等传输数据的通信方式。
串口是一种接口标准,界面电气标准,无界面插件电缆和使用协议。
串口按电气标准和协议划分,包括RS-232-C、RS-422、RS485等。
2 串口通信的数据格式
一个字符一个字符传输,每个字符一个接一个地传输,当传输一个字符时,总是从开始开始,以停止结束,字符之间没有固定的时间间隔要求。
每个字符前面都有一个起始位置(低电平),字符本身由7位数据位组成,然后字符后面是一个验证位置(验证位置可以是奇怪的验证、偶尔验证或无验证位置),最后是一个或一个半或两个停止位置,停止位置后面是长空闲位置,停止位置和空闲位置规定为高电平。在实际传输过程中,每个人的信号宽度都与波特率有关。波特率越高,宽度越小。在传输之前,双方必须使用相同的波特率设置。
3 通讯方式
单工模式(Simplex Communication)数据传输是单向的。在通信双方中,一方固定为发送端,另一方固定为接收端。信息只能沿一个方向传输,并使用传输线。
半双工模式(Half Duplex)通信使用相同的传输线,可以发送和接收数据,但不能同时发送和接收。数据传输允许数据在两个方向传输,但只有一方随时发送数据,另一方接收数据。因此,半双工模式可以使用一条数据线或两条数据线。在半双工通信中,每端都需要一个电子开关,以确定数据传输到哪个方向。由于切换,时间延迟,信息传输效率低。
全双工模式(Full Duplex)通信允许数据同时向两个方向传输。因此,全双工通信是两种单工通信方式的结合,要求发送设备和接收设备具有独立的接收和发送能力。在全双工模式下,每端都有发送器和接收器,信息传输效率高。
显然,在其他参数相同的情况下,全双工传输速度比半双工快,效率高。
4 偶校验和奇校验
在标准ASCII码中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传输过程中用查是否有错误的方法,一般分奇校验和偶校验。奇数验证规定:正确的代码字节中1的数量必须是奇数,如果不是奇数,则在最高水平b7加1;偶校验规定,正确代码字节中1的数量必须是偶数,如果不是偶数,则在最高位置b7添1。
5 停止位
停止位按长度计算。串行异步通信从计时开始,以单位时间为间隔(单位时间为波特率倒数),接受规定的数据位和奇偶校准位,并组装成字符并行字节;然后接收规定长度的停止位1。所以停止位是1,1.5是它的长度,即停止高电平保持1.五个单位的时间长度。一般来说,停止位有1、1.五、二单位时间三长。
6 波特率
波特率是每秒传输的数据位数。
波特率的单位是每秒比特数(bps),常用单位还有:每秒千比特数Kbps,每秒比特数Mbps。典型的传输波特率为600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps。
PLC/PC最常用的波特率是9600bps,19200bps。PLC/PC或者当仪器与大屏幕通信时,最常用的波特率是600bps。
7 典型的串口通信标准
EIA RS232(通常简称“RS232”): 1962年,美国电子工业协会(EIA)制定。
EIA RS通常简称485RS485”): 1983年,美国电子工业协会(EIA)制定。
8 RS232串口
RS232是计算机和通信行业应用最广泛的串行接口。它以全双工的方式工作,需要三条线:地线、发送线和接收线。RS232只能实现点对点通信。
8.1 RS232串口缺点
●接口信号电平值高,接口电路芯片易损坏。
●最高波特率为19200bps。
●抗干扰能力差。
●传输距离有限,一般在15m以内。
●点对点通信只能实现。
8.2 RS定义232串口接口
RXD:接收数据,TXD:发送数据,GND/SG:信号地。
8.3 电脑DB9针接口定义
电脑DB9针接口很常见RS引脚定义如下:
2号脚:RXD(接收数据)
3号脚:TXD(发送数据)
5号脚:SG或GND(信号地)
其它脚:我们不需要
电脑RS232串口与仪表串口连接图:
在9针串口接头中,公头和母头的管脚定义顺序不同,需要特别注意。那么,这些管脚有什么作用呢?9针和25针的功能如下图所示:
9 RS485串口
9.1 RS485串口特点
●RS485采用平衡发送和差分接收,具有良好的抗干扰能力,信号可传输数公里。
●RS485有两条线和四条线。采用四线系统时,只能实现点对多通信(即只能有一个主设备,其余为设备)。四线系统现在很少使用,现在更多的两线系统接线。
●两线制RS485只能半双工作,收发不能同时进行。
●RS485在同一总线上最多可连接32个结点,实现真正的多点通信,但一般采用主从通信方式,即主机带多个从机。
●因RS485接口具有良好的抗干扰能力、长传输距离和多站能力等优点,成为串行接口的首选。
9.2 485抑制共模干扰
9.3 RS定义485串口接口
A或Data (D )或 :信号正;
B或Data-(D-)或:信号负。
9.4 计算机与RS485仪表通讯
计算机自带的串口只有RS232,没有RS如果计算机必须与485相匹配RS485串口仪表必须使用串口转换器或安装RS485串口转换卡后方可通信。
9.5 RS终端电阻485串口
●终端电阻一般不需要增加,只有在RS485通信距离超过100米的情况下,要在RS在485通信的开始和结束端增加终端电阻,RS典型的485终端电阻为120欧元。
●终端电阻是为了消除通信电缆中的信号反射。信号反射有两种:阻抗不连续和阻抗不匹配。
阻抗不连续,传输线末端的信号突然遇到电缆阻抗很小甚至没有,信号会在这个地方引起反射。为了消除这种反射方法,必须在电缆的末端连接一个与电缆特性阻抗相同大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,通信电缆的另一端可以连接到相同大小的终端电阻。
信号反射的另一个原因是数据收发器和传输电缆之间的阻抗不匹配。这种原因引起的反射主要表现在通信线路闲置时整个网络数据混乱。为了减弱反射信号对通信线路的影响,通常采用噪声抑制和增加偏置电阻的方法。在实际应用中,对于相对较小的反射信号,通常采用增加偏置电阻的方法。
10 串口通信硬件的常见注意事项
●通信电缆端子必须牢固连接,不得松动,否则仪上位机的通信板可能会烧坏。
●不要带电拔插通信端子,否则仪表或上位机的通信板可能会烧坏,在拔插通信端子或连接通信线之前,必须关闭仪表电源。
●不要带电拔插通信端子,否则仪表或上位机的通信板可能会烧坏,在拔插通信端子或连接通信线之前,必须关闭仪表电源。
●通信屏蔽电缆最好选择双层隔离屏蔽电缆,其次选择单层屏蔽电缆,最好不要选择无屏蔽层的电缆,电缆屏蔽层必须能够完全屏蔽,一些质量差的电缆,屏蔽层非常松散,根本不能发挥屏蔽的作用。单层屏蔽的电缆屏蔽层应在一端接地,外层(包括盔甲)应在两端接地,内层屏蔽应在一端接地。
●仪表使用RS通信时,通信电缆长度不得超过15米。
●一般RS485协议的接头没有固定的标准,引脚顺序和管脚功能可能因制造商而异。用户可以查阅相关产品RS485的引脚图。
●RS阻力匹配和低衰减是485通信电缆的最佳选择RS485专用通信电缆(双绞线)不得使用普通双绞线电缆或质量差的通信电缆。由于普通电缆或质量差的通信电缆可能阻抗不匹配、衰减大、绞合不足、屏蔽层松动,干扰大,通信不良,甚至通信不良。
●仪表使用RS485通信时,每台仪器必须手拉手串联,无星形连接或分叉。如果有星形连接或分叉,干扰会很大,导致通信不畅,甚至无法通信。
●理论上,485总线的传输距离为1200米是指通讯线材优质达标,波特率9600,只有一台485设备才能使得通讯距离达到1200米,而且能通讯并不代表每次通讯都正常,所以通常485总线实际的稳定通讯距离远远达不到1200米。负载485设备多,线材阻抗不同时,通讯距离更短。
●仪表使用RS485通讯时,必要时,请接入终端电阻,以增强系统的抗干扰性,典型的终端电阻阻值是120欧。
11 串口通讯软件设置要点
11.1 有关通讯的一些基本概念
●主机与从机:在通讯系统中起主要作用、发布主要命令的称为主机,接受命令的称为从机。
●连续方式:指主机不需要发布命令,从机就能自动地向主机发送数据。
●指令方式:指主机向从机发布命令,从机根据指令执行动作,并将结果“应答”给主机的模式。
●输出数据类型:指在连续方式通讯时,从机输出给主机的数据类型。
●通讯协议:指主机与从机通讯时,按哪一种编码规则来通讯。
●波特率:主从机之间通讯的速度。
●数据位:每次传输数据时,数据由几位组成。
●校验位:数据传输错误检测,可以是奇校验、偶校验或无校验。
●地址:每一台从机的编号。
11.2 主从机之间通讯设置要点
●要点一:主/从RS232/485硬件有无设置正确,通讯线有无接对。有些通讯板卡是RS422与RS485共用的,依靠板上跳线来实现的,有些仪表RS232/485也需要通讯跳线来实现。
●要点二:主机上的通讯端口有无设置正确;超时(一般设置为2s)、通讯延时(一般设置为5~20ms)、ACK信号延时(一般设置为0ms)有无设置正确。
●要点三:主/从机通讯协议有无选择正确。
●要点四:主/从机波特率有无选择正确。
●要点五:主/从机数据位有无选择正确。数据位可以选择7位,8位。
●要点六:主/从机校验位有无选择正确。校验位一般可选择偶校验、奇校验、无校验。
●要点七:主/从机停止位有无选择正确。停止位可以选择1位、1.5位还是2位。
●要点八:从机地址有无选择正确。
●要点九:主/从机的通讯方式有无选择正确。
进行通讯测试的时候经常会进行线路测试,测试所用的串口线是否可用,方法有二如下:
1 把串口线接到不同的串口,用串口调试工具从一个串口发数据,另一个能正常收到说明串口线是OK的。
2 把串口线的一端短接(用金属把2,3号脚连通),用万用表测另一端的2,3号如果正常的话会有嘀嘀的短接报警声。