无线监测网络中的节点软件设计综述

2013-08-06 02:35陈宝芬
赤峰学院学报·自然科学版 2013年3期
关键词:编译器PC机按键

陈宝芬,王 喆

(内蒙古化工职业学院,内蒙古 呼和浩特 010070)

对于无线节点的设计而言,除了必不可少的硬件设计,还有一个重要的部分,那就是软件设计,两者相辅相成,相互依托,都在无线节点的设计中扮演了不可或缺的角色.本文针对“高校管网系统无线监测网络设计”这一课题的总体设计要求,从软件开发及调试环境选择到具体程序设计着手,对网络中关键部分无线节点的软件设计进行详细的论述,并列举了初始化程序的编写.

1 开发及调试环境

1.1 MPLAB ICD2在线调试器

MPLAB ICD2是Microchip公司生产的PIC系列单片机在线调试器.通过ICD2接口与目标节点板相连,烧录代码到目标单片机中并进行设置断点和运行.

1.2 MPLAB IDE开发工具

MPLAB IDE集成开发环境如图1所示.

图1 MPLAB IDE集成开发环境

MPLAB IDE开发工具源自美国Microchip公司,是Mcirochip公司推出的针对PIC系列单片机的软件开发工具,MPLAB IDE包括MPLAB IDE集成开发环境和MPLAB C18编译器.支持PIC系列单片机,可自动配置启动代码,强大的Simulation设备模拟,性能分析等功能.其中MPLAB C18编译器是使用于PIC系列单片机的独立并被优化的ANSI C编译器.此编译器是一个32位Windows平台应用程序,与Microchip公司的MPLAB IDE完全兼容,它允许使用MPLAB ICE在线仿真器、MPLAB ICD2在线调试器或MPLAB SIM软件模拟器进行源代码调试.

MPLAB C18编译器有以下特点:

(1)能集成到MPLAB IDE,便于进行项目管理和源代码调试.

(2)MPLAB C18编译器与由MPASM编译器生成的目标模块兼容,允许在同一个项目中自由地进行汇编语言和C语言混合编程.

(3)对外部存储器的读/写访问是透明的.

(4)具有多级优化的高效代码生成引擎.1.3 ZENA无线网络分析仪

ZENA无线网络分析仪硬件如图2所示,该分析仪通过USB电缆与PC机相连.在PC机上安装ZENA3.0软件后,便可以使用ZENA网络分析仪帮助进行ZigBee协议应用开发.ZENA网络分析仪软件主窗口如图3所示.

图2 ZENA网络分析仪的PCB

图3 ZENA3.0界面

ZENA网络分析仪主要功能:

(1)进行ZigBee协议和MiWi协议堆栈配置

zigbee.def:堆栈配置基本定义

myZigBee.c:寄存器初始化

zLink.lkr:工程链接脚本

(2)进行无线网络通信状况监视

监视网络的拓扑结构

监视网络通信数据传输状况

2 程序流程

2.1 按键功能定义

本课题设计的无线节点共有3个按键,可根据需要进行自定义.各个按键功能定义如下:

MCLR按键:复位按键

RB5按键:转换数据按键,终端检测到按下协调器该键,则开始转换数据以待发送.

RB4按键:未定义具体功能,可以根据需要定义该按键功能.

2.2 节点主程序流程

图4和图5分别为终端设备和协调器的主程序流程图.协调器上电初始化之后,便开始启动一个新网络,建立网络成功之后,便允许终端节点加入.从节点上电之后开始查找存在的网络,并请求加入网络.确定成功加入网络之后,开始检测协调器的RB5键是否被按下,若按下,则开始转换数据,转换后的数据根据非时隙CSMA/CA机制等待机会发送至协调器.协调器检测空间中的ZigBee协议数据,如果有数据则开始接收,接收到的数据存储在协调器的FIFOs中,然后转存到PC机中.协调器端发送数据到终端设备采用广播的方式,只要在协调器辐射半径内的终端设备均可以接收数据.

由于篇幅有限,下面仅列举本课题软件设计中对初始化程序的编写如下:

void MRF24J40Init(void)

{

BYTE i;

WORD j;

/*place the device in hardware reset*/

图4 终端程序流程图

图5 协调器程序流程

RESETn=0;

for(j=0;j<(WORD)300;j++){}

/*remove the device from hardware reset*/

RESETn=1;

for(j=0;j<(WORD)300;j++){}

/*reset the RF module*/

SetShortRAMAddr(RFCTL,0x04);

/*remove the RF module from reset*/

SetShortRAMAddr(RFCTL,0x00);

/*flush the RX fifo*/

SetShortRAMAddr(WRITE_RXFLUSH,0x01);

/*Program the short MAC Address,0xffff*/

SetShortRAMAddr(SADRL,0xFF);

SetShortRAMAddr(SADRH,0xFF);

SetShortRAMAddr(PANIDL,0xFF);

SetShortRAMAddr(PANIDH,0xFF);

/*Program Long MAC Address*/

for(i=0;i<(BYTE)8;i++)

{

SetShortRAMAddr(EADR0+i*2,myLongAddress[i]);

}

/*enable the RF-PLL*/

SetLongRAMAddr(RFCTRL2,0x80);

/*set TX for max output power*/

SetLongRAMAddr(RFCTRL3,0x00);

/*enabled TX filter control*/

SetLongRAMAddr(RFCTRL6,0x80);

SetLongRAMAddr(RFCTRL8,0b00010000);

/*Program CCA mode using RSSI*/

SetShortRAMAddr(BBREG2,0x78);

/*Enable the packet RSSI*/

SetShortRAMAddr(BBREG6,0x40);

/*Program CCA,RSSI threshold values*/

SetShortRAMAddr(RSSITHCCA,0x00);

SetLongRAMAddr(RFCTRL0,0x00);//channel 11

SetShortRAMAddr(RFCTL,0x04);//reset the RF module with new settings

SetShortRAMAddr(RFCTL,0x00);

}

3 结语

综述详细介绍了无线节点的软件设计.节点的软件设计主要包括开发调试工具选择和程序编写两大部分,无线节点的软件设计比较难,尤其其中的程序编写较复杂,需要丰富的软件设计经验.

〔1〕M icrochip Technology Inc.MPLAB ICD 2 在线调试器用户指南[Z].2004.

〔2〕李文仲,段朝玉.PIC单片机与ZigBee无线网络实战[M].北京:北京航空航天大学出版社,2007.

〔3〕宋建华.基于ARM的无线传感节点设计[D].内蒙古大学,2008.1-4.

〔4〕李朝青.无线发送接收芯片及其数据通信技术选编(1)[M].北京:北京航空航天大学出版,2003.

〔5〕M icrochip Technology Inc.MRF24J40 Data Sheet[Z].2008.

猜你喜欢
编译器PC机按键
基于有限状态机的按键检测程序设计
基于相异编译器的安全计算机平台交叉编译环境设计
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
一种多方向导光按键结构设计
Microchip为MPLAB XC系列专业版编译器推出低成本可续订包月许可证
VIVID3彩色超声仪结构原理及维修
通用NC代码编译器的设计与实现
基于有限状态机的STM32系统按键识别方法