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

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

3天内不再提示

踩坑又给项目埋雷,RS485自动收发电路设计

张飞电子实战营 来源:张飞电子实战营 2024-12-06 09:59 次阅读

前言

这个文章的题目有点骗眼球的感觉,其实是自己踩过大坑,很是痛恨这个电路,希望大家以后不要踩了。工程师要画这个电路时,网上一搜,不经深入分析就拿来用,给项目埋了炸弹。

RS485自动收发电路

因为RS485采用叉分信号,只支持半双工。正常的RS485芯片驱动电路是需要GPIO来切换发送和接收模式。如下图所示,一般的RS485电平转换芯片都有RE/DE脚,用来切换收发模式。

fadd6caa-afd3-11ef-93f3-92fbcf53809c.jpg

RS485标准电路参考

嵌入式行业,特别是MCU相关的都比较爱抠成本,便宜的MCU往往就是GPIO数量不够。如果是上Linux系统的方案,一般串口支持RS485就还得改GPIO驱动,会有软件工作量。于是有大聪明发明了自动切换的电路,省掉了那个GPIO。下图是网上找的一个自动收发电路图,收发原理直接看图中文字描述。

1. 不发送数据时,接收模式,没问题。

2. 发送数据0时,发送模式,输出0,没问题。

3. 发送数据1时,接收模式,外围A,B由上下拉电路控制,输出1,问题出在这里。

fb0794b2-afd3-11ef-93f3-92fbcf53809c.jpg

RS485自动收发电路

由于自己示波器测量的图片丢失,网上找别的测试图来说明,引用文章链接:

https://zhuanlan.zhihu.com/p/48018717

三极管的关断时间较长(主要是由于三极管关断时的存储时间较长),因此若TXD发送低电平,DE&RE引脚较长时间后才会升至高电平,才会切到发送模式,发送低电平的延时时间较长,如下图所示为1.204 μs。

fb201974-afd3-11ef-93f3-92fbcf53809c.jpg

关断延时

二是自动收发电路发送高电平是通过外部上下拉电阻驱动的,上升沿较缓慢,波形如下图所示,可以看出,发送高电平的上升沿较为缓慢,限制了高速通信的应用。

fb4a770a-afd3-11ef-93f3-92fbcf53809c.jpg

上下拉驱动上升沿缓慢

RS485自动收发电路风险

如下图所示,TXD变为高电平,DE&RE引脚降为低电平,AB差分电压缓慢上升,由于此时RS-485收发器已经处于接收状态,在AB差分电压上升至RS-485收发器门限电平前RXD引脚会出现到一段时间的低电平信号,例如门限电平为-200mV~-50mV的收发器,AB差分电压上升至-50mV前RS-485收发器均可输出低电平,此低电平信号的时间与AB差分电压上升时间和RS-485收发器的接收延时有关。由于串口一般是将每个位分成16份,检测中间的3份的电平信号从而确定此位的信号高低,因此若此低电平信号保持至每个位的信号检测时,则会使MCU接收到一个起始位,从而接收到错误的数据,因此这个问题同样限制了高速通信的应用并且降低了通信的可靠性。

fb5ce3fe-afd3-11ef-93f3-92fbcf53809c.jpg

rxd接收到低电平

我们在实际应用中就是遇到这个问题,概率收到错误数据,导致丢包(数据校验不通过而丢弃)。在研发的环境中,连接的终端设备少,距离近,这个丢包概率比较低,不容易发现。在Modbus应用中,概率丢包只会影响数值更新速度慢,影响不大。但是我们在现场做升级操作时,几乎很难成功,因为在研发环境没问题,我们优先排查现场环境信号干扰等问题,浪费了很多时间。这个电路有两个缺点:

1. 通信速度慢:

三极管有电容效应,导致关断时间较长,导致RE/DE从低到高电平变化出现比较大的斜坡.同时485输出高电平,是依靠上下拉来完成的,会导致上升沿不够迅速,因此上下拉的阻值选择也是影响速度的关键。

2. 驱动能力弱:

由于当tx为高,485电平是由其上拉电阻完成的,因此弱提高驱动能力,就要减小电阻,由于485芯片驱动能力有限,电阻太小会导致tx为低的时候,485芯片无法将485总线拉低,因此总线上所有上拉电阻的并联值不应该小于375欧。还用当接入120欧的终端电阻的时候,AB两相的电压差由终端电阻和上下拉分压得到,会导致AB两相的电压差变小,因此自动收发串口转RS485设计不太适合添加终端电阻。

终端电阻的问题

终端电阻主要是为了匹配通信线的特性阻抗,防止信号反射,提高信号质量。在组建RS-485总线网络时,通常使用特性阻抗为120Ω的屏蔽双绞线,由于RS-485收发器输入阻抗一般较高(例如RSM485ECHT输入阻抗为96kΩ,最多可连接256个节点),在信号传输到总线末端时会由于受到的瞬时阻抗发生突变(以RSM485ECHT为例,阻抗由120Ω变为96kΩ),导致信号发生反射,影响信号的质量。

实际上只有距离+高速率的环境需要添加终端电阻,例如长度>500米 + 波特率超过500kbps。

总结和建议

RS485总线和电路看似简单,但是要看应用场景,对稳定性有要求的不建议使用自动收发驱动电路。

在没有遇到信号反射问题时,尽量不要使用终端电阻;硬件设计时,可以预留外挂或焊接120Ω电阻的位置。

要查看RS485驱动芯片的输入阻抗参数,和支持外挂设备数。上、下拉电阻与收发器输入阻抗的并联值应大于375Ω;

如果是现场做工程项目,建议带上万用表和示波器,测一下空闲状态下的电压值,收发的信号质量,这样才安心。

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

    关注

    39

    文章

    1155

    浏览量

    82284
  • 收发电路
    +关注

    关注

    0

    文章

    23

    浏览量

    2016

原文标题:踩坑又给项目埋雷,这RS485自动收发电路设计

文章出处:【微信号:zfdzszy,微信公众号:张飞电子实战营】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RS422/RS485收发器SC5122替代MAX3490广泛用于通信领域

    RS422/RS485收发器SC5122替代MAX3490广泛用于通信领域
    的头像 发表于 11-26 10:10 168次阅读
    <b class='flag-5'>RS</b>422/<b class='flag-5'>RS485</b><b class='flag-5'>收发</b>器SC5122替代MAX3490广泛用于通信领域

    工业现场经常用到的 RS485 通信,原来它的收发机制是这样的

    _EN2)置于发送状态,完成数据发送后,再把RS485收发器件切回接收状态。 这种方式简单易行,不需增加额外成本,这种方法很多人都会知道并且基本上都用的方法。 第二种:自动换向 但是,当我们采用某种硬件平台
    发表于 11-26 09:37

    RS485典型电路设计

    RS485常用的典型电路设计
    发表于 11-24 14:09 1次下载

    RS485保护电路设计改进方案

    RS485保护电路的设计 1问题: 最近设计的一块板子的RS485接口因为高电压被击穿烧毁, 惨不忍睹。可以见图片。 图一 事故现场   其具体严重的后果有三个: TVS被击穿; RS485
    的头像 发表于 11-20 10:45 280次阅读
    <b class='flag-5'>RS485</b>保护<b class='flag-5'>电路设计</b>改进方案

    如何解决RS-485自动收发电路应用异常?

    导读为节省MCU的I/O资源,RS-485自动收发收发器经常会被使用,但该类收发器或多或少会遇到一些应用问题,这一类问题该如何解决?本文将
    的头像 发表于 11-02 08:06 254次阅读
    如何解决<b class='flag-5'>RS-485</b><b class='flag-5'>自动</b><b class='flag-5'>收发电路</b>应用异常?

    Rs485电路的限流电阻为什么都用ptc

    在探讨为什么RS485电路的限流电阻常用PTC(Positive Temperature Coefficient,正温度系数)材料时,我们需要从多个角度进行深入分析。 一、引言 RS485作为一种
    的头像 发表于 10-06 14:58 627次阅读
    <b class='flag-5'>Rs485</b><b class='flag-5'>电路</b>的限流电阻为什么都用ptc

    RS485收发模块无法接收数据

    RS485收发模块 NSI83085只能发送,不能接收数据 用RS485转串口调试板子发现,板子发送的字符电脑能够收到,但是电脑发送的字符,板子收不到,刚开始认为是RE使能脚的问题,在软件把RE
    发表于 07-31 18:16

    485自动收发电路优缺点

    以下是关于485自动收发电路优缺点: 优点: 通信距离长:485自动收发电路可以实现长距离通信,
    的头像 发表于 07-13 09:05 1511次阅读

    纯干货!RS485接口电路设计攻略

    发送使能信号,实现自动或手动切换。 • 对于自动收发电路设计,可能需要更复杂的逻辑来自动管理发送和接收状态,以适应不同通信场景。 RS485
    发表于 05-27 14:29

    RS485接口电路设计攻略

    本文主要讨论如何设计RS485接口电路,以及简单介绍接口电路设计通常涉及到几个关键要素。什么是RS485RS485是半双工通信,半双工通信
    的头像 发表于 05-24 08:20 3108次阅读
    <b class='flag-5'>RS485</b>接口<b class='flag-5'>电路设计</b>攻略

    rs485收发器芯片选择?

    在当今工业自动化、智能楼宇以及数据通信等领域,RS485通信协议因其出众的可靠性、长距离传输和多节点通信能力备受青睐。然而,为了实现RS485通信,选择一款合适的收发器芯片至关重要。本
    的头像 发表于 05-14 14:45 1065次阅读

    启明智显技术分享|芯片应用中RS485自动收发电路常见问题解析

    RS485自动收发电路”作为芯片应用中的一项关键技术,其在数据传输和通信方面发挥着不可或缺的作用。启明智显在多个尺寸的中控屏和串口屏上基于ESP32-S3方案和Model系列产品实现了对RS
    的头像 发表于 04-29 14:55 2299次阅读
    启明智显技术分享|芯片应用中<b class='flag-5'>RS485</b><b class='flag-5'>自动</b><b class='flag-5'>收发电路</b>常见问题解析

    RS-485自动收发电路中偏置电阻与终端电阻的选用

    RS-485自动收发电路比带控制脚电路在应用上少一个I/O脚,在主控资源紧张时会更受欢迎。那么自动收发电
    的头像 发表于 01-23 11:24 2704次阅读
    <b class='flag-5'>RS-485</b><b class='flag-5'>自动</b><b class='flag-5'>收发电路</b>中偏置电阻与终端电阻的选用

    什么是RS485接口?

    、应用以及一些常见的问题。 一、RS485接口概述 RS485接口是一种半双工、平衡传输的通信接口,广泛应用于工业自动化、智能交通、智能建筑等领域。它基于差分信号传输,具有较强的抗干扰能力,使得数据传输更加稳定可靠。
    的头像 发表于 01-11 17:37 5015次阅读

    使用自动收发RS485电路时,A,B线波形只有半波是怎么回事?

    各位好,我在调试RS485时候遇到一个问题。在使用自动收发RS485电路时,发现A,B线波形只有半波。
    发表于 01-03 08:34