2012正 仪表技术与 Instrument Technique 2012 NO.8 第8期 基于CC2530的无线振动监测传感器节点设计 朱 琏 ,杨占勇 (1.南京信息工程大学信息与控制学院,江苏南京 210044;2.江苏集群软件股份有限公司,江苏南京210009) 摘要:针对传统的振动监测传感器节点功耗高、成本高、精度低的缺陷,设计一种基于无线传感器网络的振动监测节 点。因CC2530结合了射频模块和高性能8051单片机,且适用于功耗解决方案,所以节点以CC2530为核心,采用高精度 三轴加速度计ADXL345采集振动数据,利用IAR工具设计了Zigbee协议栈,实现了节点的自组网络,用C语言实现软件 设计。试验证明:该节点可对振动监测实现远程数据采集,且具有安全可靠的无线通信功能。 关键词:Zigbee技术;CC2530;ADXL345;无线传感器网络;协议栈 中图分类号:TP274 文献标识码:A 文章编号:1002—1841(2012)08—0056—03 Design of Wireless Vibration Monitoring Sensor Node Based on CC2530 ZHU Jin 。YANG Zhan-yong (1.Department of Information and Control,Nanjing University of Information Science and Technology,Nanjing 210044,China; 2.Jiangsu Joyque Software Limited Company,Nanjing 210009,China) Abstract:Aimed at the defect of high power consumption,high cost and low precision of the traditional vibration monitoring sensor node,a vibration monitoring node based on wireless sensor network was designed.Because CC2530 combines the RF module and high performance chip 805 1,and applies to the solution of low power consumption,the node took CC2530 as the core,used high precision three axis accelerometer ADXL345 collecting vibration data,applied IAR for the design of the Zigbee protocol stack tO a— chieve the nodes in ad hoc network with C language.The experiments show that the node has good performance for monitoring,and safe and reliable wireless communication function. Key words:Zigbee technology;CC2530;ADXL345;wireless sensor network;protocol stack 0引言 1 无线振动传感器节点的硬件设计 在无线传感网中,传感器节点主要搭载各种传感器,用来 采集温度、湿度、加速度等数据,并将数据传送给路由节点或协 调器节点;路由节点多用于树型网络,搜索可用的网络,可扩宽 网络结构,接入更多的传感器节点,起到传输数据和请求数据 的功能;协调器节点主要用于建立和启动网络,管理网络节点, 无线传感器网络是一种随无线通信技术、传感器技术、分 布式信息处理技术的发展而建立起来的新兴计算机科学技术, 早期的研究是由加州伯克利分校和英特尔公司的“智能尘埃” 项目开始的。之所以称为智能尘埃,是因为它是一些可以被散 落到环境中对物体进行监测的细小的、廉价的感应器,它改变 了人们的认知方式,使人们能够更精确地了解周围的世界。 Zigbee技术是基于IEEE802.15.4无线标准研发的,可用于组建 一存储路由信息以及传输网络信标。无线传感器节点是无线传 感网络的基本组成单元,它主要负责数据采集、数据处理、节点 种低数据传输速率的无线个域网 J。Zigbee网络一般由传 通信等。文中节点主要由4部分构成:CC2530射频模块、传感 器模块、电源供给单元以及串口通信模块。CC2530模块包括 射频电路部分和处理器单元,其内部集成了8051内核,使得电 路设计更加简单。传感器模块采用ADXL345加速度传感器,通 过i2C接口与MCU通信,也可预留12C接口用于其他传感器的 连接。串口模块通过JTAG接口使传感器节点能够与电脑相连, 从而通过串口调试器读取采集数据。其硬件框架如图1所示。 感器节点、路由节点和协调器节点组成。其中传感器节点的数 据采集单元和RF模块是硬件设计的重点。 目前,无线传感器网络与工程监测的结合更加紧密,通过 两者的结合,可弥补各自的不足,将Zigbee技术的低功耗、低成 本、规模大的优点融人到目前的工程监测系统中 ,不仅能节 约成本,降低功耗,而且能通过在目标区域内布置大量的传感 器节点,从而提高监测的准确性。文中采用具有数据采集、处 l 天线 理、存储和I/O等功能的片上系统CC2530以及具有超低功耗 小巧纤薄的加速度传感器ADXL345,设计一种基于Zigbee的无 线振动传感器节点,根据硬件要求移植msstatePAN协议栈,满 足无线传感网组网要求和工程监测要求。 展动传感器 CC253O ——一 j} RF—FR()NT—END I1l rfAG外端接口l l l电源模块 图1无线传感器节点硬件框图 收稿日期:2011—08—01收修改稿El期:2012—03—15 第8期 1.1传感器模块 朱珊等:基于CC2530的无线振动监测传感器节点设计 57 上系统解决方案 ,具有优良的RF收发器性能,它编程的输出 功率高达4.5 dBm,具有极高的接收灵敏度和抗干扰能力,经测 无线传感节点集成了加速度传感器ADXL345,MCU的I/O 口模拟12C口与ADXL345进行数据传输。ADXL345是一款纤 薄的低功耗三轴加速度计,分辨率高,测量范围大,数据输出为 16位二进制补码格式,可通过SPI或12C接口访问 ]。它非常 试实际传输距离可达到60~100 m;外围电路简单,较小的封装 可用于制作体积较小的节点;128KB的片内FLASH存储器足 以容纳Zigbee协议栈;当节点空闲时,即进入睡眠模式,减少了 适合移动设备的应用,可以测量运动或冲击导致的动态加速 能量损耗。射频模块电路设计如图2所示。 CC2530模块外围主要包括电源滤波电路、晶振电路和射 频前端BALUN电路。晶振电路由32 MHz和32.768 kHz的晶 度,其分辨率3.9 mg/LSB,能够测量微小倾角的变化。 1.2电源模块 无线传感节点配置电池插槽,可由2节1.5 V干电池供电; 也可由外部供电,通过电压转换电路将外部输入7.5 V转换为 MCU工作电压3.3 V. 1.3 CC2530射频模块 CC2530是用于IEEE802.15.4、Zigbee和RF4CE应用的片 振电路构成,以保证串口波特率的准确性。CC2530射频信号 的收发采用差分方式传送,而天线为单端口,所以BALUN电路 主要完成差分到单端口的转换。BALUN电路由电感( 、L4)和 电容(Cl2、C13、Cl4、Cl5、Cl7)构成。 VCC33 图2射频模块电路图 2无线振动传感器节点的软件设计 2.1 Zigbee协议栈简介 写,支持多种开发平台,包括CC2430评估板、MSP430+CC2420 以及WIN32虚拟平台。Zigbee协议栈的移植前需要对移植的 Z Jigbee网络分为4层,自下而上分别是物理层、介质访问控 制层(MAC)、网络层(NWK)和应用层(APL)。Zigbee的最低两 层物理层和MAC层使用IEEE802.15.4,而应用层和网络层由 Zigbee联盟制定 。Zigbee堆栈的不同层通过服务接入点SAP 可能性进行评估,根据不同的硬件平台的自身特性提出解决方 案,该方案所涉及的问题和软件修改如下: (1)msstatePAN协议栈是在PIC和8051单片机基础上开 发的,而该方案所用的CC2530内部集成了8051,采用先进的 RISC构架设计,性能相近,因此协议栈的移植是可行的。 进行通信。SAP是某一特定层提供的服务与上层之间的接口。 Zigbee堆栈的大多数层都有2个接口:向上层提供数据服务的 (2)该方案采用的MCU为射频芯片CC2530,在寄存器和 接口定义方面是不同的,需要重新编写。在Zigbee系统文件 数据实体接口和向上层提供访问内部参数和配置的管理实体 接口。msstatePAN协议栈是密西西比大学的Reese R.教授编 halstack.C中主要编辑了CC2530的时钟源,对晶振初始化,同 写的Zigbee协议栈,具备了Zigbee协议标准规定的功能。文中 根据硬件结构特点对msstatePAN协议栈进行修改移植,Zigbee 文件结构如表1所示。 2.2 Zigbee协议栈的软件设计 msstatePAN协议栈为精简版Zigbee协议栈,基于标准C编 时为了接入传感器模块模拟了I1 C接口,所以对I/O端口需重 新设置,I/O设置程序如下。 APCFG&=0xcl;//0.4,0.5 used IIC POSEL=0xCD;//0.4,0.5General—purpose I/O P2SELI=0x06: 58 Instrument Technique and Sensor P1 SEL=0xO0: P1DIR=0xFF: //T0 LED and LCD 172INP&=OxBF: //PI PUI LUP l】oDIR l=0x30: P0INP=0xO0: 表1 Zigbee文件 文件组成部分 函数库 正数功能 (3)无线传感器节点新加入了ADXL345加速度传感器模 块,在硬件驱动中加入ADXI345.c和IIC.c.ADXL345.c中通 过ADXL345一Initial()函数对ADXL345进行初始化,设置传感 器测量范围为±2g,10 bit的分辨率;通过accelerometer_measure ()函数读取加速度数值;通过accelerometer—offset—calibration() 函数对加速度计偏移校准。加速度计为机械结构,包含一些对 机械应力非常灵敏的自由运动的元件。在组装载有加速度计 的系统时,可能施加来自元件焊接、安装时的电路板的应力,有 必要进行校准,以补偿影响。ⅡC.c中通过12C—SDA—in()和 I2CSDAout()分别控制总线为输入和输出,通过12C—start() 和I2C—stop启动和停止总线,通过I2C_write—char()和I2C—read char()写和读取字节数据。 3节点组网测试 协议栈的修改和移植是在IAR Embedded Workbench的开 发环境中完成的,IAR是最完整的和最容易使用的专业嵌入式 应用开发工具。为测试协议栈移植效果,采用3个节点进行试 验,1个作为协调器,另2个作为传感器节点(RFD),在IAR中 用宏定义LRWPAN—COORDINATOR定义协调器。LRWPAN— RFD定义RFD节点 节点组网过程为:首先CC2530芯片初始化以及协议栈初 始化,若节点为RFD节点,读取传感器数据并进行偏移校准,分 析数据,若成功接收到数据,从串口输出节点长地址、短地址等 信息。协调器调用aplFormNetwork()函数建立网络,然后调用 apsBusy()等待RFD节点加入,RFD节点调用aplJoinNetwork() 函数申请加入新网络,当网络成功建立后调用PingPong()函 数,它令协调器发送信息给RFD节点,等RFD节点收到信息后 回发给协调器,如此往复,其中信息为计数值,每次发送前计数 值加1。组网程序流程如图3所示。 (a)协调器组网流程图 开始 1 二]二二 系统初始化l 调用aplJojnNetwork加入网络 \/ I Y .........:I:..........一 ID识别I Y 定时到 >一 监测传感器测量值 网络监测 \/ .........................:l:.....................~ 发送传感器采集值 进入休眠状态 定时唤醒节点 (b)传感器节点组网流程图 图3协议栈组网流程 该方案的网络测试中,网络由协调器发起组建,传感器节 点加入网络,在成功加入网络后,传感器节点将ADXL345采集 到的数据进行转换,最终将得到的信号每隔相应时间发送至协 调器,协调器通过串口在Pc机上显示。数据采集结果如下,其 中一个RFD长地址为0x090807060504o302,另一个RFD为 0x010203040506070A. [2011:07:20:16:45:25]An User Data Packet Received: SrcSADDR:0x0002,DstEp:0x02,Cluster:0xO0, MsgLen:OxOF,RSSI:0x82 An RFD is alarming, It’s IEEEAddress is:0x0908070605040302 (下转第83页) 第8期 贾鑫浩等:精密离心机转速测量系统设计 ,……一=====一 83 I 『== 一、 l iI Ir 串’行槽… i时喜’钟 L_1f = SPI模块 FPGA模块 运: . 算日 器: ====={ : l ’ l 图7 SPI接口原理框图 (1)为了尽量减少输出波形的尖峰干扰,应对74LS123器 件的CEST端接地,REST端经电容接地,使波形完整平滑。 图6 FPGA转速测量原理框图 (2)频率细分电路对两路输入信号的相对相位要求较高, 若有相位的变化,则易出现频率的信号干扰。 (3)输出倍频信号的脉冲宽度可由外接电路(CEST和 REST端)的电阻和电容调节。 5.2 SPI接口设计 SPI(Serial Peripheral Interface,串行外设接口)总线系统是 一种同步串行外设接口,它可以使MCU与各种外围设备以串 行方式进行通信以交换信息 J。该接口一般使用三条线:串 行时钟线(SCK)、主机输入从机输出数据线MISO、主机输出从 机输入数据线MOST.由于SPI系统总线一共只需3~4位数据 (4)频率细分信号输入FPGA为核心的计数系统,其可靠 性高,计量误差小,从而达到了通过提高电机转速测量精度,提 高控制精度的目的。 线和控制线,即可实现与具有SPI总线接口功能的各种L/O器 件进行接口,而扩展并行总线则需要8根数据线、8—16位地址 线、2~3位控制线。因此,采用SPI总线接口可以简化电路设 计,节省很多常规电路中的接口器件和I/O口线,提高设计的 可靠性。 参考文献: [1]刘志远,裴润,张铨.精密离心机的实时控制系统设计.哈尔滨工 业大学学报,1994(2):54—55. [2]应仲阳,马修水,李光.基于DSP信号处理的光栅传感器位移测量 及应用.安徽电子信息职业技术学院学报,2007(4):87—88. [3] 陈智超.基于双光栅尺的高速高精度跨尺度位移测量方法的研 究:[学位论文].哈尔滨:哈尔滨工业大学,2006. 串行信号时钟用于传输数据时与外设同步。在SPI模块中 设计1个数据寄存器,用于放置测量的速度相应值(数据位数 根据外设选定),当每个串行时钟的上升沿来临时,控制寄存器 移位,并把这位数据从MOSI发送,当串行时钟的下一个上升沿 [4]刘婷婷.FPGA、CPLD及其硬件描述语言VHDL.广东白云职业技 术学院广州白云工商高级技工学校学报,2002(4):50—55. [5]韦燕.基于FPGA的SPI接口时序模拟.科技信息,2010(21):79—8o. [6] 赵新雨,许忠仁,付贵增,等.基于FPGA与单片机的SPI接口的实 现.工业仪表与自动化装置,2010(2):32—33;44. [7] 鄢华浩,王枚,赵利.一种新型频率合成器的实现.现代电子技术, 2004(5):10—12;15. 到来时,外部设备接受从MOSI传来的数据并做后续处理,其原 理框图如图7所示。 6结束语 系统设计可行性较高,经试验验证实现了信号倍频的功 能,提高了电子转速的测量精度,达到了电子转速的测控要求, 且具有很好的可靠性。在实验过程中需注意以下几点: (上接第58页) Transmitted Message: X axis is:OxO04D Y axis is:OxFE5E Z axisis:OxFF6E 作者简介:贾鑫浩(1984一),硕士学位,研究方向为机械电子工程、现代 测控技术。E-mail:myfreeing@126.com 的提供了良好的硬件平台,使此种节点具有低功耗、低成本、体 积小的特点,并且具有较好的接口拓展性以及数据处理能力, Zigbee协议栈也可根据应用要求修改硬件驱动或者添加应用 程序,使用灵活稳定,能够满足多种监测需要,为无线传感网今 后的进一步研究和探索奠定基础。 参考文献: [1] 吕治安.Zigbee网络原理与应用开发.北京:北京航空航天大学出 版社,2008. [2]刘德胜.基于ADxL345的无线传感网络研究:[学位论文].北京: 北京邮电大学,2010. [3] Ning Jia.Detecting Human Falls with a 3-Axis Digitla Accelerometr. Analog Dialogue,2009,43(7):43—50. [2011:07:20:16:45:26]An User Data Packet Received: SrcSADDR:0xO003,DstEp:0x02,Cluster:0xO0, MsgLen:OxOF,RSSI:0x81 An RFD Alarm was relieved, It’S IEEEAddress is:0x010203040506070A Transmitted Message: X axis is:OxFE6B Yaxisis:0xFEBA [4] 李新.基于cc2530的Zigbee网络节点设计.可编程控制器与工厂 自动化,2011(3):97—99. Zaxisis:0xO172 4结束语 [5] 齐楠,韩波,李平.基于Zigbee的智能家庭无线传感网络.机电工 程,2007,24(2):2O一22. 文中通过对无线传感网络的研究,设计了基于CC2530的 无线振动监测传感器节点,并介绍了基于所设计的硬件平台的 msstate协议栈移植的方法和过程,完成了组网,实现了协调器 与RFD节点间的数据互传,最终成功采集到数据并在PC机上 显示结果,达到振动监测的目的。由于CC2530以及ADXL345 [6] 陈彦明.基于ZigBee的无线传感器网络节点设计及其应用开发: [学位论文].哈尔滨:哈尔滨理工大学,2009. 作者简介:朱珊(1987一),在读研究生,主要从事无线传感器网络的研 究。E—mail:jiangsuzhujin@163.com