admin管理员组

文章数量:1565292

2024年7月31日发(作者:)

GAINS 节点软件使用说明

本节主要介绍了GAINS节点的预装程序、基本的编译和调度平台以及节点程序的烧录过程,用户可以很快了解无线传感器网络的实用及应用平台。

一、预装程序介绍

GAINS节点附带提供了一个应用实例,可以组建一个小型的单跳监测网络。其中有一个节点为sink节点,负责从射频接收数据包并发往串口。其他节点为光强度数据采集节点,

对光强度进行监测并将数据发往sink节点。步骤如下:

依次打开所有节点的电源。确保节点之间能相互通信(视距不超过300m);

1)各个数据采集节点每隔1秒黄灯闪烁,表示节点已经将采集的光强度数据数据包发送出去;当光强度较大时节点红灯亮,绿灯灭;当光强度较小时节点红灯灭,绿灯亮。在强

光环境下可以遮住传感器板上的光传感器,此时节点上的LED应该转为红灯灭绿灯亮;

2)sink节点没有从射频接收到数据包时只有红灯亮,从射频成功接收到数据包时黄灯闪烁,往串口发送成功一个数据包时绿灯闪烁;

3)关闭sink节点,并用串口线将该节点连接到PC的串口;打开后台程序,打开sink节点电源;

4)PC上面的后台程序负责从串口读取数据包并进行解析、曲线绘制等。后台显示的节点拓朴显示如图1所示。Base Station表示sink节点,5.6.7表示光传感数据采集节点.红线表

示两个节点之间有数据包传输.

图 1 网络拓朴结构显示

节点传感数据显示如图 2所示。三个节点的传感数据曲线实时地在表格中绘制出来。

图 2 实时传感数据曲线

二、节点程序编译和调试

采用C语言开发GAINS节点程序,采用AVR-GCC编译生成目标文件和最终的可执行文件(*.hex),采用的集成开发环境为WinAVR。WinAVR为免费软件,安装程序可以到网上

下载。用户利用WinAVR程序包,可以自动生成make file,免去编写make file的烦恼。下面以一个小程序为例,就如何利用WinAVR编写源程序以及编译生成可执行文件等步骤进行简

要说明。

1. 安装WinAVR程序包

2. 运行Programmers Notepad,建立一个名为blink的新工程,用于组织源代码文件,如下图所示:

图 3 WinAVR工程建立

3. 为工程加入源程序文件,并编写源程序,如下图所示:

图 4 代码编辑和管理

1

4. 运行MFile程序,生成makefile,并加入到blink工程中。生成makefile时,选择MCU类型为atmega128,输出文件格式选为ihex。将makefile另存到blink工程所在的目录,

并将makefile加入到工程中。(菜单中还有些选项可以设置编译优化级别、调试文件格式等,可以生成*.cof格式的调试文件,在avrstudio中进行调试)

图 5 Makefile的生成

5. 在makefile中加入源文件名,用于编译生成目标文件和可执行文件。如下图所示:

图 6 编译源程序

6. 在Programmers Notepad中编译,选择Tools菜单中的Make All选项即可编译blink工程的所有源文件,如果没有编译错误,将在工程目录下生成文件,此文件为最终

下载到GAINS节点的可执行文件。工程目录下生成的文件可以在avrstudio中进行调试,在PC机上测试程序功能的正确性。

7. 运行avrstudio,弹出如下图 7所示对话框,点右上方open,选择blink工程目录下的文件打开,弹出如下 图 8所示对话框,调试平台选择avr simulator

可以在PC上进行软件仿真,选择JTAG ICE可以在节点上进行在线调试,关于JTAG和节点的连接请参考2.3节。对应的Device选择Atmega128。具体关于调试工具的使用可以参看avrstudio

的帮助文档。

图 7 打开调试文件 图 8 选择调试环境

三、节点程序烧录

GAINS (Global Actable Intelligent Networks)是一款由中科院计算所研究开发的具有自主知识产权的无线传感器网络节点,目前节点的MCU采用的是ATMEL公司的Atmega128

处理器,调试和下载平台为AVR Studio4,用户可到ATMEL公司网站下载或者其他地方下载,推荐使用4.07版本(/dyn/products/tools_?tool_id=2725)。

下面是假定用户已经生成了应用程序的可执行文件(*.hex),将可执行文件下载到Atmega128的Flash ROM的详细步骤。建议用户在使用JTAG程序烧写器前参看JTAG使用说明

书(本文附件)。

步骤

1. 在启动AVR Studio4.07之前,将JTAG仿真器与PC机串口连接起来(在将JTAG数据电缆连接到目标板时,请确定信号线的方向正确);

2. 将仿真器的数据电缆连接到目标板的JTAG接口(目标板的J5);

3. 在确认PC和JTAG ICE以及目标板正确连接后,按下列顺序依次接通电源的操作:打开目标板电源,即SW1拨至“ON”处,然后接通JTAG电源,JTAG仿真器上的绿黄两

灯同时亮表示连接成功,如果有任意一灯不亮,请重复上面步骤,直到连接成功;

4. 注:除此以外的上电操作顺序可能导致AVR Studio和JTAG ICE之间的通信不正常;

5. 在PC机上打开AVR Studio 4,如下图 9:

图 9

2

图 10

6. 点击“ToolsSTK500/AVRISP/JTAG ICE”,在下级菜单中选“STK500/AVRISP/JTAG ICE”,如错误!未找到引用源。所示,即打开STK500对话框,(直接点击工具拦上的

实现相同的操作)。如 图 10所示。在这里进行烧录前的选项设置。需要设置的项有:

A) 在Program标签下

Device框内,在下拉列表中选取目标板上所用的MCU型号(这里选Atmega 128);

Programming Mode 框内,选中ISP和Erase Device Before两项;

Flash框内是用来进行烧写操作的,因为这里采用对片上Flash编程,所以只需要在本栏内打开要烧写的程序,单击Program,即开始程序的烧录;

如果不需要预存任何用户数据,EEPROM栏是不需要设置的;

最下面是信息提示栏,当监控软件AVR Studio不能成功检测到目标节点时,说明连线有误,应该重复上面1、2、3步骤进行重新连接;

图 11

B)在Fuses标签下

这里进行MCU熔丝位的设置,请按照图 12所示将第3、4、5、11、13以及倒数第六项选中,然后单击Program进行熔丝位激活;(程序烧录前应该完成本步骤);

按钮也可以

图 12 图 13

C)Advanced标签

在这里可能用到的设置是COM Port Settings栏内的Baud设置,即波特率设置,建议用户根据不同的环境采用合适的波特率,以便烧写稳定;请参照

图 13。

D)对于LockBits、Board、Auto项都不需要设置;

6、当完成上面的设置后,请回到Program标签下,在Flash栏内选择要烧写的程序,单击Program即可;

3

本文标签: 节点程序数据生成