SimpliciTI网络协议的无线数据采集系统设计
2010-03-20杨立林
杨立林
(南京晓庄学院数学与信息技术学院,南京211171)
引 言
随着生产技术的现代化进程,各种生产环境条件下的监控系统也在不断发展,传统的监控系统多采用有线的方式。无线传感器网络[1]的出现提供了另外更好的选择。对比于传统的有线网络,无线局域网的应用价值体现在[2]:
可移动性。由于没有线缆的限制,用户可以在不同的地方移动工作,网络用户不管在任何地方都可以实时地访问信息。
布线容易。由于不需要布线,消除了野外布线的繁琐工作,因此安装容易,建网时间可大大缩短。
组网灵活。无线局域网可以组成多种拓扑结构,可以十分容易地从少数用户的点对点模式扩展到上百个用户的基础架构网络。
另外,无线网络通信范围不受环境条件的限制,室外可以传输几公里、室内可以传输数十、几百米。在网络数据传输方面也有与有线网络等效的安全加密措施。
1 硬件设计
系统采用SimpliciTI网络协议支持的串状网络结构[3],整个系统由中心控制器、路由节点和终端节点组成。中心控制器通过USB与电脑连接,可以通过PC软件显示和查看信息,同时也可以通过PC软件系统进行设置和控制。而中心控制器采用无线方式与其他路由节点和终端节点通信。当中心控制器不能直接与终端节点通信时,就由路由节点转发通信数据。系统结构如图1所示。中心控制器、路由节点、终端节点都采用CC1110芯片,终端节点的CC1110芯片接收如温度、光照等各种类型的传感器[4]采集来的数据,并进行处理发送。
CC1110芯片包含了CC1100 RF收发器,并内嵌了加强型51内核单片机。芯片内嵌32 KB的在系统可编程Flash存储器、4 KB的SRAM存储器、8通道8~14位A/D转换器、1个16位定时器和3个8位定时器、2个UART/SPI、RTC和21个通用I/O。基于CC1100的高性能无线收发器工作于433 MHz,频率稳定性好,灵敏度高,无线数据传输最大速度可达500 kb/s,采用低供电电压(2.3~3.6 V),在数据采集发送期间的电流消耗为18m A,休眠期间消耗电流为0.5μA,电流消耗非常低,工作温度范围为-40~85℃,适应于恶劣环境[5]。CC1110应用电路如图2所示。
图1 系统结构
图2 CC1110应用电路图
2 网络协议设计
协议采用TI推出的针对简单小型RF网络的专有低功耗RF协议——Simp liciTI网络协议,能够简化实施工作,尽可能降低微控制器的资源占用。该协议能“开盒即用”地在CC1110/CC2510等片上系统(SoC)或MSP430超低功耗微控制器与CC110X/CC2500RF收发器上运行。设计得当的RF协议对降低最终应用的功耗至关重要[3]。
SimpliciTI网络协议由Network Management(网络管理)、Access Point、Frenquency Agility(跳变)、Range Extender、Encyption(加密)、Battery-only Network(低功耗网络)几个模块构成。
SimpliciTI网络协议主要包括3层:Application Layer(应用层)、Network Layer(网络层)、Lite Hardware Abstraction Layer(硬件逻辑层),如图3所示。SimpliciTI网络的加密在网络层处理。
SimpliciTI的硬件逻辑层主要包括:Radio(射频层)、BSP(应用板支持层程序包)。SimpliciTI没有物理层(PHY)和数据链路层(MAC/LLC),数据直接从射频层接收过来,射频层的作用就是直接将数据接收下来。协议内提供了射频层与网络层(NWK)连接的板级支持层程序包BSP(Board Support Package),BSP提供射频层与网络层通信的SPI接口。BSP并不是传统意义上的硬件网络逻辑层,它不仅仅是射频层与网络层之间通信的服务支持。BSP方便地提供了LED、KEYS以及GPIO引脚的定义,但是其他相关的定义并没有提供,如串口、LCD、定时器等,用户需要根据自己的程序进行定义。SimpliciTI网络协议工作原理如图4所示。
图3 SimpliciTI网络协议结构
图4 SimpliciTI网络协议工作原理
网络层负责如下功能管理:频段管理,跳频支持,调制方式、数据传输速率等无线参数管理,加密管理,数据传输,CCA(清除信道评估),网络ID,设备地址,加入、连接网络。
网络层管理射频发送与接收,并指定目的地址。目的地址通过接口号(PORT)指定,网络层是不会做任何帧处理的。接口(PORT)概念和TCP/IP中的PORT概念相似,它是地址概念的延伸。接口编号范围为0x01~0x3F,其中0x01~0x1F为接口,0x20~0x3F为用户定义。接口用于网络层自身对网络的管理,这些接口不能被用户应用层应用。就像TCP/IP中的IP必须对应相应的物理地址一样,网络层会在连接过程中把接口号跟地址关联起来。
应用层又分为网络应用层(NWK Application)和用户程序应用层(Peer Application)。网络应用层提供网络层管理,除了提供外部PING访问以外,还提供了很多供用户开发的接口,表1详细列出了相关的应用及描述。
表1 应用层的用户开发接口
SimpliciTI支持2种基本网络拓扑结构:星状网络拓扑和点对点对等网络拓扑,同时支持网络拓扑扩展,即在星状网络的基础上,使用范围扩展设备网络为串状网络。本系统就采用这种网络拓扑结构,其中包括一个AP(Access Point)、多个RE(RangeExtender)、多个ED(End Device)终端。
3 软件设计
软件主要分为控制中心、终端节点和路由节点软件3个部分[6]。
3.1 控制中心
控制中心不断地监测有多少节点设备加入,并判断是否加满。若数据中心还有空闲的PORT,则分配PORT,通知节点设备通信的PORT号。对已经加入该数据中心的设备通信,判断是否收到数据,如果收到符合格式的数据,则上传给PC机显示或存数据库。
等待串口数据,如果没有数据,则继续执行其他任务;如果收到数据,则取对应的通信PORT,发送控制命令到指定的节点,该节点温度光亮度等需要调整。流程如图5所示。
图5 控制中心软件流程
3.2 终端节点
终端节点的主要功能有:监测数据中心,加入网络;定时采集传感器数据,初始化温控系统;接收数据中心数据,监控数据中心传来的控制命令执行;监测串口状态。流程如图6所示。
图6 终端节点软件流程
3.3 路由节点
路由节点也称为范围扩展,其实现的功能是将数据的通信距离延长,起到扩展每一个设备通信距离的作用,设计使用时需要注意如下问题:需要接收的数据有效载荷的长度不能大于范围扩展定义的最大有效载荷长度;修改范围扩展最大有效载荷的长度;需要接收的数据有效载荷的长度不能大于整个协议定义的最大有效载荷长度(50字节);范围扩展不能掉电。流程如图7所示。
图7 路由节点软件流程
4 总 结
该无线数据采集系统是通过在多个终端节点上配置各种微型传感器,实现了对目标环境进行实时监测,由节点完成对采集的物理量到数字量的转换,经无线通信网络将数据传送至PC机进行统一的分析、处理和保存。相对于传统的敷线网络系统,具有功耗少、成本低、操作简便灵活的优势,是实现实时监控应用的一种高效节能、性能可靠的新技术。由本设计派生出来的无线监控系统有着非常广泛的应用环境。
[1]缪嘉敏,肖德琴,冯健昭.基于无线传感器网络的土壤水分监测基站系统设计[J].传感器与微系统,2009(9).
[2]麻信洛,李晓中,葛长涛.无线局域网构建及应用[M].北京:国防工业出版社,2009.
[3]Friedman L.SimpliciTI Developers Notes[EB/OL].[2010-06].http://focus.ti.com.cn/cn/docs/toolsw/folders/print/simpliciti.html?DCMP=hpa_rf_general&HQS=Other+OT+simpliciti.
[4]Wilson Jon S.传感器技术手册[M].林龙信,译.北京:人民邮电出版社,2009.
[5]Texas Instruments.CC1110 Datasheet,2007.
[6]李文仲,段朝玉.CC1110/2510无线单片机和无线自组织网络入门与实战[M].北京:北京航空航天大学出版社,2008.