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

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

3天内不再提示

RS485基本知识介绍 RS485常用电路设计

硬件攻城狮 来源:硬件攻城狮 2024-02-22 13:44 次阅读

一、RS485基本知识

RS-485接口芯片已广泛应用于工业控制、仪器、仪表、多媒体网络、机电一体化产品等诸多领域。可用于RS-485接口的芯片种类也越来越多。如何在种类繁多的接口芯片中找到最合适的芯片,是摆在每一个使用者面前的一个问题。RS-485接口在不同的使用场合,对芯片的要求和使用方法也有所不同。使用者在芯片的选型和电路的设计上应考虑哪些因素,由于某些芯片的固有特性,通信中有些故障甚至还需要在软件上作相应调整,如此等等。希望本文对解决RS-485接口的某些常见问题有所帮助。

1RS-485接口标准

传输方式:差分

传输介质:双绞线

标准节点数:32

最远通信距离:1200m 共模电压最大、最小值:+12V;-7V

差分输入范围:-7V~+12V

接收器输入灵敏度:±200mV

接收器输入阻抗:≥12kΩ

2节点数及半双工和全双工通信

2.1 节点数

所谓节点数,即每个RS-485接口芯片的驱动器能驱动多少个标准RS-485负载。根据规定,标准RS-485接口的输入阻抗为≥12kΩ,相应的标准驱动节点数为32。为适应更多节点的通信场合,有些芯片的输入阻抗设计成1/2负载(≥24kΩ)、1/4负载(≥48kΩ)甚至1/8负载(≥96kΩ),相应的节点数可增加到64、128和256。表1为一些常见芯片的节点数。

表1

节点数 型 号
32 SN75176,SN75276,SN75179,SN75180,MAX485,MAX488,MAX490
64 SN75LBC184
128 MAX487,MAX1487
256 MAX1482,MAX1483,MAX3080~MAX3089

2.2 半双工和全双工

RS-485接口可连接成半双工和全双工两种通信方式。半双工通信的芯片有SN75176、SN75276、SN75LBC184、MAX485、MAX 1487、MAX3082、MAX1483等;

全双工通信的芯片有SN75179、SN75180、MAX488~MAX491、MAX1482等。

(a)半双工通信电路

(b)全双工通信电路

3应用中的常见问题

3.1 抗雷击和抗静电冲击

RS-485接口芯片在使用、焊接或设备的运输途中都有可能受到静电的冲击而损坏。在传输线架设于户外的使用场合,接口芯片乃至整个系统还有可能遭致雷电的袭击。选用抗静电或抗雷击的芯片可有效避免此类损失,常见的芯片有MAX485E、MAX487E、MAX1487E等。特别值得一提的是SN75LBC184,它不但能抗雷电的冲击而且能承受高达8kV的静电放电冲击,是目前市场上不可多得的一款产品。

3.2 限斜率驱动

由于信号在传输过程中会产生电磁干扰和终端反射,使有效信号和无效信号在传输线上相互迭加,严重时会使通信无法正常进行。为解决这一问题,某些芯片的驱动器设计成限斜率方式,使输出信号边沿不要过陡,以不致于在传输线上产生过多的高频分量,从而有效地扼制干扰的产生。如MAX487、SN75LBC184等都具有此功能。

3.3 故障保护

故障保护技术是近两年产生的,一些新的RS-485芯片都采用了此项技术,如SN75276、MAX3080~MAX3089。什么是故障保护,为什么要有故障保护,如果没有故障保护会产生什么后果?

众所周知,RS-485接口采用的是一种差分传输方式,各节点之间的通信都是通过一对(半双工)或两对(全双工)双绞线作为传输介质。根据RS-485的标准规定,接收器的接收灵敏度为±200mV,即接收端的差分电压大于、等于+200 mV时,接收器输出为高电平;小于、等于-200mV时,接收器输出为低电平;介于±200mV之间时,接收器输出为不确定状态。在总线空闲即传输线上所有节点都为接收状态以及在传输线开路或短路故障时,若不采取特殊措施,则接收器可能输出高电平也可能输出低电平。一旦某个节点的接收器产生低电平就会使串行接收器(UART)找不到起始位,从而引起通信异常,解决此类问题的方法有两种:

(1)使用带故障保护的芯片,它会在总线开路、短路和空闲情况下,使接收器的输出为高电平。确保总线空闲、短路时接收器输出高电平是由改变接收器输入门限来实现的。例如,MAX3080~MAX 3089输入灵敏度为-50mV/-200mV,即差分接收器输入电压UA-B≥-50mV时,接收器输出逻辑高电平;如果UA-B≤-200mV,则输出逻辑低电平。当接收器输入端总线短路或总线上所有发送器被禁止时,接收器差分输入端为0V,从而使接收器输出高电平。同理,SN75276的灵敏度为0mV/-300mV,因而达到故障保护的目的。

(2)若使用不带故障保护的芯片,如SN75176、MAX1487等时,可在软件上作一些处理,从而避免通信异常。即在进入正常的数据通信之前,由主机预先将总线驱动为大于+200mV,并保持一段时间,使所有节点的接收器产生高电平输出。这样,在发出有效数据时,所有接收器能够正确地接收到起始位,进而接收到完整的数据。

3.4 光电隔离

在某些工业控制领域,由于现场情况十分复杂,充分考虑现场的复杂环境,在电路设计中注意了以下三个问题。

二、RS485应用设计

1SN75176 485芯片DE控制端的设计

由于应用系统中,主机与分机相隔较远,通信线路的总长度往往超过400米,而分机系统上电或复位又常常不在同一个时刻完成。如果在此时某个75176的DE端电位为“1”,那么它的485总线输出将会处于发送状态,也就是占用了通信总线,这样其它的分机就无法与主机进行通信。这种情况尤其表现在某个分机出现异常情况下(死机),会使整个系统通信崩溃。因此在电路设计时,应保证系统上电复位时75176的DE端电位为“0”。由于8031在复位期间,I/O口输出高电平,故图2电路的接法有效地解决复位期间分机“咬”总线的问题。

2 隔离光耦电路的参数选取

在应用系统中,由于要对现场情况进行实时监控及响应,通信数据的波特率往往做得较高(通常都在4800波特以上)。限制通信波特率提高的“瓶颈”,并不是现场的导线(现场施工一般使用5类非屏蔽的双绞线),而是在与单片机系统进行信号隔离的光耦电路上。此处采用TIL117。电路设计中可以考虑采用高速光耦,如6N137、6N136等芯片,也可以优化普通光耦电路参数的设计,使之能工作在最佳状态。例如:电阻R2、R3如果选取得较大,将会使光耦的发光管由截止进入饱和变得较慢;如果选取得过小,退出饱和也会很慢,所以这两只电阻的数值要精心选取,不同型号的光耦及驱动电路使得这两个电阻的数值略有差异,这一点在电路设计中要特别慎重,不能随意,通常可以由实验来定。

3 485总线输出电路部分的设计

输出电路的设计要充分考虑到线路上的各种干扰及线路特性阻抗的匹配。由于工程环境比较复杂,现场常有各种形式的干扰源,所以485总线的传输端一定要加有保护措施。在电路设计中采用稳压管D1、D2组成的吸收回路,也可以选用能够抗浪涌的TVS瞬态杂波抑制器件,或者直接选用能抗雷击的485芯片(如SN75LBC184等)。

考虑到线路的特殊情况(如某一台分机的485芯片被击穿短路),为防止总线中其它分机的通信受到影响,在75176的485信号输出端串联了两个20Ω的电阻R10、R11。这样本机的硬件故障就不会使整个总线的通信受到影响。

在应用系统工程的现场施工中,由于通信载体是双绞线,它的特性阻抗为120Ω左右,所以线路设计时,在RS-485网络传输线的始端和末端各应接1只120Ω的匹配电阻(如图1中R8),以减少线路上传输信号的反射。

由于RS-485芯片的特性,接收器的检测灵敏度为± 200mV,即差分输入端VA-VB ≥+200mV,输出逻辑1,VA-VB ≤-200mV,输出逻辑0;而A、B端电位差的绝对值小于200mV时,输出为不确定。如果在总线上所有发送器被禁止时,接收器输出逻辑0,这会误认为通信帧的起始引起工作不正常。解决这个问题的办法是人为地使A端电位高于B两端电位,这样RXD的电平在485总线不发送期间(总线悬浮时)呈现唯一的高电平,8031单片机就不会被误中断而收到乱字符。通过在485电路的A、B输出端加接上拉、下拉电阻R7、R9,即可很好地解决这个问题。

c2f762ae-d136-11ee-a297-92fbcf53809c.jpg

图1 RS485应用典型电路

三、软件的编程

485芯片的软件编程对产品的可靠性也有很大影响。由于485总线是异步半双工的通信总线,在某一个时刻,总线只可能呈现一种状态,所以这种方式一般适用于主机对分机的查询方式通信,总线上必然有一台始终处于主机地位的设备在巡检其它的分机,所以需要制定一套合理的通信协议来协调总线的分时共用。这里采用的是数据包通信方式。通信数据是成帧成包发送的,每包数据都有引导码、长度码、地址码、命令码、内容、校验码等部分组成。
其中引导码是用于同步每一包数据的引导头;长度码是这一包数据的总长度;命令码是主机对分机(或分机应答主机)的控制命令;地址码是分机的本机地址号;“内容”是这一包数据里的各种信息;校验码是这一包数据的校验标志,可以采用奇偶校验、和校验等不同的方式。

在485芯片的通信中,尤其要注意对485控制端DE的软件编程。为了可靠的工作,在485总线状态切换时需要做适当延时,再进行数据的收发。具体的做法是在数据发送状态下,先将控制端置“1”,延时1ms左右的时间,再发送有效的数据,一包数据发送结束后再延时1ms后,将控制端置“0”。这样的处理会使总线在状态切换时,有一个稳定的工作过程。

三种常用电路如下:

1、基本的RS485电路

c3025722-d136-11ee-a297-92fbcf53809c.jpg

上图是最基本的RS485电路,R/D为低电平时,发送禁止,接收有效;R/D为高电平时,则发送有效,接收截止。通过软件控制SP485R的收发模式。在主从模式下,主机发送完命令后,应该立即拉低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电路

c30ce548-d136-11ee-a297-92fbcf53809c.jpg

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

3、自动切换电路

c31ab164-d136-11ee-a297-92fbcf53809c.jpg

上图中,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虽然有效,但是由于它处于发送阶段,芯片也不会收,即芯片处于高阻状态。





审核编辑:刘清

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

    关注

    52

    文章

    8150

    浏览量

    145952
  • 下拉电阻
    +关注

    关注

    4

    文章

    147

    浏览量

    20496
  • 接收器
    +关注

    关注

    14

    文章

    2457

    浏览量

    71790
  • 静电放电
    +关注

    关注

    3

    文章

    283

    浏览量

    44616
  • RS-485接口
    +关注

    关注

    0

    文章

    55

    浏览量

    14262

原文标题:非常经典的RS485介绍及典型应用电路

文章出处:【微信号:mcu168,微信公众号:硬件攻城狮】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    rs485用电路

    rs485用电路
    发表于 12-08 21:41 6837次阅读
    <b class='flag-5'>rs485</b>应<b class='flag-5'>用电路</b>图

    RS485总线基础知识科普

    做工程很多时候会提到RS485控制线,它到底是什么呢?今天我聊聊RS485相关的应用,深入了解RS485,你会发现里面的知识确实有很多,那么我们就选择一些平时在弱电中会考虑到的问题供大
    发表于 07-08 16:28 9662次阅读

    RS485接口电路设计攻略

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

    RS485用电路

    RS485用电路
    发表于 04-14 11:02

    RS485基础知识

    前言:本工程代码在STM32F407ZET6开发板上测试通过。1. RS485基础知识a. 485接口485(一般称作RS485/EIA-
    发表于 08-05 07:16

    RS485总线典型电路介绍

    RS485总线典型电路介绍
    发表于 08-10 13:52 10.8w次阅读
    <b class='flag-5'>RS485</b>总线典型<b class='flag-5'>电路</b><b class='flag-5'>介绍</b>

    rs485通讯协议

    rs485通讯协议是本技术频道的核心内容,介绍rs485通讯协议原理,rs485通讯协议详细介绍rs
    发表于 08-13 17:21
    <b class='flag-5'>rs485</b>通讯协议

    RS485硬件电路设计中需注意的问题

    RS485硬件电路设计中需注意的问题,RS485
    发表于 12-21 14:45 0次下载

    常用电路RS232转RS485电路

    常用电路RS232转RS485电路图。
    发表于 05-05 17:40 51次下载

    RS232 RS485产品介绍

    RS232 RS485产品介绍RS232 RS485产品介绍
    发表于 05-16 10:15 37次下载

    RS485通讯基本要求

    RS485通讯基本要求,了解RS485常用的工业通讯方式呢,学习485必备
    发表于 06-14 17:51 48次下载

    深度解析RS485接口知识

    因为RS485接口组成的半双工网络,一般只需二根连线,所以RS485接口均采用屏蔽双绞线传输。RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),
    的头像 发表于 01-08 10:57 2.1w次阅读
    深度解析<b class='flag-5'>RS485</b>接口<b class='flag-5'>知识</b>

    一文看懂RS485和ARINC485的区别

    本文开始介绍rs485特点和RS485参数指标,其次阐述了rs485接口详解,最后分析了RS485和ARINC
    的头像 发表于 04-18 11:24 1.8w次阅读

    RS232、RS485RS422、串口与握手基础知识详细介绍

    本文开始阐述了RS232和RS485RS422相关的基础知识,其次介绍RS232和
    发表于 04-19 10:29 3.6w次阅读
    <b class='flag-5'>RS</b>232、<b class='flag-5'>RS485</b>、<b class='flag-5'>RS</b>422、串口与握手基础<b class='flag-5'>知识</b>详细<b class='flag-5'>介绍</b>

    为什么需要485隔离?常见RS485隔离方案介绍

    RS485是一种常用的数据通信协议,广泛应用于工业控制系统、楼宇自动化、安防系统等领域。什么是485隔离电路?在某些应用中,为了防止电气噪声干扰或电气冲击,需要对
    的头像 发表于 07-31 23:08 5155次阅读
    为什么需要<b class='flag-5'>485</b>隔离?常见<b class='flag-5'>RS485</b>隔离方案<b class='flag-5'>介绍</b>