485通信常见问题及解决方案
- 格式:doc
- 大小:15.50 KB
- 文档页数:3
威纶触摸屏:请教mt506的一屏多机问题大家好,最近碰到一个难解的问题。
向各位前辈请教我最近用1台MT506通过串口1带4台设备,通过MODBUS RTU 485方式,一开始我通过电脑直接在线仿真的方式模拟,与四台设备正常通讯,没有任何异常。
但是把程序下载到屏里后,就出现通讯不稳定的情况。
情况如下1 用电脑直接在线模拟屏,与4台设备进行通信,通过串口工具监视通信数据,完全正常。
说明程序没有问题。
2 程序下载到屏里后,屏与4台设备进行通信,通信不稳定,通过检测通信数据发现,可能会出现,通信十几组数据后,发生通信中断,通信停止系统参数设定值(3.0)后,继续进行通信,再正常通讯十几组或更多数据后,再次发生中断,中断时交换的数据并不确定。
3 序里的地址均改为地址1#时,通过串口工具检测,通信完全正常。
但是加入其它地址如2# 后,通信再次出现偶然一次通信中断的情况。
4 现场做了大量防干扰的措施,另外也不认为是干扰搞的,因为3 中地址均为1#时,没有问题。
当出现一定次数的中断后,通信就完全中止,等一定时间后又重新进行通信。
被这个问题搞的很头疼,请教前辈们,大家有这样用过的么,能分享经验么,感激。
这两天再搞不定这事,打算换屏了,没太大兴趣搞威伦的了,威论技术支持的水平与态度让人有点生气。
“我不知道” ,“我没试过”听的太多了。
谢谢大家想用一台触摸屏做好两个控制画面,来分别控制两台224XP,请问通讯线怎么连?PLC中程序要怎样做?请祥解问题补充:我用的屏是WEINVIEW MT510TV,先用编程软件把两台224XP设为不同的站号,例如PLC2和PLC3,然后在做屏读取I/O点数据的时候(其它的一样道理),怎么才能分别读第一个plc里面的数据,就选择站号为2的那台PLC,要读第二个plc里面的数据,就选择站号为3的那台PLC?是否一定要定义PLC的主从站,和一定要用NETR,NETW指令?这个要咨询触摸屏厂家。
不知道大家是否会遇到这样的情况,测试单个RS-485设备数据无异常,但设备组网后,就出现通讯数据异常或连接失败等情况。
出错的原因是什么?RS-485总线是具有结构简单、通信距离远、通信速度高、成本低等优点,广泛应用于工业通讯、电力监控以及仪器仪表等行业。
若总线上接有终端电阻,则在总线空闲状态时,RS-485总线AB差分电压可能处于门限电平(±200mV)之内,这时可能会导致通信出错,那么,出错的原因是什么?MCU接收到的数据会发生什么样的变化?数据出错的原因如图1所示为8位数据位无校验位的UART时序图,当使用UART进行通信时,MCU在检测到起始位后开始接收其后的数据。
图1 无校验位,8位数据位,串口时序图如图2所示为STM32串口外设检测到起始位的条件,当检测到下降沿(3个高电平+1个低电平)并且采样序列1和采样序列2均为0时,STM32检测到一个起始位。
每个位采样16次,采样点的间隔时间为tbit/16,tbit为每个位的时间,例如通信波特率为115.2kbps,则tbit=1/115.2k=8.68us,则采样点的间隔时间为8.68us/16=0.5425us。
图2 STM32串口外设检测到起始位的条件下面以RSM485PCHT的门限电平为例进行说明,当AB差分电压处于±200mV之内时,模块RXD引脚输出状态不确定。
当总线变为空闲时,若RXD引脚输出低电平,则可能导致MCU接收到错误数据或MCU在正常数据后误接收1个0x00。
图3 RSM485PCHT门限电平数据发生了什么变化?如图4所示,收发器1在AB差分电压处于±200mV门限电平之内时输出高电平,收发器2在AB差分电压处于±200mV门限电平之内时输出低电平,可以看出,收发器2可能导致MCU接收到错误的数据,并且在数据后误接收到1个0x00数据。
图4 数据后多0x00如图5所示,若总线上持续存在数据信号或连续发送多个字节数据,在数据之间存在的空闲状态可能会被收发器2识别为1个起始位,从而导致数据连续错误。
485多设备连接差分信号变低随着科技的飞速发展,人们对于无线连接设备的需求越来越多。
在大型会议室、展览馆、商场等场合,人们往往需要连接多个设备来进行信息传输和互动。
然而,当连接多个设备时,常常会出现差分信号变低的问题,影响了设备之间的正常通讯。
本文将由浅入深地探讨485多设备连接时差分信号变低的原因和解决方法。
一、485总线介绍485总线是一种串行通信协议,用于工业自动化领域中各种设备之间的通讯。
它具有传输距离远、通讯可靠等特点,因此被广泛应用于各种工业设备的通讯中。
在多设备连接时,485总线首先会出现差分信号变低的问题。
二、485多设备连接导致差分信号变低的原因1. 线路阻抗不匹配:当多个设备连接到同一条485总线时,会导致线路的阻抗不匹配,造成信号反射和干扰,从而导致差分信号变低。
2. 地线干扰:多个设备连接时,地线之间会相互影响,产生地线干扰,导致差分信号变低。
3. 设备负载过大:连接多个设备时,每个设备的负载会叠加在一起,造成总线负载过大,从而导致差分信号变低。
4. 线路长度过长:当485总线的线路长度过长时,信号的传输会受到阻尼,导致差分信号变低。
三、解决485多设备连接差分信号变低的方法1. 使用合适的终端电阻:在485总线的两端分别连接合适的终端电阻,可以有效减少信号的反射和干扰,提高差分信号的稳定性。
2. 加强地线连接:在多设备连接时,应加强地线的连接,使地线的电位保持一致,减少地线干扰,提高差分信号的质量。
3. 控制设备负载:合理设计485总线的拓扑结构,控制每个设备的负载,确保总线负载不会过大,保证差分信号的稳定传输。
4. 缩短线路长度:在条件允许的情况下,尽量缩短485总线的线路长度,减少信号传输的阻尼,提高差分信号的传输质量。
四、485多设备连接差分信号变低的解决方案案例以某大型工业厂房为例,该工业厂房因设备众多,需要使用485总线进行设备通讯。
在初始连接时,出现差分信号变低的问题,从而影响了设备之间的正常通讯。
如何诊断RS485总线通讯不稳定的现场问题【前言】通讯总线问题的现场诊断,是一件非常考验技术员对于相关协议理论与实践相结合能力的事情,这次说一说RS485总线通讯的问题。
而对通讯的故障进行分析和诊断之前,需要对RS485总线的一些基本概念有所了解。
【RS485总线的基本特性】根据RS485工业总线标准,RS485工业总线为特性阻抗120Ω的半双工通讯总线,根据485芯片的不同,其最大负载能力有几个级别:32台、128台和256台。
但是理论上的标称往往实际上是达不到的,通讯距离越长、波特率越高、线径越细、线材质量越差、转换器品质越差、转换器电能供应不足(无源转换器)、防雷保护越强,这些都会降低真实负载数量。
【RS485总线的传输距离】根据RS485总线结构理论,在理想环境的前提下,RS485总线传输距离可以达到1200米。
其条件是通讯线材优质达标,波特率为9600比特率(bit/s),只负载一台RS485设备,才能使得通讯距离达到1200米,所以通常RS485总线实际的稳定的通讯距离往往达不到1200米。
如果负载RS485设备多,线材阻抗不合乎标准,线径过细,转换器品质不良,设备防雷保护复杂和波特率的提高等等因素都会降低通讯距离。
【RS485总线的连接方式与终端电阻】RS485工业总线标准要求各设备之间采用手拉手式连接方式,两头必须接有120Ω终端电阻。
顺便说一说对RS485工业总线理解的误区,多少人认为485总线是一种最简单、最稳定、最成熟的工业总线结构。
485总线的部署及安装确实简单,但想要做到稳定,却是要花些功夫的。
485总线是一种用于设备联网的、经济型的、传统的工业总线方式。
其通讯质量需要根据施工经验进行调试和测试采可以得到保证。
485总线虽然简单,但也必须严格按照安装施工规范进行布线。
【RS485总线在现场应用中常见的几种通讯故障】1、完全通讯不上。
485通讯,收到00问题
遇到这个问题,本⼈⼗分困惑。
故搜索于⽹上,回答种种。
耐⼼⼀⼀排查后,找到问题!
查找问题过程:
⼀开始认为是485通讯过程中,有2个同时发送,导致总线数据错乱,故将主机去掉,留下⼏个从机⽤485模块替代主机发送指令,问题依然存在,故不是2个主机同时发送导致的
怀疑是线质量不好,故将线换了⼀遍,问题依然存在
找问题过程中,发现接⼀块ok,接2块问题出现了;于是把第⼆块换了,问题依然存在
⼼态炸裂......
485模块是ok的
从机程序刷成空⽩的,问题依然存在
最终是板⼦120欧电阻问题,每块板⼦上都有120电阻
总线太短,不能接120欧姆终端电阻。
485波特率误差
RS485通信系统中,波特率误差是一个常见问题,它可能会导致通信错误或通信失败。
波特率误差是由于实际波特率与设定波特率之间存在差异所引起的。
这种误差通常是由于硬件或软件问题引起的。
为解决RS485通信系统中的波特率误差问题,可以采取以下几种方法:
1. 使用高精度的波特率发生器,以确保设定的波特率与实际的波特率之间没有误差。
2. 使用自适应波特率算法,该算法可以根据实际情况自动调整波特率,以确保通信的稳定性。
3. 在发送和接收数据时,使用校验位来检查数据是否正确。
如果数据出现错误,则可以通过重新发送数据来解决问题。
4. 在发送和接收数据时,使用错误检测和纠正算法,以确保数据的准确性和完整性。
总之,RS485通信系统中的波特率误差是一个常见问题,但可以通过
使用高精度的波特率发生器、自适应波特率算法、校验位和错误检测和纠正算法等方法来解决。
485通信中如何抗干扰在各种现场中,485总线应用的非常的广泛,但是485总线比较容易出现故障,现在将485总线容易出现故障的情况并且可以排除这些故障的方法罗列如下:1.由于485信号使用的是一对非平衡差分信号,意味485网络中的每一个设备都必须通过一个信号回路连接到地,以减少数据线上的噪音,所以数据线最好由双绞线组成,并且在外面加上屏蔽层作为地线,将485网络中485设备连接起来,并且在一个点可靠接地。
2.在工业现场当中,现场情况非常复杂,各个节点之间存在很高的共模电压,485接口使用的是差分传输方式,有抗共模干扰能力,但是当共模电压大于+12V 或者小于-9V时,超过485接收器的极限接收电压。
接收器就无法工作,甚至可能会烧毁芯片和一起设备。
可以在485总线中使用深圳市富永通科技有限公司的485光隔离中继器,将485信号及电源完全隔离,从而消除共模电压的影响。
3.485总线随着传输距离的延长,会产生回波反射信号,如果485总线的传输距离如果超过100米,建议施工时在485通讯的开始端和结束端120欧姆的终端电阻。
相关接线方法可以参考网页:120欧姆电阻的接法.4.485总线中485节点要尽量减少与主干之间的距离,一般建议485总线采用手牵手的总线拓扑结构。
星型结构会产生反射信号,影响485通信质量。
如果在施工过程中必须要求485节点离485总线主干的距离超过一定距离,使用深圳市富永通科技有限公司的485中继器可以作出一个485总线的分叉。
如果施工过程中要求使用星型拓扑结构,可以使用深圳市富永通科技有限公司的485集线器可以解决这个问题。
5.影响485总线的负载能力的因素:通讯距离,线材的品质,波特率,转换器供电能力,485设备的防雷保护,485芯片的选择。
如果485总线上的485设备比较多的话,建议使用带有电源的485转换器,无源型的485转换器由于时从串口窃电,供电能力不是很足,负载能力不够。
单片机485串口读写冲突单片机485串口读写冲突是指在使用串口进行数据通信时,由于读和写操作同时进行而造成的冲突现象。
这种冲突会导致数据发送或接收不完整,甚至造成通信失败。
在单片机中,485串口通信的读写冲突问题可以通过以下方法解决:1. 采用流程控制:可以通过硬件或软件的方式实现流控制,例如使用硬件流控制的方式,通过控制CTS(Clear To Send)和RTS(Request To Send)信号来进行数据的读写控制。
2. 设置读写优先级:通过设置读写优先级,可以确保在进行数据通信时,读操作和写操作不会同时进行。
可以根据不同的应用场景和需求,设置读写操作的优先级,从而避免冲突。
3. 缓冲区设计:在单片机中,可以通过设置发送缓冲区和接收缓冲区来避免读写冲突。
发送缓冲区用于存储待发送的数据,当串口空闲时,将数据从缓冲区发送出去;接收缓冲区用于存储接收到的数据,当数据接收完成后,再从缓冲区读取。
4. 使用中断:可以使用串口中断来实现数据的读取和写入。
通过设置中断触发条件和中断服务程序,当数据接收完成或发送缓冲区空闲时,触发中断进行相应的读写操作,从而避免读写冲突。
5. 使用互斥锁:可以通过使用互斥锁来实现对串口的互斥访问。
当一个任务正在进行读或写操作时,其他任务需要等待访问权限,从而确保同一时间只有一个任务能够进行读写操作,避免冲突发生。
除了以上的解决方法,还可以通过合理的软件设计和优化算法来尽可能减少读写冲突的发生,例如使用DMA(Direct Memory Access)方式进行数据传输,减轻单片机CPU的负担,提高效率。
另外,在设计和调试过程中,可以使用示波器等工具进行数据监测和分析,找出冲突问题的具体原因,并及时采取相应的措施进行修复。
在实际应用中,针对不同的场景和需求,可能需要结合多种方法来解决读写冲突问题,需要根据具体情况进行选择和调整。
同时,还需要进行充分的测试和验证,确保系统的稳定性和可靠性。
485使用方法一、简介485是一种数据通信协议,常用于工业领域的数据传输。
它是一种串行通信协议,可以在长距离传输数据,具有高可靠性和稳定性。
下面将介绍485的使用方法。
二、硬件连接1. 485通信需要使用特定的硬件设备,包括485转串口模块和串口线。
将485转串口模块的A、B两个端口分别与设备的A、B两个端口相连,然后将485转串口模块的串口口与电脑或其他设备的串口口连接。
2. 注意,485通信是半双工通信,即同一时间只能有一方发送数据。
因此,在多个设备之间进行485通信时,需要在每个设备之间使用终端电阻,以确保数据传输的稳定性。
三、软件设置1. 在电脑上进行485通信,首先需要安装相应的驱动程序。
根据485转串口模块的型号选择合适的驱动程序,并按照说明进行安装。
2. 安装完驱动程序后,打开设备管理器,找到对应的串口口,查看串口的端口号。
3. 在使用485通信的软件中,需要设置串口的参数,包括波特率、数据位、停止位和校验位等。
根据实际情况选择合适的参数,并与485转串口模块的设置保持一致。
四、通信协议1. 在485通信中,数据的传输是基于一种特定的通信协议进行的。
常见的通信协议有MODBUS、Profibus等。
根据实际情况选择合适的通信协议,并在软件中进行配置。
2. 在使用通信协议进行数据传输时,需要根据协议规定的格式进行编写和解析数据。
通常,数据包括起始位、目标地址、功能码、数据内容和校验位等。
五、数据传输1. 在485通信中,数据的传输可以是单向的,也可以是双向的。
单向传输指的是一方发送数据,另一方接收数据;双向传输指的是两方可以同时发送和接收数据。
2. 在使用485进行数据传输时,可以通过发送指令来获取其他设备的数据,也可以通过发送数据来控制其他设备的运行。
3. 在数据传输过程中,需要注意数据的精度和格式,确保数据的准确性和可靠性。
六、常见问题及解决方法1. 数据传输错误:可以检查硬件连接是否正确,检查驱动程序是否安装正确,检查串口参数是否设置正确。
485芯片使用中存在的主要问题:1、当有高频脉冲从RJ45网络接口进入,流向83485芯片时,传输线对高频信号而言就是相当于电感,因此对于高频瞬态干扰,接地线实际等同于开路。
这样的瞬态干扰虽然持续时间短暂,但可能会有成百上千伏的电压,高频脉冲耦合进内部线路对83485芯片和EMP240产生幅度很高的瞬态干扰,将芯片烧坏,严重的甚至把RJ45网络接口座都炸裂。
2、485接口芯片在使用、焊接或设备运输的过程中都有可能受到静电的冲击而损坏。
3、在接到维修工程的时候,工程人员去现场调查维修,就发现很多接口被烧坏很大部分是因为学校的接地线是虚的,使得防范雷击瞬态高压的效果大大降低,当有雷电通过,端口瞬间大电流,使得芯片烧坏,接地处理不当往往会导致电子系统不能稳定工作甚至危及系统安全。
4、83485输出能力有限。
有时应用比较多,485总路线上有可能同时接很多节点,此时差分信号接入口线对外输出电流会比较大,若V485前端供电电路输出不够,也是容易损坏芯片的5、共模干扰:485总线虽采用差分方式传输信号,似乎并不需要相对于某个参照点来判定信号,系统只需检测两线之间的电位差就可以了,但有人往往忽视了任何485接口IC总有一定的共模电压承受范围,如一般的-7~+12V,只有满足这个条件,整个网络才能正常工作。
当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口。
比如当发送器A向接收器B 发送数据时,发送器A的输出共模电压为VOS,由于两个系统具有各自独立的接地系统,存在着地电位差VGPD,那么接收器输入端的共模电压VCM就会达到VCM=VOS+VGPD。
RS-485标准规定VOS≤3V,但VGPD可能会有很大幅度如十几伏甚至上百伏,且可能伴有强干扰(快速波动),致使接收器共模输入超出正常范围并在传输线路上产生干扰电流,轻则影响正常通信,重则损坏通信接口电路。
83485接口电路示意图:图二目前对485接口的保护措施:1、在网络接口RJ45第三脚和第六脚处(即83485芯片的第六第七脚)增加TSS 管,防止瞬间高压产生高电流烧坏83485芯片继而烧坏EMP240芯片。
485总线接口死锁与解决办法Contents一.项目背景 (1)二.死锁产生 (2)三. 死锁检测 (3)1). 查询方式的RS-485总线死锁检测 (3)2) 工作于CSMA/CD方式的RS-485总线死锁检测 (3)四. 死锁的解除 (4)1.有选择性地复位死锁子站电路 (4)2.无选择性地复位所有子站电路 (5)五. 软硬件设计 (5)1)硬件电路 (5)2)软件流程图 (7)六. 总结 (8)七. 参考文献 (9)一.项目背景RS-485总线传送距离远、速度快、抗干扰能力强,是工业现场广泛应用的数字通信标准。
RS-485总线是一种半双工通信标准,支持总线方式多点互连,使其成为集散控制系统和现场总线控制系统中采用最多的通信和组网方法。
采用RS-485总线连接的多个站点,任一时刻只能有一个站点在“说”,其它站点只能处于“听”状态。
如果有多个1个的站点在“说”,数据将在通信总线上碰撞,结果是处于接收状态的站点不能收到正确的数据。
在RS-485总线通信网中,必须控制好每个站点的“听、说”状态,即收发状态,以保证能及时、正确地传输数据。
RS-485总线通信模式由于具有结构简单、价格低廉、通信距离和数据传输速率适当等特点而被广泛应用于仪器仪表、智能化传感器集散控制、楼宇控制、监控报警等领域。
但RS485总线存在自适应、自保护功能脆弱等缺点,如不注意一些细节的处理,常出现通信失败甚至系统瘫痪等故障,因此提高RS-485总线的运行可靠性至关重要。
本文就485总线死锁现象的产生,监测和解决提出一种可行方法。
关键词:RS-485接口死锁检测死锁解除二.死锁产生图1是最常见的RS-485接口。
在接收方式时,A、B为输入,R为输出;在发送方式时,D为输入,A、B为输出。
DE 驱动器输出使能。
DE变为高电平时,驱动器输出A与B有效;当DE为低电平时,驱动器输出为高阻状态。
当驱动器输出有效时,器件被用作线驱动器。
而高阻状态下,若RE为低电平,则器件被用作线接收器。
CPU之间RS485通讯传输模拟量数据丢失原因一、引言CPU之间的通讯传输一直是工业自动化领域中的一个重要问题。
其中,RS485通讯作为一种常用的数据传输方式,应用广泛。
然而,有时候在RS485通讯中会出现模拟量数据丢失的情况,这给工业控制系统带来了一定的困扰。
本文将对CPU之间RS485通讯传输模拟量数据丢失的原因进行深入探讨,并提出解决方案,以期帮助读者更好地理解和解决这一问题。
二、RS485通讯介绍1. RS485通讯基本原理RS485通讯是一种串行通讯方式,它具有高抗干扰能力和远距离传输的特点,因此被广泛应用于工业现场。
RS485通讯使用差分传输方式,能够有效抵抗电磁干扰和噪声干扰,具有较高的通讯稳定性和可靠性。
2. RS485通讯连接方式在工业控制系统中,通常会采用RS485总线连接多个设备,实现设备之间的数据通讯。
每个设备都有自己的位置区域,通过位置区域识别和数据传输,实现设备之间的通讯。
三、CPU之间RS485通讯传输模拟量数据丢失原因1. 通讯线路故障RS485通讯需要较长的通讯线路,通讯线路故障是导致模拟量数据丢失的主要原因之一。
传输线路中存在接地不良、接线松动、线路短路等问题,都会导致数据传输不稳定,进而导致模拟量数据丢失。
2. 数据传输速率不匹配在RS485通讯中,不同设备之间的数据传输速率需要匹配。
如果某个CPU的数据传输速率与其他CPU不一致,就会导致数据传输不稳定,从而导致模拟量数据丢失。
3. 数据处理不及时当CPU收到数据后,需要及时进行处理和响应,如果CPU的处理能力不足,就会导致数据处理不及时,从而导致模拟量数据丢失。
4. 环境干扰工业现场通常存在较多的电磁干扰和噪声干扰,这些干扰会干扰RS485通讯信号的传输,导致模拟量数据丢失。
四、解决方案1. 加强线路维护对于RS485通讯线路,需要加强维护,及时发现并排除通讯线路故障,以保证数据传输稳定。
2. 统一数据传输速率在RS485通讯中,需要统一所有设备之间的数据传输速率,确保数据传输的稳定性和可靠性。
485隔离模块应用遇到问题无法解决?一、引言在使用总线通讯模块时,工程师常常会遇到产品失效的情况,无法找到对应的解决方案。
本文将对隔离收发模块应用时可能遇到的常见问题进行梳理,进行原因分析并提供对应解决方案。
二、485通讯总线架构组成在分析问题原因、确定解决方案之前,首先需要对产品的架构组成具备一定的了解。
以隔离485通讯模块为例,产品可以分为以下三个部分。
三、如何测试485通讯模块?在遇到失效情况时,首先需要对产品进行测试,以下为常见测试排查问题的方法:1)输入端:测试VCC输入电压是否正确,测试RE/DE/TXD/RXD 电压/阻抗是否正确。
2)输出端:测试Viso输出电压是否正确,测试AB引脚对地阻抗/电平是否正确。
3)信号传输:给TXD信号,测试TXD引脚电平/AB差分电平是否正确及传输波形是否有失真、干扰等。
4)给AB差分信号,测试AB引脚电平/RXD输出是否正确及传输波形是否有失真、干扰等。
此外,不具备搭建单体测试环境时,直接用万用表、示波器在整机上测试也可达到类似测试效果,注意测试时尽量接近产品引脚位置测试。
如下是正常485收发的实测通信较好的波形可做参考对比。
四、常见的典型问题与解决对策根据测试排查到具体问题的位置后,可参考以下对应解决方案。
五、小结选择成熟稳定的品牌产品,可以规避质量风险;选择合适的产品型号、应用更匹配,可以规避应用短板。
金升阳在工业隔离总线485/CAN/232收发产品上有着完善的布局,目前已发展到R5系列,产品体积符合RoHS标准--芯片级SOIC封装,在芯片内部集成了电源隔离+信号隔离方案,同步也对外提供自主研发的IC配套方案。
金升阳信号通讯模块发展历程金升阳隔离收发模块及IC有成熟的方案,在生产工艺、质量管控上,销售业务、技术支持服务周到,为客户提供一站式电源及信号接口解决方案。
在实际工业和仪器仪表(I&I)应用中,RS-485接口链路需要在恶劣电磁环境下工作。
雷击、静电放电和其他电磁现象引起的大瞬变电压可能损坏通信端口。
为了确保这些数据端口能够在最终安装环境中正常工作,它们必须符合某些电磁兼容性(EMC )法规。
这些要求包括三个主要瞬变抗扰度标准:静电放电、电快速瞬变和电涌。
许多EMC问题并不简单或明显,因此必须在产生设计开始时予以考虑。
如果把这些问题留到设计周期后期去解决,可能导致工程预算和计划超限。
本文介绍各主要瞬变类型,并针对RS-485通信端口的三种不同成本/保护级别,提出并演示三种不同的EMC兼容解决方案。
ADI公司和Bourns, Inc.携手合作,共同开发了业界首个EMC兼容RS-485接口设计工具,提供针对IEC 61000-4-2 ESD、IEC 61000-4-4 EFT和IEC 61000-4-5电涌的四级保护,从而扩展面向系统的解决方案组合。
它根据所需保护级别和可用预算为设计人员提供相应的设计选项。
借助这些设计工具,设计人员可在设计周期之初考虑EMC问题,从而降低该问题导致的项目延误风险。
RS-485标准工业与仪器仪表(I&I)应用常常需要在距离很远的多个系统之间传输数据。
RS-485电气标准是I&I应用中使用最广泛的物理层规范之一,I&I应用包括:工业自动化、过程控制、电机控制和运动控制、远程终端、楼宇自动化(暖通空调HVAC等)、安保系统和再生能源等。
使RS-485成为I&I通信应用理想之选的一些关键特性如下:●长距离链路--最长4000英尺●可在一对绞线电缆上双向通信●差分传输可提高共模噪声抗扰度,减少噪声辐射●可将多个驱动器和接收器连接至同一总线●宽共模范围(-7 V至+12 V)允许驱动器与接收器之间存在地电位差异●TIA/EIA-485-A允许数据速率达到数十MbpsTIA/EIA-485-A描述RS-485接口的物理层,通常与Profibus、Interbus、Modbus或BACnet等更高层协议配合使用,能够在相对较长的距离内实现稳定的数据传输。
1. MAX488/MAX490在点对点通信中工作很正常,为何在点对多点通信时无法正常通信?因为MAX488/MAX490没有发送使能控制,所以其输出无法处于高阻态,当多个输出被连接在一起时(即点对多点通信时),差分输出信号线被多个发送器驱动(通常为TXD=1对应电平状态);当某个节点开始通信,且发送TXD=0对应差分电平时,A,B两线上将形成很大短路电流,若长时间工作,则接口芯片将损坏;而这种情况不会在点对点通信中发生,且不会出现在点对多点通信中处于点一方,这也是象MAX488/MAX490和其它部分没有发送使能控制接口适用范围。
以上是造成这个问题原因,当然,类似情况也会出现在那些带使能控制而软件没有编程控制使能接口芯片中。
2. RS-485/RS-422接口为何在停止通信时接收器仍有数据输出?
因为RS-485/RS-422在发送数据完成后,要求全部发送使能控制信号关闭且保持接收使能有效,此时,总线驱动器进入高阻状态且接收器能够监测总线上是否有新通信数据。
不过因为此时总线处于无源驱动状态(若总线有终端匹配电阻时,A和B线差分电平为0,接收器输出不确定,且对AB线上差分信号改变很敏感;若无终端匹配,则总线处于高阻态,接收器输出不确定),轻易受到外界噪声干扰。
当噪声电压超出输入信号门限时(经典值±200mV),接收器将输出数据,造成对应UART接收无效数据,使紧接着正常通讯犯错;另外一个情况可能发生在打开/关闭发送使能控制瞬间,使接收器输出信号,也会造成UART 错误地接收。
处理方法:1)在通讯总线上采取同相输入端上拉(A线)、反相输入端下拉(B 线)方法对总线进行钳位,确保接收器输出为固定“1”电平;2)采取内置防故障模式MAX308x系列接口产品替换该接口电路;3)经过软件方法消除,即在通信数据包内增加2-5个起始同时字节,只有在满足同时头后才开始真正数据通讯。
3. 采取RS-485/RS422接口通讯时,在什么条件下需要采取终端匹配?电阻值怎样确定?怎样配置终端匹配电阻?
在长线信号传输时,通常为了避免信号反射和回波,需要在接收端接入终端匹配电阻。
其终端匹配电阻值取决于电缆阻抗特征,和电缆长度无关。
RS-485/RS-422通常采取双绞线(屏蔽或非屏蔽)连接,终端电阻通常介于100至140Ω之间,经典值为120Ω。
在实际配置时,
在电缆两个终端节点上,即最近端和最远端,各接入一个终端电阻,而处于中间部分节点则不能接入终端电阻,不然将造成通讯犯错。
4.为何在RS-485/RS-422组成通信网络中,传输数据包时常常出现多出一个数据或少一个数据现象?
通常在点-多点通信系统中会常常出现这个问题, 归纳出现原因大致以下:
1) 在半双工通信中,通常能够经过严禁RS-485收发器接收使能或UART内部接收使能,以确保不出现自发自收,进而降低CPU开销。
当数据发送完成后,RS-485接收器和内部UART 将回到许可接收状态而发送器将关闭,在此状态切换过程中,可能出现RS-485接收器输出低电平跳变,而此时UART已经许可接收,从而造成多接收一个字节。
正确处理方法应该为:从接收状态向发送状态转换时,先严禁内部UART接收使能,再打开接口发送器使能,然后,许可内部UART发送使能,开始发送数据;从发送状态向接收状态转换时,先严禁内部UART发送使能,再关闭接口发送使能(假如接口接收使能被严禁,则紧跟着打开接口接收使能),在延时2至4个NOP指令后,才打开内部UART接收使能。
2)对于大多数UART来说,内部发送缓冲器"空"会产生中止或置对应标志位,但此时数据不一定真发送完成,因为数据有可能还在输出移位寄存器中。
假如仅靠发送缓冲状态来判定一包数据是否发送完成,从而决定是否关闭内部UART发送使能和接口发送使能,则这个数据包最终一个字节将不会发送到总线上,以致对方会少接收一个字节。
这类问题会出现在MAX3100、MAX3140和PIC系列单片机等类似情况UART中,请用户应用中注意这类问题。
5.MAX232/MAX202接口输出电平为何比计算机输出RS-232电平低?
答:因为计算机内部RS-232接口多数采取±12V供电接口芯片,而MAX232/MAX202及其它多数MaximRS-232接口全部是采取单电源(+3.3V或+5V)供电,由内部电荷泵电路(倍压和倍压反相两种方法)产生接口所需电源,这么就简化了电源设计。
因为工作在倍压和倍压反相电荷泵输出电压最高为±2×Vin(空载时),且带载能力有限,不管怎样,多数Maxim
接口驱动器还是能够确保幅值在±5V以上,以满足RS-232接口端±3V接收门限值。