引言
目前,现场总线技术在数据采集与监控系统(SCADA)、工业控制、楼宇自动化、智能交通等领域得到了广泛的应用。作为目前流行的现场总线技术之一Lonworks,以其突出的特点在国内的应用也越来越广泛。本文通过Lonworks技术和无线通信的有机结合,设计并实现了一种功能较强、可扩展性好、安装方便的数据采集与监控系统。
系统总体结构设计
根据数据采集与监控系统的要求、Lonworks现场总线技术的特点以及数据采集与监控节点的现场环境,系统选用三级通信结构(如图1示)。根据需要本设计采用Lonworks网络作为整个系统的主要通信方式之一,来组建整个SCADA系统。第一级通信出现在上位管理计算机与Lonworks网络之间。实现二者之间的通信方式有多种,但是考虑到现成设备的高昂价格,本设计利用自行设计开发的LON—PC机ISA接口卡来实现上位管理计算机与Lonworks网络之间的数据交换;第二级通信实现Lonworks网络上智能节点之间的信息交互;第三级通信网络是实现现场信息无线采集的关键。现场采集信息传递到Lonworks网络有两种不同的方式,一种是直接利用Lonworks智能节点进行现场信息的采集,还有一种是通过无线通信将现场采集信息传送至Lonworks网络,这是本文讨论的重点。
系统的总体结构主要由以下几部分组成:主控机,LON—PC机ISA接口卡,Lonworks无线通信模块,单片机数据采集模块,Lonworks数据采集控制模块。总体结构框图如图1所示。
为了实现人机界面,并通过LON—PC机ISA接口卡向Lonworks总线上的其他模块(Lonworks无线通信模块或Lonworks数据采集控制模块)发送控制命令或接收来自这些模块转发的采集数据,系统设计采用VC++开发了一套简单实用的管理软件。该软件可以方便的对LON—PC机ISA接口卡进行读写操作,并将所得数据在界面进行显示的同时进行存储。
LON—PC机ISA接口卡的设计,采用IDT7024双口RAM来实现Lonworks神经元芯片与计算机ISA端口之间的数据交换。
现场采集信息的无线传输是通过为Lonworks智能节点和单片机数据采集模块分别添加设计nRF401无线通信电路来实现的。后面将对这两部分电路的设计进行详细介绍。
Lonworks无线通信模块主要接收总线上来自主控机的控制命令,通过射频通信控制数据采集模块进行数据采集或发送控制信号,并将来自采集模块的数据转发至Lonworks总线上。
现场信息的采集主要由Lonworks数据采集控制模块和单片机数据采集模块完成。Lonworks数据采集控制模块直接接收总线上来自主控机的控制命令,并按命令进行数据采集、转发(转发至Lonworks总线)或对现场执行机构发送控制命令。而单片机数据采集模块则通过射频通信接收控制命令,并依据命令内容完成数据采集、转发(通过射频无线通信)或对现场执行机构发送控制命令等功能。
系统无线通信的设计与实现
无线通信的实现是整个系统设计的关键。本系统分别为Lonworks智能节点和现场单片机数据采集模块设计添加了无线通信接口以完成此部分功能,具体设计如图2所示。
Lonworks无线通信模块设计
Lonworks无线通信模块电路中FT3150芯片定义IO8、IO10为异步串行对象,用来接收和发送来自nRF401的数据。IO1~IO3作为通信的控制端。
数据采集模块的硬件框图如图3所示。AT89C52单片机也通过异步串口与nRF401通信,并用P1.1、P1.2、P1.3口作为通信的控制端。
在nRF401芯片使用时,设定好工作频率,进入正常工作状态后,通信控制器根据需要进行收发转换控制,发送/接收数据或进行状态转换。
无线通信电路设计时应注意以下问题:通信的可靠性、抗干扰性是无线通信电路设计所要解决的主要问题。因而需对整个电路的PCB设计进行全局考虑。整个PCB板采用4层电路板设计,增加电源层和地层,并在上、下表面进行敷铜处理,以提高整个电路的抗干扰性。模拟部分与数字部分电路尽量分开;采用特性较好的钽电容组成LC滤波电路,对nRF401的VCC进行专门的滤波处理;nRF401和主控制芯片共用晶振,因而要十分注意晶振电路的走线,尽可能的短并远离数据线、控制线;无线射频电路的所有元件以nRF401为中心并紧靠其摆放,其中VCO电感的布局对通信效果有着明显的影响,匹配网络的元器件最好靠近nRF401的ANT1和ANT2,以减小杂散电感和杂散电容;最后,系统还采用了高增益天线来提高通信的距离。
系统软件设计
整个系统的软件部分主要分为四大部分:主控机上位机软件、LON—PC机ISA接口卡程序、Lonworks无线通信模块程序以及数据采集模块程序。
上位机软件采用VC++语言编写,主要完成通过人机界面的设计,从ISA口接收采集数据或发送控制命令。LON—PC机ISA接口卡程序采用Neuron C并口编程,从而实现FT3150与ISA总线上的数据交换。下面主要对系统无线通信部分程序进行详细的介绍。
无线通信程序设计
在设计程序时,要注意各状态转换的时延。nRF401的通讯速率最高为20kbit/s,发送数据之前需将电路置于发射模式;接收模式转换为发射模式的转换时间至少为1ms;可以发送任意长度的数据;发射模式转换为接收模式的转换时间至少为3ms。在待机模式时,电路不接收和发射数据。待机模式转换为发射模式的转换时间至少为4ms;待机模式转换为接收模式的转换时间至少为5.0ms。
Lonworks 无线通信模块程序采用Neuron C语言编写,程序运行采用事件触发方式。通过网络变量把节点间数据的共享变为简单的网络变量连接。本系统采集模块采用中断方式实现串口通信,以提高效率。单片机串口中断服务程序流程和Lonworks 无线通信模块的通信流程图分别如图4、5所示。
软件编程应注意的问题
首先,为了保证nRF401的正常工作,软件上应当注意在控制nRF401进行状态转换时进行适当的延时处理,因此单片机程序中需分别设计相应的延时函数。而在FT3150中通过调用DELAY()函数便可进行适当的延时。
其次,为了保证通信的可靠性,通信协议应在软件实现上对传输的数据进行相应的编码处理,即为传输数据增添特殊的数据头,具体的编解码过程由于篇幅有限不做详细描述。
结语
本文利用无线收发芯片nRF401实现了Lonworks 无线测控网络,系统通信可靠性高、实时性好,适于多种应用领域,有较大推广价值。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !