ZigBee的节点温度采集系统设计
自20世纪90年代开始,无线网路技术逐渐发展,从GSM到Bluetooh,从无线ATM到无线局域网,它们以不同的方式、不同的数据速率、在不同的距离上实现网络连接,实现信息的及时传递.虽然人们能够随时随地与大洋彼岸的亲朋通话,且无线局域网能够使人们方便的接入英特网,但仍然要为家庭安装一个传感器或开关的布线而烦恼,为野外安装大量传感器的供电绞尽脑汁,即需要一种短距离、低数据速率、低成本、低功耗的无线网络技术.在这种情况下,ZIGBEE技术应运而生. 2004年12月,ZigBee联盟正式发布了该技术标准,许多公司和生产商已经陆续推出了自己的产品和开发系统,如飞思卡尔的MC13192、Chipcon公司的CC2430、CC2530 Atmel公司的AT86RF210等,2007年初韩国移动手持设配制造商CuritelCommunications公司已经开始研制世界上第一款ZigBee手机,这种手机融入了ZigBee技术,能够使手机用户在短距离内操纵电动开关和控制电子设备。
.我国也有不少科研工作者关注这一领域,如西安达泰电子科技有限公司有各系列的实用开发系统推向市场,推出了ZigBee 2430、2530模块
1 CC2430功能特点及内部单元模块
CC2430芯片是Chipcon公司生产的首款符合ZigBee技术的2.4GHz射频系统单芯片,适用于各种ZigBee无线网络节点,包括协调器、路由器和终端设备.它集成了增强型51内核MCU、闪存、IEEE802.15.4所需要的全部硬件. CC2430 soc家族包括3个不同系列的产品,CC2430-F32、CC2430-F64和CC2430-F128.它们的区别在于内置闪存的容量不同,分别是32K、64K和128K片内FLASH。.
芯片内部集成有两个低压降高效率电压调整器voltage regulator,其中一个为芯片内部数字部分(如MCU内核、DMA、存储器、定时器、USART等)提供3.3V数字电源,另一个电压调整器为芯片内部模拟部分如射频前端、RC振荡器、晶体振荡器、片内温度传感器、ADC部分提供3.3V稳定的模拟电源.芯片上有一个片上调试接口,此调试接口支持对片内FLASH编程、访问内部MEMORY和SFR,还支持断点调试、单步运行、寄存器修改等功能.此调试接口使用两个线控制,分别是DEBUG DATA和DEBUG CLOCK,占用两个I/O口,当不需要调试功能时,被占用的I/O口可配置为通用I/O口使用.利用此调试接口,可开发出低成本的芯片烧写器和芯片仿真器,极大地方便了应用。
睡眠定时器(SLEEP TIMER)是一个低功耗的工作在32.768KHZ时钟下的24bi t向上计数睡眠定时器,上电复位后即自动开始运行,支持24位捕获,可触发中断和DMA.利用其低功耗、低时钟下工作特性,工作在PM2模式,实现芯片定时唤醒。
芯片内部有4类物理存储器空间,分别是8KB静态RAM、硬件SFR寄存器、硬件RF寄存器和FLASH存储器.芯片将物理存储器空间分别对应到8051内核MCU、CODE、DATA、SFR、XDATA逻辑存储区域. CODE区是16位宽度的只读程序存储器区域. DATA区是8位宽度的可读写数据存储器区域,CPU访问速度快,一个CPU周期访问. SFR区是8位宽度可读写寄存器区域,可位寻址,CPU访问速度快,一个CPU周期访问. XDATA区是16位宽度可读写数据存储器区域,CPU访问速度最慢,通常要4~5各CPU周期访问.为了充分发挥DMA控制的优势,CC2430设计成将所有物理存储器区域(Physical Memory)映射到XDATA区域上,以使DMA可在不同物理存储器区域上搬运数据如图:
2系统总体方案设计
分布式温度测量系统主要由一台数据集中器(ZIGBEE协调器)、一台PC机和放置在各处的温度监测节点(ZIGBEE设备)组成.数据集中器与各个温度测量节点组成一个ZIGBEE星型网络。CC2430芯片的标准通信距离80m时,温度节点放置范围可在以数据集中器为中心80m半径范围内。适当的增大发射功率可加大通信距离。增强型ZIGBEE模块有效通信距离可达1000m.温度监测节点的结构非常简单,仅由一个CC2430模块和2节1.5V电池构成,各个温度测量节点被初始化为无信标网络中的终端设备。上电复位后,开始搜索指定信道上的PAN协调器,并发出连接请求,建立连接成功后,它将得到一个16位短地址,并在以后用这个短地址通信,开启睡眠定时器,每隔10秒钟醒来一次,醒来后使用一种简单的非时隙CSMA-CA机制,通过竞争取得信道使用权,主动向主节点发送数据利用片内温度传感器检测环境温度,并发送给主节点,然后立即再次进入睡眠状态,最大程度地降低功耗,延长从节点电池使用时间。数据集中器负责接收各温度节点的数据,并将数据及时通过RS232串口按一定格式上传PC机显示出来。
Z_STACK协议栈提供了实现MAC层底层管理及数据收发.还提供了一些API函数来简化分配、回收信息缓冲区、发送信息、信息的入队列、出队列等操作.很多函数参数是个结构体指针,往往有多个成员项.以这些基本功能函数为依托,构造适合分布式温度测量系统的上层应用程序代码即可。
基于CC2430的ZigBee开发套件可以用在设计各种需要实现分布式温度检测的场合,也可以用来监测湿度或其他温度物理量。更多信息。