485通讯简介

一、关于485总线的几个概念:



1、485总线的通讯距离可以达到1200米。


根据485总线结构理论,在理想环境的前提下,485总线传输距离可以达到1200米。其条件是通讯线材优质达标,波特率为9600,只负载一台485设备,才能使得通讯距离达到1200米,所以通常485总线实际的稳定的通讯距离往往达不到1200米。如果负载485设备多,线材阻抗不合乎标准,线径过细,转换器品质不良,设备防雷保护复杂和波特率的提高等等因素都会降低通讯距离。


2、485总线可以带128台设备进行通讯。


其实并不是所有485转换器都能够带128台设备的,要根据485转换器内芯片的型号和485设备芯片的型号来判断,只能按照指标较低的芯片来确定其负载能力。一般485芯片负载能力有三个级别――32台、128台和256台。。此外理论上的标称往往实际上是达不到的,通讯距离越长、波特率越高、线径越细、线材质量越差、转换器品质越差、转换器电能供应不足(无源转换器)、防雷保护越强,这些都会降低真实负载数量。


3、485总线是一种最简单、最稳定、最成熟的工业总线结构


这种概念是错误的。485总线是一种用于设备联网的、经济型的、传统的工业总线方式。。其通讯质量需要根据施工经验进行调试和测试采可以得到保证。485总线虽然简单,但也必须严格按照安装施工规范进行布线。


二、必须严格按照施工规范施工


在485总线系统施工时必须严格按照施工规范施工,特别应注意下面几点。


1、485+和485-数据线一定要互为双绞。
2、布线一定要布多股屏蔽双绞线。多股是为了备用,屏蔽是为了便于出现特殊情况时调试,双绞是因为485通讯采用差模通讯原理,双绞的抗干扰性较好。不采用双绞线是错误的。
3、485总线一定要用手牵手式的总线结构,坚决避免星型连接和分叉连接。
4、设备供电的交流电及机箱一定要真实接地,而且接地良好。有很多地方表面上有三角插座,其实根本没有接地,接地良好可以防止设备被雷击、浪涌冲击。静电累积时可以配合设备的防雷设计较好地释放能量,保护485总线设备和相关芯片不受伤害。
5、为避免强电对其干扰,485总线应避免和强电走在一起。


三、推荐几种调试方法:



在调试前首先要确保设备接线正确,且施工合乎规范。可以根据遇到的问题采用下面几种调试方法。


1、共地法: 用1条线或者屏蔽线将所有485设备的GND地连接起来,这样可以避免所有设备之间存在影响通讯的电势差。
2、终端电阻法: 在最后一台485设备的485+和485-上并接120欧姆的终端电阻来改善通讯质量。
3、中间分段

断开法: 通过从中间断开来检查是否设备负载过多、通讯距离过长、某台设备对整个通讯线路的影响等。
4、单独拉线法: 单独简易拉一条线到设备,这样可以用来排除是否是布线引起了通讯故障。
5、更换转换器法: 随身携带几个转换器,这样可以排除是否是转换器质量问题影响了通讯质量。
6、笔记本调试法: 先保证自己随身携带的电脑笔记本是通讯正常的设备,用它来替换客户电脑进行通讯,如果正常,则表明客户的电脑的串口有可能被损害或者受伤。


四、建议和忠告


采用485总线结构常见的几种通讯故障有下面几种。


1、通讯不上,无反应。
2、可以上传数据,但不可以下载数据。
3、通讯时系统提示受到干扰,或者不通讯时通讯指示灯也不停地闪烁。
4、有时能通讯上,有时通讯不上,有的指令可以通,有的指令不可以通。
为减少通信故障提出下面几条建议和忠告供参考。
1、建议用户使用和购买门禁厂家提供的485转换器或者厂家指定推荐品牌的485转换器。
2、门禁厂家会对与其配套的485转换器做大量的测试工作,并且会要求485转换器生产厂家按照其固定的性能参数进行生产和品质检测,所以它与门禁设备具备较好的兼容性。千万不要贪图便宜购买杂牌厂家的485转换器。
3、严格按照485总线的施工规范进行施工,杜绝任何侥幸心理。
4、对线路较长、负载较多的485总线工程采用科学的、有预留的解决方案。
5、如果通讯距离过长, 如超500米,建议采用中继器或485HUB来解决。
6、如果负载数过多,如一条总线上超过30台,建议采用485HUB来解决问题。
7、现场调试带齐调试设备。现场调试一定要随身携带几个可以接长距离和多负载的转换器、一台常用的电脑笔记本、测试通路断路的万用表,几个120欧姆的终端电阻。














提高RS485总线通信速度的一种设计



引言


工业现场经常要采集多点数据,模拟信号或开关信号,一般用到RS485总线,使用一主带多从的通信方式,该种方式接线方便只需要两根屏蔽电缆线,通信距离远最大可支持1500m,加深圳市天地华杰公司的中继器(TD-109)还可延长通信距离,采用差分信号方式抗电磁干扰好。但该方式通信速度不能太快,一般采用主从召唤的方式采集各子单元的数据,即主单元依次召唤各子单元(见图1),召唤到哪个单元哪个单元上传数据,总线的使用权完全由主单元分配,各子单元不能擅自占领总线。如果系统的单元多,主单元循环采集一周的时间就很长,子单元信息变化时不能及时发送给主单元,导致系统对突变事件的反应处理速度慢。本文

通过总线状态检测、从机主动上发的方式解决。






图1 常规RS485总线主从方式接口图



硬件设计


整个系统由主单元和多个子单元组成(图2),主单元包括:ARM7微控制器、程序存储器、数据存储器、与子单元通信RS485、与主单元通信RS485、系统电源和通信隔离电源;子单元包括:MSP430单片机、与子单元通信RS485、系统电源和通信隔离电源。






图2 系统框图



主单元


ARM微控制器是主单元的核心,采用三星32位ARM7TDMI内核芯片S3C44B0,该芯片最高处理速度可达76MHZ,总线开放,可外扩程序存储器FLASH和数据存储器SDRAM,该系统外扩了SST公司生产的39VF1601和现代生产的HY57V641620HG,2个UART串行接口,使用ADI的隔离RS485芯片ADM2483进行接口电平转换,总线状态检测使用74HC125三态门芯片。



子单元


子单元的微控制器使用TI的MSP430F133单片机,该单片机处理速度可达8MHz,8K字节片内FLASH存储,256K字节片内SRAM。



电源电路


电源电路采用开关电源供电,开关电源输入电压范围比较宽,输出直流电压5V,通过SP1117-3.3和SP1117-2.5芯片输出3.3V电源。RS485需要的隔离5V电源通过DC-DC模块得到。



总线检测电路


总线状态检测使用74HC125三态门芯片和单片机的两个I/O(图3),当系统都不使用总线时,每个单元的74HC125都输出高阻状态,此时总线为低电平,当有单元要使用总线时,他首先检测总线状态,如果总线为低电平,该单元迅速把74HC125改为输出状态,此时总线变为高电平,该单元占领总线,往总线上发送数据,发送数据完成再把74HC125改为高阻状态。如果检测到总线是高电平,等待检测,直到总线变低后再占领总线。






图3 总线检测电路



隔离485电路


使用ADI的ADM2483芯片进行接口电平转换(图4),该芯片属于隔离485,双电源供电输入输出隔离。






图4 隔离485电路



软件设计


主机程序部分需要实现各从机上传数据的接收、处理和上传。主机接收子单元信息通过一个RS485串口实现,数据格式为16进制,数据位8位,1 个起始位,1个结束位,无寄偶校验位,波特率9600bps。采用串行口中断的方式接收,主机程序初始化完成后等待各从机发送信息,当主机接收到第一个字节后,判断该字节是否为设备号,如果不是设备号,接收个数清零,如果是设备号继续接收第二个字节;判定第二个字节是否为正确的功能码,如果功能码错误,接收个数清零重新接收,功能码正确;接收第三个字节,该字节为从单元发送信息的字节个数x,计算从单元发送总字节个

数为M=X+3+2,3个开头字节和2个 CRC校验码,主机接收到M个字节后,首先判断CRC校验码是否正确,错误舍弃所有信息,正确则把从单元的信息保存到数据区,该次接收结束,主机继续等待接收。



信息的上传通过一个RS232串口实现。当主机接收到从机信息后,进行数据的处理,发现从单元信息发生变化,主机准备把从机信息发送到上位机,首先重新初始化发送缓冲区,然后通过中断的方式依次发送信息到上位机,发送信息包括设备号、功能码、发送字节个数、信息字节和CRC校验码。



主机单元接收数据流程图示于图5。






图5 程序流程图



结语


徐龙辉所设计的系统实现了开关信号的多点监测,一个主机单元,32个从机单元,每个从机单元监测32个开关,该系统共可监测1024个开关,使用 9600bps的波特率。采用主从召换的方式,开关信号监测的反应时间一般要用20-30s,使用该种总线检测的方式,开关信号的反应速度最慢也不超过 1s,快时只有几百ms,大大提高反应时间,并且由于不用时时召唤,总线数据流少,提高了总线的稳定性。











相关文档
最新文档