一、RS485基本知识

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

RS-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应用设计
1 SN75176 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,即可很好地解决这个问题。

图1 RS485应用典型电路

三、软件的编程

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

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

三种常用电路如下:

1、基本的RS485电路

上图是最基本的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电路

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

3、自动切换电路

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

RS485芯片介绍及典型应用电路相关推荐

  1. 一文读懂麦克风典型应用电路

    本文介绍麦克风典型应用电路和注意事项.应用电路设计的好坏,会直接影响麦克风的输出性能,从而影响用户的使用体验. 笔者在<浅析硬件"好声音": 声学器件>中提到,目前消费 ...

  2. RS485自收发实现方案,典型应用电路及问题经验总结

    关注.星标公众号,不错过精彩内容 素材来源:网络 转自:8号线攻城狮 如上三张图片大致示意485芯片的收发特性,这里有个概念. RS485抗噪音抗干扰能力强.传输距离远.支持多点通信,是工控行业首选串 ...

  3. TPS5430降压电路,TPS5430芯片介绍

    目录 一.芯片介绍 1.1.BOOT电容(C2) 1.2.VSENSE引脚 1.3.ENA引脚 1.4.PwPd 二.电路设计 2.1.生成电路 2.2.电路仿真 一.芯片介绍 TPS5430的输入范 ...

  4. LM324芯片介绍及其应用电路

    LM324芯片是一种常见的电子元器件,广泛应用于电子电路中.它是一款四路运算放大器,具有高增益.低失调电压和低输入偏置电流等特点,可以用于多种电路设计.本文将介绍LM324芯片的基本概念.特性以及五种 ...

  5. 常用USB转串口芯片介绍

    pl2303原理应用 PL2303符合USB1.1标准,价格3RMB. 2 CP2102/CP2103简介 Silicon Laboratories公司推出的USB接口与RS232接口转换器CP210 ...

  6. CAT6219-330TDGT3芯片介绍 (2.3V~5.5V转3.3V输出 500 mA 输出CMOS LDO 低功耗稳压器)

    目   录 一.芯片介绍(丝印RV87) 二.引脚介绍 三.典型使用电路 一.芯片介绍(丝印RV87) CAT6219 是一款 500 mA CMOS 低压差稳压器,可在负载电流和线路电压变化期间提供 ...

  7. 应用计算机测定线性电阻电路图和实物图,PC817中文数据摘要_PC817引脚图和功能_工作原理_特性参数及典型应用电路...

    首先,PC817中文数据摘要-PC817简介 PC817光耦合器广泛用于计算机终端,晶闸管系统设备,测量仪器,复印机,自动售票,家用电器(如风扇,加热器)和其他在前端和负载之间进行信号传输的电路. 目 ...

  8. 复习单片机:动态数码管(1 数码管介绍+2 74HC245 和 74HC138 芯片介绍+3 硬件设计+4 软件设计+5 实验现象)

    本章所要实现的功能是:控制动态数码管从左至右显示数字 0-7.学习本章可以参考 前面的实验章节内容.本章分为如下几部分内容: 1 数码管介绍 2 74HC245 和 74HC138 芯片介绍 3 硬件 ...

  9. Hi3516开发笔记(一):海思HI3516DV300芯片介绍,入手开发板以及Demo测试

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/121314575 长期持续项目技术分享,Shang业Di ...

  10. 热电偶测温专用芯片介绍

    AD594/AD595 AD594/AD595是带冷端补偿的热电偶集成运放,AD594适用于J型热电偶,AD595适用于K型热电偶.要深入了解请看下面的官方Datasheet介绍. The AD594 ...

最新文章

  1. 基于ServletJsp的网上书店设计(一)
  2. 干货 | 杨文韬:秘B类App如何手持大型武器还能高速奔跑
  3. 十三、流程控制之if语句
  4. 数据分析入门极简书单
  5. python提取hbase数据_详解python操作hbase数据的方法介绍
  6. TeamViewer13 -- 安装、使用说明
  7. c++ STL 工程实践的15条建议
  8. 华为卡槽打不开怎么办_17500元!华为5G折叠手机刷屏,有人焦虑连夜开会…
  9. plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘not found
  10. xmu1214: 购物
  11. mysql 表2符合表1,MySQL:表tbl_2_1_15已满
  12. 大数据_Flink_Java版_数据处理_流处理API_Sink操作_把数据存储到ElasticSearch---Flink工作笔记0040
  13. leetcode 27 移除元素 (python)
  14. 何为编码 GBK 和 UTF8编码?GBK,GB2312与区位码有何关系?
  15. 基于JavaEE的网吧自动计费管理系统设计与实现_信息管理__JSP网站设计_SQLServer数据库设计
  16. 【题解】SCOI-2010-连续攻击游戏
  17. CMYK与有什么RGB区别?
  18. 分水岭算法(学习笔记)
  19. gif、bmp、jpg、jpeg图片有什么区别
  20. idea合并分支代码怎么操作呢?

热门文章

  1. QCalendarWidget 日历控件
  2. Altova XMLSpy2011的破解出现的问题
  3. JAVA使用Gson解析json数据,实例
  4. 音乐推荐系统协同过滤算法解释
  5. vue中显示实时时间
  6. orcl导入dmp语句_oracle用imp导入dmp文件的方法
  7. asio几种异步编程模型
  8. SDR软件无线电知识要点(一)噪声系数与噪声因子
  9. 微信小程序-map地图标签的初级使用, 拥有图标,气泡,地图本身无法缩放移动需要点击跳转第三方地图平台
  10. 计算机网络与通信技术教案,计算机网络技术教案