串行通信与并行通信的区别
一、基本概念
串行通信:一条信息的各位数据被按逐位按顺序传送。
并行通信:一条信息的数据可以按照多位传送,有更多的信号地线。
二、特点
串行通讯:两个设备之间通过一对信号线进行通讯,其中一根为信号线,另外一根为信号地线,信号电流通过信号线到达目标设备,再经过信号地线返回,构成一个信号回路。
并行通讯通常可以一次传送8bit、16bit、32bit甚至更高的位数,相应地就需要8根、16根、32根信号线,同时需要加入更多的信号地线。
通过串行通讯与并行通讯的对比,可以看出:串行通讯很简单,但是相对速度低;并行通讯比较复杂,但是相对速度高。更重要的是,串行线路仅使用一对信号线,线路成本低并且抗干扰能力强,因此可以用在长距离通讯上;而并行线路使用多对信号线(还不包括额外的控制线路),线路成本高并且抗干扰能力差,因此对通讯距离有非常严格的限制。
串行通信包括 普通串口通信,I2C ,SPI
串口通信是相对于以太网方式,红外方式,蓝牙方式,usb方式(usb广义也算串行通信)而说。是一种比较低级通信方式
在串行通信中,由于是一位一位地进行数据传送。为了把每个字节区别开来,需要收发双方在传送数据的串行信息流中,加入一些标记信号位。在数据中根据所添加的标记信号位的不同方式,分成同步通信和异步通信两种。
同步通信和异步通信区别
同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。同步是阻塞模式,异步是非阻塞模式。
其中SPI IIC为同步通信
1.“异步通信”是一种很常用的通信方式(效率较低)异步通信在发送字符时,发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。所传送的数据以字节为单位。每个字节前加上一位起始位,每个字节的后面加上停止位
好处:异步通信的好处是通信设备简单、便宜,但传输效率较低。
2.“同步通信”的通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。一种是使用全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。一种是使用准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。同步通信是把所传送的数据以多个字节(100字节以上)为单位,在其前后添加标志。
我们看最典型的SPI、I2C,在这两种方式中,都专门有一个CLK信号线,由通信的一方产生一个CLK,通过CLK信号线传到另一方,双方就就按这个CLK的控制工作,CLK的宽度就是一个数据位的宽度,而CLK的上升或下降沿,就是“起点”标志。这种在通信过程中明显有个CLK线专门传送同步信号的方式,就是同步通信。
同步通信由于有专用的CLK线控制,因此通信双方比较容易实现“同步”,因此速度比较快。但是对于长距离的通信,同步方式就不行了,1是由于需要专门一个信号线,成本提高。2是通信线越长,上面的干扰就越多,通信的速度也上不去。因此同步方式多是作为同一PCB板上芯片级之间的通信接口使用。
而长距离通信多使用“异步”通信方式,这里的“异步”不是指通信双方不需要同步,而是指通信双方之间不使用专用的同步信号线传送CLK,而是各自仅依赖于自己的系统时钟(这个就是异步的!),再根据约定的规程,调节自己的“步伐”达到双方的同步。
同步通信通常要比异步通信快速得多。接收方不必对每个字符进行开始和停止的操作。一旦检测到帧同步字符,它就在接下来的数据到达时接收它们。另外,同步通信的开销也比较少。例如,一个典型的帧可能有500字节(即4000比特)的数据,其中可能只包含100比特的开销。这时,增加的比特位使通信的比特总数增加2.5%,这与异步通信中25 %的增值要小得多。随着数据帧中实际数据比特位的增加,开销比特所占的百分比将相应地减少。但是,数据比特位越长,缓存数据所需要的缓冲区也越大,这就限制了一个帧的大小。另外,帧越大,它占据通信媒体的连续时间也越长。在极端的情况下,这将导致其他用户等得太久。
如果掌握这些最基本的概念,那么你能了解和面对通信中出现的问题,找到解决办法。比如对于UART的通信,你就知道为什么要规定双方要采用相同的帧结构,波特率了,如果设置错误会导致什么现象?而此时对双方的系统时钟不仅要求要更加准确和稳定,而且还要使用11.0592这些特殊的晶体,如果使用12M晶体,会产生什么后果等等。
最后总结一下
1,异步通信是面向字符的通信,而同步通信是面向比特的通信。
2,异步通信的单位是字符而同步通信的单位是桢。
3,异步通信通过字符起止的开始和停止码抓住再同步的机会,而同步通信则是以数据中抽取同步信息。
4,异步通信对时序的要求较低,同步通信往往通过特定的时钟线路协调时序。
1 串口通讯
串口通讯(Serial Communication),是指外设和计算机间,通过数据信号线、地线等,按位进行传输数据的一种通讯方式。
串口是一种接口标准,它规定了接口的电气标准,没有规定接口插件电缆以及使用的协议。
一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束,字符之间没有固定的时间间隔要求。
每一个字符的前面都有一位起始位(低电平),字符本身由7位数据位组成,接着字符后面是一位校验位(检验位可以是奇校验、偶校验或无校验位),最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位,停止位和空闲位都规定为高电平。UART
UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是设备间进行异步通信的关键模块。UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式;通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线(Rx 和Tx)就可以完成通信过程,因此也称为异步串行通信。
波特率
波特率就是每秒钟传输的数据位数。
波特率的单位是每秒比特数(bps),常用的单位还有:每秒千比特数Kbps,每秒兆比特数Mbps。串口典型的传输波特率600bps,1200bps,2400bps,4800bps,9600bps,19200bps,38400bps。
PLC/PC与称重仪表通讯时,最常用的波特率是9600bps,19200bps。PLC/PC或仪表与大屏幕通讯时,最常用的波特率是600bps。1.实际传输时每一位的信号宽度与波特率有关,波特率越高,宽度越小,在进行传输之前,双方一定要使用同一个波特率设置。
码元传输速率 (又称波特率、传码率或调制速率,记作RB)
波特率
指单位时间所传送的码元(即脉冲)数目,或者表示信号调制过程中单位时间内调制信号波形的变换次数。单位为波特(Baud或Bd)。 (Bd =1/T, T为调制信号周期)
在不同的信号调制系统中,每个码元所载的比特是不同的。例如,二进制数字传输中一个码元可携带一个bit,八进制数字传输中,一个码元可载三个bit
比特率与波特率的关系
比特率Rb和波特率RB统称为系统的传输速率
每个码元脉冲可代表log2M个M进制bit
例:如M=4, RB =1200Baud,则信息传输速率
9600的波特率的信道,理论上每秒可以传输9600个二进制位,也就是9600/8个英文字母的数据量,也就是1200个字节,大约1.2KB
理想低通信道:
波特率:带宽=2
理想带通信道:
波特率:带宽=1
奈奎斯特定理:
(1)理想低通信道下的最高码元传输速率公式:理想低通信道下的最高RB = 2W Baud。其中,W为理想低通信道的带宽,单位是赫兹(Hz),即每赫兹带宽的理想低通信道的最高码元传输速率是每秒2个码元。
(2)理想带通信道的最高码元传输速率公式:理想带通信道的最高RB= W Baud,即每赫兹带宽的理想带通信道的最高码元传输速率是每秒1个码元。
奈奎斯特定律描述的是无噪声信道的最大数据传输速率(或码元速率)与信道带宽之间的关系。
【香农定理】
香农定理是在研究信号经过一段距离后如何衰减以及一个给定信号能加载多少数据后得到了一个著名的公式,它描述有限带宽、有随机热噪声信道的最大数据传输速率(或码元速率)与信道带宽、信噪比(信号噪声功率比)之间的关系,以比特每秒(bps)的形式给出一个链路速度的上限。
香农定理指出:在有随机热噪声的信道上传输数据信号时,数据传输速率Rb与信道带宽W、信噪比S/N的关系为:
Rb=W*log2(1+S/N)。
其中,Rb是可得到的链路速度,W是链路的带宽,S是平均信号功率,N是平均噪声功率,信噪比(S/N)通常用分贝(dB)表示,而分贝数=10×lg(S/N)。
模拟通信领域的带宽
1)带宽(Band Widh)也称频宽,原本用于模拟信号通信领域,是指频率范围所占的宽度,或称频带宽度,单位为赫兹(HZ).
2)信号的带宽是指信号所占用的频率的宽度。
3)传输介质和通信的带宽,是指它“放行”不同频率信号的范围。它必须比要“放行”的信号的带宽更宽,信号才能顺利通过,否则就会产生失真。有些传输介质的带宽很宽,所以常常将它划分出几十个中心频率不同的频道(子频道),用来同时传送几十套节目。
数字通信领域的带宽在数字通信领域,带宽同样是最重要的性能参数,它反映了通信速度的快慢或通信信道容量的大小。数字通信中的“带宽”是指数字信号的传输速率,即每秒传送的比特数,简称位率或比特率,其单位是b/s或bps.
通讯方式
单工模式(Simplex Communication)的数据传输是单向的。通信双方中,一方固定为发送端,一方则固定为接收端。信息只能沿一个方向传输,使用一根传输线。
半双工模式(Half Duplex)通信使用同一根传输线,既可以发送数据又可以接收数据,但不能同时进行发送和接收。数据传输允许数据在两个方向上传输,但是,在任何时刻只能由其中的一方发送数据,另一方接收数据。因此半双工模式既可以使用一条数据线,也可以使用两条数据线。半双工通信中每端需有一个收发切换电子开关,通过切换来决定数据向哪个方向传输。因为有切换,所以会产生时间延迟,信息传输效率低些。
全双工模式(Full Duplex)通信允许数据同时在两个方向上传输。因此,全双工通信是两个单工通信方式的结合,它要求发送设备和接收设备都有独立的接收和发送能力。在全双工模式中,每一端都有发送器和接收器,有两条传输线,信息传输效率高。
显然,在其它参数都一样的情况下,全双工比半双工传输速度要快,效率要高偶校验与奇校验
在标准ASCII码中,其最高位(b7)用作奇偶校验位。所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。停止位
停止位是按长度来算的。串行异步通信从计时开始,以单位时间为间隔(一个单位时间就是波特率的倒数),依次接受所规定的数据位和奇偶校验位,并拼装成一个字符的并行字节;此后应接收到规定长度的停止位“1”。所以说,停止位都是“1”,1.5是它的长度,即停止位的高电平保持1.5个单位时间长度。一般来讲,停止位有1,1.5,2个单位时间三种长度。
典型的串口通讯标准
EIA RS232(通常简称“RS232”): 1962年由美国电子工业协会(EIA)制定。
EIA RS485(通常简称“RS485”): 1983年由美国电子工业协会(EIA)制定。RS232串口
RS232是计算机与通信工业应用中最广泛一种串行接口。它以全双工方式工作,需要地线、发送线和接收线三条线。RS232只能实现点对点的通信方式。
8.1 RS232串口缺点
●接口信号电平值较高,接口电路芯片容易损坏。
●传输速率低,最高波特率19200bps。
●抗干扰能力较差。
●传输距离有限,一般在15m以内。
●只能实现点对点的通讯方式。
8.2 RS232串口接口定义
RXD:接收数据,TXD:发送数据,GND/SG:信号地。
8.3 电脑DB9针接口定义
电脑DB9针接口是常见的RS232串口,其引脚定义如下:
2号脚:RXD(接收数据)
3号脚:TXD(发送数据)
5号脚:SG或GND(信号地)
其它脚:我们不用电脑RS232串口与仪表串口连接图:
9 RS485串口
9.1 RS485串口特点
●RS485采用平衡发送和差分接收,具有良好的抗干扰能力,信号能传输上千米。
●RS485有两线制和四线制两种接线。采用四线制时,只能实现点对多的通讯(即只能有一个主设备,其余为从设备)。四线制现在很少采用,现在多采用两线制接线方式。
●两线制RS485只能以半双式方式工作,收发不能同时进行。
●RS485在同一总线上最多可以接32个结点,可实现真正的多点通讯,但一般采用的是主从通信方式,即一个主机带多个从机。
●因RS485接口具有良好的抗干扰能力,长的传输距离和多站能力等优点使其成为首选的串行接口。
9.2 485抑制共模干扰示意图
9.3 RS485串口接口定义
A或Data+(D+)或+:信号正;
B或Data-(D-)或-:信号负。
9.4 计算机与RS485仪表通讯
计算机自带的串口只有RS232,没有RS485,如果计算机要与RS485串口的仪表进行通讯,必须使用串口转换器或装上RS485串口转换卡后才能进行通讯。
9.5 RS485串口的终端电阻
●一般情况下不需要增加终端电阻,只有在RS485通信距离超过100米的情况下,要在RS485通讯的开始端和结束端增加终端电阻,RS485典型终端电阻是120欧。
●终端电阻是为了消除在通信电缆中的信号反射在通信过程中,有两种信号因导致信号反射:阻抗不连续和阻抗不匹配。
阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射。消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,在通讯电缆的另一端可跨接一个同样大小的终端电阻。
引起信号反射的另一原因是数据收发器与传输电缆之间的阻抗不匹配。这种原因引起的反射,主要表现在通讯线路处在空闲方式时,整个网络数据混乱。要减弱反射信号对通讯线路的影响,通常采用噪声抑制和加偏置电阻的方法。在实际应用中,对于比较小的反射信号,为简单方便,经常采用加偏置电阻的方法。10 串口通讯硬件常见的注意事项
●通讯电缆端子一定接牢,不可有任何松动,否则,可能会烧坏仪表或上位机的通讯板。
●不可带电拔插通讯端子,否则,可能会烧坏仪表或上位机的通讯板,一定要关闭仪表电源后才能去拔插通讯端子或接通讯线。
●通讯用的屏蔽电缆最好选用双层隔离型屏蔽电缆,其次选用单层屏蔽电缆,最好不要选用无屏蔽层的电缆,且电缆屏蔽层一定要能完全屏蔽,有些质量差的电缆,屏蔽层很松散,根本起不到屏蔽的作用。单层屏蔽的电缆屏蔽层应一端接地,双层屏蔽的电缆屏蔽层其外层(含铠装)应两端接地,内层屏蔽则应一端接地。
●仪表使用RS232通讯时,通讯电缆长度不得超过15米。
●一般RS485协议的接头没有固定的标准,可能根据厂家的不同引脚顺序和管脚功能可能不尽相同,用户可以查阅相关产品RS485的引脚图。
●RS485通讯电缆最好选用阻阬匹配、低衰减的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号如果正常的话会有嘀嘀的短接报警声。
RS-232 RS-485/ RS-422区别
RS-232是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号。RS-232是对电气特性以及物理特性的规定,只作用于数据的传输通路上,它并不内含对数据的处理方式。需要说明一下,很多人经常把RS-232、RS-422、RS-485 误称为通讯协议,这是很不应该的,其实它们仅是关于UART通讯的一个机械和电气接口标准(顶多是网络协议中的物理层面)。
该标准规定采用一个25 个脚的DB-25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC 机将RS-232 简化成了DB-9 连接器,从而成为今天的事实标准。而工业控制的RS-232 口一般只使用RXD(2)、TXD(3)、GND(5) 三条线。
三、RS-485/ RS-422标准
RS-232接口可以实现点对点的通信方式,但这种方式不能实现联网功能。于是,为了解决这个问题,一个新的标准RS-485产生了。RS-485的数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。
通常情况下,发送驱动器A、B之间的正电平在+2~+6V,是一个逻辑状态,负电平在-2~6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端,而在RS-422中这是可用可不用的。
RS-422 的电气性能与RS-485完全一样。主要的区别在于:RS-422 有4 根信号线:两根发送、两根接收。由于RS-422 的收与发是分开的所以可以同时收和发(全双工),也正因为全双工要求收发要有单独的信道,所以RS-422适用于两个站之间通信,星型网、环网,不可用于总线网;RS-485 只有2 根信号线,所以只能工作在半双工模式,常用于总线网。
四、RS-232与RS-485性能对比
1、抗干扰性:RS485 接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。RS232 接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰。
2、传输距离:RS485 接口的最大传输距离标准值为 1200 米(9600bps 时),实际上可达 3000 米。RS232 传输距离有限,最大传输距离标准值为 50 米,实际上也只能用在 15 米左右。
3、通信能力:RS-485 接口在总线上是允许连接多达128个收发器,用户可以利用单一的 RS-485 接口方便地建立起设备网络。RS-232只允许一对一通信。
4、传输速率:RS-232传输速率较低,在异步传输时,波特率为 20Kbps。RS-485 的数据最高传输速率为 10Mbps 。
5、信号线:RS485 接口组成的半双工网络,一般只需二根信号线。RS-232 口一般只使用 RXD、TXD、GND 三条线 。
6、电气电平值:RS-485的逻辑"1"以两线间的电压差为+(2-6) V 表示;逻辑"0"以两线间的电压差为-(2-6)V 表 示 。在 RS-232-C 中任何一条信号线的电压均为负逻辑关系。即:逻辑"1",-5- -15V;逻辑"0 " +5- +15V 。
五、RS-422与RS-485对比
RS-485的电气性能与RS-422完全一样。主要的区别在于:
1、RS-422 有4 根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422 的收与发是分开的所以可以同时收和发(全双工)。
2、RS-485 只有两根数据线:发送和接收都是A 和B。由于RS-485 的收与发是共用两根线,所以不能同时收和发(半双工)。
RS-485标准采用平衡式发送,差分式接收的数据收发器来驱动总线,具体规格要求:
接收器的输入电阻RIN≥12kΩ
驱动器能输出±7V的共模电压
输入端的电容≤50pF
在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器至少还能输出电压1.5V(终端电阻的大小与所用双绞线的参数有关)
接收器的输入灵敏度为200mV(即(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-)≤-0.2V,表示信号“1”)
因为RS-485的远距离、多节点(32个)以及传输线成本低的特性,使得EIA RS-485成为工业应用中数据传输的首选标准。
(1) RS-485 的电气特性:发送端:逻辑“0”以两线间的电压差+(2 ~6)V 表示;逻辑“1”以两线间的电压差-(2 ~6)V 表示。接收端:A 比B 高200mV 以上即认为是逻辑“0”,A 比B 低200mV 以上即认为是逻辑“1”;
(2) RS-485 的数据最高传输速率为10Mbps。但是由于RS-485 常常要与PC 机的RS-232 口通信,所以实际上一般最高115.2Kbps。又由于太高的速率会使RS-485 传输距离减小,所以往往为9600bps 左右或以下;
(3) RS-485 接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好;
(4) RS-485 接口的最大传输距离标准为1200 米(9600bps 时),实际上可达3000米,RS-485 接口在总线上是容许连接多达128 个收发器、即RS-485 具有多机通信功能,这样用户可以利用单一的RS-485 接口方便的建立起网络。因为RS-485 接口组成的半双工网络,一般只需二根信号线,所以RS-485 接口均采用双绞线传输。RS-485 的国际标准并没有规定RS-485 的接口连接器标准、所以采用接线端子或者DB-9、DB-25 等连接器都可以。
在使用RS-485 接口时,对于特定的传输线径,从发生器到负载其数据信号传输所容许的最大电缆长度是数据信号速率的函数,这个长度数据主要是受信号失真及噪声等影响所限制。最大电缆长度与信号速率的关系曲线是使用24AWG 铜芯双绞电话电缆(线径为0.51mm),线间旁路电容为52.5PF/M,终端负载电阻为100 欧时所得出的。(引自GB11014-89 附录A)。当数据信号速率降低到90Kbit/S 以下时,假定最大容许的信号损失为6dBV 时,则电缆长度被限制在1200m。实际上,在实用时是完全可以取得比它大的电缆长度。当使用不同线径的电缆,则取得的最大电缆长度是不相同的。例如:当数据信号速率为600Kbit/S 时,采用24AWG 电缆,最大电缆长度是200m,若采用19AWG电缆(线径为0.91mm)则电缆长度将可以大于200m;若采用28AWG 电缆(线径为0.32mm),则电缆长度只能小于200m。
RS-485的远距离通信建议采用屏蔽电缆,并且将屏蔽层作为地线。
六、影响RS-485总线通讯速度和通信可靠性的三个因素
1、在通信电缆中的信号反射
在通信过程中,有两种信号因素导致信号反射:阻抗不连续和阻抗不匹配。
阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射,如图所示。这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。消除这种反射的方法,就必须在电缆的末端跨接一个与电缆的特性阻抗同样大小的终端电阻,使电缆的阻抗连续。由于信号在电缆上的传输是双向的,因此,在通讯电缆的另一端可跨接一个同样大小的终端电阻。
从理论上分析,在传输电缆的末端只要跨接了与电缆特性阻抗相匹配的终端电阻,就再也不会出现信号反射现象。但是,在实现应用中,由于传输电缆的特性阻抗与通讯波特率等应用环境有关,特性阻抗不可能与终端电阻完全相等,因此或多或少的信号反射还会存在。
引起信号反射的另一个原因是数据收发器与传输电缆之间的阻抗不匹配。这种原因引起的反射,主要表现在通讯线路处在空闲方式时,整个网络数据混乱。
信号反射对数据传输的影响,归根结底是因为反射信号触发了接收器输入端的比较器,使接收器收到了错误的信号,导致CRC校验错误或整个数据帧错误。
在信号分析,衡量反射信号强度的参数是RAF(Refection AttenuationFactor反射衰减因子)。它的计算公式如式(1)。
RAF=20lg(Vref/Vinc) (1)
式中:Vref—反射信号的电压大小;Vinc—在电缆与收发器或终端电阻连接点的入射信号的电压大小。
具体的测量方法如图3所示。例如,由实验测得2.5MHz的入射信号正弦波的峰-峰值为+5V,反射信号的峰-峰值为+0.297V,则该通讯电缆在2.5MHz的通讯速率时,它的反射衰减因子为:
RAF=20lg(0.297/2.5)=-24.52dB
要减弱反射信号对通讯线路的影响,通常采用噪声抑制和加偏置电阻的方法。在实际应用中,对于比较小的反射信号,为简单方便,经常采用加偏置电阻的方法。在通讯线路中,如何通过加偏置电阻提高通讯可靠性的原理。
2、在通讯电缆中的信号衰减
第二个影响信号传输的因素是信号在电缆的传输过程中衰减。一条传输电缆可以把它看出由分布电容、分布电感和电阻联合组成的等效电路,如图所示。
电缆的分布电容C主要是由双绞线的两条平行导线产生。导线的电阻在这里对信号的影响很小,可以忽略不计。信号的损失主要是由于电缆的分布电容和分布电感组成的LC低通滤波器。PROFIBUS用的LAN标准型二芯电缆(西门子为DP总线选用的标准电缆),在不同波特率时的衰减系数如表1所示。
电缆的衰减系数
3、在通讯电缆中的纯阻负载
影响通讯性能的第三个因素是纯阻性负载(也叫直流负载)的大小。这里指的纯阻性负载主要由终端电阻、偏置电阻和RS-485收发器三者构成。
在叙述EIA RS-485规范时曾提到过RS-485驱动器在带了32个节点,配置了150Ω终端电阻的情况下,至少能输出1.5V的差分电压。一个接收器的输入电阻为12kΩ,整个网络的等效电路如图5所示。按这样计算,RS-485驱动器的负载能力为:
RL=32个输入电阻并联2个终端电阻=((12000/32)×(150/2))/(12000/32)+(150/2))≈51.7Ω
现在比较常用的RS-485驱动器有MAX485、DS3695、MAX1488/1489以及和利时公司使用的SN75176A/D等,其中有的RS-485驱动器负载能力可以达到20Ω。在不考虑其它诸多因素的情况下,按照驱动能力和负载的关系计算,一个驱动器可带节点的最大数量将远远大于32个。
在通讯波特率比较高的时候,在线路上偏置电阻是很有必要的。偏置电阻的连接方法如图6。它的作用是在线路进入空闲状态后,把总线上没有数据时(空闲方式)的电平拉离0电平,如图7。这样一来,即使线路中出现了比较小的反射信号或干扰,挂接在总线上的数据接收器也不会由于这些信号的到来而产生误动作。
通过下面后例子了,可以计算出偏置电阻的大小:
终端电阻Rt1=Rr2=120Ω;
假设反射信号最大的峰-峰值Vref≤0.3Vp-p,则负半周的电压Vref≤0.15V;终端的电阻上由反射信号引起的反射电流Iref≤0.15/(120||120)=2.5mA。一般RS-485收发器(包括SN75176)的滞后电压值(hysteresis value)为50mV,即:
(Ibias-Iref)×(Rt1||Rt2)≥50mV
于是可以计算出偏置电阻产生的偏置电流Ibias≥3.33mA
+5V=Ibias(R上拉+R下拉+(Rt1||Rt2)) (2)
通过式2可以计算出R上拉=R下拉=720Ω
在实际应用中,RS-485总线加偏置电阻有两种方法:
(1)把偏置电阻平衡分配给总线上的每一个收发器。这种方法给挂接在RS-485总线上的每一个收发器加了偏置电阻,给每一个收发器都加了一个偏置电压。
(2)在一段总线上只用一对偏置电阻。这种方法对总线上存在大的反射信号或干扰信号比较有效。值得注意的是偏置电阻的加入,增加了总线的负载。
七、RS-485总线的负载能力和通讯电缆长度之间的关系
在设计RS-485总线组成的网络配置(总线长度和带负载个数)时,应该考虑到三个参数:纯阻性负载、信号衰减和噪声容限。纯阻性负载、信号衰减这两个参数,在前面已经讨论过,现在要讨论的是噪声容限(Noise Margin)。RS-485总线接收器的噪声容限至少应该大于200mV。前面的论述者是在假设噪声容限为0的情况下进行的。在实际应用中,为了提高总线的抗干扰能力,总希望系统的噪声容限比EIA RS-485标准中规定的好一些。从下面的公式能看出总线带负载的多少和通讯电缆长度之间的关系:
Vend=0.8(Vdriver-Vloss-Vnoise-Vbias)(3)
其中:Vend为总线末端的信号电压,在标准测定时规定为0.2V;Vdriver为驱动器的输出电压(与负载数有关。负载数在5~35个之间,Vdriver=2.4V;当负载数小于5,Vdriver=2.5V;当负载数大于35,Vdriver≤2.3V);Vloss为信号在总线中的传输过程中的损耗(与通讯电缆的规格和长度有关),由表1提供的标准电缆的衰减系数,根据公式衰减系数b=20lg(Vout/Vin)可以计算出Vloss=Vin-Vout=0.6V(注:通讯波特率为9.6kbps,电缆长度1km,如果特率增加,Vloss会相应增大);Vnoise为噪声容限,在标准测定时规定为0.1V;Vbias是由偏置电阻提供的偏置电压(典型值为0.4V)。
式(3)中乘以0.8是为了使通信电缆不进入满载状态。从式(3)可以看出,Vdriver的大小和总线上带负载数的多少成反比,Vloss的大小和总线长度成反比,其他几个参数只和用的驱动器类型有关。因此,在选定了驱动器的RS-495总线上,在通信波特率一定的情况下,带负载数的多少,与信号能传输的最大距离是直接相关的。具体关系是:在总线允许的范围内,带负载数越多,信号能传输的距离就越小;带负载数据少,信号能传输的距离就发越远。
八、分布电容对RS-485总线传输性能的影响
电缆的分布电容主是由双绞线的两条平行导线产生。另外,导线和地之间也存在分布电容,虽然很小,但在分析时也不能忽视。分布电容对总线传输性能的影响,主要是因为总线上传输的是基波信号,信号的表达方式只有“1”和“0”。在特殊的字节中,例如0x01,信号“0”使得分布电容有足够的充电时间,而信号“1”到来时,由于分布电容中的电荷,来不及放电,(Vin+)—(Vin-)-还大于200mV,结果使接爱误认为是“0”,而最终导致CRC校验错误,整个数据帧传输错误。具体过程如图所示。
由于总线上分布影响,导致数据传输错误,从而使整个网络性能降低。解决这个问题有两种方法:
(1)降低数据传输的波特率;
(2)使用分布电容小的电缆,提高传输线的质量。
仅仅用一对双绞线将各个接口的A、B端连接起来,而不对RS-485通信链路的信号接地,在某些情况下也可以工作,但给系统埋下了隐患。RS-485接口采用差分方式传输信号并不需要对于某个参照点来检测信号系统,只需检测两线之间的电位差就可以了。但应该注意的是收发器只有在共模电压不超出一定范围(-7V至+12V)的条件下才能正常工作。当共模电压超出此范围,就会影响通信的可靠直至损坏接口。如图1所示,当发送器A向接收器B发送数据时,发送器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统存在着地电位差VGPD,那么接收器输入端的共模电压就会达到VCM=VOS+VGPD。RS-485标准规定VOS≤3V,但VGPD可能会有很大幅度(十几伏甚至数十伏),并可能伴有强干扰信号致使接收器共模输入VCM超出正常围,在信号线上产生干扰电流影响正常通信,或损坏设备。
总结:
串口是一种非常通用的设备接口,是仪器仪表设备常用的通信接口,常用于远程采集设备数据或者实现远程控制。串口的开发也比较简单,是很多工程师最喜欢的接口之一。ZDS2024Plus示波器免费标配了UART协议解码功能(共标配25种常用协议解码),可以直接以字符方式显示报文内容,在涉及UART协议调试,效率将会大大提高。
转载自:
串口通信(Serial Communication), 是电子工程师面对的最基本的一个通讯方式,它是指外设和计算机间,通过数据信号线 、地线、控制线等,按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少,在远距离通信中可以节约通信成本,但其传输速度比并行传输低。
UART是什么?UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是设备间进行异步通信的关键模块。UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式;通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线(Rx 和Tx)就可以完成通信过程,因此也称为异步串行通信。
TTL、RS-232、RS422、RS-485是指的电平标准(电信号),很多人把RS-232、RS-422、RS-485 误称为通讯协议,这是很不应该的,其实它们仅是关于UART通讯的一个机械和电气接口标准(顶多是网络协议中的物理层面)。。也就是说对MCU等控制器编写了UART程序,串行数据会通过硬件电路在设备间进行收发,这个硬件电路要遵循一个电平标准,实现设备间的交互。
一、TTL电平规定,+5V等价于逻辑“1”,0V等价于逻辑“0”。这样的数据通信及电平规定方式,被称做TTL(晶体管-晶体管逻辑电平)信号系统。
二、RS-232是美国电子工业协会EIA(Electronic Industry Association)制定的一种串行物理接口标准。RS是英文“推荐标准”的缩写,232为标识号。RS-232是对电气特性以及物理特性的规定,只作用于数据的传输通路上,它并不内含对数据的处理方式。RS-232标准是逻辑1为-3V~-15V,逻辑0为+3~+15V。
三、RS-485标准,RS-232接口可以实现点对点的通信方式,但这种方式不能实现联网功能。于是,为了解决这个问题,一个新的标准RS-485产生了。RS-485的数据信号采用差分传输方式,也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为B。通常情况下,发送驱动器A、B之间的正电平在+2~+6V,是一个逻辑状态,负电平在-2~-6V,是另一个逻辑状态。另有一个信号地C,在RS-485中还有一“使能”端,而在RS-422中这是可用可不用的。
四、RS-422 标准,RS-422的电气性能与RS-485完全一样。主要的区别在于:RS-422 有4 根信号线:两根发送、两根接收。由于RS-422 的收与发是分开的所以可以同时收和发(全双工),也正因为全双工要求收发要有单独的信道,所以RS-422适用于两个站之间通信,星型网、环网,不可用于总线网;RS-485 只有2 根信号线,所以只能工作在半双工模式,常用于总线网。
五、TTL电平与RS232电平、USB的转换
PL2303、CP2102芯片是 USB 转 TTL串口 的芯片,用USB来扩展串口(TTL电平),下图为PL2303 USB转TTL模块
MAX232芯片是 TTL电平与RS232电平的专用双向转换芯片,可以TTL转RS-232,也可以RS-232转TTL,下图为usb转ttl再转rs232模块
六、RS-232与RS-485性能对比
1.抗干扰性:RS485 接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。RS232 接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰。
2.传输距离:RS485 接口的最大传输距离标准值为 1200 米(9600bps 时),实际上可达 3000 米。RS232 传输距离有限,最大传输距离标准值为 50 米,实际上也只能用在 15 米左右。
3.通信能力:RS-485 接口在总线上是允许连接多达128个收发器,用户可以利用单一的 RS-485 接口方便地建立起设备网络。RS-232只允许一对一通信。
4.传输速率:RS-232传输速率较低,在异步传输时,波特率为 20Kbps。RS-485 的数据最高传输速率为 10Mbps 。
5.信号线:RS485 接口组成的半双工网络,一般只需二根信号线。RS-232 口一般只使用 RXD、TXD、GND 三条线 。
6.电气电平值:RS-485的逻辑"1"以两线间的电压差为+(2-6) V 表示;逻辑"0"以两线间的电压差为-(2-6)V 表 示 。在 RS-232-C 中任何一条信号线的电压均为负逻辑关系。即:逻辑"1",-5- -15V;逻辑"0 " +5- +15V 。
串口是一种非常通用的设备接口,是仪器仪表设备常用的通信接口,常用于远程采集设备数据或者实现远程控制。串口的开发也比较简单,是很多工程师最喜欢的接口之一。
七、RS-232、RS-422与RS-485比较
RS485:2线式、半双工、点对多主从通讯(4线制因只能点对点已经淘汰)
RS232:3线制、全双工、点对点通讯(因点对点通讯方式而无法联网,导致出现RS485)
RS422:4线制、全双工、点对多主从通讯(实际上还有一根信号地线,共5根线)