<listing id="62mou"><object id="62mou"></object></listing>
    <output id="62mou"><pre id="62mou"><dd id="62mou"></dd></pre></output>
  1. 新闻中心

    EEPW首页 > 网络与存储 > 设计应用 > 如何解决RS-485自动收发电路应用异常?

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

    作者:时间:2018-10-11来源:网络收藏

       总线是半双工的通信总线,因此通常需要控制收发器的收发状态。为节省的I/O资源,自动收发型收发器应运而生,但该类收发器或多或少会遇到一些应用问题,这一类问题该如何解决?本文将从工作原理为你揭晓。

    本文引用地址:http://www.09140960.com/article/201810/392780.htm

      一、自动收发电路简介及应用简析

      1、自动收发电路原理

      常见的RS-485自动收发电路如图1所示,电路的逻辑真值表如表1所示,当TXD为低电平?#20445;珼E和RE为高电平,RS-485收发器处于发送状态,AB处于低电平,即向其他节点发送低电平信号;当TXD由低电平变为高电平?#20445;珼E和RE变为低电平,RS-485收发器处于接收状态,此时AB引脚处于高阻状态,R3将B引脚拉至GND,R4将A引脚拉至VCC,此时AB为高电平,即向其他节点发送高电平信号。由于TXD为高电平?#20445;琑S-485收发器处于接收状态,因此只需将TXD保持为高电平即可接收数据,即自动收发电路发送高电平时同时也是接收状态。

    图1 RS-485自动收发示意图

    表1 自动收发电路示意图

      二、自动收发电路常见应用问题及解决方案

      1、通信速度?#19979;?/p>

      RS-485自动收发通信速度?#19979;?#30340;原因主要有两个。一是若使用图1所示的自动收发电路,三极管的关断时间较长(主要是由于三极管关断时的存储时间较长),图1中所示?#38382;?#30340;三极管反相电路,开启延时时间如图2所示为10.2ns,关断延时时间如图3所示为1.14μs,因此若TXD发送低电平,DE&RE引脚较长时间后才会升至高电平,发送低电平的延时时间较长,图1所示电路发送低电平信号延时时间如图4所示为1.468μs。

    图2开启延时时间

    图3 关断延时时间

    图4 发送低电平信号延时

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

    图5 发送高电平上升时间

      2、高波特率通信时存在通讯异常风险

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

    图 6TXD发送高电平信号,RXD接收到一段低电平信号

      针对此类问题,可选用致远电子的宽压输入贴片式隔离RS-485自动收发模块SC4450S(如图7),该模块通信速度高达500kbps,并?#20063;?#20250;出现发送高电平时接收到一?#38382;?#38388;低电平信号的现象,通信波形如图8所示,极大地提高了通信可靠性。

    图7 贴片式隔离RS-485收发器SC4450S

    图8 SC4450S通信波形


    上一页 1 2 下一页

    关键词: RS-485 MCU

    评论

    技术专区

    关闭
    贵州11选5app下载
      <listing id="62mou"><object id="62mou"></object></listing>
      <output id="62mou"><pre id="62mou"><dd id="62mou"></dd></pre></output>
      1. <listing id="62mou"><object id="62mou"></object></listing>
        <output id="62mou"><pre id="62mou"><dd id="62mou"></dd></pre></output>