现在的位置: 首页 > 综合 > 正文

Zigbee入门指导(一)——基于CC2430的Zigbee开发环境的建立

2013年09月08日 ⁄ 综合 ⁄ 共 2539字 ⁄ 字号 评论关闭
文章目录

Zigbee入门指导(一)

——基于CC2430的Zigbee开发环境的建立

logiclimit

写在前面的话:临近毕业,把之前做过的一些项目的内容加以整理,和大家一起分享,请高手指教,欢迎同辈间交流,希望后来者能少走一些弯路。Zigbee入门指导源于大三时的课程设计《无线心电采集系统》中的Zigbee网络部分。Zigbee入门指导预定为三篇,分为:1、开发环境的建立;2、运行Zigbee例程;3、基于Zigbee的一主多从的数据采集系统,大概在一个月内整理完毕。文章版权为原创者logiclimit所有,转载时请注明出处。

      Zigbee是一种近距离低功耗低速率无线网络,使用免费的2.4GHz频段,主要用于无线传感器网络、智能家居等方面。很多公司都推出了自己的Zigbee芯片和模块,我使用的是基于Ti公司CC2430,由无线龙公司生产的Zigbee模块,使用的Zigbee协议栈版本为TI_ZStack-1.4.3-1.2.1(对应标准的Zigbee 2006)。本篇主要讲述其开发环境的建立方面的内容。使用的开发环境为:windows7、IAR 8051 7.30B。需要指出的是,Ti目前主推的是其CC2530模块,使用IAR 8051 7.50版本,支持Zigbee 2006 pro及Zigbee 2007,由于笔者没有CC2530及IAR 8051 7.50,故无法保证本文中的内容适用于CC2530及相关的开发环境和协议栈。之前开发时使用的操作系统是Win XP,故本文所说的内容同样适用于win XP系统。本文已假定读者了解IAR软件和cc2430单片机功能的使用,具有一定的C语言基础和嵌入式开发经验。

      由于之前只有一个学期时间,还要完成相关模拟采集电路的设计,故Zigbee部分只完成网络的建立、数据的收发及控制的内容,稍显粗鄙,请勿见笑。

一、安装IAR 8051 7.30B

    使用管理员权限运行安装程序EW8051-EV-730B.exe,根据提示输入相应的注册码,完成相关的安装。

 

二、安装Ti的Zigbee协议栈

      从Ti官网下载到其Zigbee协议栈压缩包swrc073d.zip,解压后安装。Windows 7下无法完成安装,根据之前在WinXP安装的经验,此安装程序生成一个名为<ZStack-1.4.3-1.2.1>的目录,此目录下有Zigbee协议栈和相关的文档和例程,故可以在WinXP的虚拟机中完成安装,之后拷贝到Win7中即可。

 

三、安装Packet Sniffer

      在进行Zigbee开发时,可以使用一个下载器和模块组成嗅探器(sniffer),相关信号的读取和显示使用Ti的Packet Sniffer软件完成,从Ti的网站上下载swrc045j.zip,解压后安装。Packet Sniffer监控的不仅是Zigbee的数据包,监控的是所有IEEE 802.15.4的无线数据包。程序的界面如图1所示

packet sniffer

图1

 

四、安装SmartRF Flash Programmer

      如同网卡的MAC地址,不同的Zigbee模块使用不同的IEEE地址(实用产品必须要向IEEE申请相关的地址),使用SmartRF Flash Programmer可以为zigbee模块烧写程序及IEEE地址,读出模块中的程序。从Ti的网站上下载swrc044f.zip,解压后安装。还有一个名为IEEE Address Program Software,只能读写IEEE地址,在swrc063.zip中,若安装了SmartRF Flash Programmer,无需安装IEEE Address Program SoftwareSmartRF Flash Programmer的程序界面如图2所示

SmartRF Flash Programmer图2

 

五、 初识协议栈目录

TI_ZStack-1.4.3-1.2.1       在<ZStack-1.4.3-1.2.1>的目录结构如图3,主要有<Components>、<Documents>、<Projects>和<Tools>四个目录,<Documents>中是相关的开发文档,<Tools>中是两个开发辅助工具ZOAD和Z-Tool,ZOAD用于空中下载,Z-Tool可用于观察网络状态、串口输出内容显示等。与用户关系最大的是<Components>和<Projects>,<Components/hal>存放的硬件驱动代码,根据实际使用的开发板或产品的不同,cc2430的引脚功能配置不同,要修改、增加相关的驱动代码。<Projects>中有多个例程用以学习Ti Zigbee的开发,提供了不同的程序框架,用户可以以相关的例程为模板创建自己的工程。

      对于硬件驱动代码对于不同的外设,除了定时器、AD等CC2430内部的外设不用自己编写驱动外,对于按键、LED、LCD要根据实际的连接要重写。一般情况下,不同厂商都采取了核心模块+扩展板的设计,各家厂商不同点在于扩展板的不同,Ti原厂的扩展板也分为DB和EB两种。各厂商在设计时都会对Ti的开发板有所参考,就我所用的无线龙开发板而言,其与Ti的CC2430EB最为相似,故之后使用的例程均为修改版的EB板例程。

       对于<Documents>中的文档(包括其中的<CC2430>目录),初学者至少应阅读过以下几篇《Z-Stack Developer's Guide _F8W-2006-0022_》、《Z-Stack Sample Applications (F8W-2006-0023)》、《HAL Driver API _F8W-2005-1504_》、《Z-Stack Sample Application For CC2430DB_F8W-2007-0017_》、《Create New Application For The CC2430DB_F8W-2005-0033_》。

 

 

图3

 

六、请自行尝试<Projects>下的例程

        虽说本教程的目的之一是使后来者能少走一些弯路,但个人主动探索的学习精神也是必不可少的,建议读者到网上搜寻Ti及无线龙的开发板原理图,对比其同异(实际上,笔者最初就只有三个模块,自行制作了扩展板)。尝试下载<Projects>下的例程,看看能否运行。

抱歉!评论已关闭.