【gt+】RS485详解

news2024/11/14 13:49:36

这里写目录标题

  • RS232与RS485
    • TTL和RS485电平转换
  • 平衡传输
  • 收发控制
    • 主机轮询
    • 手动
    • 带隔离的RS485电路
    • 自动切换电路
  • RS485收发器
    • 发送器
    • 接收器
  • 网络安装
    • 电阻匹配
    • 接地问题
    • 网络失效保护

RS232与RS485

RS232接口标准出现较早。

  • 接口的电平值较高,易损坏接口电路的芯片;
  • 与TTL电平不兼容,需使用电平转换电路与TTL电路连接;
  • 传输速率较低,异步传输时为20Kbps;
  • 接口使用一根信号线和一根信号返回线构成共地的传输形式,容易产生共模干扰,抗噪声干扰性弱;
  • 传输距离有限,最大传输距离标准值为50英尺,实际上为50米左右;
  • 在总线上只允许连接1个收发器,可以实现点对点通信,但是不能实现联网功能

RS485逻辑"1"以两线之间的电压差为+(2~6)V表示,逻辑"0"以两线间电压差为-(2~6)V表示。

  • 接口信号电平比RS232低,不易损坏接口电路的芯片;
  • 电平与TTL电平兼容,方便与TTL电路连接;
  • 数据最高传输速率为10Mbps;
  • 采用平衡驱动器和差分接收器的组合,抗共模干扰能力强,抗噪声性能好;
  • 最大传输距离标准值为4000英尺,实际上可达3000米;
  • 在总线上允许连接多大128个收发器,具有多站能力,用户可以利用单一的RS485接口方便地建立起设备网络

RS485接口组成的半双工网络,一般只需两根连线,采用屏蔽双绞线传输,网络拓扑一般采用终端匹配的总线型结构,不支持环形或星形网络,在同一总线上最多可以挂接32个结点。RS485接口连接器采用DB-9的9芯插头座,与智能终端RS495采用DB-9孔,与键盘连接的键盘接口RS485采用DB-9针

TTL和RS485电平转换

在这里插入图片描述

节点中的串口控制器使用 RX 与 TX 信号线连接到 485 收发器上,而收发器通过差分线连接到网络总线,串口控制器与收发器之间一般使用 TTL 信号传输,收发器与总线则使用差分信号来传输。发送数据时,串口控制器的 TX 信号经过收发器转换成差分信号传输到总线上,而接收数据时,收发器把总线上的差分信号转化成 TTL 信号通过 RX 引脚传输到串口控制器中。通常在这些节点中只能有一个主机,剩下的全为从机。在总线的起止端分别加了一个 120 欧的匹配电阻。

平衡传输

RS485数据信号采用差分传输的方式,使用一对双绞线,其中一线定义为A,另一线定义为B,另有一个信号地C。
在RS485发送端还有一“使能端”,用于控制发送驱动器与传输线的切断与连接,当使能端起作用时,发送驱动器处于高阻状态,是有别于逻辑"1"和"0"的第三态
收、发端通过平衡双绞线将AA与BB对应相连,当在收端AB之间有大于+200mV的电平时,输出正逻辑电平,小于-200mV时,输出负逻辑电平。

收发控制

RS485属于半双工总线,在实际使用时一般采用主机轮询或令牌传递的方法来分配总线控制权,RS485设备需要进行发送和接收的方向转换。比较通用的做法是,每个RS485设备在平时均处于接收状态,只有在自己有数据要发送时才转换到发送状态,数据发送完毕后再次切换回接收状态。

主机轮询

标准的主从模式:主机不主动发送数据,总线上一直都处于空闲状态。 而从机要发数据一定是主机先对从机进行询问,然后从机进行应答。这样的总线上就能保证永远也不会有数据冲突(也就是同时有多个设备发出来数据)。为了避免冲突,任何一个设备在发送之前都进行检查,比如在总线上发送0x55,同时这个设备也打开接收,如果总线上没有冲突就会收到0x55,如果冲突了接收到的数据和发送的数据就会不同。这个接收就是为了接收自己发送出去的数据进行验证。

多个主机存在就有可能多个设备同时发数据,造成数据冲突。

对于普通的RS485芯片,要求传输速率不快的,比如就9600bps, 很多硬件工程师直接将收/发使能脚和串口TX引之间加反向电路,并在AB线上加上下拉来实现自动控制收发

手动

在这里插入图片描述
R/D为低电平时,发送禁止,接受有效;R/D为高电平时,发送有效,接收禁止。上拉电阻R7和下拉电阻R8保证无连接的SP485R芯片处于空闲状态,提供网络是小保护,提高RS485介电与网络的可靠性。

R7,R8,R9这三个电阻,需要根据实际应用改变大小,特别是使用120欧或更小的终端电阻时,R9就不需要了,此时R7,R8使用680欧电阻。正常情况下,一般R7=R8=4.7K,R9不要。钳位于6.8V的管V4,V5,V6,都是为了保护RS485总线的,避免受外界干扰,也可以选择集成的总线保护原件。另外图中的L1,L2,C1,C2为可选安装原件,用于提高电路的EMI性能.

RS485收发器有2个使能端,将接收使能端接地,发送使能端由51单片机控制,所以主机空闲时一直处于接收状态,而当需要发送数据的时候使能发送端即可。另外,为了实现总线的监听,将串口接收端通过施密特触发器接至单片机的外部中断INT0,这样可通过中断来判断总线是否忙。

带隔离的RS485电路

在这里插入图片描述
使用DC-DC器件可以产生1组与微处理器电路完全隔离的电源输出,用于向RS485收发器提供+5V电源。电路中的光耦器件速率会影响RS485电路的通信速率。上图中选用了NEC的光耦PS2501,受其影响,该电路的通讯速率控制在19200bps下。

自动切换电路

在这里插入图片描述
TX,RX引脚均需要上拉电阻,这一点特别重要。
NPN三极管,高电平导通。当TX高电平,三极管导通,RE和DE引脚接地,进入接收模式。当TX低电平,三极管截止,RE和DE引脚接高电平,进入发送模式。
接收:默认没有数据时,TX为高电平,三极管导通,RE为低电平使能,RO收数据有效,MAX485为接收态。
发送:发送数据1时,TX为高电平时,三极管导通,DE为低电平,此时收发器处于接收状态,驱动器就变成了高阻态,也就是发送端与A\B断开了,此时A\B之间的电压就取决于A\B的上下拉电阻了,A为高电平、B为低电平,也就成为了逻辑1了。
发送数据0时,TX为低电平,三极管截止,DE为高电平,驱动器使能,此时正好DI是接地的,也就是低电平,驱动器也就会驱动输出B为1,A为0,也就是所谓的逻辑0了。
发送数据,用的是单片机的TX引脚,也就是说,在TX引脚上表现数据。要发送数据0x32,写成二进制就是0x00110010,TXD引脚上就会依次的用高低电平体现1和0。

当TX发送0时,三极管不导通,DE接高电平,进入发送模式,485芯片会把DI上的电平反应到AB引脚上输出,因为DI已经接地,所以AB引脚会传输0。所以,当TXD发送0时,AB引脚发送0。

当TX发送1时,三极管导通,RE接低电平,进入接收模式,485芯片的AB引脚进入高阻状态,因为R3把A拉高,R2把B拉低,所以,AB传输的是1。所以,当TXD发送1时,AB引脚发送1。

一句话:TXD发1,AB就发1;TXD发0,AB就发0。

接收数据过程
接收数据,用的是单片机引脚RX,在RXD引脚上表现数据。在接收数据的过程中,TX引脚是一直保持高电平的,当TXD是高电平时,RE是低电平,正好变成了接收状态,然后485芯片的RO引脚(也就是接RX的引脚)就会接收AB传输过来的数据。

理解自收发的作用,关键是要理解RE和DE的作用,尤其是DE为0时,驱动器与A\B之间就是高阻态,也就是断开状态,而且A\B都要有上下拉电阻。然后就有了逻辑0-1之间的切换了。所以很巧妙,但是这里也有一个很明显的bug,也就是只适用于“半双工”,如果是全双工,就不行了,因为TX为1时,接收使能,此时从机如果回复数据,那么也就乱了。
基本原理了解了,除了使用三极管实现,还可以使用施密特触发器,也就是所谓的“非”门,来显现

RS485收发器

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

在这里插入图片描述

在这里插入图片描述
宏晶科技生产的STC15系列单片机中的IAP15F2K61S2中芯片MAX485可以实现最高2.5Mbps的RS-485传输。A、B端之间的匹配电阻选择为120Ω。由于工作在半双工,一般来说 (RE) ̅ 和DE,即接受器与驱动器的使能口可以通过同一个I/O口控制。
在这里插入图片描述

  • RO 一 接收器输出
  • RE 一 接收器输出使能(低电平有效)
  • DE — 驱动器输出使能(高电平有效)
  • DI 一 驱动器输入
  • GND 一 连接地
  • A — 驱动器输出/接收器输入(同相)
  • B — 驱动器输出/接收器输入(反相)
  • VCC —芯片供电
    收发器内部是一个接收器(上半部分)加一个发送器(下半部分),下面简单说说收发器的原理,便于理解MCU是如何和485设备通信的。其中:

A和B为总线;
R为接收器输入;
RE为接收器使能信号;
DE为发送器使能信号;
D为发送器输出;
对于使能信号,字母上面加一横的为低电平有效(如上图RE),不加的为高电平有效(如DE)

发送器

当驱动器使能引脚DE为逻辑高时,差分输出A和B遵循数据输入D处的逻辑状态。 D处的逻辑高导致A转为高,B转为低。 在这种情况下,定义为VOD=VA-VB的差分输出电压为正。 当D为低时,输出状态反转,B变高,A变低,VOD为负。
当DE低时,两个输出都变成高阻抗。 在这种情况下,与D处的逻辑状态是不相关的
在这里插入图片描述

接收器

当接收器使能引脚RE逻辑低时,接收器被激活。 当定义为VID=VA–VB的差分输入电压为正且高于正输入阈值VIT+时,接收机输出R变高。 当VID为负且低于负输入阈值VIT-,接收机输出R变低。 如果VID在VIT+和VIT-之间,则输出不确定。
当RE为逻辑高或悬空时,接收机输出为高阻抗,VID的大小和极性无关。
在这里插入图片描述
主机的GPIO会控制RS-485收发器的DE管脚,设置发送模式,从UART TXD线向RS-485收发器的数据(D或DI)线发送一个字节,收发器将在A和B线上将单端UART位流转换为差分位流,数据离开收发器后,主机立即将收发器的模式切换为接收模式。

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

网络安装

采用一条双绞线电缆作为总线,将各个节点串接起来。

信号在各支路末端反射后与原信号叠加,会造成信号质量下降,在短距离、低速率仍可能正常工作,但随着通信距离的延长或通信速率的提高,不良影响会越来越严重,所以从总线到每个节点引出线的长度应尽量短,以便使引出线的反射信号对总线信号的影响最低。

总线的不同区段采用了不同电缆、某一段总线上有过多收发器紧靠在一起安装、过长的引出线,会导致总线特性阻抗不连续,在阻抗不连续点会发生信号的反射,所以应提供一条单一、连续的信号通道作为总线。

电阻匹配

RS485总线网络一般要使用终接电阻进行匹配。

短距离与低速率下不用考虑终端匹配。理论上在每个接收数据信号的中电进行采样时,只要反射信号在开始采样时衰减到足够低就可以不考虑匹配。实际上当信号的转换时间(上升或下降时间)超过电信号沿总线单向传播所需时间的3倍时就可以不加匹配。

一般终端匹配采用终接电阻方法,RS485应在总线电缆开始和末端并接终接电阻,一般取120Ω,相当于电缆特性阻抗,这种匹配方法简单有效,但是要消耗较大功率,对于功耗限制严格的系统不适合。

另一种比较省电的匹配方式是RC匹配,用一只电容C隔断直流成分可以节省大部分功率,但电容C的取值需要在功耗和质量匹配间进行折衷。

或采用二极管的匹配方法,利用二极管的钳位作用能迅速削弱反射信号,达到改善信号质量的目的,节能效果显著。

接地问题

很多情况下,连接RS-485通信链路时只是简单地用一对双绞线将各个接口的“A”、“B”端连接起来。而忽略了信号地的连接,这种连接方法在许多场合是能正常工作的,但却埋下了很大的隐患,这有两个原因:

  1. 共模干扰问题:RS485接口采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但人们往往忽视收发器有一定的共模电压范围,RS485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。

例如,当发送驱动器A向接收器B发送数据时,发送驱动器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统,存在着地电位差VGPD。那么,接收器输入端的共模电压VCM就会达到VCM=VOS+VGPD。RS485标准规定VOS≤3V,但VGPD可能会有很大幅度(十几伏甚至数十伏),并可能伴有强干扰信号,致使接收器共模输入VCM超出正常范围,并在传输线路上产生干扰电流,轻则影响正常通信,重则损坏通信接口电路。

  1. EMI问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波。

由于上述原因,RS485尽管采用差分平衡传输方式,但对整个RS485网络,必须有一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压VGPD被短路。这条信号地可以是额外的一条线(非屏蔽双绞线),或者是屏蔽双绞线的屏蔽层。

值得注意的是,这种做法仅对高阻型共模干扰有效。由于干扰源内阻大,短接后不会形成很大的接地环路电流,对于通信不会有很大影响。当共模干扰源内阻较低时,会在接地线上形成较大的环路电流,影响正常通信。

(1)如果干扰源内阻不是非常小,可以在接地线上加限流电阻以限制干扰电流。接地电阻的增加可能会使共模电压升高,但只要控制在适当的范围内就不会影响正常通信。

(2)采用浮地技术,隔断接地环路。这是较常用也是十分有效的一种方法,当共模干扰内阻很小时上述方法已不能奏效,此时可以考虑将引入干扰的节点(例如处于恶劣的工作环境的现场设备)浮置起来(也就是系统的电路地与机壳或大地隔离),这样就隔断了接地环路,不会形成很大的环路电流。

(3)采用隔离接口。有些情况下,出于安全或其它方面的考虑,电路地必须与机壳或大地相连,不能悬浮,这时可以采用隔离接口来隔断接地回路,但是仍然应该有一条地线将隔离侧的公共端与其它接口的工作地相连。

网络失效保护

信号接地措施,只对低频率的共模干扰有保护作用,对于频率很高的瞬态干扰就无能为力了。由于传输线对高频信号而言就是相当于电感,因此对于高频瞬态干扰,接地线实际等同于开路。这样的瞬态干扰虽然持续时间短暂,但可能会有成百上千伏的电压。

实际应用环境下还是存在高频瞬态干扰的可能。一般在切换大功率感性负载如电机、变压器、继电器等或闪电过程中都会产生幅度很高的瞬态干扰,如果不加以适当防护就会损坏RS-422或RS-485通信接口。对于这种瞬态干扰可以采用隔离或旁路的方法加以防护。

  1. 隔离保护方法。这种方案实际上将瞬态高压转移到隔离接口中的电隔离层上,由于隔离层的高绝缘电阻,不会产生损害性的浪涌电流,起到保护接口的作用。通常采用高频变压器、光耦等元件实现接口的电气隔离,已有器件厂商将所有这些元件集成在一片IC中,使用起来非常简便。这种方案的优点是可以承受高电压、持续时间较长的瞬态干扰,实现起来也比较容易,缺点是成本较高。
  2. 旁路保护方法。这种方案利用瞬态抑制元件(如TVS、MOV、气体放电管等)将危害性的瞬态能量旁路到大地,优点是成本较低,缺点是保护能力有限,只能保护一定能量以内的瞬态干扰,持续时间不能很长,而且需要有一条良好的连接大地的通道,实现起来比较困难。实际应用中是将上述两种方案结合起来灵活加以运用,如图1。在这种方法中,隔离接口对大幅度瞬态干扰进行隔离,旁路元件则保护隔离接口不被过高的瞬态电压击穿。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/358679.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hive3 安装方式详解,datagrid自定义驱动连接hive

1 Hive的安装方式 hive的安装一共有三种方式:内嵌模式、本地模式、远程模式。 元数据服务(metastore)作用是:客户端连接metastore服务,metastore再去连接MySQL数据库来存取元数据。有了metastore服务,就可以有多个客户端同时连接…

【部署】项目正式服部署更新

chihiro-notes 千寻简笔记 v0.1 内测版 📔 笔记介绍 大家好,千寻简笔记是一套全部开源的企业开发问题记录,毫无保留给个人及企业免费使用,我是作者星辰,笔记内容整理并发布,内容有误请指出,笔…

SCRM的全面了解

一、什么是SCRM SCRM(Social CRM,社会化客户关系管理),是以用户为中心,通过社交平台与用户建立联系,以内容、活动、客服、商城等服务吸引用户注意力,并不断与用户产生互动,实现用户…

离散数学笔记_第一章:逻辑和证明(1)

1.1命题逻辑1.1.1 命题 1.1.2 逻辑运算符 定义1: 否定联结词定义2: 合取联结词定义3: 析取联结词定义4: 异或联结词1.1.3 条件语句 定义5: 条件语句定义6: 双条件语句1.1.1 命题 1.命题:是…

(十六)、创建uni-admin后台管理项目【uniapp+uinicloud多用户社区博客实战项目(完整开发文档-从零到完整项目)】

1,打开hbuildx软件,新建项目 两步创建admin后台管理项目 一定要选择uni-admin模板! 关联服务空间: 用超级管理员账号登录后台管理系统后,如发现没有系统管理菜单;请检查数据库表opendb-admin-menus中…

【期末指北】嵌入式系统——选择题(feat. ChatGPT)

作者|Rickyの水果摊 时间|2023年2月20日 基本信息 ☘️ 本博客摘录了一些 嵌入式系统 的 常见选择题,供有需求的同学们学习使用。 部分答案解析由 ChatGPT 生成,博主进行审核。 使用教材信息:《嵌入式系统设计与应…

电子技术——反馈系统概述

电子技术——反馈系统概述 许多物理系统都会形成反馈系统。但是有趣的是,负反馈系统理论却是由电子工程师所完善的。自从1928年第一个负反馈放大器诞生开始,负反馈系统从此登上历史的舞台,现在负反馈系统不光只用在电子工程上,而且…

算法18:LeetCode_链表相关算法题

链表无小事,只要是涉及到链表的算法题,边界值的设定尤为重要,而且及其容易出错误。这就要求我们平时多加练习。但是,我们在面试和笔试的过程中往往会碰到链表相关的题目,所以我们在笔试的时候一般都会借助系统提供的工…

比特数据结构与算法(第三章_上)栈的概念和实现(力扣:20. 有效的括号)

一、栈(stack)栈的概念:① 栈是一种特殊的线性表,它只允许在固定的一端进行插入和删除元素的操作。② 进行数据插入的删除和操作的一端,称为栈顶 。另一端则称为 栈底 。③ 栈中的元素遵守后进先出的原则,即…

推荐系统[三]:粗排算法常用模型汇总(集合选择和精准预估),技术发展历史(向量內积,WideDeep等模型)以及前沿技术

1.前言:召回排序流程策略算法简介 推荐可分为以下四个流程,分别是召回、粗排、精排以及重排: 召回是源头,在某种意义上决定着整个推荐的天花板;粗排是初筛,一般不会上复杂模型;精排是整个推荐环节的重中之重,在特征和模型上都会做的比较复杂;重排,一般是做打散或满足…

Android OTA 相关工具(一) 虚拟 A/B 之 snapshotctl

Android 虚拟 A/B 分区推出快三年了,不论是 google 还是百度结果,除了源代码之外,竟然没有人提到这个 Android Virtual A/B 的调试工具 ,着实让人感觉意外。 所以我相信还有不少人不知道 Android OTA 到底都有哪些调试工具&#…

【React】react-router 路由详解

🚩🚩🚩 💎个人主页: 阿选不出来 💨💨💨 💎个人简介: 一名大二在校生,学习方向前端,不定时更新自己学习道路上的一些笔记. 💨💨💨 💎目…

力扣-查找重复的电子邮箱

大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:182. 查找重复的电子邮箱二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果总结…

物联网对供应链管理的影响

物联网对于许多行业来说都是一项革命性技术,其应用领域涉及零售、交通、金融、医疗保健和能源等行业。物联网在供应链等流程中已经展示了其深度的潜力。管理、预测和监督应用程序有助于车队运输经理提高配送的运营效率,并增加决策的准确性。如今&#xf…

网络服务与应用

14.1网络服务与应用概述 14.2实验一:FTP 1、实验环境:如图,AR1作为FTP sever、AR2作为FTP client ,实现AR1与AR2之间的文件传输。 2、实验拓扑: 3、实验步骤: 步骤1:配置设备ip地址 AR1: …

固定值电阻的检测方法总结

🏡《总目录》 目录 1,概述2,测量方法3,检测方法3.1,读值3.2,测量3.3,排故4,总结1,概述 本文简单总结固定值电阻的测量与检查方法要点和注意事项。 2,测量方法 对于固定值电阻的测量来讲,直接将万用表红黑表笔分别插入到如下图所示的红色和黑色接线端。然后将万用表…

【MySQL】MySQL表的增删改查(进阶)

✨个人主页:bit me👇 ✨当前专栏:MySQL数据库👇 ✨算法专栏:算法基础👇 ✨每日一语:悟已往之不谏,知来者之可追。实迷途其未远,觉今是而昨非。 目 录🎄一. 数…

黑马点评项目总结(未完待续)

黑马点评项目总结0. 整体架构1. 短信登录模块1.1 基于session(1)后台发送验证码Code(2)登录、注册(3)校验登录状态1.2 基于Redis(1)后台发送验证码Code(2)登录…

ur3+robotiq ft sensor+robotiq 2f 140配置rviz仿真环境

ur3robotiq ft sensorrobotiq 2f 140配置rviz仿真环境 搭建环境: ubuntu: 20.04 ros: Nonetic sensor: robotiq_ft300 gripper: robotiq_2f_140_gripper UR: UR3 在安装sensor和gripper之前,先简单配置一下UR机械臂的仿真环境,可参考这篇博…

零入门kubernetes网络实战-16->使用golang给docker环境下某个容器里添加一个额外的网卡

《零入门kubernetes网络实战》视频专栏地址 https://www.ixigua.com/7193641905282875942 本篇文章视频地址(稍后上传) 上一篇文章,我们使用了golang在veth pair链接的网络命名空间里添加了网卡, 本篇文章,我尝试,在docker环境下…