3 主控系统
在该系统中,控制主机作为连接Internet网和无线传感器网络之间的协议转换网关。其硬件采用致远电子公司MiniARM嵌入式工控模块。MiniISA系列采集板卡采用智能型板卡结构,即在板卡上内置MCU。板载MCU对板卡上I/O端口进行控制,实现I/O数据的缓存,从而降低板卡对于MiniISA接口主机的依赖,节省主机处理数据的时间,保证MiniISA系统更加高效的运行。此外板载MCU可以对采集的数据或者输出数据进行进一步的处理。系统电路图如图4所示。
3.1 MiniISA-8016A数字量输入继电器输出板卡
MiniISA-8016A是一款用于MiniISA总线的继电器输出和隔离数字量输入卡,该卡提供8路隔离数字量输入,在噪声环境下为采集数字量提供1 500 VDC的隔离保护;它带有8个继电器,可以用作开/关控制设备或小型电力开关;此外它还带有2个可由用户自定义的隔离脉宽调制PWM输出。
3.2 MiniISA-GMT05001人机界面板卡
MiniISA-GMT05001是一款基于MiniISA总线的人机界面板卡,适用于任何具有MiniISA总线主控电路的底板上。
采用5.7英寸、分辨率为320×240的单色屏,支持触摸屏操作功能,提供了六个按键输入。通过操作MiniISA总线完成相应的显示和按键功能。
3.3 MiniISA GPRS无线数传设备MiniISA-WG23
MiniISA-WG23是基于GPRS网络的智能型无线数传设备(DTU),具有MiniISA并行接口,能够方便地嵌入到用户的设备中,提供透明的数据传输功能,可以方便地实现无线的数据传输。
4 远程控制系统
远程控制系统主要设计GPRS通信系统、GPRS与Internet网络接入系统、监控中心主机友好界面显示控制系统。这一部分硬件部分可以应用现有的移动公司与电信等互联网资源,软件考虑成本和专业功能可以自主开发,建议应用现有远程软件,如《波尔远程控制》软件、湖南省远程监控设备有限公司的RC-2000可视化远程控制软件系统。
5 水泵电机驱动电路
考虑强电弱电隔离作用,水泵供电系统可以考虑与整个系统分开设计。利用系统板上的继电器控制电机电源即可实现,电路如图5所示。
6 系统软件设计
系统软件包括两大部分:传感器网络接点系统程序与主机控制系统程序。
6.1 采集系统程序
无线传感器网络节点系统程序由主程序、数据采集子程序、与上位机通信的子程序等部分组成。这里介绍主程序的设计框图。
6.2 通信协议研究
上位PC机作为控制中心必须具备网络唤醒、数据处理、路由维护功能。C++Builder、Delphi和微软的Visual Basic都是可选的快速开发工具。上层软件功能由Delphi实现,考虑到点对点通信的可靠性,数据在底层无线传输中需要增加必要的协议规范。设计中对有效数据进行打包,格式为:前导码、地址、有效数据载荷、校验码。
6.2.1 串口通信格式
上位机与模块间的通信是通过异步串口来完成的。异步串口采用标准的串口格式,即1个起始位、8个数据位和1个停止位,传输速率为1 200 b/s。上位机与模块间的通信内容有两类,一类是数据,一类是命令。
6.2.2 数据及命令的区分
当上位机向模块传送信息时,DTR端的功能是指示串口信息的性质。若串口信息为命令,DTR端应置为逻辑"0",若串口信息为数据,则DTR端应置为逻辑"1"。
当模块向上位机传送信息时,DSR端可用来指示串口信息的性质,若串口信息为命令,DSR端为逻辑"0",若串口信息为数据,DSR端为逻辑"1"。当模块串口无数据发出时,DSR端的功能可指示模块是否可以接收上位机的信息,当模块准备好,可以接收上位机的信息时,此端为逻辑"0";当模块不能接收计算机的数据时,此端为逻辑"1"。
6.2.3 命令和数据传送格式
SA68D21DL的命令传送格式为:
D7H 命令码H 参数H
其中,D7H为命令码的特征码,即字头。命令码为一字节长度,代表命令的性质。不同的命令码有不同的参数,模块在收到命令后,将根据命令码的不同,分析参数并执行命令。对于有些需要发送信令的命令,模块将根据命令的性质来发送相应的信令。当SA68D21DL在进行数据传送时,不论是上位机传给模块,还是模块传给上位机的数据,都采用无格式传送方式。
基于农田实际工程,采用平面路由协议DD(Directed Diffusion)定向扩散路由是一种以数据为中心的信息传播协议,与已有的路由算法有着截然不同的实现机制,运行DD的传感器节点使用基于属性的命名机制来描述数据,并通过向所有节点发送对某个命名数据的INTEREST(任务描述符)来完成数据收集。在传播INTEREST的过程中,指定范围内的节点利用缓存机制动态维护接收数据的属性及指向信息源的梯度矢量等信息,同时激活传感器来采集与该INTEREST相匹配的信息。节点对采集的信息进行简单的预处理后,利用本地化规则和加强算法建立一条到达目的节点的最佳路径。
6.3 主控软件程序设计
系统软件采用分层设计,包括硬件设备驱动层、操作系统层、应用程序接口层和应用软件层。软件系统结构如图7所示。操作系统选择小型的实时操作系统μC/OS-II是基于以下考虑:广州致远公司MiniARM嵌入式工控模块提供正版μC/OS-II实时操作系统在内的丰富软件资源,完整的软硬件架构只需专注于编写产品的应用程序。几行代码即可实现TCP/IP通信、CAN-BUS现场总线通信、USB通信和大容量存储等复杂功能,使嵌入式系统设计更加简洁方便。TCP/IP协议分为4层:链路层(ARP协议)、网络层(IP协议、ICMP协议)、传输层(TCP协议、UDP协议)、应用层(HTTP协议)。本系统的TCP/IP协议栈选择UIP1.0。
|