《zigbee讲解1.ppt》由会员分享,可在线阅读,更多相关《zigbee讲解1.ppt(78页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、目录1 ZigBee简介2 网络协议相关概念3 Z_stack协议栈介绍4 CC2530及IAR软件介绍5 温度采集系统设计与实现1.1 ZigBee vZigBee名称这一名称来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络 ZigBee来源 为解决已有无线通信技术中功耗大、组网规模小、通信协议过于复杂等问题,IEEE成立802.15.4工作小组,在Home RF Lite无线网络的基础上开发802.15.4协议。2001年,ZigBee联盟成立,随后Invensys(英国),
2、Mitsubishi(日本),Matoraola(美国)和Philips(荷兰)宣布加入ZigBee联盟,此后ZigBee迅速发展状大,于2004年发布ZigBee 1.0(ZigBee2004)vZigBee的发展2004年,ZigBee联盟发布了ZigBee 1.0,但这个时候的ZigBee只能组成星状网和树状网,不能组成网状网,而且稳定性极差,只能用于学习和研究。到了2006年,ZigBee联盟了发布ZigBee 2006( ZigBee 1.1 ),同年,TI完成对chipcon的收购,进入ZigBee开发的阵营。2007年年底,ZigBee联盟发布ZigBee 2007/PRO(Zi
3、gBee Pro Feature)。2008年,802.15.4c标准通过1.2 ZigBee芯片v目前全球有多家公司供应ZigBee芯片,附表说明:公司代表芯片TICC2420/CC2430/CC2431/CC2520/CC2480/CC2530Radio PulseMANGO-MG2400/MG2450 JennicJN5152MicrochipMRF24J40MAFreescaleMc13191/192AtmelAT86RF212(900Mhz)1.3 ZigBee的特点v低功耗 ,两支干电池可支持节点工作半年以上。 这是Zigbee的突出优势(在传感控制领域)。相比较,蓝牙能工作数周、
4、WiFi可工作数小时。v低速度,最高带宽250kbps2.4G, 40kbps915M,20kbps868M. 2Mbps的规范目前也正在研究当中。v近距离,一般通信距离在100m,目前增加RF发射功率后可以扩展到1km。 这指的是相邻节点间的距离。如果通过路由和节点间通信的接力,传输距离将可以更远(理论上无限)v高容量,理论上限65535个,实际上用51核的soc能做到200个,在推出ARM+ZigBee的芯片后应该有较大的提高。v低延时,醒唤时间小于15ms,节点连接进入网络只需30 ms ,进一步节省了电能,相比较,蓝牙需要310 s、WiFi 需要3 s。v短时延,一般的通信延迟在ms
5、级v低成本,ZigBee芯片已经大幅降价 通过大幅简化协议(不到蓝牙的1/10) ,降低了对通信控制器的要求,按预测分析,以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4KB代码,而且Zigbee免协议专利费。每块芯片的价格大约为8美元。v高安全,AES-128加密v免执照,2.4G全球ISM波段,915M(美国),868(欧洲)。1.4 Zigbee基础vZigBee无线网络协议是基于标准的七层开放式系统互联(OSI)模型,但仅对那些涉及ZigBee的层予以定义。vIEEE802.15.4标准定义了最下面的两层:物理层(PHY physical layer)和介
6、质接入控制子层(MAC medium access control)。vZigBee联盟提供了网络层和应用层(APL)框架的设计。其中应用层的框架包括了应用支持子层(APS)、ZigBee设备对象(ZDO)和由制造商制订的应用对象1.4.2 Zigbee节点类型vZigBee 协调器(ZC coordinator) (1)上电启动和配置网络(例如设定网络标示符 ,选择信道),一旦完成后相当于路由器功能。(2)每各ZigBee网络必须有一个.vZigBee 路由器(ZR router) (1)允许其他网络设备加入 (2)多跳路由 (3)协助电池供电的子节点通信 (4)自己作为终端节点应用vZig
7、Bee 终端节点 (ZED end device)(1)向路由节点传递数据(2)没有路由功能(3)低功耗(Zigbee的低功耗主要体现在这里) (4)可选择睡眠与唤醒。(路由因不断转发数据需电源供电,终端节点电池供电)补充:设备类型FFD(full-function device)全功能设RFD(reduced-function device)精简功能设备 vFFDFFD:可以担任网络协调者,形成网络,让其他的可以担任网络协调者,形成网络,让其他的FFDFFD或是精简功能装置(或是精简功能装置(RFDRFD)连结,)连结,FFDFFD具备控制具备控制器的功能,可提供信息双向传输。器的功能,可提
8、供信息双向传输。 附带由标准指定的全部附带由标准指定的全部802.15.4802.15.4功能和所有特征功能和所有特征 更多的存储器、计算能力可使其在空闲时起网络更多的存储器、计算能力可使其在空闲时起网络路由器作用路由器作用 也能用作终端设备也能用作终端设备vRFDRFD:RFDRFD只能传送信息给只能传送信息给FFDFFD或从或从FFDFFD接收信息。接收信息。 附带有限的功能来控制成本和复杂性附带有限的功能来控制成本和复杂性 在网络中通常用作终端设备。在网络中通常用作终端设备。 ZigBee ZigBee相对简单的实现自然节省了费用。相对简单的实现自然节省了费用。RFDRFD由于由于省掉了
9、内存和其他电路,降低了省掉了内存和其他电路,降低了ZigBeeZigBee部件的成本,部件的成本,而简单的而简单的8 8位处理器和小协议栈也有助于降低成本。位处理器和小协议栈也有助于降低成本。1.4.3 Zigbee网络结构ZigBee CoordinatorZigBee RouterZigBee End DeviceCluster Tree串Mesh网Star星1.4.4 Zigbee的应用v办公环境v数字家庭v无线抄表v手持终端v动物监控v工业控制v节能应用ServiceCenterNETWORKOPERATORINFRASTRUCTUREv Confirmationfor buying
10、“Il fuggiasco”.Push Ok.ZigBee Network这个手机操作可以传输相关数据: 信任中心信任中心: 授权 加值服务加值服务 服务管理服务管理 1.4.5 2.4G无线技术的发展趋势目前主流的和极具潜力的无线电技术有蓝牙、Wi-Fi、Zigbee、UWB、FM、GSM,RDID等,让这些的标准互连、互通、互相弥补,进而在技术上和芯片都达到统一,做出单芯片解决方案是当前的发展主流。而同在2.4G频段的Zigbee、蓝牙和Wi-Fi可能会最先完成整合,目前正在制定当中的蓝牙3.1(低功耗版本)已经将前述事宜纳入计划。1.4.6 ZigBee和简单无线通讯之间 最大区别v简单
11、的点到点,点到多点通讯(目前很多这样的数传模块),包装结构比较简单,主要为同步序言,数据,校验几部分组成。而ZigBee是采用数据帧的概念,每个无线帧包括了大量无线包 装,包含了大量时间,地址,命令,同步等信息,真正的数据信息只占很少部分,而这正是ZigBee可以实现网络组织管理,实现高可靠传输的关键。 1.4.7 行业热点v物联网(The Internet of things)是指通过各种信息传感设备,如传感器、射频识别(RFID)技术、全球定位系统等各种装置与技术,实时采集任何需要监控、连接、互动的物体或过程,采集其声、光、热、电等各种需要的信息,与互联网结合形成的一个巨大网络。其目的是实
12、现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制。2 网络协议相关概念 2.1 ISO(国际标准化组织)制定的(国际标准化组织)制定的OSI网网 络协议七层模型络协议七层模型 物理层物理连接,电缆,网卡,串口并口数据链路层以帧为单位传输数据,主要任务是建立数据封装及链接网络层网络网络之间的通信问题,提供路由,即最佳路径传输层解决传输数据质量问题,提供可靠的端到端的数据传输会话层会话连接到传输连接的映射,数据传送,会画连接的恢复和释放,会画管理,令牌管理和活动管理表示层数据语法转换,语法表示,数据压缩和数据加密应用层直接面对用户的具体应用,包含用户应用程序执行通信任务所需要的协议和
13、功能2.2 TCP/IP协议的四层模型协议的四层模型TCP/IPOSI应用层应用层 表示层 会话层主机到主机层(TCP)传输层网络层(IP)网络层网络接口层数据链路层物理层TCP/IP结构对应OSI结构2.3 IEEE802.15.4两个名词:两个名词:个人区域网络(personal area network, PAN)无线个人区域网络(wireless personal area network, WPAN)IEEE 802.15.4标准定义的LR-WPAN网络具有如下特点: (1)不同的载波频率下实现了20、40、250kbps三种不同的传输速率 (2)支持星型和点对点两种网络拓扑结构 (
14、3)有16位和64位两种地址格式(4)支持冲突避免的载波多路侦听技术( CSMA-CA)(5)支持确认(ACK)机制,保证传输可靠性IEEE 802.15.4标准只定义了标准只定义了PHY层和数据链路层层和数据链路层的的MAC子层子层PHY层由射频收发器以及底层的控制模块构成层由射频收发器以及底层的控制模块构成MAC子层为高层访问物理信道提供点到点通信的服子层为高层访问物理信道提供点到点通信的服务接口务接口转到转到pdf讲解各层讲解各层IEEE802.15.4网络的建立过程网络的建立过程首先,每个设备的协议栈必须要对其首先,每个设备的协议栈必须要对其PHY和和MAC层初始化层初始化每个网络必须
15、有一个也只能有一个每个网络必须有一个也只能有一个PAN Co-ordinatorPAN ID作为网络标识,可以被人为的预定义作为网络标识,可以被人为的预定义除除64位位IEEE MAC 地址外,还须分配一个地址外,还须分配一个16位的短地址位的短地址例如例如Zigbee技术选择技术选择2.4GHz设备以设备以Co-ordinator的模式启动,然后就开放请求应答的模式启动,然后就开放请求应答有可以利用的有可以利用的Co-ordinator,设备就可以申请加入网络,设备就可以申请加入网络设备被设备被Co-ordinator接受,将获得短地址作为标识,便可接受,将获得短地址作为标识,便可传输数据传
16、输数据2.4 zigbee网络地址网络地址1个是64位的IEEE地址,通常也叫作MAC地址或者扩展地址(Extended address),另一个是16位的网络地址,也叫做逻辑地址(Logical address)或者短地址64位长地址是全球唯一的地址,并且终身分配给设备。这个地址可由制造商设定或者在安装的时候设置,是由IEEE来提供当设备加入ZigBee网络被分配一个短地址,在其所在的网络中是唯一的。这个地址主要用来在网络中辨识设备,数据传输和数据包路由等一个节点是一个设备,有一个射频端,一个64位IEEE地址,一个16位网络地址3. 1 Z_stack协议栈相关概念(1)TI公司开发的Z-
17、Stack是ZigBee协议栈,并且经过了ZigBee联盟的认可而为全球众多开发商所广泛采用(2)我们没必要弄懂zigbee协议栈所有源代码,所谓开发或应用主要是对主函数及操作系统的修改应用,许多库函数据项目要求而做修改即可)(3)TI公司的Z-Stack协议栈装载在一个基于IAR开发环境的工程里(4)Z-Stack采用操作系统的思想来构建,采用事件轮循机制,当各层初始化之后,系统进入低功耗模式,当事件发生时,唤醒系统,开始进入中断处理事件,结束后继续进入低功耗模式如果同时有几个事件发生,判断优先级,逐次处理事件这种软件构架可以极大地降级系统的功耗这种软件构架可以极大地降级系统的功耗(7)整个
18、Z-stack的主要工作流程,大致分为系统启动,系统启动,驱动初始化,驱动初始化,OSAL初始化和启动,进入任务轮循初始化和启动,进入任务轮循几个阶段(5)Z-Stack实际上是帮助程序员方便开发ZigBee的一套系 (6)整个Z-Stack采用分层的软件结构硬件抽象层(HAL)提供各种硬件模块的驱动,包括定时器Timer,通用I/O口GPIO,通用异步收发传输器UART,模数转换ADC的应用程序接口API,提供各种服务的扩展集操作系统抽象层OSAL实现了一个易用的操作系统平台,通过时间片轮转函数实现任务调度,提供多任务处理机制。用户可以调用OSAL提供的相关API进行多任务编程,将自己的应用
19、程序作为一个独立的任务来实现zigbeeZ-stack流程图流程图3.1 主函数主函数协议栈已经将主函数放在了库文件当中,是通用文件main函数-存在于Zmain函数当中,程序先是从main函数开始运行的,main函数实现的功能是,初始化硬件、初始化网络(加入/创建网络)、初始化任务列表、进入任务处理循环详细说明如下:int main( )主函数实现硬件的初始化其中包括主函数实现硬件的初始化其中包括关总中断osal_int_disable( INTS_ALL )初始化板上硬件设置HAL_BOARD_INIT( )初始化I/O口InitBoard( OB_COLD )初始化HAL层驱动HalDr
20、iverInit( )初始化非易失性存储器sal_nv_init( NULL )初始化MAC层ZMacInit( )分配64位地址zmain_ext_addr( )初始化操作系统osal_init_system( )等3.2 OSAL操作系统函数操作系统函数顺利完成上述初始化后,开中断执行顺利完成上述初始化后,开中断执行osal_start_system( )函数开始运行函数开始运行OSAL系统系统该任务调度函数按照优先级检测各个任务是否就绪,如果存在就绪的任务则调用tasksArr 中相对应的任务处理函数去处理该事件,直到执行完所有就绪的任务如果任务列表中没有就绪的任务,则可以使处理器进入睡
21、眠状态实现低功耗osal_start_system( )一旦执行,则不再返Main( )函数3.3 OSAL程序流程图程序流程图OSAL是协议栈的核心是协议栈的核心Z-stack的任何一个子系统都作为的任何一个子系统都作为OSAL的一个任务,因此在开发应用层的一个任务,因此在开发应用层的时候,必须通过创建的时候,必须通过创建OSAL任务来运任务来运行应用程序行应用程序通过通过osalInitTasks( )函数创建函数创建OSAL任任务,其中务,其中TaskID为每个任务的唯一标识为每个任务的唯一标识号号任何任何OSAL任务必须分为两步:任务必须分为两步:一是进行任务初始化一是进行任务初始化二
22、是处理任务事件二是处理任务事件4.1 CC2530芯片介绍4.1.1 CC2430与CC2530 的比较项目项目cc2430cc2530引脚引脚4840大小7*7mm6*6mmFlash32/64/128KB32/64/128/256KB软件平台IARIAR定时/计数器4个4个中断源18个18个I/O21个21个微控制器增强型c8051增强型c8051抗干扰CSMA/CACSMA/CA功耗RX 27mATX 25mARX 24mATX 29mACC2530是TI 09年推出的,在CC2430的基础上根据CC2430实际应用的一些问题做了一些改进,缓存加大了,存储容量最大支持到256K,CC25
23、30的通信距离可以达到400m,不用在用CC2430外加功放来扩展距离CC2530的主要特点:的主要特点:高性能和低功耗的8051微控制器核。集成符合IEEE802154标准的24 GHz的RF无线电收发机。优良的无线接收灵敏度和强大的抗干扰性。在休眠模式时仅1A的流耗,外部的中断或RTC能唤醒系统在待机模式时少于0.4A的流耗,外部的中断能唤醒系统硬件支持CSMACA功能。较宽的电压范围(2036 V)。数字化的RSSILQI支持和强大的DMA功能。具有电池监测和温度感测功能。集成了14位模数转换的ADC。集成AES安全协处理器。带有2个强大的支持几组协议的USART,以及2个常规的16位计
24、时器和2个8位计时器。强大和灵活的开发工具Zigbee芯片芯片CC2530上图用1个32 MHz的石英谐振器(XTAL1)和2个电容(C231和C211)构成一个32 MHz的晶振电路。用1个32768 kHz的石英谐振器(XTAL2)和2个电容(C321和C331)构成一个32768 kHz的晶振电路。4.2 IAR快速入门 CC2530可以使用KEIL/IAR开进行开发.同时支持C,汇编等语言.但是建议使用IAR软件. 原因有两点:vTI Z-Stack协议栈使用IAR开发完成,要使用免费的ZigBee协议,就要使用IAR.v使用IAR才能获得其他技术支持4.2.1 IAR版本与ZigBe
25、e的关系vIAR 7.20H 支持 Z-Stack 1.4.2及以前版本vIAR 7.30B 支持 Z-Stack 1.4.3vIAR高版本兼容低版本,但这不适用于Z-Stack的开发4.2.2 IAR软件演示打开存在的项目创建一个新项目选择空项目保存项目添加源文件添加一个存在的源文件新建源文件编写代码保存源文件保存工作窗口添加源文件添加一个新编写的源文件项目设置选择芯片型号选择防真方式选择防真器的接口方式编译连接查看信息窗口调试反汇编窗口观察寄存器窗口查看变量窗口断点设置5.1 系统方案选则5.1.1 可行方案可行方案(1) ZigBee RF+MCU TI CC2420(CC2520)+M
26、SP430 vCC2420基于Chipcon(已被TI收购)公司的SmartRF 03技术。CC2520由TI生产,属于CC2520的升级版。vFREESCLAE MC13XX+GT60 Freescale公司的MC1319x收发信机系列非常适用于ZigBee和802.15.4应用。它们结合了双数据调制 解调器和数字内核,有助于降低MCU处理功率要求并缩短执行周期。(2)单芯片集成单芯片集成SOC TI CC2430/CC2431(8051内核内核)vCC2430使用一个8051 8位MCU内核,并具备128KB闪存和8KB RAM,可用于各种ZigBee或类似ZigBee的无线网络节点,包括
27、调谐器、路由器和终端设备。另外,CC2430还包含ADC、timer、AES-128协同处理器、看门狗定时器、上电复位电路、掉电检测电路,以及21个可编程I/O引脚5.1.2系统最终方案确定v本系统最终采用CC2530F256芯片,通过串口与上位机通信,温度传感器采用DS18B20v温度显示模块,由于CC2530I/O口有限,未采用1602液晶显示,而是由串口与上位机通信,用VC软件可编写实时温度曲线显示软件vCC2530可采用SPI通信,因此可通过少数几个引脚与nokia3310液晶通信5.2 系统组成方框图v协调节点设计v终端节点设计协调节点CC2530下载器5.3 DS18B20介绍与选型依据v供电电压支持35.5Vv独特1-Wire接口设计 CC2530的I/O口可以接多个DS18B20 DS18B20仅需一根口线与CC2530连接v测量范围:-55125摄氏度v用户可设定温度报警上、下限 5.4 程序实现vSwitch 作为终端节点,通过DS18B20采集数据,将温度数据以zigbee数据包发送vLight 作为协调节点,接收zigbee数据包,通过CC2530的Uart0,把温度传给上位机vIAR演示、程序讲解5.5 演示效果78 结束语结束语
限制150内