zoukankan      html  css  js  c++  java
  • 485

    RS485 采用差分信号负逻辑, -2V~-6V 表示“0” , +2V~+6V 表示“1 ” 。 RS485 有两线制和四线制两种接线
    ,4线制实现点对点不能组网现在很少使用。2线制的485总线最多可挂32个节点,被配置成一主多从,通常使用双绞线实现链接,A-A,B-B.

    2线制要注意地线问题(少地线出现干扰))

    485相比232通讯的优点:

    1 接口电压低,与TTL兼容,采用平衡驱动差分接收提高对共模干扰(噪音的)的抑制能力

    2实现组网(挂接128个收发器),最远传输距离达3KM,传输速度10Mbps

    3 阻抗匹配:

    3.1终端电阻:在收发的开始和结束端跨接120欧姆电阻(双绞线的阻抗),特点:简单,但增加功耗不适合低功耗因公场合。

    3.2RC匹配:利用C的隔直降低功耗,但C的匹配取值是个难点

    3.3利用二极管的钳位作用削弱反射信号改善通讯质量。

    驱动芯片:SP3485,控制引脚RO(接收输出)DI(发送输入)/RE,接收允许,DE发送使能(发送接收相连通过一个IO脚来控制)http://csdn.Juming.com/dx/?i=586357078554104&s=13ed9b7cb6e68b12763f34ca216e7fc5 STM32-DMA-485

    技术点:

    自动收发问题

    超时设计

    modbus

    地址设定方法与指示

    RS-485总线电平异常解决方案解析 :

     当485两线空闲时电压在+-200MV,此时若RXD接收到低电平就容易造成总线错误(收到0X00),解决办法时当距离近时去掉终端电阻;距离远存在反射时通过改变上下拉电阻改变总线压差。

    STM32进行RS485收发切换,接收时第一个字节多接收一个“0x00"的问题:根本原因是发送完切换接收的时间太快引起的。譬如先TX(引脚设置发送状态)->发送数据-》RX(引脚设置接收状态)-》接收数据。特别是初始化后设置接收状态进入while等待串口接收中断就会出现这种情况,解决办法可以在设置RX引脚接收状态之后稍微延时。

     

  • 相关阅读:
    javascript 函数和对象
    考研总结
    在禁用UAC时无法激活此应用
    工作流--JBPM任务管理
    工作流--JBPM流程管理
    数据结构--快速排序
    error C2143:语法错误:缺少";"(在“类型”的前面)
    工作流--JBPM部署对象
    工作流--JBPM核心ProcessEngine
    工作流--JBPM(二) 简单的流程演示
  • 原文地址:https://www.cnblogs.com/jieruishu/p/4101605.html
Copyright © 2011-2022 走看看