科技信息
计算机与网络
RS485远程通信电路系统设计
广西大学电气工程学院广西玉林师范学院余旺新
[摘要]RS485采用平衡发送和差分接收,具有抑制共模干扰的能力。加上总线收发器具有高灵敏度,能检测低至200mV的电压, 故传输信号能在千米以外得到恢复。 [关键词]RS485串行通信VB
随着现代计算机通信技术的发展,远距离串行数据通信和远程控 制的可靠性显得越来越重要。而RS485接口是采用平衡驱动器和差分 接收器的组合,抗共模干扰能力增强,即抗噪声干扰性好,且传输速度 快,适合远距离传输。
由于RS485已广泛地应用于PC机与前端设备的远距离串行通信, 故在物理链路的接口电路方面,已存在各种电气转换接口(如232/485转 换,USB/485转换等)。对于RS232/RS485转换接口,已广泛地应用于 RS232接口的设备与RS485接口的设备及RS485总线远程通信。并且出 现了RS485工作站,如图1所示。在整个工作站中,只要终端设备具有 共同收与发的协议,中间的区别只是设备地址不同的话,那任意一个终 端设备都可以对其他终端设备进行操作。由于232是点对点的通信,不 能实现多机之间互相通信,而485就可以实现多机通信,因此,越来越 被多数工程师所采用。
图1485工作站布线示意图
1.RS485远程通信系统概述
RS485远程通信系统主要由PC机(上位机)、转换接口电路(这里指232/485转换电路)、485总线(双绞线)、485/232转换电路或者485/TTL 转换电路、终端设备(各种监控、采集或信息交换系统等)和485集线器 六大部分构成。这六大部分相互联系,缺一不可,共同完成数据的通信。 系统基本组成如图2所示。
图2485通信系统基本组成图
以PC机及其兼容机作为系统的主控微机(MASTER),用于接收用 户的输入信息并向终端设备发送数据或接受终端设备返回的数据信息 并传递给用户。整个系统的通信部分分为两个模块:232/485转换接口 电路用来进行通信标准的转换即把RS232总线标准与RS485总线标 准相互转换。通信电路II用来将RS485总线标准的数据与TTL标准的 数据相互转换,且与终端设备进行数据传递。
2.RS485通信接口电路的设计
2.1电路设计方案
采用零延时的自动收发转换的RS485接口电路。此方法使得接口 电路能自动识别和控制发送和接收状态,减少了对额外控制器的需要。 并且在RS485总线上不会出现像直接式的自动收发转换接口电路(如图 3所示)那样的上升沿延时,即零延时。因此我们设计一个零延时的自 动收发转换的RS485/TTL接口电路,适用于主从式的网络结构。
图3直接式的自动收发转换RS485接口电路
2.2具体电路实现
零延时RS485接口电路主要采用74HCl4和电路中的电阻、电容等 元件构成一个延时很短的电路,再加上MAX485半双工RS485接口芯 片,如图4所示。根据系统所确定的传输速度来选择R3和C0参数,以达 到零延时。传输速度越高,延时越小。这里选择R3=22kΩ,C0=1000pF。
图4零延时的自动收发转换RS485接口电路
2.3电路原理分析
发送器在发送高电平的时候,在短延时内不再是处于高阻状态,仍
有驱动电流存在,这样在一定程度上可以增加接口的抗干扰能力。
对于接收器,当VID=VA-VR≥-0.01V时,R0=1;在发送端,当 DE/RE=0,发送驱动器的A和B都是高阻态,此时VA-VB=3.3V,因此, 这时对于接收端R0=1;而在短延时的时间内,由于DI=1且DE/RE=1, 所以R0=1。可见在短延时和DE/RE=0的时间内接收端R0=1,这样就完 成了对高电平的发送和接收,而且在接收端的上升沿不会有延迟,即零 延时。
2.4具体接口电路实现
图5RS485/RS232转换接口电路
621——
科技信息
计算机与网络
RS232与RS485的互转过程,可以把TTL作为中间桥梁,即先把 RS232转为TTL,再把TTL转为RS485,或者逆过来。由此我们可以在 上述的232/TTL转换接口电路的基础上加上RS232/TTL转换接口电 路,便形成232/485转换接口电路。
具体电路如图5所示,RS232/RS485转换器主要包括了电源、232 电平转换、485电路三部分。电路的232电平转换电路直接使用 MAX232集成电路,485电路采用了MAX485集成电路。实际应用环境 下还是存在高频瞬态干扰的可能。一般在切换大功率感性负载如电机、 变压器、继电器等或闪电过程中都会产生幅度很高的瞬态干扰,如果不 加以适当防护就会损坏RS485通信接口和PC机。对于这种瞬态干扰 可以采用隔离或旁路的方法加以防护。为适应这种恶劣环境,还加入了 隔离保护功能。MAX232与MAX485之间的数据通信及控制信号通过 PC817达到光电隔离,而两者之间的供电通过5S5/A100来达到DC-DC 的直流电源隔离。这种方案实际上将瞬态高压转移到隔离接口中的电 隔离层上,由于隔离层的高绝缘电阻,不会产生损害性的浪涌电流,起 到保护接口的作用。因此可以承受高电压、持续时间较长的瞬态干扰, 实现起来也比较容易。
3.通信软件设计 3.1通信协议
采用9600bps的波特率,固定长度帧结构,帧长度10字节。帧信息 定义如下:帧头(0x550xAA)、命令(1字节)、数据(4字节)、从机地址(2字 节)、校验(1字节)。
在通信协议中采用帧校验和帧超时,以达到软件抗干扰的目的。
①帧校验:采用累加和校验。在发送时,把帧头、命令、数据、从机地址几个域相加并取最低字节填充到校验域。如果节点不处于接收状态, 则启动发送,否则等待;如果在未超时,并完整地接收到10字节时,把 帧头、命令、数据、从机地址几个域相加,并与校验域比较,相同表示成 功接收到1帧数据。
②帧超时:帧超时定义是,在接收到第一个字节时,进入接收状态, 并设置8ms定时,以后每接收到一个字节,重置8ms定时。正常情况下, 接收一个字节约1ms时间。如果超过8ms,则退出接收状态,丢弃当前 接收帧,回到空闲状态,等待下一帧的接收。
在程序设计中,帧超时的定义与程序的架构和波特率有关,原则上 只要大于1个字节的接收时间就可以了。这里选择8ms与程序的架构 有关。
3.2上位机通信软件设计
我们在PC机中采用VisualBasic(VB)编写通信程序和接口。VB支 持面向对象的程序的设计,具有结构化的事件驱动编程模式,而且可以 十分简单地做出良好的人机界面。
VB通信控件设计程序如下: /*串口初始化*/
Globalcomm_timeAsInteger Globaldata(1000)AsInteger GlobalReceive(1000)AsInteger PrivateSubForm_Load() Comml.CommPort=1^设置串口1
Comml.Settings=\波特率:9600,奇校验,8位数据,1 620页) 内打上网格,空间的网格点上对应于一个状态,人工 蚂蚁在各个空间网格之间移动,根据各网格的目标函数值,留下不同的 信息量,以此影响下一批蚂蚁的移动方向。循环一段时间后,目标函数 值小的网格点信息量进行比较,根据信息量,找出信息量大的空间网格 点,缩小变量范围,在此点附近进行蚁群移动,重复前述过程,直到网格 的间距小于预先给定的精度,算法终止。
5.总结与展望 蚁群算法问世至今,其理论和应用都有了很大的进步,它从最初的 求解旅行商问题,现在已逐步发展为一个优化工具,并成功地应用到了 科学的各个领域。蚁群算法优化过程的本质在于:(1)选择机制。信息量 越大的路径,被选择的概率越大;(2)更新机制。路径上面的信息量会随 蚂蚁的经过而增长,同时也随着时间的推移逐渐减小;(3)协调机制。蚂 蚁之间实际上是通过信息量来互相通信、协同工作的。这样的机制使得 蚁群算法具有很强的发现较好解的能力。
虽然蚁群算法有如上优点,但它毕竟是一种新兴的算法,还存在一 些缺陷,如收敛速度慢、计算时间长等等,这点可以从算法的复杂度看
622——
位停止位
Comml.InputLen=0^读取接收缓冲区的所有字符 Comml.InBufferSize=256^设置接收缓冲区为256字节 Comml.OutBufferSize=256^设置发送缓冲区为256字节 Comml.PortOpen=True^打开串口1
Comml.Sthreshold=1^发送缓冲区空触发发送事件 Comml.RThreshold=1^每一个字符到接收缓冲区都^触 发接收事件
EndSub/*发送n个数据*/ PublicSubsend-data() Fori=0Ton
Comml.0utput=Chr(data(i)) Nexti
EndSub/*接收数据并触发OnComm()事 件*/
PublicSubComml_OnComm()
SelectCaseComml.CommEvent^在CommEvent中接收数据 CasecomEvReceive
Beoeive(oomm_time)=Aao(Comml.Input) Comm_time=comm_time+1 EndSelect
EndSub
4.小结
RS485远程通信系统主要适用于主从网络结构。在该通信系统中, 接口电路主要有RS485/RS232转换接口和RS485/TTL转换接口。且接 口电路的设计要与通信协议及接口驱动软件相适应,比如在零延时的 RS485/TTL转换电路中,电阻、电容构成的短延时电路的RC时间常数 应与通信系统的波特率相适应。由于RS485只对通信接口的电器特性 进行定义,而不涉及接插件、电缆或协议,在此基础上设计的RS485通 信系统中已建立自己的高层通信协议,采用了隔离技术进行保护,进一 步提高了通信的稳定度和可靠性。
参考文献
[1]甘早斌.LED图文实时显示系统的设计[J].计算机工程与应用,1999.3.
[2]NIHaiyan,HUChao,MAChangwang.Researchona485-serial networkarchitectureinintelligentuptownmanagement[C].Proc2006IEEE ConfonMechatronicsandAutomation.Luoyang:IEEEPress,2006. [3]田拥军,赵光强,曾健平.基于RS485总线技术的PC机与单片机 多机通讯[J].湖工程学院学报(自然科学版),2007,(02).
[4]蔡莉,卢珞先.RS-485通信与CAN总线的接口设计[J].武汉理 工大学学报(信息与管理工程版),2002,(01).
[5]刘钟宇,王雪峰,栾兰.RS485/232电平转换器电路研制[J].中国 期刊全文数据库,2008,3.
[6]周凯,郭黎利.基于MAX485实现PC机与单片机通信的程序设 计[J].信息技术,2005,(04).
出,易于过早的陷入局部最优,出现停滞现象,即搜索进行到一定程度 后,所有个体所发现的解完全一致,不利于对解空间进一步搜索,以发 现更好的解;在求解连续优化问题上相对比较弱等等。而这些问题将是 我们下一步需要重点研究和解决的。
参考文献
[1]倪庆剑,邢汉承等.蚁群算法及其应用研究进展.计算机应用与软 件,2008,8.
[2]包丹丹,汪红.群智能蚁群算法及其改进策略研究.人工智能及识 别技术.
[3]曹天柱,李珊君,任瑞玲.基于群集智能的MANET路由算法.四 川大学学报(工程科学版),2004,36(1):102-105.
[4]谢政.网络算法与复杂性理论第二版.长沙:国防科技大学出版 社,2003.
[5]周正,刘泽民.智能蚂蚁算法及其在电信网动态路由优化中的应 用.电信科学,1998,(11).
(上接第