欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > DOCX文档下载
     

    基于CC2530的无线传感网络系统研究毕业论文.docx

    • 资源ID:3920264       资源大小:2.77MB        全文页数:41页
    • 资源格式: DOCX        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于CC2530的无线传感网络系统研究毕业论文.docx

    毕业论文(设计)设计论文题目:基于CC2530的无线传感 网络系统研究 学生姓名:张寅学生学号:专业班级:电科1111学院名称:物理与电子信息工程指导老师:朱娟2015 年4 月11 日基于CC2530的无线传感网络系统研究摘要 如今,随着物联网的产业的迅猛发展,无线传感网络越来越受国际国内的关注,并且无线传感器网络的发展将有助于全面提升物联网在社会生产生活中的信息互通、感知能力和智能决策能力,他被认为是未来高科技重要产业之一。而ZigBee技术是一种近距离、低功耗、低复杂度、低成本的双向无线通信技术,主要用于距离短、低功耗且传输速率不高的各种电子设备之间的数据传输。本文主要对ZigBee无线传输技术的发展和研究现状以及它的无线传输原理进行研究分析,重点对ZigBee组网和如何进行数据的传输进行剖析,给出基于ZigBee的温度无线传感网络设计方案,方案中使用CC2530芯片和温度传感器DS18B20。关键词:无线传感网路,ZigBee,DS18B20,CC2530Wireless Sensor Network System Based On CC2530 ResearchAbstractNowadays, with the rapid development of Internet industry, more and more get the attention of the international and domestic, wireless sensor network and the development of wireless sensor network (WSN) will help to improve the Internet of things in the social production and living in the information communication, awareness, and intelligent decision-making ability, he is considered to be one of important high-tech industry in the future.And ZigBee technology is a kind of close range, low cost, low power consumption and low complexity of two-way wireless communication technology, it is mainly used for short distance and low power consumption and transmission rate is not high data transmission between various kinds of electronic equipment. This article mainly discusses the ZigBee wireless transmission technology and its development and research status of wireless transmission principle research and analysis, focusing on ZigBee network and analyzes how to carry out data transmission, is given based on the temperature of the ZigBee wireless sensor network design, scheme using CC2530 chips and temperature sensor DS18B20.Key words: wireless sensor network, ZigBee, DS18B20, CC25301绪论1.1 无线传感器网络与ZigBee1.1.1无线传感器网络概述无线传感网路是集信息采集、信息传输、信息处理于一体的综合智能信息系统,具有广阔的应用前景,是目前非常活跃的一个领域。无线传感网络是一种集大量移动或静止的微传感器以自组织和多跳的方式构成无线网络。无线传感器网络比传统网络相比有很多优点,它综合了传感技术、无线通信和网络技术、嵌入式技术、微机电技术以及分布式信息处理技术等,具体有以下几个特点:第一,大规模网路。为了获取精准信息,在监测区通常会分部大量的传感器节点,数量可以达到成千上万。通过不同空间视角获得信息具有更大的可靠性,降低单个节点的精度要求;大量的节点存在使系统很强的容错性能;大量节点也可以扩大监测范围,减少盲区。第二,无线传感器网络节点工作在低功耗的状态。在无线传感器网络中,由于节点体积较小,使每个节点可以利用的能源是十分有限的,而且容易受工作环境等因素的影响,不易更换电源且成本很高,当电源耗尽,节点的功能就会失效。因为如果大部分节点能源耗尽而退出工作状态,那么整个网络也就处于瘫痪状态了。所以只有减小节点功耗,才能延长网络的寿命。第三,具有自组织性。在无线传感网络中,所有节点的地位都是平等的,没有预先指定中心,各个节点都是通过分布式算法来相互协调,基本不需要人工干预。通常情况下,各个节点可以相互协进行配置和管理,建立它们之间的连接,完成网络的初始化、启动监测任务、网络的故障自我修复等一系列工作。要实现上述功能,网络必须具备自组织的能力,即各个传感节点能够感知相邻节点工作状态的变化,来弥补一些失效传感器节,从而使网络拓扑结构随之的动态变化,维护网络结构的正常运行。第四,多跳路由。网络中节点通信距离十分有限,一般在几十米到几百米之间,这样节点就只能与之相邻节点通信。如若想与射频覆盖范围之外的节点通信,就需要中间节点进行路由。传统网络的多跳路由是通过网关和路由器来实现,而无线传感器网络的多跳级路由是由普通节点完成的。这样每个节点既是信息发起者也是信息的转发者。第五,以数据为中心的网路。无线传感器网络是一个任务型的网络,每个节点都是采用编号标识,而节点的编号是否需要全网唯一,则取决于网络通信协议的设计。由于传感器节点是随机分布的,节点编号和节点没有必然的联系。用户使用传感器网络查询事件时,只关心事件是否发给网路,而不是确定某个节点的编号。网络在获取指定事件的信息后直接汇报给用户。1.1.2 ZigBee的由来和发展1.1.2.1 ZigBee名字的由来ZiBee的名字起源于蜜蜂之间信息传递的方式,蜜蜂同过一种特定的肢体语言来告知同伴发现了事物,这种肢体语言是Zigzag(之字形,Z字形)以此意义以ZigBee作为一种新的通信技术命名,而ZigBee也通常被称为HomeRF Lite或RF-EasyLink亦或是FireFly无线电技术。ZigBee模块与移动网络基站相似,通信距离从几十米到几百米,并支持无限扩展。理论上,ZigBee可以由65536个无线模块组成无线网络平台,在整个网络覆盖范围内,所有节点都可以相互通信。1.1.2.2 ZigBee技术的发展2003年12月,Chipcon公司推出第一款符合2.4GHzIEEE802.15.4标准的射频收发器CC2420,而后又有很多公司推出与CC2420匹配的处理器,其中就有ATMEL公司的Atmega128。2004年12月,Chipcon公司推出第一个IEEE802.15.4ZigBee片上系统解决方案CC2430无线单片机,CC2430内部集成一款增强型8051内核以及CC2420。2005年12月,Chipcon公司推出内嵌定位引擎的芯片CC2431。2006年2月,TI公司收购了Chipcon公司,又相继推出了一系列的ZigBee芯片,CC2530就是其中之一。2007年1月,TI公司推出一款基于ZigBee的协议栈Zstack。Zstack协议栈符合ZigBee2006规范,支持多种平台,这里面就包括IEEE802.15.4/ZigBee的CC2430片上系统解决方案、基于CC2420的新平台以及TI的MPS430,还支持CC2431。1.1.3 无线传感器网路与ZigBee的关系无线传感器网络与ZigBee技术之间的关系可以从两方面进行分析:第一,协议标准:第二,应用。从协议标准来说,大多数无线传感器网络的物理层和MAC层都是采用IEEE802.15.4协议标准。IEEE802.15.4描述了低速率无线个人局域网的物理层和MAC层协议,属于IEEE802.15.4工作组,而ZigBee技术是基于IEEE802.15.4标准的无线技术。从应用上来说,ZigBee适合低速率、低数据量、低成本的设备。它们只需要很少的能量,就可以把数据从一个传感器传到另一个传感器,而且可以实现它们之间的组网,实现无线传感器网络分布式、低功耗、自组织的特点。1.1.3无线传感器网络应用现状最近几年,由于物联网的发展,无线传感器网络大规模的应用在各个领域中:1)环境监测由于人们对与环境的保护越来越关注,环境科学涉及领域愈来愈广,对于环境的监测需求相应增加。无线传感器网络为环境监测时采集数据提供了方便,并且还可以不影响环境。无线传感器网络可以运用一定数量的节点来对周围环境的监测。如森林环境监测、土壤的酸碱度、空气的温湿度、动物的活动等2)医疗护理无线传感器网络也可以应用在医疗研究、护理领域,包括对人体各项生理指标的监测,医药的管理等。罗彻斯特大学的科学家就是利用无线传感器创建了一个智能医疗的房间来监测病人的重要特征(血压、脉搏和呼吸)、睡觉姿势以及一天的活动。3)军事领域由于无线传感器网络节点造价低廉,可以密集随机的分布在各种恶劣的战场环境中且,隐蔽性强,可以对敌方进行实时监控,其中包括敌情侦察、兵力、装备和物资监控,为火控和自制导系统提供精准制导等多方面用途。4)智能家居 现有的智能家居多以有线网络为主,布线繁琐,且网络处理能力差。而无线传感器网络运用在智能家居可以解决这一问题,通过在家电和家具中嵌入传感器节点,通过无线网络和Internet连接在一起,可以提高人们的生活质量,是生活更加舒适、方便。并且可以为家庭提供安防系统,通过传感器对室内的温湿度,有无煤气,有无小偷进行数据采集处理。目前无线传感器网络还存在着如下问题:1)网络内节点的通信问题。传感器节点在正常通信过程中,信号可能被一些如墙壁、树木等障碍物阻挡而受到影响,现在主要用的是改善天线的质量来提高传输质量,如何提高传感器节点的穿透性是未来需要解决的问题。2)网络中传感器节点的寿命问题。一般现在使用高能电池、降低传感节点的功耗两种方式来解决这个问题。虽然现在有电池无线充电技术和无线能量搜集技术,但这两项技术才在处于研究阶段,需要一段时间才能真正成熟。1.1.4 无线传感器网路未来尽管无线传感器网络比目前处于初步发展阶段,但已经迅速占领市场,有很强的应用价值。除了在现在的工业、农业、环境、医疗、军事的运用,还会在更多新兴领域中运用发展,如智能家居、交通、空间探索等,最后是的万物联网,也就是我们今天所说的物联网。1.2 基于ZigBee的无线传感器网络由于ZigBee具有低成本、低功耗、网络容量大、数据传输速率低、范围小、工作频段灵活的特点使ZigBee成为现在炙手可热的技术。它比蓝牙更简单、速率更慢、距离更远、费用和功率更低。1) 数据传输速率低:只有250Kbps,专注低传输应用。2)功耗低:在低耗电的待机模式下,两节普通的5号电池可以维持一年以上,这也是为什么会更受欢迎。3)低成本:由于ZigBee的传输速率低,协议简单,使其成本大大降低,加之现在大力对其推广,是其价格变得越来越低。4)网络容量大:每个节点可以最多连接255个端点,而一个ZigBee网络最多可以容纳65536个节点,还可以对IEEE地址进行扩展。5)有效范围小:可以覆盖一百米之内,足以满足一个家庭和办公的需求。6)工作频段灵活:使用世界通用的2.4GHz,在欧洲使用868MHz,在美国使用915MHz,都是免费的。2 ZigBee技术原理2.1 ZigBee网络结构2.1.1 网络体系ZigBee网络分为4层,从上而下分别为物理层、MAC层、网络层、和应用层。其中物理层和MAC层由IEEE802.15.4标准定义,网络层和应用层由ZigBee联盟定义,应用层又分别包括ZDO(ZigBee设备对象)、APS(应用支持子层)、AF(ZigBee应用框架)和ZigBee设备模块和制造商定义的应用对象等组成。2.1.2 ZigBee的协议构架协议栈每层负责处理自己该层所规定的任务,并向上层提供服务,层与层之间通过服务接口进行通信。大多数层都数据服务接口和管理服务接口。图2.1.1Zigbee协议体系构架1) 物理层:主要负责工作频率、信道的分配以及为媒体介质访问层提供数据、管理服务。2) MAC层:通过CSMA/CA机制来避免冲突;在连个同等MAC实体间提供可靠链路;可以通过协调器产生信标,设备通过信标帧来同步;支持设备加入和解除网络。3) 网络层:确保IEEE802.15.4MAC层正常工作,负责网络的建立,允许加入设备和离开网络,提供路由和路由发现,并且为应用层提供数据管理接口服务。4) 应用层:主要包括三部分:APS、ZDO、AF。应用支持子层(APS)提供数据管理服务接口,而管理接口提供设备绑定和发现服务,并传递设备之间的消息;ZigBee设备对象就是协调器、路由器或终端,用于发起和响应绑定请求,并完成设备安全机制,发现网路设备,提供相应的服务。应用框架为应用对象提供活动空间,为应用对象提供键值匹配和报文服务。2.1.3 网络拓扑结构ZigBee网络有三种拓扑结构,分别是星型、树型和网状型。星型网络是由一个协调器和多个终端组成,都只能与协调器通信。树型网络是由协调器建立网络,加入多个路由器和多个终端,路由器只能与终端和协调器通信,终端只能通过路由器与协调器通信。网状型网络中,每个设备都可以相互通信,一般用户通过软件定义一个主协调器。图2.1.2 Zigbee网络拓扑结构从物理层面分,设备类型有全功能设备(Full FunctionDevice,FFD)和精简功能设备(Reduced Function Device,RFD)。在网络中,全功能设备可以作为可以作为协调器,路由器或终端设备。一个全功能设备可以同时和多个全功能设备通信或精简功能设备;精简功能设备只能作为终端,并且只能与一个全功能进行通信。图2.1.3星型和簇树型网络拓扑结构2.2 Zstack 协议栈2.2.1 软件介绍Zstack协议栈TI公司为ZigBee开发的一个平台,是一个基于轮转查询式的操作系统,它的main函数在ZMain中,总的来说,它一共做两件工作,一个是系统初始化,即启动代码来初始化硬件系统另外一个是开始操作系统实体,它符合ZigBee2006规范,并且是一个半开源的协议栈,其中MAC层和ZMAC层部分开源,具有强大的功能。Zstack协议栈具有和ZigBee相同的协议构架,基本都是由物理层、MAC层、网络层和应用层构成。不过,Zstack协议栈更详细,部分层的功能和名称如下:1) APP:应用层目录,用户可以根据自己的要求,在这个目录中添加自己的任务,这个目录里面包括了应用层的大部分内容,而我们要实现一项功能通常通过操作任务来实现。2) HAL:硬件驱动层,里面包含硬件的驱动、操作函数和与之相应的配置。3) OSAL:协议栈操作系统4) Profile:AF层目录,包含一些AF层的处理函数。5) Security&Services:安全服务层目录,这个文件包含安全和服务层的处理函数。6) Tools:工程配置目录,包含Zstack相关配置信息和空间上的划分。7) ZDO:ZDO设备对象目录。8) ZMac:MAC层目录,里面包含MAC层中所用的参数和LIB库函数的回调处理函数。9) Zmain:主函数目录,包含一些硬件配置文件和入口函数。10) Output:输出文件目录,通过IAR自动生成。2.2.2 系统构架2.2.2.1 系统初始化 如果要启动系统,我们需要完成硬件平台和软件架构所需要各个模块的初始化,为操作系统的运行做好准备工作,主要分为系统时钟初始化、检测芯片工作电压的初始化、堆栈的初始化、各个硬件模块的初始化、FLASH存储的初始化、形成芯片MAC地址、非易失变量的初始化、MAC层协议初始化、初始化应用层帧层协议、初始化操作系统等,其具体流程图和对应的函数如图2.2.2.1。2.2.2.2 操作系统的执行 通过启动代码,我们为操作系统运行做好准备,然后就开始从操作系统入口程序进行执行,操作系统实体只有一行代码:osal_start_system():/No Return from here。这个函数是个死循环,没有返回值,是轮询操作系统的主体。系统通过不断地查询每个任务中是否有事件发生,如果有发生,就执行相应的函数,如果有没发生,就查询下一个任务,这样循环地往复。操作系统执行的主体部分代码如下:void osal_start_system( void )#if !defined ( ZBIT ) && !defined ( UBIT ) for(;) / Forever Loop#endif uint8 idx = 0; osalTimeUpdate(); Hal_ProcessPoll(); / This replaces MT_SerialPoll() and osal_check_timer(). do if (tasksEventsidx) / Task is highest priority that is ready. break; while (+idx < tasksCnt); if (idx < tasksCnt) uint16 events; halIntState_t intState; HAL_ENTER_CRITICAL_SECTION(intState); events = tasksEventsidx; tasksEventsidx = 0; / Clear the Events for this task. HAL_EXIT_CRITICAL_SECTION(intState); events = (tasksArridx)( idx, events ); HAL_ENTER_CRITICAL_SECTION(intState); tasksEventsidx |= events; / Add back unprocessed events to the current task. HAL_EXIT_CRITICAL_SECTION(intState); 操作系统专门为所有事件创建了一个数组tasksEvents,每一个项目对应存放着每一个任务的所有事件。在这个函数中,先通过一个循环来遍历数组tasksEvents,找到第一个具有事件的任务(即具有待处理事件的优先级最高的任务,因为序列号越低,优先级越高),然后跳出循环,此时就得到了需要处理事件任务的序号idx,然后执行events=tasksEventsidx语句,把具有高优先级的高优先级的任务的事件取出,接着调用函数(tasksArridx)(idx,events)来执行具体的处理函数。tasksArr是一个函数指针数组,根据不同的时间任务序号(idx)来执行不同的函数。osal_start_system():执行操作系统开始osal_int_disable(INTS_ALL):关闭所有终端HAL_BOARD_INIT():初始化系统时钟zmain_ram_init:初始化堆栈zmain_add_check():检测芯片电压是否正常InitBoard(OB_COLD):初始化LED,配置系统定时器HalDriverInit:初始化芯片各个硬件模块zmain_ext_addr():形成节点MAC地址osal_ext_init():初始化FLASH存储zgInit():初始化一些非易失变量ZMacInit():初始化MAC层osal_init_system():初始化操作系统afInit():初始化应用框架层osal_int_enable(INTS_ALL):开全部中断InitBoard(OB_READY):初始化按键zmain_dev_info():在液晶上显示设备信息图2.2.2.1系统初始化流程图SampleApp中函数数组tasksArr代码如下:const pTaskEventHandlerFn tasksArr= macEventLoop, / MAC层任务处理函数 nwk_event_loop, /网络层任务处理函数 Hal_ProcessEvent, /板硬件抽象层任务处理函数 # if defined(MT_TASK) MT_ProcessEvent, /调用任务处理函数 # endif APS_event_loop, /应用层任务处理函数,用户不需要修改 ZDApp_event_loop, /ZigBee设备应用层任务处理函数,用户可以根据需要更改 SampleApp_ProcessEvent /SerialApp 的用户任务处理函数用户一般只需要修改协议栈的三个文件就可以完成一个项目,一个存放具体任务事件处理函数(SampleApp_ProcessEvent)的主文件,一个就是主文件的头文件,最后一个是操作系统的接口文件(Osal开头),是用来存放任务处理函数数组tasksArr的文件。2.2.3 Z-Stack开发的一些基本概念1)设备类型:在ZigBee网络中有三种逻辑设备类型:协调器(coordinator),路由器(router),终端设备(end-devece)。2)信道:868MHz的射频频段分的一个独立信道,915MHz的射频频段分的10个独立信道,2.4GHz的射频频段被分为16个独立的信道。设备通过扫描信道选择噪声最小的信道作为所见网络的信道。3)PANID: PANID是指网络编号,用于划分不同的ZigBee网络。设备的PANID值与ZDAPP_CONFIG_PAN_ID值的设置有关。当网络ZDAPP_CONFIG_PAN_ID设置为0xFFFF,则协调器将在0x00000xfffff之间随机产生一个的PANID,路由器和终端节点将会在自己的默认信道上随机选择一个网络加入,网络协调器的PANID即为自己的PANID。如果协调器的ZDAPP_CONFIG_PAN_ID设置不是0xFFFF值,则协调器可以根据自己的网络长地址(IEEE地址)或ZDAPP_CONFIG_PAN_ID值随机产生PANID;而路由器和终端节点的ZDAPP_CONFIG_PAN_ID值设置不是0xFFFF值,它们会以ZDAPP_CONFIG_PAN_ID值作为PANID。如果在默认的信道上已经有该PANID值相同的网络存在,则协调器会继续搜寻其他的PANID,直到找到网络不冲突为止。 4)描述符:ZigBee网络每一个设备都有一些描述符,来描述设备类型和应用方式。描述符包含节点、简单和默认用户描述符等。用户通过改变这些描述符可以定义自己的所要知道设备。描述符的定义和创建配置项在文件ZDOConfi.c和ZDOConfig.h中。描述符信息可以被网络中的其他设备获取。 5)绑定:绑定时一种两个或者多个应用层上建立的逻辑链路。一个节点上可以建立多个绑定服务,绑定也可以由多个目标设备。在最新的Z-Stack版本里,被称为资源绑定,网络中的每一个设备都必须执行绑定机制。绑定允许应用程序发送一个数据包并且、不需要知道目标地址。APS层从绑定表中确定目标地址,然后将数据向目标应用或者目标组发送。 绑定有三种方式:终端设备绑定、辅助绑定和解除绑定。通常前两种使用较多。终端设备绑定:通过协调器来实现,绑定的双方要同时向协调器发送绑定请求,通过协调器调用ZDO_RegisterForZDOMsg()函数在应用层注册绑定请求,需绑定的设备调用绑定请求函数发送给协调器,协调器调用终端邦定处理函数处理绑定请求,然后协调器反馈信息给绑定设备。绑定可以在终端与终端之间,也可以在路由器与路由器之间进行绑定服务。辅助绑定:每一个设备和应用都可以通过信道向另一个设备发送ZDO消息,帮助其它节点建立绑定。首先,协调器在ZDO层注册辅助绑定消息事件,待绑定节点在ZDO层注册绑定请求,协调器调用绑定请求处理函数,等待绑定节点接收到请求后,处理绑定请求,建立绑定表,并调用发送函数发送响应消息给协调器,最后协调器收到反馈信息调用发送状态函数处理绑定反馈信息。解除绑定:只需要发送一个请求给协调器移除绑定,协调器通过解除绑定信息来响应移除请求。 6)配置文件:配置文件(Profile)是指应用程序框架。它是由ZigBee开发商提供,用户通过它进行基础ZigBee技术开发的。配置文件定义不同设备对消息帧的处理,不同的设备之间可以通过发送命令、数据请求来实现通信。 7)端点:端点(Endpoint)是一种网络通信中的数据通道,每一个设备都被看做一个节点,每个节点都有物理地址和网络地址,长地址和短地址可供其他设备发送数据的目的地址,每个设备都有241个端点,而0端点保。如果选择“绑定”方式来的通信,那么需要在网络层注册多个端点进行数据发送、接收和绑定表的建立。且不需要绑定的两个节点的地址信息。 8 )簇ZigBee技术有两种通信方式:间接通信和直接通信。 间接通信:指各个节点通过端点绑定建立连接,这种方式不需要知道目的地址信息,这其中包括IEEE地址或网络短地址,Z-Stack底层会自动从栈的绑定表中查找目地设备的具体网络地址并将其发送出去。 直接通信:不需要绑定关系,它使用网络短地址作为参数调用适当地API来实现通信。直接通信的关键就是网络地址的获得。它可以通过目地节点的IEEE地址来查询短地址的方法。通常,ZigBee节点的IEEE地址是固定的,被写在节点的EEPROM中,这个作为ZigBee节点的参数一般会被标示在节点上。所以,有了IEEE地址以后,可以通过部分网络API的调用,得到相应的网络短地址。 而簇就是在建立Profile时所需要的一个概念,它是一簇网络变量的集合,在同一个Profile中,ClusterID是唯一的。在间接寻址方式中,建立绑定表时用户需要弄清楚Cluster的含义和属性。对于可以建立绑定关系的两个节点,它们的Cluster的属性必须一个是“输入”,一个是“输出”,而且ClusteID值相等,只有这样,它们才能建立绑定,在 直接寻址方式中,常用ClusterID作为参数,数据或命令发送到与之相应地址的Cluster上。2.2.4 通信方式Zigbee的通讯方式主要有三种点播、组播、广播。点播,思义点对点通信就是2个设备之间的通讯, 不容许有第三个设备收到信息;组播就是把网络中的节点分组, 每一个组员发出的信息只有相同组号的组员才能收到。广播最广泛的也就是1个设备上发出的信息所有设备都能接收到。这也是 ZigBee 通信的基本方式。1、点播一对一模式是在已知目的地址的情况下使用这种方式。在发送数据的时候会包含目的地址信息。在Z-Stack中的寻址方式可以这样来设置:Point_To_Point_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;/点播Point_To_Point_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;Point_To_Point_DstAddr.addr.shortAddr = 0x0000; /发给协调器2、广播广播模式是将数据发送给网络中所有的节点。在程序中地址模式设定AddrBroadcast。在Z-Stack中的寻址方式可以这样来设置:SampleApp_Periodic_DstAddr.addrMode=(afAddrMode_t)AddrBroadcast; SampleApp_Periodic_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;SampleApp_Periodic_DstAddr.addr.shortAddr = 0xFFFF; 3、组播组播模式是将数据发送给网络中同组号好的节点。在程序中地址模式设定为afAddrGroup。在Z-Stack中的寻址方式可以这样来设置:Group_DstAddr.addrMode = (afAddrMode_t)afAddrGroup;Group_DstAddr.endPoint = SAMPLEAPP_ENDPOINT;Group_DstAddr.addr.shortAddr = WEBEE_GROUP; 2.3.5消息发送与接收函数在Z-Stack中,如果给一个节点发送消息,发送函数如下:if ( AF_DataRequest( &SampleApp_Periodic_DstAddr, &SampleApp_epDesc, SAMPLEAPP_PERIODIC_CLUSTERID, 10, data, &SampleApp_TransID, AF_DISCV_ROUTE, AF_DEFAULT_RADIUS ) = afStatus_SUCCESS ) else / Error occurred in request to send. 设备在接收到信息后会把数据存储在pkt指针指向的结构体中,调用函数GenericApp_MessageMSGCB(afIncomingMSGPacket_t*pkt)可以用*pkt->cmd.Data取出接收到的消息,以下是收到消息的格式的结构体定义。typedef structosal_event_hdr_t hdr;uint16 groupId; /组IDuint16 clusterId; /簇IDafAddrType_t srcAddr; /源地址byte endPoint; /源节点端口号byte wasBroadcast; /是否为广播方式byte LinkQuality; /链路质量byte SecurityUse; /是否使用安全模式uint32 timestamp; /时间戳afMSGCommandFormat_t cmd;afIncomingMSGPacket_t;typedef structbyte TransSeqNumber; /序列号uint16 DataLength; /收到信息长度byte*Data; /收到信息的指针afMSGCommandFormat_t;3温度采集系统3.1 系统概况设计温度采集系统主要有3部分组成:协调器、终端和上位机。协调器主要负责组建网络,接收来自终端采集的数据,并通过串口发送到上位机上;终端主要负责温度数据的采集、存储和发送数据到协调器;上位机显示收集的数据温度,把各个节点收集来的数据更直观的展示在用户面前,并且可以显示所有温度数据的地址,以及温度的变化趋势。温度传感器1温度传感器2温度传感器3······协调器上位机监控RS232ZigBee RFZigBee RFZigBee RFZigBee RF图3.1多点无线温度采集系统框图3.2 系统硬件3.2.1 协调器和终端协调器主要由电源、JTAG接口、按键、LED指示灯、LCD、RS232串口、传感器接口、时钟和CC2530射频收发模块组成。如下图:图3.2.1 协调器终端就是协调器的简易版,由于终端尽量减少功耗,需去掉不必要的组件,所以只要电源、CC2530、传感器接口、JTAG和LED模块就可以了。3.2.2 温度传感器DS18B20数字温度传感器接线方便,封装成后可以应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式,用户可以根据应用场合的不同而来改变其形状。封装后的 DS18B20可用于电缆沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。温度传感器如下图:图 3.2.2 DS18B20温度传感器3.2.3 CC2530芯片CC2530包含一个 “增强型”的8位8051内核和一个高性能的2.4 GHz DSSS(直接序列扩频)射频收发器核心,它比标准的8051速度更快、性能更高。它还有32/64/128 kB可选择的编程闪存,2kB的FLASH和8 kB的RAM,还包括定时器、上电复位电路、睡眠模式定时器、ADC、掉电检测电路和21个可编程I/O引脚。 CC2530是一款功耗很低的单片机,在不同的模式下耗电也不一样,可以做到功耗可控,尤其在功耗模式3下电流消耗仅0.2A,在32 kHz晶体时钟下运行,电流消耗小于1A。图3.2.3 CC2530芯片脚位图 4软件设计本系统采用TI公司的Zstack协议栈,所在开发环境用的是IAR8.10,IAR开发最大的优势在于可以直接用TI公司的Zsta

    注意事项

    本文(基于CC2530的无线传感网络系统研究毕业论文.docx)为本站会员(来看看)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开