引言

目前,现场总线技术在数据采集与监控系统(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 无线测控网络,系统通信可靠性高、实时性好,适于多种应用领域,有较大推广价值。