RS485总线接口协议详解

一起学嵌入式 2023-08-04 07:50

扫描关注一起学嵌入式,一起学习,一起成长


对于RS485总线协议,之前分享过几篇相关的文章,但是知识点比较分散。

485总线应用及常见问题
RS485通信硬件接口设计方案分析

提高RS485通信的抗干扰能力的措施

今天分享一篇RS485接口协议详解的文章。彻底搞懂 RS485总线接口协议。

通信协议

通讯协议主要是实现两个设备之间的数据交换功能,通讯协议分硬件层协议和软件层协议。

嵌入式设备通信的硬件层协议与软件层协议

硬件层协议决定数据如何传输问题,比如要在设备1向设备2发送0x63,0x63的二进制数为0110 0011,这 8 个二进制数从设备1传输到设备2,涉及到1怎么传,0怎么传的问题,这就是硬件层要解决的问题。

硬件层协议目前比较多见的有 RS-232、RS-485、SPI、IIC 等。RS-232规定,线上的电压为 x 伏都表示传输的是 0,y 伏传输的则是1。再者,比如要选择多少条线传输数据,选择什么材质的线传输输入,这些也属于硬件层协议约束的。硬件层协议也叫接口协议。

软件层协议就指的是通讯双方在软件编码方面约定的通讯规则,就比如说一个人说中文,另一个人也要说中文,两人才能进行交流;常见的软件层协议有 Modbus 协议、TCP/IP协议、GPRS 等;而 Modbus 协议可以通过串口、RS-485、以太网等来传输;

详解 Modbus 通信协议(清晰易懂)

形象理解为:两个用中文(软件协议)交流的人,可以通过面对面、打电话、发短信等不同的方式(硬件协议)来通信

RS-485通讯协议

MCU 管脚输出 TTL 电平,TTL电平的意思是,当 MCU 管脚输出0电平时,一般情况下电压是 0V,当MCU管脚输出1电平时,电压是5V。

因TTL电平的是由一条信号线,一条地线产生,信号线上的干扰信号会跟随有效信号传送到接收端,使得有效信号受到干扰,485通讯实际上是把 MCU 出来的 TTL 电平通过硬件层的一个转换器芯片进行转换:

把MCU出来的一条的TTL信号经过芯片转换为两根线(线A、线B)上的信号。

当MCU给转换器输入 低 TTL电平时,转换器会使得 B 的电压比 A 的电压高,反之,A 的电压比 B 的电压高。

485协议规约两条电平线上差值为多少表示0或者1,电压是通过仪表可以测量得到的,所以说RS-485是硬件层协议。

485协议的接收端可能是另一个MCU,MCU管脚也只接受TTL电平,转换芯片过来的是两条线的电压,所以需要对此两条线差分电压转换为TTL电平。

把 TTL 转为 485,实质是一个集成芯片,其间无任何程序代码,纯粹硬件逻辑。同理,将485电平转为TTL也是如此。

现在很多芯片把接收和转换都集成到一块IC,注意,转换器和接收器依旧是没有同时工作的,常见的转换芯片是MAX485。

可以这样理解,硬件层协议是公路,路的目的是为了让车辆能够过去。

半双工通讯

首先了解什么是单工通讯,单工通讯是指数据只能朝着一个方向传输的通讯方式。而半双工通讯则是指对于通讯两端,不能同时相对方法发送数据,必须错开时间段发送。

RS-485的通讯线只有2条,且这两条通讯线在一次传输中都需要用到,因此485只可实现半双工通讯。

485实现半双工通讯,会遇到一个问题,MCU1 向 MCU2 发数据时,并不知道线上是否正传来 MCU2 数据,因为没有其他线可用来判断对方的收发状态,那么可能也会导致数据冲突。

因此,RS-485要实现半双工通讯,就需要上层的软件协议加以规约,也就是做到”不能你想发数据就发数据”。可以理解,软件层协议就好像交通规则,它能让数据有序传输。

RS-485介绍

电子工业协会(EIA)于1983年制订并发布 RS-485 标准,并经通讯工业协会(TIA) 修订后命名为TIA/EIA-485-A,所以TIA/EIA-485-A才是真正的名字,因为人们已经叫习惯RS-485了,所以后续也一直沿用RS-485这个叫法。

RS-485标准是为弥补RS-232通信距离短、速率低等缺点而产生的。RS-485标准只规定了平衡发送器和接收器的电特性,而没有规定接插件、传输电缆和应用层通信协议。

RS-485 标准与 RS-232 不一样,数据信号采用差分传输方式(Differential Driver Modc),也称作平衡传输,它使用一对双绞线,将其中一线定义为A,另一线定义为 B,如图所示。

传输方式以及电平逻辑

RS-485传输方式:半双工通信、==(逻辑1:+2V ~ +6V 逻辑0:-6V ~ -2V)==这里的电平指AB 两线间的电压差。

节点连接示意图

因为大多数MCU的信号都是TTL信号,且数据是通过串口发送和接收,是不符合RS-485标准的。

所以要将数据放在485通信线上传输的话,就要将TTL信号转为RS-485的差分信号,然后在AB线上传输,到达节点后再将RS-485的差分信号转换为TTL信号,给节点的MCU进行数据处理

RS-485数据链路示意图

拓扑结构

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

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

电路原理图

该原理图是一个基本的RS-485电路,采用的是Sipex公司的SP3485芯片,是一款低功耗的,工作电压为3.3V的芯片,该芯片的一些特性后面会介绍到。

微处理器的标准串行口通过RXD直接连接SP3485芯片的RO引脚,通过TXD直接连接SP485R芯片的DI引脚。

让该芯片处于发送模式还是接收模式的选择位是DE/!RE,一般情况下把这两个引脚接在一起,只用微处理器的一个引脚控制。

U9 是 TVS 管,环境恶劣时可加,做保护作用,平时实验可以不加。

R25 是上拉电阻,R27 下拉,默认状态下将A拉高,B拉低,如果不加电阻,那默认情况下是不稳定的,会对单片机的引脚造成干扰。

芯片内部图

收发器内部是一个接收器(上半部分)加一个发送器(下半部分),然后就是引脚功能。

RO:接收器输出
RE:接收器输出使能(低电平有效)
DE:发送器输出使能(高电平有效)
DI:发送器输入
GND:接地连接
A:发送器输出/接收器输入反相
B:发送器输出/接收器输入反相

Vcc:正极电源(+3.3V

发送功能真值表

如果微处理器输出的信号 DE_nRE 为高电平,则芯片处于发送模式(发送器/驱动器),差分输出A和B遵循数据输入DI处的逻辑状态;

当DI为高电平时,导致A转为高,B转为低。在这种情况下,定义为 VOD=VA-VB 的差分输出电压为正,也就是逻辑1(AB间的电压差为+2V ~ +6V);

当 DI 为低电平时,输出状态反转,B 变高,A 变低,VOD 为负 ,为逻辑 0(AB间的电压差为 -6V ~ -2V);

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

接收功能真值表

如果微处理器输出的信号 DE_nRE 为低电平,则芯片处于接收模式(接收器),如果为高电平,则关闭接收模式;

AB间的电平大于 +200mv 时,RO引脚输出逻辑1;

AB间的电平小于-200mv时,RO引脚输出逻辑0;

当AB间的电平处于-200mv ~ +200mv之间时,则表示不稳定

优点

  • 半双工通信

  • 差分信号传输,更加稳定

  • RS485内部的物理结构,采用的是平衡驱动器和查分接收器的组合,抗干扰能力大大增加。

  • 可以在总线上进行联网实现多机通信,总线上允许挂多个收发器,从现有的RS485芯片来看,有可以挂32、64、128、256等不同个设备的驱动器。

  • 通信速度快,数据最高传输速率在10Mbps以上

  • 传输速率最远可达到1200米左右,但是传输速率和传输距离是成反比的,只有在100KB/s以下的传输速率,才能达到最大的通信距离,如果需要传输更远距离可以使用中继。

  • 系统运行稳定。利用专用通信总线把集中器和主站安全、可靠的连接起来。除非设备接口硬件损坏,或者总线线路断开,总线抄表系统会一直保持很好的通信效果和抄收成功率。

  • 通信速率高。由于是专用的有线通信线路连接,线路上除了通信信号外,再无其他信号。外来的干扰信号耦合到线路衰减很大,所以集中器可以以较高的速率与主站通信。

缺点

  • 不支持全双工

  • 敷设困难。比如总线抄表系统需要在集中器与主站之间敷设通信线路。尤其是电能表比较分散时,通信线路敷设的工程量很大,而且架设在外的通信线路影响美观。

  • 维护成本高。比如通信线路的损伤直接影响总线抄表方式的通信效果。所以需要定时的检查线路,保证其正常运行。特别是架设在外面的线路,一旦断裂或被腐蚀,要重新敷线。对于新增加的用户,也要及时敷线,使其进入通信网内

常用芯片

(1)增强型低功耗半双工 RS-485 收发器一 SP481E/SP485E

特点:

单一的+5V电源

低功耗BiCMOS工艺制造

发送器/接收器可使能多分支结构(Mutli-Drop)配置低功耗关断模式(SP481E)

描述(SP481E,SP485E)

SP481E 和SP485E是半双工差分收发器,完全满足RS-485和 RS-422的要求。它们由Sipex特有的 BiCMOS工艺制造而成。

RS-485标准理想地用于多分支(multi-drop)应用和远程接口中。它允许在一条数据线上连接32个发送器和接收器,非常适合于多分支应用。

由于允许使用4000英尺长的电缆,RS-485收发器可以使用一个宽(一7V~+12V)共模方式范围来调整零电位偏差。因为RS-485是一个差分接口,所以传输数据时完全可以抑制来自发送线的干扰。

(2)1/10单位负载RS-485收发器一SP481R/SP485R

特点

单一的+5V电源

允许超过400个收发器连接到同一条传输线上(1/10单位负载)接收器输入高阻抗(标准值RIN=150kQ)

半双工配置与工业标准管脚一致

共模输入电压范围为-7V~+12V

包含关断模式(ICC<10uA)(适用于SP481R)低功耗(250mW)

独立发送器和接收器使能

SP485R芯片是由业内专业的通讯接口器件厂商Sipex 公司设计生产的高性能RS-485收发器,能够替换通用的RS-485收发器,并在许多方面有所增强。

SP481R和SP485R与现有的SP485产品管脚对应相同,而且包含更高的ESD保护和高接收器输入阻抗等性能。

接收器输入高阻抗可以使400个收发器接到同一条传输线上又不会引起RS-485发送器信号的衰减。各器件封装为8脚塑料DIP或8脚窄SOIC。SP481R通过使能管脚来提供关断功能,可将电源电流(Icc)降低到0.5uA 以下。

(3)+3.3V低功耗半双工 RS-485收发器一SP3481/SP3485

特点

RS-485和 RS-422收发器工作电源为+3.3V

可与+0.5V的逻辑电路共同工作发送器/接收器使能

低功耗关断模式(SP3481)-7V~+12V的共模输入电压范围

允许在同一串行总线上连接32个收发器与工业标准75176管脚配置兼容发送器输出短路保护

描述(SP3481,SP3485)

SP3481和SP3485是 +3.3V 低功耗半双工收发器家族的成员,它们完全满足RS-485和RS-422串行协议的要求。这两个器件与Sipex 的SP481、SP483和SP485的管脚互相兼容,同时兼容工业标准规范。

SP3481和 SP3485由 Sipex特有的BiCMOS工艺制造而成,但性能不受影响。

(4)增强型低功耗全双工RS-422收发器一SP490E/SP491E

特点

单一的+5V电源

低功耗BiCMOS工艺制造发送器/接收器使能(SP491E)RS-485和 RS-422发送器/接收器

管脚兼容LTC490和 SN75179(SP490E)管脚兼容LTC491和 SN75180 (SP491E)增强型ESD规范:

正负15kV人体放电模式(Human Body Model)

SP490E是一个低功耗差分收发器,满足RS-485和RS-422标准规范,数据传输速率高达10Mbps。除了增加了发送器和接收器三态使能线外,SP491E和SP490E完全相同。

在共模模式的限制范围内,两者的接收器输入的灵敏度为士200mV.SP490E包含8脚塑料 DIP和8脚 NSOIC两种封装形式,可工作在商业级和工业级温度范围内。

SP491E包含14脚DIP和14脚 NSOIC两种封装,也可工作在商业级和工业级温度范围内。

小结

上诉列举了几款常用芯片,引脚都是兼容的,只是性能上有所差异

注意要点

(1)共模干扰问题

RS-485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以。

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

通俗来说,就是如果在传输过程中遇到干扰,那A、B两根线的电压都会发生变化,可能本来A是5V,B是2V,被干扰成了A是8V,B是5V,但由于485通信检测的是两根线之间的电压差,所以AB间的电压差并没有发生改变,仍然是3V,所以接收器检测到的仍然是正确的信号

相反,像串口和RS232这些单端的通信方式,因为只有一根信号线和一根地线,并会规定某个电平状态表示一种逻辑,如5V表示1,0V表示0,当在传输过程中发生干扰时,5V可能变成了2V,这时候就没法判断到底是1还是0了,导致传输的数据不正确。

此外人们往往忽视了收发器有一定的共模电压范围,RS-485收发器共模电压范围为==-7~+12V==,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。

(2)EMI问题

发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端。

整个总线就会像一个巨大的天线向外辐射电磁波。又因为共模电压范围是-7V ~ +12V,所以通信的两边也需要一根地线来做标准,不能让共模电压超出范围,防止损坏端口

由于上述原因,RS-485网络尽管采用差分平衡传输方式,但对整个RS-485网络,必须有一条低阻的信号地。一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压被短路。

这条信号地可以是额外的一条线(非屏蔽双绞线),或者是屏蔽双绞线的屏蔽层。这是最通常的接地方法。

(3)终端匹配电阻

为了匹配网络的通讯阻抗,减少由于不匹配而引起的反射、吸收噪声,有效抑制噪声干扰,提高RS-485通讯的可靠性,需要在RS-485网络的2个端点各安装1个终端匹配电阻。

终端匹配电阻的大小由传输电缆的特性阻抗所决定。例如,RS-485网络通常采用双绞线或屏蔽双绞线作为传输介质,其特性阻抗为120欧,因此,RS-485总线上的两个端点也应各安装1个120欧的终端匹配电阻。

匹配电阻要消耗较大电流,不适用于功耗限制严格的系统。在特殊的场合,可以考虑比较省电的并联“RC”匹配方案,可以节省大部分功率,但电容C的取值是个难点,需要在功耗和匹配质量间进行折衷。

原文:https://blog.csdn.net/weixin_46251230/article/details/126684223

文章来源于网络,版权归原作者所有,如有侵权,请联系删除。



扫码,拉你进高质量嵌入式交流群


关注我【一起学嵌入式】,一起学习,一起成长。


觉得文章不错,点击“分享”、“”、“在看” 呗!

一起学嵌入式 公众号【一起学嵌入式】,RTOS、Linux编程、C/C++,以及经验分享、行业资讯、物联网等技术知
评论
  • 遇到部分串口工具不支持1500000波特率,这时候就需要进行修改,本文以触觉智能RK3562开发板修改系统波特率为115200为例,介绍瑞芯微方案主板Linux修改系统串口波特率教程。温馨提示:瑞芯微方案主板/开发板串口波特率只支持115200或1500000。修改Loader打印波特率查看对应芯片的MINIALL.ini确定要修改的bin文件#查看对应芯片的MINIALL.ini cat rkbin/RKBOOT/RK3562MINIALL.ini修改uart baudrate参数修改以下目
    Industio_触觉智能 2024-12-03 11:28 115浏览
  • RDDI-DAP错误通常与调试接口相关,特别是在使用CMSIS-DAP协议进行嵌入式系统开发时。以下是一些可能的原因和解决方法: 1. 硬件连接问题:     检查调试器(如ST-Link)与目标板之间的连接是否牢固。     确保所有必要的引脚都已正确连接,没有松动或短路。 2. 电源问题:     确保目标板和调试器都有足够的电源供应。     检查电源电压是否符合目标板的规格要求。 3. 固件问题: &n
    丙丁先生 2024-12-01 17:37 114浏览
  • 最近几年,新能源汽车愈发受到消费者的青睐,其销量也是一路走高。据中汽协公布的数据显示,2024年10月,新能源汽车产销分别完成146.3万辆和143万辆,同比分别增长48%和49.6%。而结合各家新能源车企所公布的销量数据来看,比亚迪再度夺得了销冠宝座,其10月新能源汽车销量达到了502657辆,同比增长66.53%。众所周知,比亚迪是新能源汽车领域的重要参与者,其一举一动向来为外界所关注。日前,比亚迪汽车旗下品牌方程豹汽车推出了新车方程豹豹8,该款车型一上市就迅速吸引了消费者的目光,成为SUV
    刘旷 2024-12-02 09:32 140浏览
  • 11-29学习笔记11-29学习笔记习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-02 23:58 94浏览
  • 当前,智能汽车产业迎来重大变局,随着人工智能、5G、大数据等新一代信息技术的迅猛发展,智能网联汽车正呈现强劲发展势头。11月26日,在2024紫光展锐全球合作伙伴大会汽车电子生态论坛上,紫光展锐与上汽海外出行联合发布搭载紫光展锐A7870的上汽海外MG量产车型,并发布A7710系列UWB数字钥匙解决方案平台,可应用于数字钥匙、活体检测、脚踢雷达、自动泊车等多种智能汽车场景。 联合发布量产车型,推动汽车智能化出海紫光展锐与上汽海外出行达成战略合作,联合发布搭载紫光展锐A7870的量产车型
    紫光展锐 2024-12-03 11:38 126浏览
  • 概述 说明(三)探讨的是比较器一般带有滞回(Hysteresis)功能,为了解决输入信号转换速率不够的问题。前文还提到,即便使能滞回(Hysteresis)功能,还是无法解决SiPM读出测试系统需要解决的问题。本文在说明(三)的基础上,继续探讨为SiPM读出测试系统寻求合适的模拟脉冲检出方案。前四代SiPM使用的高速比较器指标缺陷 由于前端模拟信号属于典型的指数脉冲,所以下降沿转换速率(Slew Rate)过慢,导致比较器检出出现不必要的问题。尽管比较器可以使能滞回(Hysteresis)模块功
    coyoo 2024-12-03 12:20 170浏览
  • TOF多区传感器: ND06   ND06是一款微型多区高集成度ToF测距传感器,其支持24个区域(6 x 4)同步测距,测距范围远达5m,具有测距范围广、精度高、测距稳定等特点。适用于投影仪的无感自动对焦和梯形校正、AIoT、手势识别、智能面板和智能灯具等多种场景。                 如果用ND06进行手势识别,只需要经过三个步骤: 第一步&
    esad0 2024-12-04 11:20 109浏览
  • 作为优秀工程师的你,已身经百战、阅板无数!请先醒醒,新的项目来了,这是一个既要、又要、还要的产品需求,ARM核心板中一个处理器怎么能实现这么丰富的外围接口?踌躇之际,你偶阅此文。于是,“潘多拉”的魔盒打开了!没错,USB资源就是你打开新世界得钥匙,它能做哪些扩展呢?1.1  USB扩网口通用ARM处理器大多带两路网口,如果项目中有多路网路接口的需求,一般会选择在主板外部加交换机/路由器。当然,出于成本考虑,也可以将Switch芯片集成到ARM核心板或底板上,如KSZ9897、
    万象奥科 2024-12-03 10:24 96浏览
  • 戴上XR眼镜去“追龙”是种什么体验?2024年11月30日,由上海自然博物馆(上海科技馆分馆)与三湘印象联合出品、三湘印象旗下观印象艺术发展有限公司(下简称“观印象”)承制的《又见恐龙》XR嘉年华在上海自然博物馆重磅开幕。该体验项目将于12月1日正式对公众开放,持续至2025年3月30日。双向奔赴,恐龙IP撞上元宇宙不久前,上海市经济和信息化委员会等部门联合印发了《上海市超高清视听产业发展行动方案》,特别提到“支持博物馆、主题乐园等场所推动超高清视听技术应用,丰富线下文旅消费体验”。作为上海自然
    电子与消费 2024-11-30 22:03 109浏览
  • 在电子工程领域,高速PCB设计是一项极具挑战性和重要性的工作。随着集成电路的迅猛发展,电路系统的复杂度和运行速度不断提升,对PCB设计的要求也越来越高。在这样的背景下,我有幸阅读了田学军老师所著的《高速PCB设计经验规则应用实践》一书,深感受益匪浅。以下是我从本书中学习到的新知识和经验分享,重点涵盖特殊应用电路的PCB设计、高速PCB设计经验等方面。一、高速PCB设计的基础知识回顾与深化 在阅读本书之前,我对高速PCB设计的基础知识已有一定的了解,但通过阅读,我对这些知识的认识得到了进一步的深
    金玉其中 2024-12-05 10:01 2浏览
  •         温度传感器的精度受哪些因素影响,要先看所用的温度传感器输出哪种信号,不同信号输出的温度传感器影响精度的因素也不同。        现在常用的温度传感器输出信号有以下几种:电阻信号、电流信号、电压信号、数字信号等。以输出电阻信号的温度传感器为例,还细分为正温度系数温度传感器和负温度系数温度传感器,常用的铂电阻PT100/1000温度传感器就是正温度系数,就是说随着温度的升高,输出的电阻值会增大。对于输出
    锦正茂科技 2024-12-03 11:50 143浏览
  • 光伏逆变器是一种高效的能量转换设备,它能够将光伏太阳能板(PV)产生的不稳定的直流电压转换成与市电频率同步的交流电。这种转换后的电能不仅可以回馈至商用输电网络,还能供独立电网系统使用。光伏逆变器在商业光伏储能电站和家庭独立储能系统等应用领域中得到了广泛的应用。光耦合器,以其高速信号传输、出色的共模抑制比以及单向信号传输和光电隔离的特性,在光伏逆变器中扮演着至关重要的角色。它确保了系统的安全隔离、干扰的有效隔离以及通信信号的精准传输。光耦合器的使用不仅提高了系统的稳定性和安全性,而且由于其低功耗的
    晶台光耦 2024-12-02 10:40 144浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦