物联网传感模块的通信接口研究与应用实现
2013-12-07兰丽慧
张 毅,兰丽慧
(重庆邮电大学 通信学院,重庆 400065)
一个完整的物联网系统的构成或产业链的划分应该包括感知层、网络层和应用层三个层面[1]。由于数字整合的需求日益增长,对作为感知层核心组成元素的传感器数据融合提出了更高的要求,如何将传感器连入物联网成为一个尤其重要的问题。
而随着物联网的发展,传感器作为数据采集的检测装置,将在农业、工业、智能家居等领域得到更为广泛的应用[2]。由于每种传感器输出信息格式有所不同,这就需要设计一种通用的传感模块信息处理接口,将传感器输出的信息转换成统一的信息格式输出。
而传统的数据采集装置采用有线网络传输数据,安装布线及维护困难,成本也较高,越来越不能满足数据采集的要求。
基于以上两个方面的考虑,本文对传感模块的通信接口进行研究,设计了一种通用的传感模块通信接口,解决传感器输出信息格式不统一的问题,并采用ZigBee无线数据采集网络对处理后的信息进行传输,以解决传感器连入物联网的问题。
1 系统结构
传感器接口模块硬件主要由电源模块、时钟模块、电源管理模块、CC2530、射频天线单元、信号调理模块、传感器模块组成。其结构图如图1所示。电源管理单元为传感器模块和信号调理模块提供工作电压,同时为了降低节点的能耗,该单元还实现了对工作电压开关的控制,保证系统在不采集数据时,数据采集部分的功耗为零。数据采集部分由传感器模块和信号调理模块组成,实现对物理信号的采集、信号的转化、处理,提高信号的精确度。
2 系统设计
2.1 ZigBee核心板的设计
考虑到数据在物联网中的传输,核心处理器直接采用CC2530,它带有8051的处理器内核,可以处理传感器转换后的数据;支持IEEE802.15.4协议规范,可以无线传输;作为传感器采集节点的核心处理器,CC2530的功耗较低;支持AES加密,保障数据传输的安全性;带有两路RS232接口、3个计数器,为传感器数据通信提供了丰富的接口[3]。ZigBee核心板电路如图2所示。
2.2 电源设计
传感器接口模块采集多个传感器的数据,各个传感器模块的供电电压有所不同,一般为 3.3 V、5 V和 9 V,CC2530的供电电压采用3.3 V供电,因此电源及电源管理模块需要提供多个不同级别的电压。电源及电源管理电路如图3所示。
从抗干扰角度来看,电源部分的脉冲干扰是最严重的,因此在设计电源模块时还要考虑这个问题,将数字电源/数字地与模拟电源/模拟地隔离,防止干扰。
为了降低传感模块的功耗,当有的传感节点不需要采集数据时,电源管理模块在控制器的作用下断开部分传感器模块的供电电源,降低系统功耗,保障节点较长时间工作。本文选用CD4066[4]模拟开关来实现对电源通断的控制。CD4066是一种双向模拟开关,在集成电路内有4个独立的能控制数字及模拟信号传送的模拟开关。每个开关有一个输入端和一个输出端,它们可以互换使用,还有一个选通控制端,当选通端为高电平时,开关导通;当选通端为低电平时,开关截止。
2.3 模拟型传感器接口电路设计
在实际电路应用中,模拟信号采集是一个重要环节。通用模拟信号处理接口能够处理一些标准电压、电流和电阻信号,同时能够将微信号及差分信号进行精确的转换。模拟传感器接口电路如图4所示。
图4 模拟传感器接口电路
由于电流和电阻信号不能直接进行A/D转换,因此需要先将电流和电阻信号转换成电压信号再输入到A/D转换中。对于高于3.3 V的输入电压需要经过精密电阻分压,只要保证ADS1115[5]的输入电压不高于3.3 V即可。
本设计选取TI公司生产的ADS1115芯片,这款芯片内部集成了可编程放大器和16位的A/D转换,低电流功耗,低漂移电压,4个单端或2个差分输入,可检测的电压范围为-0.3~+0.3V,可编程的增益为2/3,1,2,4,8或16。其输出采用I2C接口与ZigBee连接,ZigBee通过I/O口模拟I2C接口与其通信,节约了ZigBee的I/O端口。
2.4 开关型传感器
开关量输入信号通常夹杂着众多噪声,需要进行信号的隔离,以减少外部的干扰。采用光耦器件采集开关量信号接口电路简单,电平转换方便,也很好地解决了输入与输出的电气隔离问题。电路结构如图5所示。
图5 开关型传感器接口电路
2.5 数字型传感器
数字接口主要针对3.3 V与5 V混合逻辑电压系统以及3.3 V的数字信号。目前仍有很多5 V电源供电的器件可用。为了使该系统能够与5 V器件通信,同时CC2530采用3.3 V供电,所以I/O口的最大逻辑电平也是3.3 V。只有能够工作于3.3 V的器件才能直接与其I/O口直接相接,进行无误的通信。因此采用何种处理才能保证在与5 V器件或模块接口通信时的完整性与准确性,也是混合电压系统中的主要问题,因此在接口方面需要做出处理。
针对以上问题,目前有很多解决方法:电阻分压、三级管单向转换方法,在可靠性、稳定性方面存在不足;采用FPGA/CPLD进行电平转换,在成本方面受到限制。本设计则采用美信的MAX3377完成3.3 V与5 V之间的逻辑电平转换。
MAX3377是双向低电压逻辑电平转换器,在3 V与5 V之间转换通信速度高达8 Mb/s,具有三态引脚(Three-State),当为低有效电平时消耗电流为 1μs,静态电流典型值为130μA,整体功耗比较低。数字型传感器接口电路如图6所示。
图6 数字型传感器接口电路
3 软件设计
系统的软件设计主要是ZigBee传感模块的软件设计,这里的ZigBee模块需要在程序中配置为终端节点或路由器类型。程序采用最新的TI 2007版ZigBee协议栈,该协议栈可很好地支持网络的自组织和自愈合。相对于目前使用较多的TI 2006版ZigBee协议栈,07版协议栈在06版协议栈基础上主要增加了支持多密钥高安全性、支持大型网络、支持分割传输等特性。传感模块程序在已有协议栈基础上,还需增加用户自己的应用程序。
A/D数据采集是实现模拟型传感器信息获取的关键所在。该模块负责将采集到的传感器信息转化为数字信号[6]。
A/D数据采样主要完成如下的几个功能:
(1)初始化。该工作主要完成对一些物理器件的引脚功能、工作模式等进行预定义。
(2)A/D转换。通过软件启动模数转换芯片,完成模拟信号到数字信号的转换。
(3)数据接收和发送。详细操作步骤如下:
①需采集的通道地址通过I2C接口写入ADS1115的相应寄存器,应用设定的波特率来设置接口传输速度;
②启动ADS1115进行数据采样和转换,数据传输方式为I2C发送模式;
③当数据发送完毕后,通过I2C设置ADS1115,结束数据传输,进入空闲模式并等待指令。
数字量和开关量按照一定的通信协议与ZigBee进行通信,最后将采集的数据按照自定义的数据传输帧格式解析、处理接收到的数据,按照自定义的数据传输帧格式构造待发送数据给ZigBee协调器。
根据ZigBee节点的类型、编号、功能指令、操作类型等参数,定义相应的数据包格式。在ZigBee传感模块与ZigBee协调器通信时,按照统一的指令传输数据。通信协议指令格式如表1所示。
表1 通信协议指令包格式
4 系统测试
系统的测试借助上位机测试平台和ZigBee协调器节点。首先,将ZigBee传感模块与ZigBee协调器建立连接;然后,通过上位机串口软件对相应的ZigBee节点发送控制指令;最后,对协调器接收的信息进行实时解析。测试结果如表2和表3所示。
表2 ZigBee网络节点信息
表3 测试结果
指令00 00 FE 00用于获取ZigBee网络中节点信息。
本文以传感器的输出信号类型为分类依据,基于该信号接口分类给出了基于ZigBee的传感器接口模块的硬件设计,并实际设计实现了模拟型、开关型以及数字I/O型模块,给出了相应的硬件选型;进行了接口模块的软件设计。
本文设计的ZigBee传感模块解决了开关型、模拟型、数字型传感器与ZigBee之间的通信接口问题,将传感器与ZigBee技术结合起来,实现了对各种信息的采集和控制。
[1]ITU Internet Reports 2005:The Internet of Things[R].Geneva:International Telecommunication Union,2005.
[2]邬贺铨.物联网的应用与挑战综述[J].重庆邮电大学学报,2010,22(5),526-531.
[3]高守玮,吴灿阳.ZigBee技术实践教程[M].北京:北京航空航天大学出版社,2009.
[4]Texas Instruments Incorporated.CD4066 CMOS quad bilateral switch[EB/OL].[2003-09-10].http://www.ti.com.cn/cn/lit/ds/symlink/cd4066b.pdf.
[5]Texas Instruments Incorporated.ADS1115 data sheet[EB/OL].[2009-10-08].http://www.ti.com.cn/cn/lit/ds/symlink/ads1115.pdf.
[6]翟羽佳,吴仲城,沈春山.基于 STM32的传感器接口模块的设计[J].电子技术,2011(8):57-60.