APP下载

物联网工控平台现场级无线传感器网络节点的研究和设计

2016-12-15沈航庞观士林诗美

新型工业化 2016年10期
关键词:路由表射频无线

沈航,庞观士,林诗美

(1.深圳研祥智能科技股份有限公司,广东 深圳 518057;2.国家特种计算机工程技术研究中心,广东 深圳,518107)

物联网工控平台现场级无线传感器网络节点的研究和设计

沈航1,2,庞观士1,2,林诗美1,2

(1.深圳研祥智能科技股份有限公司,广东 深圳 518057;2.国家特种计算机工程技术研究中心,广东 深圳,518107)

本文在分析现有无线传感器网络节点存在能耗和计算能力的瓶颈的基础上,对现场级无线传感器网络节点进行了硬件和软件设计。硬件采用低功耗RISC微处理器,降低功耗提高处理能力;软件层面引入轻量级微操作系统TinyOS,并对其进行改进,加入了延迟休眠策略,使其满足硬实时要求,同时对无线射频驱动和无线路由进行了特别设计。实践证明,采用本文设计的无线传感器网络节点,能够节省无线传感器网络节点的能耗20%,延长无线传感器网络节点的生命周期3倍以上的时间。

物联网;工控平台;无线传感器网络节点;TinyOS;低功耗

0 引言

近几年,随着无线通信技术的发展,物联网(The Internet of things,IOT)技术应用于工控平台已成为了一个技术热点,同时也是未来数年内工业自动化产品新的业务增长点。通过在工业现场监控和诊断中引入无线传感器网络(Wireless Sensor Network,WSN)[1-2],能够弥补以往有线网监控和传统监控技术机动性差、线缆成本高以及线缆老化等不足。无线传感器网络节点的作用是把监测点的物理量信号转化为数字信号,然而无线传感器网络节点的能耗和低的计算能力是其使用的瓶颈,因此,需要对应用于工控平台的无线节点进行研究和设计,使其满足物联网现场的轻量级要求。

1 无线传感器网络节点的硬件研究和设计

无线传感器网络节点[3]的硬件主要包括:微处理器模块、无线通信模块和电源模块。作为各类传感器节点必需的部分,微处理器模块主要用于运行网络协议以及对射频芯片等外围器件进行控制;无线通信模块主要为各节点提供无线通信的能力,实现数字信号与无线电信号的转换;电源模块主要用于为整个系统提供和管理能源。其硬件组成如图1所示:

图1 无线传感器网络节点硬件组成Fig. 1 Wireless sensor network node hardware components

1.1 微处理器模块

处理器选用ATMEL公司的AVR ATmega128单片机。它是一款采用低功耗CMOS工艺,精简指令集RISC(Reduced Instruction Set CPU)结构的单片机,相对于复杂指令系统CISC(Complex Instruction Set Computer)结构,具有指令数更精简,CPU利用率更高、速度更快的优点。

无线模块采用Chipcon公司推出的符合IEEE 802.15.4标准的CC2420芯片,它工作于2.4GHz频段的射频芯片,主要针对于低功耗和低电压的无线应用。它包括一个数字直接序列扩频基带调制解调器,支持16个最大传输速率为250kbps的信道。并提供额外的硬件功能模块以支持包处理,数据缓冲,数据加密,信道评估,链路质量指示等功能。

1.3 电源管理模块

电源管理芯片选用AS1117,它是一款低功耗低压差线性稳压器,包括固定电压输出类型(1.8V,2.5V,2.85V,3.3V,5V等)和可调端输出类型(1.25V~13.8V)。作为电池供电系统的理想选择,它提供完善的过流保护和过热保护功能(AS1117正常工作环境温度范围极宽,为-50℃~140℃),确保芯片和电源系统的稳定性。同时在产品生产中应用先进的修正技术,确保输出电压和参考源精度在±1%的精度范围内。

2 无线传感器网络节点的软件研究和设计

无线传感网络中使用的是低功耗和低成本的设备,用于收集数据,进行一些现场计算,以及通过无线信号把部分处理过的数据发送出去。无线传感器网络节点的能耗和低的计算能力是其使用的瓶颈,需要一种满足其要求的轻量级微操作系统,针对这些问题,现场级无线传感器网络节点软件基于TinyOS[4]进行设计。

TinyOS是一款由加州大学伯克利分校联合其他公司和组织开发的开源操作系统,主要针对于无线传感网络嵌入式设备。无线传感装置存在着处理能力较弱和内存小等先天上的劣势,TinyOS采用基于组件的架构,使其在保持代码规模较小的情况下,能够针对不同的应用快速创新和实现。它的组件库中包括网络协议、分布式服务、传感器驱动和数据采集等接口,所有这些都可根据具体应用来进一步实现。

2.1 无线传感器网络节点软件体系结构

无线传感器网络节点的软件结构[5]为基于TinyOS操作系统的层次结构,如图2所示,主要可分为协议栈部分和硬件抽象层。

甲基硫菌灵和多菌灵的测定方法主要有高效液相色谱法(HPLC)[6-7]和超高效液相色谱串联质谱法(UPLC-MS-MS)[8-9]。张念洁等[6]应用高效液相色谱检测中药材中多菌灵、甲基硫菌灵农药残留量,结果精确性、稳定性较好,检出限0.01 mg/kg。李福琴等[8]应用超高效液相色谱串联质谱法测试草莓中甲基硫菌灵、多菌灵,方法可行,灵敏度更高,定量限在2.1~14.1 μg/kg。笔者参照已有研究文献,利用HPLC- MS/MS分析甲基硫菌灵在马铃薯和土壤中的降解动力学和残留量,旨在为农业合理用药、确定休药期、制定马铃薯中残留限量提供可参考理论依据。

图2 无线传感器网络节点软件结构Fig. 2 Wireless sensor network node software architecture

对于协议栈的物理层,主要完成激活和休眠射频芯片、空闲信道评估、信道能量监测和数据的收发等与硬件相关的工作,它需要能够对硬件进行操作的软件接口。硬件抽象层的作用就是为协议栈部分提供与硬件操作相关的软件接口,它对协议栈软件部分隐藏了硬件操作的细节,并对硬件功能进行了抽象。这样,上层软件不必因为硬件的不同而需要修改,可以增进上层软件的可移植性。

2.2 TinyOS的应用与改进

TinyOS能够适用于节点众多,并发操作频繁发生的无线传感器网络应用,它可以迅速地响应外部事件并且执行相应的操作处理任务[4]。TinyOS的事件驱动机制可以使CPU在事件产生时迅速执行相关任务,并在处理完毕后进入休眠状态,从而有效提高了CPU的使用率,并且节省了能量。

在技术上,TinyOS使用了轻量级线程技术和基于FIFO的任务队列调度方法。由于传感器节点的硬件资源有限,而且短流程的并发任务可能频繁地执行,所以传统的 进程或线程调度无法应用于传感器网络的操作系统。轻量级线程技术和基于FIFO的任务队列调度方法能够使短流程的并发任务共享堆栈存储空间,并且快速地进行切换,从而使TinyOS适用于并发任务频繁发生的传感器网络应用。当任务队列为空时,CPU进入睡眠状态,外围器件处于工作状态,任何外部中断都能唤醒CPU,这样可以节省能量。

虽然TinyOS搭建了基于事件的基本调度框架,但是它只实现了软实时,而无法满足硬实时,而且TinyOS现有的FIFO调度算法未能区分关键任务和普通任务。本文改进了TinyOS的调度内核,对不同等级的任务使用有区别的延迟休眠策略,一方面降低了节点能耗,延长了节点寿命,另一方面保证了关键任务比普通任务优先执行。节点能耗主要来源于无线模块,因此休假延迟策略针对无线模块进行。TinyOS内核调度改进思想如图3所示:

图3 TinyOS内核调度改进思想Fig. 3 TinyOS kernel scheduling improvement ideas

整个系统调度主要分三个阶段,分别是任务产生阶段、任务分析与排列阶段和任务执行阶段。任务产生阶段中,节点打开无线模块进行信息收发,结合运行的应用程序和一些服务程序优先运行数据发送任务,之后将新的待解决的任务依次压入任务队列,无线模块运作时能量消耗最多;进入任务分析与排序阶段,系统关闭无线模块,对任务进行依赖性分析和重要性分析,将任务有序地放入优先队列和普通队列;在任务执行阶段,无线模块依然关闭,系统先运行优先队列的任务再运行普通队列的任务,由于之前已经按照依赖性进行排序,因此不会因为任务的乱序执行导致系统的崩溃。整个调度过程中,只有第一阶段无线模块处于打开状态,节点能耗将大大减少。

2.3 无线射频驱动

本文所设计的无线传感器网络节点,使用了CC2420射频芯片实现了节点间的无线通信,同时,由于射频芯片是无线网络节点中最耗能的部分。所以,它的驱动程序设计的好坏不仅直接关系到整个无线网络节点通信能力的好坏,而且还会关系到节点生命周期的长短。

无线射频驱动需要向上层应用程序提供5个函数,分别是初始化函数、芯片命令选通函数、芯片设置函数、数据发送函数和数据接收函数。其软件模块如图4所示:

图4 射频芯片驱动程序结构示意图

其中函数StdControl.init用于对射频芯片进Fig. 4 Schematic diagram of RF chip driver行初始化;函数HALCC2420.cmd用于对射频芯片的命令控制;函数HALCC2420.write用于设置射频芯片的配置寄存器;函数HALCC2420FIFO.writeTXFIFO和HPLCC2420FIFO.readRXFIFO分别用于数据的发送和接收。

2.4 无线路由

在传感节点[6]EEPROM存储的数据中,最主要、所占空间也最大的是路由表和邻居表。路由表主要保存目标地址以及对应的下一跳地址等信息;邻居表中主要保存64位扩展地址、网络地址、链路质量(LQI)和相互间关系等信息。由于路由表和邻居表除了在单位大小上的差别外,其他操作并无太大的区别,所以这里只以路由表为例说明。

对于上层软件,需要向它提供五个函数接口,分别是路由表初始化函数、增加路由表项函数、修改路由表项函数、查找路由表项函数和删除路由表项函数,其程序结构如图5所示:

图5 路由表驱动程序结构示意图Fig. 5 Schematic diagram of the driver structure of routing table

其中函数StdControl.init用于对路由表进行初始化;函数 eeprom_RouteTable.add为增加路由表项操作;函数eeprom_RouteTable.search用于查找路由表项操作;函数 eeprom_RouteTable. modify用于修改路由表项操作;函数 eeprom_ RouteTable.del用于删除路由表项操作。

增加路由表项函数首先从索引表中检查是否还有空余空间,然后再获得地址,把数据写入EEPROM。查找路由表函数是用于通过目标地址查找下一跳的地址,先通过索引表检查是否有此表项,然后获取地址进行查询。修改路由表项函数是首先查询路由表中是否有目标表项,有的话进行修改,如果没有就把此项增加到路由表中。删除路由表项函数是用于删除目标表项。这些函数程序流程图如图6所示。

3 结束语

本文针对现场级无线网络节点的硬件和软件进行了分析、研究和设计,硬件层面实现相对容易,软件层面,在TinyOS的基础上,引入延迟休假策略,同时对无线射频驱动和无线路由进行了优化设计,减少了无线传感器网络节点之间数据交换的次数,节省了无线传感器网络节点的能量消耗,延长了无线传感器网络节点的生命周期。本文设计的无线传感器网络节点已经应用于供水领域工业现场诊断与管理中,实验证明,采用本文设计的无线传感器网络节点,能够节省无线传感器网络节点的能量消耗20%,延长无线传感器网络节点的生命周期3倍以上的时间。

图6 路由表相关操作函数程序流程图Fig. 6 The program flow chart of the routing tables related operations

[1] 李涛. 基于无线传感器网络的室内灯光控制系统[J]. 新型工业化,2011,1(9):16-21.

LI Tao. Indoor Light Control System Based on Wireless Sensor Networks [J]. The journal of new industrialization,2011,1(9):16-21.

[2] 于晶,蒋挺. 无线传感器网络移动锚节点定位技术综述[J]. 新型工业化,2011,1(12):7-1.

YU Jing,JIANG Ting. A Survey of Mobile Anchor Node Localization in Wireless Sensor Network[J]. The journal of new industrialization,2011,1(12):7-1.

[3] 赵洪磊,王英龙,张先毅. 无线传感器网络热点问题的研究[J]. 信息技术与信息化,2008 (2):51-54.

ZHAO Hong-lei,WANG Ying-long,ZHANG Xian-yi. Research Summary of Wireless Sensor Networks[J] Information Technology and Informatization,2008 (2):51-54.

[4] 程龙,杨波. 无线传感器网络操作系统 TinyOS 的移植[J]. 计算机科学,2011,38(B10):323-325.

CHENG Long,YANG Bo. Transplantation of Embedded Operating System Tinyos for Wireless Sensor Network Nodes[J]. Computer Science,2011,38(B10):323-325.

[5] 杨俊刚,史浩山,段爱媛. 无线传感器网络节点软件设计及实现[J]. 计算机测量与控制,2009,17(11):2306-2308,2336.

YANG Jun-gang,SHI Hao-shan,DUAN Ai-yuan. Design and Implementation for Node Software of the Wireless Sensor Networks[J]. Computer Measurement & Control,2009,17(11):2306-2308,2336.

[6] 卢 旭,程良伦. 物联网中无线传感节点跨层数据收集协议[J]. 计算机工程,2013,39(5):110-113.

LU Xu,CHENG Liang-lun. Cross-layer Data Gathering Protocol for Wireless Sensing Node in Internet of Thing[J]. Computer Engineering,2013,39(5):110-113.

Study and Design on IOT Industrial Platform at the Field Level Wireless Sensor Network Nodes

SHEN Hang1,2, PANG Guan-shi1,2, LIN Shi-mei1,2
(1.EVOC Intelligent technology co., LTD, Shenzhen, Guangdong 518057, China; 2.National Special Computer Engineering Technology Research Center, Shenzhen, Guangdong 518057, China)

This paper analyzes the existing wireless sensor network nodes energy consumption and computing capabilities exist bottlenecks, based on the level of on-site wireless sensor network node hardware and software design. The hardware uses low-power RISC microprocessors to reduce /lower power consumption and increase processing capacity. The software introduces lightweight micro-level operating system TinyOS, and a delayed sleep policy was added to meet hard real-time requirements. While a special design was also conducted on the wireless radio-frequency drive and wireless router. As a result, wireless sensor network node can save 20% of energy consumption and prolong the life of the wireless sensor network node cycle three times longer using our design of wireless sensor network nodes.

IOT; Industrial platform; WSN nodes; TinyOS; Low power consumption

沈航,庞观士,林诗美.物联网工控平台现场级无线传感器网络节点的研究和设计[J]. 新型工业化,2016,6(10):94-98.

10.19335/j.cnki.2095-6649.2016.10.015

: SHEN Hang, PANG Guan-shi, LIN Shi-mei. Study and Design on IOT Industrial Platform at the Field Level Wireless Sensor Network Nodes[J]. The Journal of New Industrialization, 2016, 6(10): 97-98.

沈航(1983-),男,工程师,主要研究方向:物联网,智能信息等;庞观士(1963-),男,硕士,高级工程师,主要研究方向:计算机,电子设备,物联网等;林诗美(1975-),女,江西人,电子专业,本科,研究方向:电子信息,可靠性分析,计算机

猜你喜欢

路由表射频无线
5G OTA射频测试系统
《无线互联科技》征稿词(2021)
关于射频前端芯片研发与管理模式的思考
基于OSPF特殊区域和LSA的教学设计与实践
研究路由表的查找过程
无线追踪3
基于ARM的无线WiFi插排的设计
一种PP型无线供电系统的分析
ALLESS转动天线射频旋转维护与改造
腹腔镜射频消融治疗肝血管瘤