0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

原来RS-485这么简单?

QuTG_CloudBrain 来源:记得诚 2023-03-22 09:20 次阅读

RS-485概述

RS-485和RS-232一样,都是串行通信标准,现在的标准名称是TIA485/EIA-485-A,但是人们会习惯称为RS-485标准,RS-485常用在工业、自动化、汽车和建筑物管理等领域。

RS-485总线弥补了RS-232通信距离短,速率低的缺点,RS-485的速率可高达10Mbit/s,理论通讯距离可达1200米;RS-485和RS-232的单端传输不一样,是差分传输,使用一对双绞线,其中一根线定义为A,另一个定义为B

RS-485物理层

RS-485的物理层负责在设备和物理传输介质之间传输原始数据。它处理电信号到数字数据的转换,同时定义电压、时序、数据速率等。

① 差分信号

长距离布线会有信号衰减,而且引入噪声和干扰的可能性更大,在线缆A和B上的表现就是电压幅度的变化,但是,采用差分线的好处就是,差值相减就会忽略掉干扰依旧能输出正常的信号,把这种差分接收器忽略两条信号线上相同电压的能力称为共模抑制

02f4c218-c803-11ed-bfe3-dac502259ad0.png

标准规定了,逻辑1:+2V to +6V;逻辑0:-6V to -2V。

RS-485不需要使用特定的总线电压,只看最小差分电压,在较长的电缆长度上,接收器接收到的电压可能会降低到+/- 200 mV,这对于RS-485仍然是完全可以接受的,这也是RS-485的优点之一。

031047e0-c803-11ed-bfe3-dac502259ad0.png

很多收发器的标准达到甚至超过TIA/EIA-485A规范,在实际使用中,以器件的SPEC参数为主,如下某收发器的负输入阈值最小也是-200mV。

03301b4c-c803-11ed-bfe3-dac502259ad0.png

② 信号定义

现在很多的RS-485转换器都是兼容RS-422的,所以看到很多转换器上面的信号都是T/R+、T/R-,即对应RS-485的A+和B-。

03445314-c803-11ed-bfe3-dac502259ad0.png

对于DB9针型的母头,RS-485有如下的接线定义示意,Pin6~Pin9为N/A不接。

DB9 输出信号 RS-422全双工接线 RS-485半双工接线
1 T/R+ 发(A+) RS-485(A+)
2 T/R- 发(B-) RS-485(B-)
3 RXD+ 收(A+)
4 RXD- 收(B-)
5 GND 地线 地线

③拓扑结构

RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,多采用的是两线制接线方式,这种接线方式为总线拓扑结构,在同一总线上最多可以挂接32个节点。

RS-485总线同I2C,也是主从模式,支持点对点单从机模式,也支持多从机模式,不支持多主机模式。

035cfae0-c803-11ed-bfe3-dac502259ad0.jpg

RS-485收发器

RS-485是差分传输,如果用单片机控制RS-485接口的设备,需要用到收发器,这一点和CAN总线是类似的,如下是一个MCU控制一个RS-485的图示。

037c5d54-c803-11ed-bfe3-dac502259ad0.jpg

收发器内部是一个接收器(上半部分)加一个发送器(下半部分),下面简单说说收发器的原理,便于理解MCU是如何和485设备通信的。

0396d684-c803-11ed-bfe3-dac502259ad0.png

RS-485收发器内部结构

其中:

A和B为总线;

R为接收器输入;

RE为接收器使能信号;

DE为发送器使能信号;

D为发送器输出;

对于使能信号,字母上面加一横的为低电平有效(如上图RE),不加的为高电平有效(如DE)。

对于发送器,有如下的真值表:

1、当驱动器使能引脚DE为逻辑高时,差分输出A和B遵循数据输入D处的逻辑状态。D处的逻辑高导致A转为高,B转为低。在这种情况下,定义为VOD=VA-VB的差分输出电压为正。当D为低时,输出状态反转,B变高,A变低,VOD为负。

2、当DE低时,两个输出都变成高阻抗。在这种情况下,与D处的逻辑状态是不相关的。

03acba6c-c803-11ed-bfe3-dac502259ad0.png

发送器真值表

对于接收器,有如下的真值表:

1、当接收器使能引脚RE逻辑低时,接收器被激活。当定义为VID=VA–VB的差分输入电压为正且高于正输入阈值VIT+时,接收机输出R变高。当VID为负且低于负输入阈值VIT-,接收机输出R变低。如果VID在VIT+和VIT-之间,则输出不确定。

2、当RE为逻辑高或悬空时,接收机输出为高阻抗,VID的大小和极性无关。

03c45672-c803-11ed-bfe3-dac502259ad0.png

接收器真值表

RS-485数据链路

上面讲到的RS-485收发器的工作原理,下面简单描述RS-485的数据链路,可以先看一下通俗易懂的UART协议帧格式

03dd2350-c803-11ed-bfe3-dac502259ad0.jpg

主机发送给从机或者从机发送给主机,都会占用到A和B线,所以RS-485多用在半双工模式。

主机的GPIO会控制RS-485收发器的DE管脚,设置发送模式,从UART TXD线向RS-485收发器的数据(D或DI)线发送一个字节,收发器将在A和B线上将单端UART位流转换为差分位流,数据离开收发器后,主机立即将收发器的模式切换为接收模式。

从机和主机是类似的,从机控制RS-485收发器的/RE管脚,设置为接收模式,接收主机发送的比特流,将其转换为单端信号,通过从机的UART RXD线接收,当从机准备好响应时,它按主机原来的方式进行发送,而主机变为接收。

RS-232和RS-485转换

RS-232和RS-485之间可以转换,一个方法是RS-232转换成TTL,再由TTL转换为RS-485,当然也有芯片支持将RS-232直接转换成RS-485,网上有很多模块。

RS-232和RS-485转换模块

RS-485和CAN的区别

虽说RS-485没有标准的数据协议格式,但和CAN总线在很多地方是有相似的,比如A&B和CANH&CANL都是差分信号,通信都需要收发器,都需要120欧姆的匹配电阻等等。

总线特性 CAN总线 RS-485总线
硬件成本 稍高 低廉
总线利用率 优先级自动仲裁,利用率高 采用轮询,利用率低
数据传输率
错误检测机制 控制器带校验机制,保证底层数据传输正确 只有物理层规范,无数据链路层规定
单节点故障影响 总线无影响 总线瘫痪
开发成本 软件开发灵活,时间成本低 开发难度较大
系统成本 较低

RS-485常用电路

网上找的一个常用的RS-485电路,其中需要注意两点:

041d65e6-c803-11ed-bfe3-dac502259ad0.png

1、使能信号RE和DE可采用一个GPIO控制,节省资源,GPIO25输出高电平,RE=DE=0V,进入接收模式;GPIO25输出低电平,RE=DE=3.3V,进入发送模式。

2、有一些电路中会在A上加上拉,B上加下拉电阻,主要原因是:RS-485总线在idle状态,电平是不固定的,即电平在-200mV~+200mV之间,收发器可能输出高也可能输出低,UART在空闲时需要保持高电平的,如果此时收发器输出一个低电平,对UART来说是一个start bit,会导致通信异常,关于Ru和Rd的阻值在这里不作过多赘述,后面有机会会详细写一篇文章。

关于第二点,需要注意:

① A上加上拉,B上加下拉,接反数据通信也可能出错。

② 某些收发器内部集成上下拉电阻,则外部不需要再添加。

审核编辑:汤梓红

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

    关注

    10

    文章

    3390

    浏览量

    105846
  • 信号
    +关注

    关注

    11

    文章

    2778

    浏览量

    76601
  • 总线
    +关注

    关注

    10

    文章

    2864

    浏览量

    87972
  • 串行通信
    +关注

    关注

    4

    文章

    564

    浏览量

    35275
  • RS-485
    +关注

    关注

    11

    文章

    679

    浏览量

    84159
收藏 人收藏

    评论

    相关推荐

    原来RS-485的通信距离几乎是无尽的

    RS-232/RS-485中继转换器一边转换还一边中继,每接一个中继转换器那么RS-485的距离就再增加1200米,还无需外接电源。中继转换器将RS-232口转换为相互中继的2个
    发表于 09-17 15:46

    无极性RS-485简单解决方法

    RS-485的2根信号线为A 和B,简单的定义就是电平高的一根为A,低的为B。如果RS-485总线传输了很远之后,A和B搞混了,不是搞反了,那么有如下简单的方法就可以将无极性的
    发表于 10-20 15:58

    RS-485的手拉手连接

    比较手拉手的方案与直接并联方案,说明手拉手可以实现不限距离和节点数的连接。1、简单RS-485直接并联连接这种直接并联连接也是RS-485的最简单的连接方式。5个
    发表于 12-08 09:35

    RS-485通讯协议的介绍

    改进了物理层,因而保留了串口通讯协议应用简单的特点。二、RS-485物理层RS-485RS-232的差异只体现在物理层上,它们的协议层是相同的,也是使用串口数据包的形式传输数据。而由
    发表于 08-20 06:08

    RS-485的相关资料推荐

    前世今生RS-485RS是什么意思呢?是Recommended Standard的缩写,就是推荐标准的意思。485是标准标识号,至于为什么定这个标识号,则无需深究。RS-485又称为
    发表于 01-26 07:41

    RS-485的相关资料分享

    RS-485概述RS-485RS-232一样,都是串行通信标准,现在的标准名称是TIA485/EIA-485-A,但是人们会习惯称为
    发表于 02-09 07:10

    iCoupler Isolation in RS-485 A

    iCoupler Isolation in RS-485 Applications:The RS-485 bus standard is one of the most widely used
    发表于 06-21 10:31 22次下载

    RS-485总线标准及几种常见的RS-485接口电路介绍

    RS-485总线标准及几种常见的RS-485接口电路介绍
    发表于 12-21 14:45 0次下载

    RS-485应用设计参考

    几乎所有的电子产品都带有通信接口。从最初的数据模拟信号到后来的RS-232,在到我们今天要谈到的RS-485接口,各种无线接口等。RS-485的标准全称为TIAA/EIA-485串行通
    发表于 04-07 16:44 1523次阅读

    RS-485是什么,RS-485它应该如何进行布线

    RS-485是一个物理接口,简单来说,也就是硬件。RS-485属于有线传输,所以就需要硬件传输媒介,实际就是两根线就可以了,这两根线上传输的实际上是同一个信号,只是发送端把这个信号一分为二,不过在
    发表于 08-10 16:36 1.8w次阅读
    <b class='flag-5'>RS-485</b>是什么,<b class='flag-5'>RS-485</b>它应该如何进行布线

    RS-485选型及应用指南

    RS-485选型及应用指南
    发表于 10-25 09:37 15次下载

    RS-485收发切换】使用RS-485要注意的一个问题

    RS-485收发切换】使用RS-485要注意的一个问题
    发表于 11-25 11:21 21次下载
    【<b class='flag-5'>RS-485</b>收发切换】使用<b class='flag-5'>RS-485</b>要注意的一个问题

    原来RS-485这么简单

    RS-485概述RS-485RS-232一样,都是串行通信标准,现在的标准名称是TIA485/EIA-485-A,但是人们会习惯称为
    发表于 12-05 16:51 31次下载
    <b class='flag-5'>原来</b><b class='flag-5'>RS-485</b><b class='flag-5'>这么</b><b class='flag-5'>简单</b>?

    聊聊RS-485总线

    RS-485RS是什么意思呢?是Recommended Standard的缩写,就是推荐标准的意思。
    发表于 11-12 09:38 2124次阅读

    RS-485总线】RS-485网络该如何加终端电阻?

    RS-485总线具有结构简单、成本低等优点,但各位工程师在组建RS-485总线网络时,为提升整个网络通信的可靠性,想必会经常会遇到一个问题:需不需要加终端电阻呢?本文将为你解答。终端电阻的作用对于
    的头像 发表于 09-14 08:05 412次阅读
    【<b class='flag-5'>RS-485</b>总线】<b class='flag-5'>RS-485</b>网络该如何加终端电阻?