论文部分内容阅读
摘 要:无线通信是当前科技发展的一个热门技术,其中ZigBee无线网络以其低功耗、低成本、低数据传输速率、易应用以及工作在免费的ISM频段的特点,在各种工业监控自动控制传感器网络等领域得到广泛应用。文章介绍的温湿度监控系统是基于ZigBee技术构建的无线网络数据采集控制装置,该系统是一种特殊的Ad-hoc网络,是由许多无线传感器节点协同组织起来的,实现温湿度数据的分布式采集、处理、监控和无线传输等功能。
关键词:单片机;ZigBee;无线网络;CC2420
中图分类号:TP274 文献标识码:A 文章编号:1006-8937(2014)8-0058-04
随着现代科技的不断发展,无线通信技术越来越受人们的青睐,无线通信技术一直向着低功耗、低价格、高稳定定性和不断提高传输距离的方向发展。
目前,市场上的近距离无线通信技术主要有无线局域网WiFi、超宽频技术、蓝牙和其它一些专用标准的产品。一些大公司为开拓市场和应用领域,也在积极研究和制定一些新的无线组网通信技术标准,通信市场上已有多家公司推出应用于近距离通信的无线网络芯片产品。不少嵌入式通信产品也采用了这类技术,但它们大部分只提供解决无线通信的射频通道,没有一个统一的标准规范来制定MAC层、链路层和网络层的通信协议,不具备兼容性;而且对通信的控制软件完全依赖目标系统设计,由用户自己完成,不仅额外增加了工作量,而且代码的可靠性、效率都较低,对组网应用更可能存在问题;不同公司设计的产品不具备互操作能力,不具备通用性。此外,这些通信技术的普遍存在成本高、功耗大、抗干扰能力差等缺点,不适合大面积应用推广。
ZigBee技术是一种新兴的短距离、低功耗、低传输数据速率的无线通信技术。它是一种介于无线标记技术和蓝牙之间的技术方案。ZigBee是一组基于IEEE批准通过的802.15.4无线标准研制开发的无线技术标准,在数千个微小的传感器之间相互协调通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以它们的通信效率非常高。
因此,本设计选用了功能强大、性能稳定、功耗底、搞干扰能力强的Microchip的高性能8位单片机PIC18LF4620和ZigBee芯片CC2420,并通过采用功能简易的免费Microchip ZigBee协议栈作为设计核心,并在应用层添加一些简单的应用程序,以这种方法来实现数据无线传输、监控和其它控制,所以在开发成本和传输性能上有着明显的优势。
1 ZigBee无线温湿度监控终端
1.1 系统构成
系统构成如图1所示,系统由终端节点RFD、协调器FFD和上位机客户端组成,RFD和FFD都是采用Microchip 公司的高性能单片机PIC18LF4620作为主控制器。ZigBee无线RF收发器采用的是CC2420芯片。FFD通过无线收发器绑定控制各个RFD节点进行温湿度的分布式数据采集,并把采集到的数据通过无线网络传给FFD,FFD再通过串口把数据包发送给上位机显示,实现现场温湿度的实时监控。
1.2 终端节点RFD构成
如图2所示,终端节点由主控制器、温湿传感器模块、电源模块、调试模块、CC2420模块、控制显示模块以及串行通信等组成。主控制器控制温湿度传感器进行数据采集,通过CC2420无线模块把采集到的数据发送给协调器,串口通信接口主要实现人机界面的交互和对终端节点的设置。
1.3 协调器FFD构成
如图2所示,协调器主要由主控制器模块、显示模块、调试模块、CC2420模块、电源模块以及串行通信模块等组成。控制、显示等接口主要是实现对当前状态情况的显示,主控制器通过控制无线模块CC2420进行绑定控制终端节点进行数据采集,以及接收终端节点传过来的数据。串口通信模块主要实现对协调器的设置和把接收到的数据传给上位机。
1.4 PIC18LF4620简介
8位高性能通用闪存单片机有以下主要特性:
①10位最多13路A/D转换器,采用纳瓦技术的低功耗单片机;
②优化的C编译器指令集架构,典型的100 000擦/写周期增强型闪存程序存储器,典型的1 000 000擦/写数据EEPROM存储器;
③工作电压范围为2.0 V到5.5 V,可编程的16级高/低检测,8×8单周期硬件乘法器;
④主同步串行口(MSSP)模块,支持3线SPI(所有4种模式)和I2C主/从模式,增强型可寻址USART模块;
⑤高灌/拉电流25 mA/25 mA,输入复用的双模拟比较器,3个可编程外部中断,4个输入电平变化中断。
1.5 CC2420ZigBee无线射频芯片简介
CC2420是Chipcon公司生产的首款符合ZigBee标准的无线射频器件,工作于全球统一开放的2.4 GHz ISM频带,用来开发工业无线传感及智能家居等无线网络的ZigBee设备和产品。该器件集成了很多额外功能,性能稳定,且功耗极底。CC2420的选择性和敏感性指数超过了IEEE802.15.4标准的要求,可确保短距离通信的有效性和可靠性。由于其优良的性能、低廉的价格、小巧的体积,免费的协议栈,使其具有相当的市场潜力。
1.5.1 主要特性
采用业界标准四总线SPI接口的无线射频收发芯片CC2420具有以下主要特征:
①IEEE802.15.4 MAC层硬件可支持自动帧格式生成、同步插入与检测、16 bit CRC校验、电源检测、完全自动MAC层安全保护;
②超低电流消耗(RX:19.7 mA,TX:17.4 mA)高接收灵敏度(-99 dBm); ③内部集成有电压控制振荡器、低噪声放大器、功率放大器以及电源整流器,采用低电压供电(2.1~3.6 V);
④数据速率250 kbps,片码速率为2 Mchip/s,工作频带范围:2.400~2.4835 GHz。
1.6 通信协议简介
ZigBee协议是一组基于IEEE 802.15.4无线标准研发的关于组网、安全和应用软件方面的无线通信技术标准。ZigBee无线网络技术的组网连接功能非常丰富和强大。有时,人们会将IEEE802.15.4与ZigBee联盟提出的新标准搞混淆。实际上,ZigBee使用IEEE802.15.4提供的服务,并在其基础上增加了网络结构(星状网络、对等网络、网状网络、树状网络)、网络安全和应用服务等内容。ZigBee协议通常采用一种简化的4层模型,并且负责不同的通信功能,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层、网络层、MAC层、物理层。
2 硬件设计
2.1 硬件框图
如图3所示,为ZigBee单芯片硬件模块的基本框图,PIC18LF4620微处理器通过SPI总线和一些基本控制信号与RF收发器CC2420相连,PIC18LF4620微处理器充当SPI的主器件,CC2420充当从器件。微处理器实现了ZigBee协议层和与RF收发器进行交互。
2.2 主控制器电路
主控电路主要由主控芯片、温湿度传感器、JTAG模块、接口电路、串口电路这几部分组成,其中部分电路为可选模块,为以后系统扩展功能使用。PIC18F4620单片机是系统的核心,它控制着外围的其他各功能模块。此外电路中的按键输入、LED控制电路等简单模块将不作具体介绍,电路板上40脚的PIC18LF4620内置有一个SPI接口、一个增强型可寻址USART串口模块,最大外接晶振可达40 M,本系统对速度并无太多要求,所以选择4 M外接晶振;另外接4个LED指示灯和2个按键作为绑定调试使用;串口采用3个脚的接插键代替,方便安装和调试,通过接MAX3232电平转换芯片与PC机进行人机界面交互使用,它与PIC18F4620和接口头之间都串有100 ?赘限流保护电阻;PIC18F4620的SPI三线接口接到CC2420芯片的对应端口上,CC2420的FIFO、FIFOP、SFD、CCA、VREG_EN、RF_RESET_脚分别接至单片机的其它端口。
温度传感器采用Microchip公司生产的SPI接口的低功耗13位精度的数字温度传感器TC77,工作电压在2.7~5.5 V之间,在连续转换模式时消耗电流为250 uA,在关闭模式时消耗电流为0.1 uA;湿度传感器采用HM1 500,尺度小,易安装,可以非常节省成本的机械自动安装,适合3 ~7 V电压供电,可靠性高、漂移小、响应时间短,特别适用于10~95%RH环境的精确测量,超出这个范围也不会对HM1 500稳定性造成影响,由于它是线性的电压输出湿度检测模块,因此能够直接与单片机相接。
2.3 无线RF收发模块电路
2.3.1 串行SPI通讯接口设计
本设计SPI是一种常用的串行通信协议,常用于MCU系统与外围设备之间的通信。SPI接口是工业标准的同步串行接口,是一种采用全双工、三线通信的传输系统。在SPI接口中,数据的传输只需要一个时钟信号和两条数据线。SPI总线由四根线组成:串行时钟线、数据输出线,还有一根是从机选择线,它们在与总线相连的各个设备之间传送信息。
SPI可工作在主动或从动模式下,一个典型的SPI系统包括一个主MCU和一个或多个外围器件。单片机通过SPI接口模块与好几个从机设备以及另一个主机设备相连,当该单片机以主机模式运行时,就可以与系统中的从机进行通信。而当它以从机模式工作时,就能与另一个主机进行数据的通信。
2.3.2 射频RF模块设计
CC2420的硬件设计只需要极少的外围器件就构成了其典型电路,包括晶振时钟电路、射频输入/输出匹配电路和微控制器接口电路三个部分。
芯片本振信号既可由外部有源晶体提供,也可由内部电路提供。由内部电路提供时需外加晶体振荡器和两个瓷片电容,本系统当采用的是16 MHz晶振,瓷片电容的容值约为22 pF。射频输入和输出匹配电路主要用来匹配芯片的输入输出阻抗,使其阻抗约为50 Ω,同时为芯片内部的功率放大器及低噪声放大器提供直流偏置,射频模块的天线可以是PCB上的引线形成的天线或单根天线,天线必须尽可能靠近集成电路连接。
ZigBee芯片CC2420与微控制器MCU的连接是通过SPI实现。CC2420有15个命令选通寄存器,33个16位配置寄存, 1个128字节的TX RAM,1个128字节的RX RAM,1个112字节的安全信息存储器。TX和RX RAM的存取可通过地址或者用八位的寄存器,第二种情况对内存的访问FIFO缓冲区那样。
2.4 本系统的硬件电路图
本设计的硬件电路图主要有以上几部分组成,具体电路如图4所示:
3 软件设计
3.1 Microchip ZigBee协议栈
Microchip ZigBee协议栈使用IEEE 802.15.4规范作为介质访问层(MAC)和物理层(PHY),该协议栈设计为随着ZigBee无线协议规范的发展而发展。完整的协议栈自下而上包括物理层、介质访问控制层、网络层、应用层。Microchip ZigBee协议栈1.0版本采用的是Microchip公司的PIC18LF4620作为主控制器,它使用内部闪存程序存储器来存储可配置的MAC地址、网络表和绑定表,必须使用可自编程的闪存存储器单片机,可以在大多数的PIC18系列单片机进行移植。 3.2 基于ZigBee 的无线温湿度监控系统
本文设计的是一个无线的温湿度数据采集传输系统,现场的终端节点将温湿度等信号采集经过处理后,通过无线通信模式传给协调器,协调器再通过串口把数据传送给电脑,并在电脑上显示采集到的数据,以实现对现场环境的实时远程监控。
系统软件分为主机和分机两部分,主机为全功能设备,也称为协调器(FFD),作为全功能系统,负责网络协调和人机对话。分机为精简功能设备,也称为终端节点(RFD),作为简单功能系统,等待主机命令,负责温湿度数据的采集和传输。
3.2.1 PIC单片机与CC2420的通信软件设计
CC2420与PIC单片机的连接是通过SPI实现的,单片机可通过SPI接口发送命令,访问CC2420的寄存器或读写接收/发送缓冲区,完成相关操作。CC2420通过4线SPI总线(SI、SO、SCLK、CSn)设置芯片的工作模式,并实现读/写缓存数据,读/写状态寄存器等,FIFOP指示是否超过RXFIFO的临界值或收到新数据包,FIFO指示RXFIFO是否为空。通过控制FIFO和FIFOP管脚接口的状态可设置发射/接收缓存器。CCA引脚用来检测信道是否空闲,在SPI总线接口上进行的地址和数据传输大多是MSB优先的。在数据传输过程中CSn必须始终保持低电平。
3.2.2 终端节点RFD软件设计
终端节点的设计在理解Microchip ZigBee协议栈的基础上进行修改和添加,在终端节点中的协议栈应用层增加温度传感器TC77和湿度传感器HM1 500数据采集任务,增加无线数据传输任务,修改最大使用的端点号,增加TC77和HM1 500两个端点号并修改端点描述符。
3.2.3 协调器FFD软件设计
协调器的设计在理解Micro-
chip ZigBee协议栈的基础上进行修改和添加,在协调器的协议栈应用层增加S2按键任务,修改定制绑定表,将绑定记录变大,建立S2端口绑定终端节点温湿度数据采集端口,实现协调器控制终端节点进行实时温湿度数据采集和传输,并把采集到的数据发送给电脑。
3.2.4 终端节点向协调器发送数据流程设计
Microchip ZigBee协议栈中发送数据的帧格式有两种,KVP帧和MSG帧。KVP帧发送的特殊数据传输机制,通过一种规定来标准化数据传输机制,主要用于传输比较简单数据;MSG帧发送在传输数据并不多做规定,主要用于专用的数据流或文件数据等数据量较大的传输机制。本设计中数据的发送大多数采用MSG帧格式。终端设备中,要发送的数据经NWK层、MAC层添加适当的协议头构成发送帧,最终把数据包发送给协调器,协调器收到数据后进行MAC层解包、NWK层解包,最终得到正确的数据。
4 系统调试结果
本系统与PC机连接调试,所需硬件设备包括两台PC机、两个9 V电源、一块RFD电路板、一块FFD电路板、一个ICD2调试器、一台万用表、一台示播器;软件主要是串口精灵;另外还需两条232串口线。
4.1 RFD调试
①烧写代码
②打开串口精灵,同时按住S3和复位键复位(串口精灵显示设置菜单)
③输入1(设置ID号)
串口精灵上显示:
Enter exact 4 digit long decimal board id
④输入0976(写入ID号,MAC号,这里的ID号可以是任意的四位数)
⑤输入2(加入网络)
串口精灵上显示:
Attempting to join a coordinator...
Successfully associated.
⑥输入3(执行绑定)
⑦输入0(复位重新连接,保存当前设置)
串口精灵上显示:
Rejoin successful
4.2 FFD调试
FFD的调试与RFD相似,烧写代码,串口精灵中输入1进入设置ID号状态;输入0968的(MAC)序列号写入ID号;输入0,保存当前设置等,其设置菜单,最后会在串口精灵上显示:
Starting a new network...
Now operating in next channel...
New network successfully started...
4.3 系统联调
在演示前先给协调器上电,再给终端节点上点,按下终端节点的复位键,加入网络。协调器端的串口精灵上显示:
A familiar node has just rejoined.
A new node has just joined.
Received valid source node info.
Custom binding successful.
然后在协调器上按下S2按键,绑定终端节点上的温度传感器TC77和湿度传感器HM1 500进行温湿度数据采集并把处理完的数据发送给协调器,协调器再通过串口发给PC机显示。协调器发给PC机显示的结果如图5所示:
我们可以清楚的看出,无线网络传感器的最终测试结果,其中temperature为26.6 ?觷,humidity为1.46 V。
5 结 语
文章中介绍的基于超低功耗的PIC18LF单片机的ZigBee无线温湿度监控系统与其他同类产品相比有较大的优势,PIC18LF系列单片机与其他同类单片机相比在低功耗、稳定性、抗干扰等方面有着明显的优势,它的低成本、技术成熟、传输速度快、使用方便等更适用于现在的无线网络传输系统,而ZigBee无线网络传感芯片CC2420更是以低功耗、低价格、低速率、高性能的特点,再加上其高度集成化的软、硬件架构和产品,使应用设计人员如虎添翼,更快、更方便地进行最终产品设计,越来越受到通信行业的青睐。这些显示出Zigbee具有超强的生命力和优势,应用前景非常好,特别是在工业控制、智能家居以及个人电子消费产品领域。在不远的将来,将有越来越多的内置式ZigBee功能的设备投入应用,并将极大地改善我们的生活方式和体验。
参考文献:
[1] 瞿雷.一种新的无线网络通信技术Zigbee[J].单片机与嵌入式系统应用,2007,(1).
[2] WiMedia联盟.Wi-Fi和蓝牙之间存在的干扰引发业界恐慌[J]. 电子工程专辑,2008(8).
[3] 李文仲,段朝玉.PIC单片机与ZigBee无线网络实战[M].北京:北京航空航天出版社,2007.
[4] 闫富松,赵军辉.ZigBee技术及其应用[J].无线电技术与信息,2006,(7).
[5] 刘恺.基于ZigBee协议的智能仪表数据采集系统的设计[J].自动化仪表,2007,(4).
[6] 封瑜,葛万成.基于ZigBee技术的无线传感器网络构建与应用[J].电子工程师,2007,(7).
[7] Holger Karl,Andreas Willig.Protocols and Architectures for Wireless Sensor Networks[M].Publishing House of Electron-
ics Industry,2007.
[8] Kinney Consulting LLC/Chair of IEEE 802.15.4 Task Group.
ZigBee Technology:Wireless Control that Simply Works[S].
[9] 麦胤,柳沁.基于FPGA和MSP430的SPI接口设计与实现[J].仪器仪表用户,2007,(5).
[10] 丁飞,张西良,张世庆,等.ZigBee技术的硬件实现模式分析
[J].单片机与嵌入式系统应用,2006,(9).
[11] Microchip Technology Inc,Microchip ZigBee specification
Version 1.0[S].
关键词:单片机;ZigBee;无线网络;CC2420
中图分类号:TP274 文献标识码:A 文章编号:1006-8937(2014)8-0058-04
随着现代科技的不断发展,无线通信技术越来越受人们的青睐,无线通信技术一直向着低功耗、低价格、高稳定定性和不断提高传输距离的方向发展。
目前,市场上的近距离无线通信技术主要有无线局域网WiFi、超宽频技术、蓝牙和其它一些专用标准的产品。一些大公司为开拓市场和应用领域,也在积极研究和制定一些新的无线组网通信技术标准,通信市场上已有多家公司推出应用于近距离通信的无线网络芯片产品。不少嵌入式通信产品也采用了这类技术,但它们大部分只提供解决无线通信的射频通道,没有一个统一的标准规范来制定MAC层、链路层和网络层的通信协议,不具备兼容性;而且对通信的控制软件完全依赖目标系统设计,由用户自己完成,不仅额外增加了工作量,而且代码的可靠性、效率都较低,对组网应用更可能存在问题;不同公司设计的产品不具备互操作能力,不具备通用性。此外,这些通信技术的普遍存在成本高、功耗大、抗干扰能力差等缺点,不适合大面积应用推广。
ZigBee技术是一种新兴的短距离、低功耗、低传输数据速率的无线通信技术。它是一种介于无线标记技术和蓝牙之间的技术方案。ZigBee是一组基于IEEE批准通过的802.15.4无线标准研制开发的无线技术标准,在数千个微小的传感器之间相互协调通信。这些传感器只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,所以它们的通信效率非常高。
因此,本设计选用了功能强大、性能稳定、功耗底、搞干扰能力强的Microchip的高性能8位单片机PIC18LF4620和ZigBee芯片CC2420,并通过采用功能简易的免费Microchip ZigBee协议栈作为设计核心,并在应用层添加一些简单的应用程序,以这种方法来实现数据无线传输、监控和其它控制,所以在开发成本和传输性能上有着明显的优势。
1 ZigBee无线温湿度监控终端
1.1 系统构成
系统构成如图1所示,系统由终端节点RFD、协调器FFD和上位机客户端组成,RFD和FFD都是采用Microchip 公司的高性能单片机PIC18LF4620作为主控制器。ZigBee无线RF收发器采用的是CC2420芯片。FFD通过无线收发器绑定控制各个RFD节点进行温湿度的分布式数据采集,并把采集到的数据通过无线网络传给FFD,FFD再通过串口把数据包发送给上位机显示,实现现场温湿度的实时监控。
1.2 终端节点RFD构成
如图2所示,终端节点由主控制器、温湿传感器模块、电源模块、调试模块、CC2420模块、控制显示模块以及串行通信等组成。主控制器控制温湿度传感器进行数据采集,通过CC2420无线模块把采集到的数据发送给协调器,串口通信接口主要实现人机界面的交互和对终端节点的设置。
1.3 协调器FFD构成
如图2所示,协调器主要由主控制器模块、显示模块、调试模块、CC2420模块、电源模块以及串行通信模块等组成。控制、显示等接口主要是实现对当前状态情况的显示,主控制器通过控制无线模块CC2420进行绑定控制终端节点进行数据采集,以及接收终端节点传过来的数据。串口通信模块主要实现对协调器的设置和把接收到的数据传给上位机。
1.4 PIC18LF4620简介
8位高性能通用闪存单片机有以下主要特性:
①10位最多13路A/D转换器,采用纳瓦技术的低功耗单片机;
②优化的C编译器指令集架构,典型的100 000擦/写周期增强型闪存程序存储器,典型的1 000 000擦/写数据EEPROM存储器;
③工作电压范围为2.0 V到5.5 V,可编程的16级高/低检测,8×8单周期硬件乘法器;
④主同步串行口(MSSP)模块,支持3线SPI(所有4种模式)和I2C主/从模式,增强型可寻址USART模块;
⑤高灌/拉电流25 mA/25 mA,输入复用的双模拟比较器,3个可编程外部中断,4个输入电平变化中断。
1.5 CC2420ZigBee无线射频芯片简介
CC2420是Chipcon公司生产的首款符合ZigBee标准的无线射频器件,工作于全球统一开放的2.4 GHz ISM频带,用来开发工业无线传感及智能家居等无线网络的ZigBee设备和产品。该器件集成了很多额外功能,性能稳定,且功耗极底。CC2420的选择性和敏感性指数超过了IEEE802.15.4标准的要求,可确保短距离通信的有效性和可靠性。由于其优良的性能、低廉的价格、小巧的体积,免费的协议栈,使其具有相当的市场潜力。
1.5.1 主要特性
采用业界标准四总线SPI接口的无线射频收发芯片CC2420具有以下主要特征:
①IEEE802.15.4 MAC层硬件可支持自动帧格式生成、同步插入与检测、16 bit CRC校验、电源检测、完全自动MAC层安全保护;
②超低电流消耗(RX:19.7 mA,TX:17.4 mA)高接收灵敏度(-99 dBm); ③内部集成有电压控制振荡器、低噪声放大器、功率放大器以及电源整流器,采用低电压供电(2.1~3.6 V);
④数据速率250 kbps,片码速率为2 Mchip/s,工作频带范围:2.400~2.4835 GHz。
1.6 通信协议简介
ZigBee协议是一组基于IEEE 802.15.4无线标准研发的关于组网、安全和应用软件方面的无线通信技术标准。ZigBee无线网络技术的组网连接功能非常丰富和强大。有时,人们会将IEEE802.15.4与ZigBee联盟提出的新标准搞混淆。实际上,ZigBee使用IEEE802.15.4提供的服务,并在其基础上增加了网络结构(星状网络、对等网络、网状网络、树状网络)、网络安全和应用服务等内容。ZigBee协议通常采用一种简化的4层模型,并且负责不同的通信功能,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4层分别为:应用层、网络层、MAC层、物理层。
2 硬件设计
2.1 硬件框图
如图3所示,为ZigBee单芯片硬件模块的基本框图,PIC18LF4620微处理器通过SPI总线和一些基本控制信号与RF收发器CC2420相连,PIC18LF4620微处理器充当SPI的主器件,CC2420充当从器件。微处理器实现了ZigBee协议层和与RF收发器进行交互。
2.2 主控制器电路
主控电路主要由主控芯片、温湿度传感器、JTAG模块、接口电路、串口电路这几部分组成,其中部分电路为可选模块,为以后系统扩展功能使用。PIC18F4620单片机是系统的核心,它控制着外围的其他各功能模块。此外电路中的按键输入、LED控制电路等简单模块将不作具体介绍,电路板上40脚的PIC18LF4620内置有一个SPI接口、一个增强型可寻址USART串口模块,最大外接晶振可达40 M,本系统对速度并无太多要求,所以选择4 M外接晶振;另外接4个LED指示灯和2个按键作为绑定调试使用;串口采用3个脚的接插键代替,方便安装和调试,通过接MAX3232电平转换芯片与PC机进行人机界面交互使用,它与PIC18F4620和接口头之间都串有100 ?赘限流保护电阻;PIC18F4620的SPI三线接口接到CC2420芯片的对应端口上,CC2420的FIFO、FIFOP、SFD、CCA、VREG_EN、RF_RESET_脚分别接至单片机的其它端口。
温度传感器采用Microchip公司生产的SPI接口的低功耗13位精度的数字温度传感器TC77,工作电压在2.7~5.5 V之间,在连续转换模式时消耗电流为250 uA,在关闭模式时消耗电流为0.1 uA;湿度传感器采用HM1 500,尺度小,易安装,可以非常节省成本的机械自动安装,适合3 ~7 V电压供电,可靠性高、漂移小、响应时间短,特别适用于10~95%RH环境的精确测量,超出这个范围也不会对HM1 500稳定性造成影响,由于它是线性的电压输出湿度检测模块,因此能够直接与单片机相接。
2.3 无线RF收发模块电路
2.3.1 串行SPI通讯接口设计
本设计SPI是一种常用的串行通信协议,常用于MCU系统与外围设备之间的通信。SPI接口是工业标准的同步串行接口,是一种采用全双工、三线通信的传输系统。在SPI接口中,数据的传输只需要一个时钟信号和两条数据线。SPI总线由四根线组成:串行时钟线、数据输出线,还有一根是从机选择线,它们在与总线相连的各个设备之间传送信息。
SPI可工作在主动或从动模式下,一个典型的SPI系统包括一个主MCU和一个或多个外围器件。单片机通过SPI接口模块与好几个从机设备以及另一个主机设备相连,当该单片机以主机模式运行时,就可以与系统中的从机进行通信。而当它以从机模式工作时,就能与另一个主机进行数据的通信。
2.3.2 射频RF模块设计
CC2420的硬件设计只需要极少的外围器件就构成了其典型电路,包括晶振时钟电路、射频输入/输出匹配电路和微控制器接口电路三个部分。
芯片本振信号既可由外部有源晶体提供,也可由内部电路提供。由内部电路提供时需外加晶体振荡器和两个瓷片电容,本系统当采用的是16 MHz晶振,瓷片电容的容值约为22 pF。射频输入和输出匹配电路主要用来匹配芯片的输入输出阻抗,使其阻抗约为50 Ω,同时为芯片内部的功率放大器及低噪声放大器提供直流偏置,射频模块的天线可以是PCB上的引线形成的天线或单根天线,天线必须尽可能靠近集成电路连接。
ZigBee芯片CC2420与微控制器MCU的连接是通过SPI实现。CC2420有15个命令选通寄存器,33个16位配置寄存, 1个128字节的TX RAM,1个128字节的RX RAM,1个112字节的安全信息存储器。TX和RX RAM的存取可通过地址或者用八位的寄存器,第二种情况对内存的访问FIFO缓冲区那样。
2.4 本系统的硬件电路图
本设计的硬件电路图主要有以上几部分组成,具体电路如图4所示:
3 软件设计
3.1 Microchip ZigBee协议栈
Microchip ZigBee协议栈使用IEEE 802.15.4规范作为介质访问层(MAC)和物理层(PHY),该协议栈设计为随着ZigBee无线协议规范的发展而发展。完整的协议栈自下而上包括物理层、介质访问控制层、网络层、应用层。Microchip ZigBee协议栈1.0版本采用的是Microchip公司的PIC18LF4620作为主控制器,它使用内部闪存程序存储器来存储可配置的MAC地址、网络表和绑定表,必须使用可自编程的闪存存储器单片机,可以在大多数的PIC18系列单片机进行移植。 3.2 基于ZigBee 的无线温湿度监控系统
本文设计的是一个无线的温湿度数据采集传输系统,现场的终端节点将温湿度等信号采集经过处理后,通过无线通信模式传给协调器,协调器再通过串口把数据传送给电脑,并在电脑上显示采集到的数据,以实现对现场环境的实时远程监控。
系统软件分为主机和分机两部分,主机为全功能设备,也称为协调器(FFD),作为全功能系统,负责网络协调和人机对话。分机为精简功能设备,也称为终端节点(RFD),作为简单功能系统,等待主机命令,负责温湿度数据的采集和传输。
3.2.1 PIC单片机与CC2420的通信软件设计
CC2420与PIC单片机的连接是通过SPI实现的,单片机可通过SPI接口发送命令,访问CC2420的寄存器或读写接收/发送缓冲区,完成相关操作。CC2420通过4线SPI总线(SI、SO、SCLK、CSn)设置芯片的工作模式,并实现读/写缓存数据,读/写状态寄存器等,FIFOP指示是否超过RXFIFO的临界值或收到新数据包,FIFO指示RXFIFO是否为空。通过控制FIFO和FIFOP管脚接口的状态可设置发射/接收缓存器。CCA引脚用来检测信道是否空闲,在SPI总线接口上进行的地址和数据传输大多是MSB优先的。在数据传输过程中CSn必须始终保持低电平。
3.2.2 终端节点RFD软件设计
终端节点的设计在理解Microchip ZigBee协议栈的基础上进行修改和添加,在终端节点中的协议栈应用层增加温度传感器TC77和湿度传感器HM1 500数据采集任务,增加无线数据传输任务,修改最大使用的端点号,增加TC77和HM1 500两个端点号并修改端点描述符。
3.2.3 协调器FFD软件设计
协调器的设计在理解Micro-
chip ZigBee协议栈的基础上进行修改和添加,在协调器的协议栈应用层增加S2按键任务,修改定制绑定表,将绑定记录变大,建立S2端口绑定终端节点温湿度数据采集端口,实现协调器控制终端节点进行实时温湿度数据采集和传输,并把采集到的数据发送给电脑。
3.2.4 终端节点向协调器发送数据流程设计
Microchip ZigBee协议栈中发送数据的帧格式有两种,KVP帧和MSG帧。KVP帧发送的特殊数据传输机制,通过一种规定来标准化数据传输机制,主要用于传输比较简单数据;MSG帧发送在传输数据并不多做规定,主要用于专用的数据流或文件数据等数据量较大的传输机制。本设计中数据的发送大多数采用MSG帧格式。终端设备中,要发送的数据经NWK层、MAC层添加适当的协议头构成发送帧,最终把数据包发送给协调器,协调器收到数据后进行MAC层解包、NWK层解包,最终得到正确的数据。
4 系统调试结果
本系统与PC机连接调试,所需硬件设备包括两台PC机、两个9 V电源、一块RFD电路板、一块FFD电路板、一个ICD2调试器、一台万用表、一台示播器;软件主要是串口精灵;另外还需两条232串口线。
4.1 RFD调试
①烧写代码
②打开串口精灵,同时按住S3和复位键复位(串口精灵显示设置菜单)
③输入1(设置ID号)
串口精灵上显示:
Enter exact 4 digit long decimal board id
④输入0976(写入ID号,MAC号,这里的ID号可以是任意的四位数)
⑤输入2(加入网络)
串口精灵上显示:
Attempting to join a coordinator...
Successfully associated.
⑥输入3(执行绑定)
⑦输入0(复位重新连接,保存当前设置)
串口精灵上显示:
Rejoin successful
4.2 FFD调试
FFD的调试与RFD相似,烧写代码,串口精灵中输入1进入设置ID号状态;输入0968的(MAC)序列号写入ID号;输入0,保存当前设置等,其设置菜单,最后会在串口精灵上显示:
Starting a new network...
Now operating in next channel...
New network successfully started...
4.3 系统联调
在演示前先给协调器上电,再给终端节点上点,按下终端节点的复位键,加入网络。协调器端的串口精灵上显示:
A familiar node has just rejoined.
A new node has just joined.
Received valid source node info.
Custom binding successful.
然后在协调器上按下S2按键,绑定终端节点上的温度传感器TC77和湿度传感器HM1 500进行温湿度数据采集并把处理完的数据发送给协调器,协调器再通过串口发给PC机显示。协调器发给PC机显示的结果如图5所示:
我们可以清楚的看出,无线网络传感器的最终测试结果,其中temperature为26.6 ?觷,humidity为1.46 V。
5 结 语
文章中介绍的基于超低功耗的PIC18LF单片机的ZigBee无线温湿度监控系统与其他同类产品相比有较大的优势,PIC18LF系列单片机与其他同类单片机相比在低功耗、稳定性、抗干扰等方面有着明显的优势,它的低成本、技术成熟、传输速度快、使用方便等更适用于现在的无线网络传输系统,而ZigBee无线网络传感芯片CC2420更是以低功耗、低价格、低速率、高性能的特点,再加上其高度集成化的软、硬件架构和产品,使应用设计人员如虎添翼,更快、更方便地进行最终产品设计,越来越受到通信行业的青睐。这些显示出Zigbee具有超强的生命力和优势,应用前景非常好,特别是在工业控制、智能家居以及个人电子消费产品领域。在不远的将来,将有越来越多的内置式ZigBee功能的设备投入应用,并将极大地改善我们的生活方式和体验。
参考文献:
[1] 瞿雷.一种新的无线网络通信技术Zigbee[J].单片机与嵌入式系统应用,2007,(1).
[2] WiMedia联盟.Wi-Fi和蓝牙之间存在的干扰引发业界恐慌[J]. 电子工程专辑,2008(8).
[3] 李文仲,段朝玉.PIC单片机与ZigBee无线网络实战[M].北京:北京航空航天出版社,2007.
[4] 闫富松,赵军辉.ZigBee技术及其应用[J].无线电技术与信息,2006,(7).
[5] 刘恺.基于ZigBee协议的智能仪表数据采集系统的设计[J].自动化仪表,2007,(4).
[6] 封瑜,葛万成.基于ZigBee技术的无线传感器网络构建与应用[J].电子工程师,2007,(7).
[7] Holger Karl,Andreas Willig.Protocols and Architectures for Wireless Sensor Networks[M].Publishing House of Electron-
ics Industry,2007.
[8] Kinney Consulting LLC/Chair of IEEE 802.15.4 Task Group.
ZigBee Technology:Wireless Control that Simply Works[S].
[9] 麦胤,柳沁.基于FPGA和MSP430的SPI接口设计与实现[J].仪器仪表用户,2007,(5).
[10] 丁飞,张西良,张世庆,等.ZigBee技术的硬件实现模式分析
[J].单片机与嵌入式系统应用,2006,(9).
[11] Microchip Technology Inc,Microchip ZigBee specification
Version 1.0[S].