传感器网络中, 随机分布的集成有传感器、数据处理单元和通信模块的微小节点通过自组织的方式构成网络, 借助于节点中内置的形式多样的传感器测量所在周边环境中的热、红外、声纳、雷达和地震波信号, 从而探测包括温度、湿度、噪声、光强度、压力、土壤成分、移动物体的大小、速度和方向等众多我们感兴趣的物质现象。在通信方式上, 虽然可以采用有线、无线、红外和光等多种形式, 但一般认为短距离的无线低功率通信技术最适合传感器网络使用, 一般称作无线传感器网络(WSNs) 。这种无线传感器网络中的每个传感器节点都可以进行周围环境数据的采集、简单计算以及与其它节点及外界进行通信。传感器网络的多节点特性使得众多的传感器可以通过协同工作进行高质量的传感, 以及组成一个容错性好的的采集系统。正是由于这些优点, 近年来出现了许多基于分布式的无线传感器网络应用, 如抢险救灾、智能家居以及生物化学武器攻击的探测和救援。
然而, 作为一种新兴出现的技术, 建立一个运转良好、鲁棒(Robust) 性好的无线传感器网络还是面临着许多挑战。而且由于它的一些独特特性, 无线传感器网络的设计方法与现有无线网络的设计方法有很大不同。例如, 由于传感器网络中的传感器节点分布密集, 所以需要大范围的数据管理和处理技术。其次, 无线传感器网络节点一般部署在人类难以到达和接触的区域, 这就使传感器网络节点的维护面临着很大的挑战。除此之外,电源消耗也是一个很重要的问题, 无线传感器节点作为微小器件, 只能配备有限的电源, 在有些应用场合下, 更换电源是近乎不可能的。这使得传感器节点的寿命在很大程度上依赖于电池的寿命, 所以降低功耗以延长系统的寿命是无线传感器网络设计需要首要考虑的问题。许多无线传感器网络方面的研究人员都在注重研究新的节约功耗的协议和算法, 这些协议和算法需要传感器网络平台进行实验和验证。以下小节我们就将介绍一种无线传感器网络实验平台, 在这个平台上可以对协议和算法方便地进行实验和验证。
在此平台中我们采用了Altera公司的NIOS 软核嵌入式处理器, 它是一种可特许的通用RISC CPU, 也就说, 是以IP 核的方式将它提供给设计者。它可以与各种各样的外设、定制指令和硬件加速单元相结合, 构成一个定制的SOPC。该处理器具有可由用户配置的L1( 第一层) 指令与数据超高速缓存。NIOS 处理器还具有一种基于JTAG 的OCI(片上仪器) 内核, 使软件开发人员在实时调试方面具有更明显的优势。该处理器的软件支持可扩展到对APR、IP、ICMP、TCP、UDP 和以太网的网络协议支持。
2 无线传感器网络平台架构
典型的无线传感器网络结构如图1 所示, 无线传感器节点经多跳转发, 通过网关节点接入网络, 在网络的任务管理节点对传感信息进行管理、分类、处理, 再把传感信息送给应用用户使用。传感器节点首先采集诸如声、光和距离等环境相关的数据, 并对这些数据进行简单处理后传送到网关节点。无线传感器网络通常具有两种应用模式: 主动轮询模式、被动模式。主动模式要求网关节点对各个传感器节点进行主动的轮询以获得消息,而被动模式则要求在某个传感器节点事件发生时, 网关节点能予以及时的响应。各个传感器节点得到的数据还能进行组合, 这也很大地提高了传感器网络的效率。当然这也要求传感器节点要具有一定的计算能力。
图1 一个典型的传感器网络结构图
3 系统硬件实现
在本文介绍的系统架构中, 主要需要实现的是传感器节点和网关的硬件平台, 下面介绍这两个平台的硬件实现。
3.1 传感器节点的硬件实现
传感器节点的功能是采集人们感兴趣的数据, 并将数据发送给各个传感器节点组的网关。传感器节点主要由电源模块、计算模块、存储单元、通信模块和传感单元组成, 如图2 所示。
图2 传感器节点的组成
(1)根据以上所述的节点结构, 我们在系统中采用了Altera公司生产的Cyclone系列FPGA, Cyclone是一款低价格、中等密度的FPGA, 采用0.13μm全铜SRAM工艺, 容量从2910 个逻辑单元到20010 个逻辑单元, 1.5V 内核。使其与NIOS 软核嵌入式处理器完美结合, 能够将处理器、存储器、A/D 和D/A 转换器等系统设计需要的功能模块集成在一起, 构建成一个可编程的片上系统, 实现传感器节点模块的高度集成化。
(2)传感器节点的通信模块的功能是由TRF6901 射频收发器来实现。该收发器所具有的低功耗和小尺寸使之非常适合用于无线传感器网络系统中, 该收发器可以工作在860MHz~930MHz 公共频段中。射频模块通过串口与NIOS 软核心处理器通信。以下是TRF6901 可供参考的一些特性:
a.低功耗, 发射电流最大为40mA, 接收电流最大为20mA, 待机电流最大为4μA;
b.可以使用OOK 和FSK 两种调制方式;
c.集成有频率合成器和压控振荡器;
d.内含锁相环和参考振荡器;
e.具有9dBm 的典型输出功率;
f.内含可编程电池检测电路;
g.带有接收信号强度检测器;
h.具有灵活的3 线串行接口, 可方便地与微控制器进行连接;
i.基准振荡器频率可编程微调;
j.集成度高, 外围元件少。
(3)每个传感器节点采用AA 电池供电。
3.2 网关的硬件实现
网关的硬件部分主要由中央处理单元、存储单元、频收发模块和GPRS 通信模块组成, 如图3 所示。网关的中央处理单元主要用来处理从传感器节点采集到的数据以及完成一些控制功能。中央处理单元的功能实现仍是采用Altera公司的FPGA 中的Cyclone系列与NIOS 软核嵌入式处理器的结合完成的。这样的设计使得它在低成本、低功耗的条件下能完成一些功能丰富的应用。此外, 它可以集成许多外设接口, 包括USB2.0 接口和以太网接口等。
图3 网关节点的组成
为了将采集到的数据传输到互联网上, 网关设备还配有GPRS 通信单元, GPRS 通信单元主要是由Telit公司的GM862 模块组成, 该模块和NIOS 处理器之间的通信采用AT 命令, 这样可以简化产品设计。它通过中国移动现成的GPRS 网络将传感器采集到的数据传输的互联网上, 用户可以通过普通PC 和GPRS 手机终端来观测传感器采集到的数据。网关同时还配有与传感器节点相同的RF 收发模块, 用于接受传感器节点发送的数据。
4 系统的软件结构
在我们的无线传感器网络系统中, 软件部分主要是在网关和传感器节点上, 主要利用汇编和C 语言进行开发。网关端的软件主要完成的功能是处理和管理传感器节点传输过来的数据, 它主要由GPRS 通信软件、RF 通信软件、命令行软件以及任务管理软件组成, 如图4 所示。传感器节点端的软件主要完成的功能是接受传感单元的数据, 并将数据发送到传感器节点组的网关上,它除了没有GPRS 通信软件之外, 其它与网关端软件组成相同。
图4 网关端的组织结构图
5 小 结
在文章中介绍了一个基于NIOS 软核的无线传感器网络演示系统, 整个系统建立在嵌入式NIOS 软核心处理器的基础上, 尽量使用SOPC Builder 中已有的标准配置IP 核, 具有硬件集成度高、设计周期短, 可以通过合理控制各部件实现低功耗要求, 软件易于开发等优点。无线传感器网络是新兴的通信应用网络, 其应用可以涉及到人类生活和社会活动的所有领域。因此, 无线传感器网络将是未来的一个无孔不入的十分庞大的网络, 需要各种技术支撑。目前, 该实验平台已在实验室开始运用。今后, 发展迅速的SOPC技术和成熟的通信技术都可能经过适当的改进和进一步发展, 应用到无线传感器网络中, 形成新的市场增长点, 创造无线通信的新天地。