关注、星标公众,不错过精彩内容

素材来源:网络

转自:8号线攻城狮

如上三张图片大致示意485芯片的收发特性,这里有个概念。

RS485抗噪音抗干扰能力强、传输距离远、支持多点通信,是工控行业首选串行接口。485规定的电气特性为2线,半双工多点通信。采用两线差分信号传输数据,具有抗共模干扰的能力。由于是半双工模式,因此通讯时需要切换收发状态。目前常用的485收发切换方案有以下几种:

1.传统RS485电路(带收发控制脚非隔离RS-485电路)
传统的485应用电路如下图所示,采用3线控制,UART_RXD、UART_TXD和收发控制端UART_CON。

控制策略如下:UART_CON为低电平,485处于接收状态;UART_CON为高电平,485处于发送状态。通过切换UART_CON的电平来达到485收发状态的切换。

2.硬件自收发切换 非隔离RS-485电路

带收发控制脚的485在编程时需要切换控制端电平,增加了程序的复杂度。为了编程方便,常常将电路改为如上图所示的自动收发电路。这种采用分立元件搭建非隔离自动收发RS485电路的优点在于控制简单,收发控制脚不需要程序干预。

虽然采用分立元件搭建的非隔离RS485自动收发电路解决了带收发控制脚非隔离RS485电路编程上操作复杂的问题,但受三极管切换速度、收发器内部接口阻抗等影响,分立元件搭建的自动收发切换电路降低了系统稳定运行的最大波特率。

3.收发切换隔离RS485电路

带有隔离电路的485是最稳定的设计,需要选择隔离485芯片以及隔离电源,此方案成本相对于前两种方案会高很多。

下面介绍一种485硬件收发切换电路实例。

485芯片采用MAX485芯片,电路使用NPN三极管开切换收发。控制原理是:MCU的UART的TX和RX引脚需要连上拉电阻(TX和RX在没有通信时均是高电平),防止刚上电TX和RX引脚电平不稳定引起收到扰乱数据。A上拉电阻B下拉电阻,终端并联120欧姆电阻,D10、D11、D12为三个防雷防浪涌的TVS管。

接收:默认没有数据时,UART_TX为高电平,三极管导通,MAX485芯片RE低电平使能,RO接收数据使能,此时从485AB口收到什么数据就会通过RO通道传到MCU,完成数据接收过程。

发送:当发送数据时,UART_TX会有一个下拉的电平,表示开始发送数据,此时三极管截止,DE为高电平发送使能。当发送数据‘0’时,由于DI口连接地,此时数据‘0’就会传输到AB口 A-B<0,传输‘0’,完成了低电平的传输。当发送‘1’时,此时三极管导通,按理说RO使能,此时由于还处在发送数据中,这种状态下MAX485处于高阻态,此时的状态通过A上拉B下拉电阻决定,此时A-B>0传输‘1’,完成高电平的传输。

PS: 此时有人肯定也会有疑惑,发送数据‘1’,三极管导通RE低电平有效应该是接收使能,为什么芯片会是高阻状态?

因为UART发送收据会有一定的格式,数据均以“位”为最小单位进行传输。在收发数据之前,UART之间要约定好数据的传输速率(即每位所占据的时间,其倒数为波特率)、数据的传输格式(有多少数据位、是否有校验位、奇校验还是偶校验、是否有停止位)。平时数据线处于“空闲状态”(1状态)。当发送数据时,TX由‘1’变为‘0’维持1位的时间,这样收方检测开始位后,再等待1.5位时间就开始一位一位的进行数据传输。意思是说,已经确定好发送状态,电路发送‘1’此时RE有效,接收有效但有由于它处于发送阶段,此时芯片会处于高阻状态。

三种常用电路如下:

1、基本的RS485电路

上图是最基本的RS485电路,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性能.

2、带隔离的RS485电路

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

3、自动切换电路

上图中,TX,RX引脚均需要上拉电阻,这一点特别重要。

接收:默认没有数据时,TX为高电平,三极管导通,RE为低电平使能,RO收数据有效,MAX485为接收态。

发送:发送数据时,TX会先有一个下拉的电平(起始位-由高向低),表示开始发送数据,此时三极管截止,DE为高电平发送使能。当发送数据“0”时,由于DI接口相当于接地,此时数据“0”就会传输到AB扣,A-B<0,则传输“0”,完成低电平传输,当发送“1”时,此时三极管导通,按理说RO会使能,此时由于还处于发送数据中,这种状态下MAX485处于高阻太,此时的状态通过A上来,B下拉电阻决定,此时A-B>0传输“1”,完成高电平的传输。

注意:这里面有个疑惑,发送数据“1”,三极管RE低电平有效,应该是接收使能,为什么芯片是高阻态呢?这是因为UART发送数据是有一定格式的,TX和RX数据均以“位”为最小单位进行传输,在发送数据之前,UART之间要约定好数据传输速率,即波特率,数据传输格式(数据位,校验,停止),平时数据线处于空闲状态(1状态),当发送数据时,TX由“1”变为“0”维持1位的时间,这样接收方检测到开始位后,再等待1.5位时间就开始一位一位的进行数据传输了,也就是说,已经确定好发送状态,电路发送“1”时RE虽然有效,但是由于它处于发送阶段,芯片也不会收,即芯片处于高阻状态。

问题经验总结:

问题:485总线在通讯中,当某一节点出现故障时,其他一些节点会被影响,出现通信故障。

解决方法:在每个节点的AB线上串入一个22欧姆左右的电阻,同时协议的编制一定要考虑到故障侦测和报警。

问题:当485总线处于开路(485收发器与总线断开)或者空闲状态(485收发器全部处于接收状态,总线没有收发器进行驱动)时,485总线的差分电压基本为0,此时总线就处于一个不确定的状态。

解决方法:在485总线上增加上下拉电阻(通常A接上拉电阻,B总线下拉电阻,一般为1K左右)。

理论依据:根据RS-485标准,当485总线差分电压大于+200mV时,485收发器输出高电平;当485总线差分电压小于-200mV时,485收发器输出低电平;当485总线上的电压在-200mV~+200mV时,485收发器可能输出高电平也可能输出低电平,但一般总处于一种电平状态,若485收发器的输出低电平,这对于UART通信来说是一个起始位,此时通信会不正常。

推荐阅读:

英特尔工艺真的落后了吗?

gcc和g++是什么,有什么区别?

TCP三次握手和四次挥手以及11种状态

关注微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。

长按前往图中包含的公众号关注

RS485自收发实现方案,典型应用电路及问题经验总结相关推荐

  1. RS485的EMC防雷保护方案

    RS485的EMC防雷保护方案 一.RS485的EMC设计三个要素 在实际的工业.电力.自动化及仪器仪表应用中,RS-485总线标准是使用最广泛的物理层总线设计标准之一,由于其会在恶劣电磁环境下工作, ...

  2. 应用计算机测定线性电阻电路图和实物图,PC817中文数据摘要_PC817引脚图和功能_工作原理_特性参数及典型应用电路...

    首先,PC817中文数据摘要-PC817简介 PC817光耦合器广泛用于计算机终端,晶闸管系统设备,测量仪器,复印机,自动售票,家用电器(如风扇,加热器)和其他在前端和负载之间进行信号传输的电路. 目 ...

  3. 一文读懂麦克风典型应用电路

    本文介绍麦克风典型应用电路和注意事项.应用电路设计的好坏,会直接影响麦克风的输出性能,从而影响用户的使用体验. 笔者在<浅析硬件"好声音": 声学器件>中提到,目前消费 ...

  4. XC6206P332MR的特点与典型应用电路

    XC626系列是高精度.低功耗.高压.正电压稳压器. XC6206P332MR的封装有SOT-32.SOT-89.TO-92和USB-6B. XC6206P332MR的特点 最大输出电流为250mA( ...

  5. 电路及电路设计经验技巧大合集

    电路及电路设计经验技巧大合集 电路及电路设计经验技巧大合集,全部是文档文件,来看看有没有你需要的资料?,把好几个压缩包的文件名称给copy下来了,压缩得有点大,文件都放在闯客网技术论坛上了,需要哪个资 ...

  6. 2019年清华大学827电路原理考研经验分享

    2019清华大学电机工程与应用电子技术系827电路原理考研经验贴 我本科就读于某中流985大学.大学三年里,学习不够突出,距离保研差了一名,只能准备考研.出于对清华的向往,我选择背水一战,报考了清华大 ...

  7. rs485接口上下拉_RS485接口EMC电路设计方案

    一.原理图1.  RS485接口6KV防雷电路设计方案 图1  RS485接口防雷电路接口电路设计概述:RS485用于设备与计算机或其它设备之间通讯,在产品应用中其走线多与电源.功率信号等混合在一起, ...

  8. 几种RS485隔离通讯的方案介绍

    RS485具有抗干扰能力强.成本低等特点,广泛应用于工业智能仪表,通讯设备等各个领域. RS485电路可以分为非隔离型和隔离型.隔离型电路是在非隔离型电路的基础上增加隔离性能,使得电路具有更强的抗干扰 ...

  9. 典型计算机电路组成,硬件工程师必会的几道题

    1.下面是一些基本的数字电路知识问题,请简要回答之. (1)什么是 Setup和 Hold 时间?答:Setup/Hold Time 用于测试芯片对输入信号和时钟信号之间的时间要求.建立时间(Setu ...

最新文章

  1. 【数据库】mysql报错 编码码1130 和错误码1146
  2. OpenStack如何实现高可用集群介绍
  3. 安装Redis Live监控服务
  4. 数据库诞生40年,阿里云AWS用技术推动第三次变革
  5. 从Eclipse转移到IntelliJ IDEA一点心得
  6. 母亲的牛奶 Mother's Milk
  7. 做了6年的Java,docker端口映射无法外部访问
  8. [Tomcat报错]SEVERE: Error listenerStart
  9. linux brew 安装mysql_mac下通过brew安装mysql
  10. Java使用百度翻译api
  11. SIM800A模块发短信调试中出现的问题并解决
  12. 【Unity3D 灵巧小知识点】☀️ | Unity 移动物体到指定位置的几种方法【精选快捷使用】
  13. linux7怎么把gpt分区改成MBR,GPT转MBR|硬盘GPT分区转MBR教程(两种办法)
  14. The Apache Tomcat Native library which allows optimal performance in production environments wasn
  15. 非常不错的停用词词表
  16. 免费简历,ppt模板
  17. 【超级干huo】用c语言制作游戏地图【可自定义】
  18. 微服务与宏服务?故事线-基本概念(理解)
  19. mysql缓存优化,MySQL优化步骤及my.cnf缓存优化
  20. 人文笔记(芒格人类误判心理学 + 韩信研究)

热门文章

  1. Bootstrap 字体图标和自定义矢量图标
  2. Cython基础--Cython的函数
  3. 无数据 无网络view
  4. HTTP协议详解(二)
  5. 关于Reactor 模式
  6. one-hot表示和分布式表示
  7. 从刘维尔方程到Velocity-Verlet算法
  8. 大家好,我叫小K,初来乍到 请多多关照~
  9. cJSON的使用方法
  10. matlab取矩阵元素的模,matlab – 提取矩阵元素