通讯专题-RS485

1 简介

        RS485采用差分数据传输,为什么要使用差分数据传输?

        RS485能够实现长距离通信的主要原因是使用了差分或平衡线路。通信通道需要专用的信号线路来交换信息,一条线路上的电压等于另一条线路上的电压的倒数。

        TIA/EIA-485-A将此差分对中的两条线路表示为A和B:

1)发射器

        if 发射器的输入端接收到高电平(DI = 1),则发射器使A线路上的电平信号高于B线路上的电平(VOA > VOB,VOA -VOB∈[+2V,+6V],但国产芯片会偏低,具体看芯片手册);

        if 发射器的输入端收到逻辑低电平(DI = 0),则发射器使A线路上的电平信号高于B线路上的电平(VOA < VOB,VOA -VOB∈[-2V,-6V],但国产芯片会偏高,具体看芯片手册)。

2)接收器

        if 接收器的输入端线路A高于线路B(VIA - VIB > 200mV),则接收器输出为逻辑高电平(RO = 1);

        if 接收器的输入端线路B高于线路A(VIB - VIA >200mV),则接收器输出为逻辑低电平(RO = 0)。

2 RS485速率、距离与节点数 

2.1 RS485速率及通信距离

        RS-485的通信速率在通信距离为12m(40英尺)最高可达10Mbps,在通信距离为1.2km(4000英尺)最高可达100kbps。其关系图见图2所示。

图2 速率与距离关系图 

2.2 节点数

        RS-485规定的为多点标准,意味着在同一总线上最多可连接32个收发器。

        在定义节点数时,则需要清楚RS-485中的单位负载概念。单位负载时衡量RS-485总线驱动能力的,而单位负载的定义是根据标准的RS-485总线接收器的输入阻抗(12kΩ)定义的。标准的RS-485总线能够驱动32个单位负载(即32个12kΩ并联),换句话说,RS-485总线负载电阻不能小于375Ω。

        一些RS-485接收器的输入阻抗为48kΩ(则为1/4个单位负载:1/4 unit load)或者是96kΩ(则为1/8个单位负载:1/8 unit load)。则相应的总线可挂接的节点数分别为128个和256个。为什么48kΩ为1/4个单位负载呢?是因为电阻越大,所需的电流越小,12kΩ所需要的电流可供4个48kΩ使用,即为1/4个单位负载。

        如果在使用不同输入阻抗的RS-485接收器连接在一起,只要保证并联输入阻抗不超过32个单位负载(即总线负载Rload ≥ 375Ω)。

        对应的单位负载与节点数见下图示。

 3 端接

        一条传输线路中存在两条线,一条将电流从驱动器载至接收器,另一台提供回到驱动器的返回路径。要实现可靠的RS-485通信,必须尽可能减少传输线路中的反射,这就必须进行适当的电缆端接。

根据RS-485应用的要求,端接应位于主节点以及距离主节点最远的从节点。

1)无端接

        如果信号上升时间是电缆传播延迟的4倍以上,该电缆不应视为传输线路,无需端接。

2)并联端接

        两个或更多驱动器共享一对线时,链路各端均有一个端接电阻,其值等于电缆的特性阻抗。无论网络中连接了多少个节点,都不应存在两个以上的端接电阻。

        在半双工配置中,电缆的两端必须端接。在全双工配置中,只有主接收器和最远的从接收器需要端接。如下图3示。

     图3a   RS-485半双工配置

        图3b RS-485全双工配置

3)交流端接

        交流端接用于降低空闲链路的工号以及降低振铃电压,不过负面影响会减少电缆长度并降低比特率,可以在总线A与B之间串联放置一个电阻和电容。如图3所示。

图3  交流端接

        其端接的优点与缺点见下表。

        端接电阻一般选用120Ω的电阻,因为RS-485使用的是双绞线,双绞线的特性阻抗为120Ω。 

 4 安全偏置设置

        在485数据传输时,起始位表示位序列的开始,可在高电平至低电平转换时检测到。        

        如果总线在空闲状态下,总线上的差分电压(VOA - VOB)为0V,在此条件下,RS-485标准未定义接收器输出RO,因此接收器输出会产生随机数据。此数据连接到UART,肯呢个导致系统操作错误。有关接收器的真值表见下表。

           要解决总线处于空闲状态条件下的故障,需要在总线上放置上拉电阻和下拉电阻。 偏置电路如图4所示。

  

        if R1 = R2 = R,RT = 120Ω,则

V_{IA}-V_{IB} = R_{T}\cdot \frac{V_{CC}}{2R+R_{T}} = 200mV

        if Vcc = 5V,then R = 1440Ω;

        if Vcc = 3V,then R = 960Ω。

         如果使用R的较低值(V_{IA}-V_{IB} > 200mV),系统可以实现更大的噪声裕量。

5 瞬间过压应力保护

        在实际应用中,雷击、电源波动、静电放电会通过产生较大瞬变电压对RS-485收发器造成损害,大多数经典的RS-485收发器都无法再不造成损坏的情况下处理总线引脚上的这些高压瞬态。所以需要使用保护措施:

        所有的保护方案的核心是一个可以钳制总线电压的器件(即保护二极管),采用分立式元件进行设计时,既有钳位二极管和限流电阻器,又有TBU(瞬态阻断单元)和MOV(金属氧化物压敏电阻)。可以将总线上的电压钳位至RS-485收发器的共模电压范围(-7V~+12V),对于更高的电源瞬变,可在保护器件与输入引脚之间增加电阻RS(10Ω至20Ω)来加强保护。如下图所示。

        关于瞬间过压应力保护后续会出一个单独的文章进行介绍。 

        

  • 30
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
社会发展日新月异,用计算机应用实现数据管理功能已经算是很完善的了,但是随着移动互联网的到来,处理信息不再受制于地理位置的限制,处理信息及时高效,备受人们的喜爱。所以各大互联网厂商都瞄准移动互联网这个潮流进行各大布局,经过多年的大浪淘沙,各种移动操作系统的不断面世,而目前市场占有率最高的就是微信小程序,本次开发一套基于微信小程序的生签到系统,有管理员,教师,学生三个角色。管理员功能有个人中心,学生管理,教师管理,签到管理,学生签到管理,班课信息管理,加入班课管理,请假信息管理,审批信息管理,销假信息管理,系统管理。教师和学生都可以在微信端注册和登录,教师可以管理签到信息,管理班课信息,审批请假信息,查看学生签到,查看加入班级,查看审批信息和销假信息。学生可以查看教师发布的学生签到信息,可以自己选择加入班课信息,添加请假信息,查看审批信息,进行销假操作。基于微信小程序的生签到系统服务端用Java开发的网站后台,接收并且处理微信小程序端传入的json数据,数据库用到了MySQL数据库作为数据的存储。这样就让用户用着方便快捷,都通过同一个后台进行业务处理,而后台又可以根据并发量做好部署,用硬件和软件进行协作,满足于数据的交互式处理,让用户的数据存储更安全,得到数据更方便。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值