rs485协议详解 rs485通讯协议详解
本篇文章给大家谈谈rs485协议详解,以及rs485通讯协议详解对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
本文目录
rs485通讯协议详解
RS-485上的软件层协议ModBus主要依赖于主从模式。
主从机的数据交互,需要:
a.主机将自己转为发送状态。
b.主机按照预先约定的格式发出寻址数据帧。
c.主机恢复自身的接收状态。
所谓的约定,可是主机开发者和从机开发者约定好的规约,例如主机要通过从机控制接在从机的电机,主机要启动电机就往从机发0x1,停止电机就往从机发0x2。这就是一种预先约定好的格式,但是这样做,互换性、兼容性、通用性差。
例如其他公司是约定发送0x03让电机转动,发0x04让电机停止。导致不同厂家的主机、从机不能相互通讯。用户需要的,就像网络操作,只要接入有网的网线那么计算机都能上网。
所以说,需要一种大家都共同遵循的规则(可以是ModBus,也可以是TCP/IP等上层协议)。软件层协议主要是解决如何解析传输的数据,即传输的目的或者更加可靠的传输数据。半双工通讯中,都是主机寻找从机,主机的目的无非有主机要发数据给从机,或者主机要从从机中获取数据。
主机等待自身所寻址的从机作回应,也就是说从机接收到主机的寻址命令、数据后一定要回应主机,不然主机会认为从机通讯异常。
扩展资料;
RS-485的特点;
1、RS-485的电气特性:逻辑“1”以两线间的电压差为+(2-6)V表示,逻辑“0”以两线间的电压差为-(2-6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。
2、RS-485的数据最高传输速率为10Mbps。
3、RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好。
4、RS-485接口的最大传输距离标准值为4000英尺,实际上可达3000米,另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。
5、因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS-485接口组成的半双工网络,一般只需二根连线,所以RS-485接口均采用屏蔽双绞线传输。
RS-485接口连接器采用DB-9的9芯插头座,与智能终端RS-485接口采用DB-9(孔),与键盘连接的键盘接口RS-485采用DB-9(针)。
RS485通讯协议中,都有那些具体规定
1. RS-485的电气特性:逻辑“1”以两线间的电压差为+(0.2~6)V表示;逻辑“0”以两线间的电压差为-(0.2~6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。
2. RS-485的数据最高传输速率为10Mbps。
3. RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好。
4. RS-485最大的通信距离约为1219m,最大传输速率为10Mb/S,传输速率与传输距离成反比,在100Kb/S的传输速率下,才可以达到最大的通信距离,如果需传输更长的距离,需要加485中继器。RS-485总线一般最大支持32个节点,如果使用特制的485芯片,可以达到128个或者256个节点,最大的可以支持到400个节点。
什么是Rs485协议
485协议是指RS-485协议,是串行通信的标准。典型的串行通信标准是RS232和RS485,它们定义电压和阻抗,但不定义软件协议。RS-485总线标准规定了总线接口的电气特性标准,即两种逻辑状态的定义:正电平在+2V和+6V之间,表示一种逻辑状态;-2V和-6V之间的负电平表示另一种逻辑状态;数字信号采用差分传输方式,可以有效降低噪声信号的干扰。特性典型的串行通信标准是RS232和RS485,它们定义了电压、阻抗等。,但不定义软件协议。与RS232和RS485不同的特性包括:1.RS-485的电气特性:逻辑“1”用两根导线之间的电压差为+(2-6) V来表示;逻辑“0”用两条线之间的电压差为-(2-6) V来表示,接口信号电平比RS-232-C低,所以不容易损坏接口电路的芯片,而且这个电平兼容TTL电平,可以很容易地与TTL电路连接。2.RS-485的最高数据传输速率为10Mbps。3.RS-485接口强,就是抗噪声干扰好。4.RS-485接口最大传输距离的标准值是4000英尺,实际可以达到3000米(理论上实际上极限距离只有1200米左右)。另外,RS-232-C接口只允许连接总线上的一个收发器,即单站能力。RS-485接口允许总线上最多连接128个收发器。即具有多站能力,使用户可以使用单一的RS-485接口轻松建立设备网络。RS-485接口因其良好的抗噪声干扰、传输距离远和多站能力而成为首选串行接口。由于RS485接口组成的半双工网络一般只需要两根线,所以RS485接口全部采用屏蔽双绞线传输。DB-9的9芯插头插座用于RS485接口连接器,DB-9(孔)用于与智能终端RS485接口,DB-9(pin)用于与键盘连接的键盘接口RS485。
RS485通信协议详解
上边是我一直在用的485通信自动收发电路,不但要把电路送给你,还要把电路原理给你讲明白了。实测波特率9600不会有问题,但是,波特率115200的话,曾经出现过问题。
我们先看看普通的收发电路。
普通的485电路,除了“用RXD连接485芯片的RO引脚、用TXD连接485芯片的DI引脚”,还会用一个单片机的普通IO引脚连接到RE、DE引脚上。
当单片机要发送数据的时候,控制CTRL为高电平,数据通过TXD发送出去。
当单片机要接收数据的时候,控制CTRL为低电平,数据通过RXD接收回来。
然而,自动收发电路,就是不用单片机引脚CTRL,当数据进来的时候,数据会自动通过RXD到单片机,当需要发送数据时,自动通过TXD发送出去。也就是只需要连接单片机的RXD和TXD引脚就可以,无需用单片机引脚连接485芯片的DE RE引脚。
文章中第一张图,就是实现自动收发的电路,实际上,自动收发的电路,还有好几种连接方法。今天,我们只研究这一种我经常用的。
很多人,都会使用这个电路,但是不知道其中的原理。(是的,就是在说你呢!)
所以今天我来给大家解释一下其中的工作原理,详细到每个元器件。
电阻R1的作用:
RXD连接电阻R1到485芯片的RO,这里R1的作用是限流,保护引脚。R1的大小,可以选择330欧、470欧、560欧、1K。
电阻R2、R3和三极管Q1:
电阻R2、电阻R3和NPN三极管Q1组成一个典型的三极管开关电路。R3是限流电阻,最好选择4.7K,也可以选择10K。R2是上拉电阻,可以选择4.7K,也可以选择10K。
R3为什么最好选择4.7K,我之前写过一篇文章,详细的提到过,主要是你需要了解三极管工作在放大区、截至区和饱和区的特点。上瑞生网,搜索“三极管”,有一篇文章的题目叫做《把三极管当开关用基极限流电阻怎么选》。
NPN三极管,高电平导通,这个大家都知道。当TXD高电平,三极管导通,RE DE引脚接地,进入接收模式。当TXD低电平,三极管截止,RE DE引脚接高电平,进入发送模式。
电容C1:
C1是电源旁路电容,作用是给485芯片提供一个干净的电源,使它稳定的工作。
你在设计电路板的时候,如果芯片没有特殊要求,需要把每个芯片旁边放上一个0.1微法电容。在PCB布线的时候,电容到电源引脚的距离最好在2mm以内。
电阻R4和R5:
R4是下拉电阻,接到B上。R5是上拉电阻,接到A上。为什么要这样做,下面会讲,现在还不是时候,请继续往下看。
双向稳压二极管D1、D2、D3:
这里使用的双向稳压二极管型号是SMAJ6.5CA。他们的作用是把 A、B引脚对地的电压以及 A和B引脚之间的电压,牵制到6.5V以内,保护485芯片。
从SP3485芯片手册得到,AB的耐压值是正负15V以内。
有人很好奇,为什么会看这两个参数?因为AB这两个引脚就是Drivers output和Receivers input。请看下图:
接线端子P1:
是用来连接外面需要通信的A和B电线的。(这个好像不用说啊!)
现在,每个元器件就介绍完了,接下来说说为什么可以实现自动收发功能。
你们最大的疑问就是:DI引脚本来是接TXD的,但是电路中直接接地了,那岂不是发送的数据会一直都是0?
答案就在下方。
发送数据过程:
发送数据,用的是单片机的TXD引脚,也就是说,在TXD引脚上表现数据。
例如要发送数据0x55,写成二进制就是0x01010101,TXD引脚上就会依次的用高低电平体现1和0。
当TXD发送0时,三极管不导通,DE接高电平,进入发送模式,485芯片会把DI上的电平反应到AB引脚上输出,因为DI已经接地,所以AB引脚会传输0。你看看,当TXD发送0时,AB引脚发送0。
当TXD发送1时,三极管导通,RE接低电平,进入接收模式,485芯片的AB引脚进入高阻状态,因为R5把A拉高,R4把B拉低,所以,AB传输的是1。你看看,当TXD发送1时,AB引脚发送1。
总结,TXD发1,AB就发1;TXD发0,AB就发0。
接收数据过程:
接收数据,用的是单片机引脚RXD,也就是说,在RXD引脚上表现数据。
在接收数据的过程中,TXD引脚是一直保持高电平的,当TXD是高电平时,RE是低电平,正好调理成了接收状态,然后485芯片的RO引脚(也就是接RXD的引脚)就会反应AB传输过来的数据。
知道了这个电路的接收和发送数据的过程,那就已经完全了解了。你现在如果感觉到还是迷迷糊糊,自己做一个电路,实践一下,思路立马会变得清晰。
本人从事单片机工作,算是个渣渣,但是在渣渣也有一颗想学习的心呀!!!!我会不定期的分享一下我觉得对我们这行业有用的文章,这也算是我成长一种记录吧!
原文链接:https://blog.csdn.net/lin_duo/article/details/78490718
RS485通信协议有些什么
定义了电压,阻抗等,具体如下:
1、RS-485的电气特性:逻辑“0”以两线间的电压差为+(2—6)V表示;逻辑“1”以两线间的电压差为-(2—6)V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片,且该电平与TTL电平兼容,可方便与TTL电路连接。
2.、RS-485的数据最高传输速率为10Mbps。
3.、RS-485接口强,即抗噪声干扰性好。
4、RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米(理论上的数据,在实际操作中,极限距离仅达1200米左右),另外RS-232-C接口在总线上只允许连接1个收发器,即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。
拓展资料:
因RS-485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485接口组成的半双工网络一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。 RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。
参考资料来源:RS-485协议_百度百科
关于rs485协议详解,rs485通讯协议详解的介绍到此结束,希望对大家有所帮助。
与本文知识相关的文章: