基于zigbeeCC2530的数据采集与传输系统的设计_第1页
基于zigbeeCC2530的数据采集与传输系统的设计_第2页
基于zigbeeCC2530的数据采集与传输系统的设计_第3页
基于zigbeeCC2530的数据采集与传输系统的设计_第4页
基于zigbeeCC2530的数据采集与传输系统的设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、摘要随着网络的飞速发展,人们呼吁快速便捷的网络的呼声也越来越来强烈,无线网络必定是未来世界的网络主要发展方向。而3G时代无线应用的日渐丰富,以及无线终端设备的层出不穷,对于无线网络,尤其是基于802.11技术标准的Wi-Fi无线网络,802.11n产品技术应用逐渐成为市场主流应用。ZigBee技术是一种新兴的短距离、低速率无线网络技术。它是一种介于无限标记技术和蓝牙之间的技术提案,主要用于近距离无线连接。自己在学校学习期间熟悉了通信原理,简单的单片机知识,c语言编程等等。这些都能在这次的srtp里面得到体现。我们本次srtp重点研究了zigbee无线组网,结合TI z-stack无线传感协议,

2、在cc2530芯片的基础上实现温湿度光敏等数据的无线监测,通过此次设计过程来验证zigbee无线网络的便捷性。关键词 无线网络 zigbee 数据监测 第一章 绪论1 课题背景机车在做牵引试验时,需对机车上的试验数据进行采集与传输系统,目前还是通过有线方式实现数据的采集与传输,由于线缆本身十分笨重,占用空间多,这就使得每次牵引试验时,不但接线非常繁琐,而且费时费力。又由于受到振动,连接电缆易损坏或者断线,大大影响了数据采集的可靠性。针对目前牵引试验数据采集与传输系统存在的不足,拟采用无线传感器网络来实现牵引试验数据的采集与传输。该系统采用无线传感器网络节点构成测量系统。由于该系统取消了常规的测

3、量接线,采用无线传输采用由无线传感器节点构成的无线传感器网络,来实现机车牵引试验时,试验数据的采集与传输。所以采用ZigBee无线通信技术实现数据的无线传输。采用软测量方法实现试验数据的检测。测量数据,大大减少了试验所需的连线。提高了试验效率和试验的灵活性。本文通过对ZigBee无线网络的讨论,重点研究了无线传感器网络节点设备。无线技术在传感监测领域有自己独特的优势,传统的有线通信方式因为其成本高、布线复杂,已经不能完全满足人们的应用需求了。由此,无线通信技术应运而生。无线网络技术按照传输范围来划分,可分为无线广域网、无线城域网、无线局域网和无线个人域网。无线个人域网即短距离无线网络,典型的短

4、距离无线传输技术有:蓝牙(Bluetooth)、ZigBee、WiFi等。在工业控制、家庭自动化和遥测遥感领域,蓝牙(Bluetooth)虽然成本较低,成熟度高,但是传输距离有限,仅为10米,可以参与组网的节点少。WiFi虽然传输速度较快,传输距离达到100米,但是其价格偏高,功耗较大,组网能力较差。相比之下ZigBee技术则主要针对低成本、低功耗和低速率的无线通信市场,具有如下特点:功耗低:工作模式情况下,ZigBee技术传输速率低,传输数据量很小,因此信号的收发时间很短,其次在非工作模式时,ZigBee节点处于休眠模式。设备搜索时延一般为30ms,休眠激活时延为15ms,活动设备信道接入时

5、延为15ms。由于工作时间较短、收发信息功耗较低且采用了休眠模式,使得ZigBee节点非常省电,ZigBee节点的电池工作时间可以长达6个月到2年左右。同时,由于电池时间取决于很多因素,例如:电池种类、容量和应用场合,ZigBee技术在协议上对电池使用也作了优化。对于典型应用,碱性电池可以使用数年,对于某些工作时间和总时间(工作时间+休眠时间)之比小于1%的情况. 数据传输可靠:ZigBee的媒体接入控制层(MAC层)采用talk-when-ready的碰撞避免机制。在这种完全确认的数据传输机制下,当有数据传送需求时则立刻传送,发送的每个数据包都必须等待接收方的确认信息,并进行确认信息回复,若

6、没有得到确认信息的回复就表示发生了碰撞,将再传一次,采用这种方法可以提高系统信息传输的可靠性。同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突。同时ZigBee针对时延敏感的应用做了优化,通信时延和休眠状态激活的时延都非常短。 网络容量大:ZigBee低速率、低功耗和短距离传输的特点使它非常适宜支持简单器件。ZigBee定义了两种器件:全功能器件(FFD)和简化功能器件(RFD)。对全功能器件,要求它支持所有的49个基本参数。而对简化功能器件,在最小配置时只要求它支持38个基本参数。一个全功能器件可以与简化功能器件和其他全功能器件通话,可以按3种方式工作,分别为:个域网

7、协调器、协调器或器件。而简化功能器件只能与全功能器件通话,仅用于非常简单的应用。一个ZigBee的网络最多包括有255个ZigBee网路节点,其中一个是主控(Master)设备,其余则是从属(Slave)设备。若是通过网络协调器(Network Coordinator),整个网络最多可以支持超过64000个ZigBee网路节点,再加上各个Network Coordinator可互相连接,整个ZigBee网络节点的数目将十分可观。 兼容性:ZigBee技术与现有的控制网络标准无缝集成。通过网络协调器(Coordinator)自动建立网络,采用载波侦听/冲突检测(CSMA-CA)方式进行信道接入。

8、为了可靠传递,还提供全握手协议。 安全性:Zigbee提供了数据完整性检查和鉴权功能,在数据传输中提供了三级安全性。第一级实际是无安全方式,对于某种应用,如果安全并不重要或者上层已经提供足够的安全保护,器件就可以选择这种方式来转移数据。对于第二级安全级别,器件可以使用接入控制清单(ACL)来防止非法器件获取数据,在这一级不采取加密措施。第三级安全级别在数据转移中采用属于高级加密标准(AES)的对称密码。AES可以用来保护数据净荷和防止攻击者冒充合法器件。 实现成本低:模块的初始成本估计在6美元左右,很快就能降到1.5-2.5美元,且Zigbee协议免专利费用。目前低速低功率的UWB芯片组的价格

9、至少为20美元。而ZigBee的价格目标仅为几美分。由于ZigBee技术具有上述特点,因而广泛应用在短距离低速率电子设备之间的数据传输。ZigBee联盟预测的主要应用领域包括工业控制、消费性电子设备、汽车自动化、农业自动化和医用设备控制等。 2 课题研究的目的意义 ZigBee技术具有低成本、低功耗、近距离、短时延、高容量、高安全及免执照频段等优势,广泛应用于智能家庭、工业控制、自动抄表、医疗监护、传感器网络应用和电信应用等领域。智能家庭:现今家用电器已经随处可见了,如何将这些电器和电子设备联系起来,组成一个网络,甚至可以通过网关连接到Internet,使得用户可以方便地在任何地方监控自己家里

10、的情况?ZigBee技术提供了家庭智能化的技术支持,在ZigBee技术的支持下,家用电器可以组成一个无线局域网,省却了在家里布线的烦恼。工业控制:工厂环境当中有大量的传感器和控制器,可以利用ZigBee技术把它们连接成一个网络进行监控,加强作业管理,降低成本。自动抄表:现在在大多数地方还是使用人工的方式来逐家逐户进行抄表,十分不方便。而ZigBee可以用于这个领域,利用传感器把表的读数转化为数字信号,通过ZigBee网络把读数直接发送到提供煤气或水电的公司。使用ZigBee进行抄表还可以带来其它好处,比如煤气或水电公司可以直接把一些信息发送给用户,或者和节能相结合,当发现能源使用过快的时候可以

11、自动降低使用速度。医疗监护:医疗工作中,时常要获得病人的生理指标、环境指标,可以通过放置传感器构成传感器网络,实时监测这些数据。由于是无线技术,传感器之间不需要有线连接,被监护的人也可以比较自由的行动,非常方便。传感器网络应用:传感器网络也是最近的一个研究热点,像货物跟踪、建筑物监测、环境保护等方面都有很好的应用前景。传感器网络要求节点低成本、低功耗,并且能够自动组网、易于维护、可靠性高。ZigBee在组网和低功耗方面的优势使得它成为传感器网络应用的一个很好的技术选择。此外,ZigBee技术也可以应用到汽车电子、农业生产和军事领域中。随着物联网技术的日渐兴起,ZigBee技术将会扮演更为重要的

12、角色。但是,物联网的全面普及将是一个十分漫长的过程,至少目前还在探索和实验阶段,距离实用还有很长的路要走。 虽然前景一片大好,但是我们应该清楚认识到由于各方面的制约,ZigBee技术的大规模商业应用还有待时日,基于ZigBee技术的无线网络应用还远远说不上成熟,主要表现在:ZigBee市场仍处于起步探索阶段,终端产品和应用大多处于研发阶段,真正上市的少,且以家庭自动化为主;潜在应用多,但具有很大出货量的典型应用少,市场缺乏明确方向;使用点对多点星状拓扑的应用较多,体现ZigBee优势的网状网络应用少;基于IEEE 802.15.4底层协议的应用多,而基于ZigBee标准协议的应用少3 设计的准

13、备工作及预期实现的目的1 熟悉通信原理 zigbee是一种无线网络技术,在组网过程中涉及到的广播原理以及网络标识等都需要我去补充通信原理方面的知识2 熟悉掌握IAR软件的应用 zigbee硬件里面的程序大部分是在IAR环境下完成编译调试的3 掌握基础的射频知识 cc2530的芯片就是右51单片机跟射频前端组成的,信息的发送与接受是靠射频前端完成的4 熟悉c语言网络硬件编程,在设计传感器网络的时候需要在zigbee网络的应用层做编程工作,用到的语言就是c语言。5 了解TI的z-stack协议 预期实现的效果:把调试完成的程序烧写进zigbee硬件后可以成功组网,通过电脑可以观察到网络拓扑结构,在

14、电脑上可以监测节点的温湿度光敏数值。第二章 zigbee无线网络概述 2.1 ZigBee概述ZigBee一词来源于蜜蜂的八字舞,由于蜜蜂(bee)是靠飞翔和“嗡嗡”(zig)地抖动翅膀的“舞蹈”来与同伴传递花粉所在方位信息,也就是说蜜蜂依靠这样的方式构成了群体中的通信网络,它是一种低成本、低功耗的近距离无线组网通信技术。2000年,IEEE 802.15工作组成立的任务组TG4(Task Group,TG)制定了IEEE 802.15.4标准。该标准以低能耗、低速率传输、低成本为重点目标,为设备之间的低速无线互连提供了统一标准,就是ZigBee无线通信技术。ZigBee协议是基于IEEE 8

15、02.15.4标准的,由IEEE 802.15.4和ZigBee联盟共同制定。IEEE 802.15.4工作组制定ZigBee协议的物理层(PHY)和媒体访问控制层( MAC层)协议。ZigBee联盟成立用于2002年,定义了ZigBee协议的网络层(NWK)、应用层(APL)和安全服务规范。协议栈结构如图2-1。应用层(含应用接口层)用户应用支持子层ZigBee联盟网络层MAC层IEEE 802.15.4物理层图2-1 ZigBee协议栈结构ZigBee协议由物理层(PHY)、介质访问控制子层(MAC)、网络层(NWK),应用层(APL)及安全服务提供层(SSP)五块内容组成。其中PHY层和

16、MAC层标准由IEEE 802.15.4标准定义,MAC层之上的NWK层,APL层及SSP层,由ZigBee联盟的ZigBee标准定义。APL层由应用支持层(APS),应用框架(AF)以及ZigBee设备对象(ZDO)及ZDO管理平台组成1。PHY层定义了无线射频应该具备的特征,提供了868MHz-868.6MHz、902MHz-928MHz和2400MHz-24835MHz三种不同的频段,分别支持20kbps、40kbps和250kbps的传输速率,1个、10个以及16个不同的信道。ZigBee的传输距离与输出功率和环境参数有关,一般为10100米之间。PHY层提供两种服务:PHY层数据服务

17、和PHY层管理服务,PHY层数据服务是通过无线信道发送和接收物理层协议数据单元(PPDU),PHY层的特性是激活和关闭无线收发器、能量检测、链路质量指示、空闲信道评估、通过物理媒介接收和发送分组数据。MAC层使用CSMA-CA冲突避免机制对无线信道访问进行控制,负责物理相邻设备问的可靠链接,支持关联(Association)和退出关联(Disassociation)以及MAC层安全。MAC层提供两种服务:MAC层数据服务和MAC层管理服务,MAC层数据服务通过物理层数据服务发送和接收MAC层协议数据单元(MPDU)。MAC层的主要功能是:进行信标管理、信道接入、保证时隙(GTS)管理、帧确认应

18、答帧传送、连接和断开连接。NWK层提供网络节点地址分配,组网管理,消息路由,路径发现及维护等功能。NWK层主要是为了确保正确地操作IEEE 802.15.42003MAC子层和为应用层提供服务接口。NWK层从概念上包括两个服务实体:数据服务实体和管理服务实体。NWK层的责任主要包括加入和离开一个网络用到的机制、应用帧安全机制和他们的目的地路由帧机制,ZigBee协调器的网络层还负责建立一个新的网络。ZigBee应用层包括应用支持子层(APS子层)、应用框架(AF)和ZigBee设备对象(ZDO)。APS子层负责建立和维护绑定表,绑定表主要根据设备之间的服务和他们的需求使设备相互配对。ZigBe

19、e的应用框架(AF)为各个用户自定义的应用对象提供了模板式的活动空间,并提供了键值对(KVP)服务和报文(MSG)服务供应用对象的数据传输使用。一个设备允许最多240个用户自定义应用对象,分别指定在端点l至端点240上。ZDO可以看成是指配到端点O上的一个特殊的应用对象,被所有ZigBee设备包含,是所有用户自定义的应用对象调用的一个功能集,包括网络角色管理,绑定管理,安全管理等。ZDO负责定义设备在网络中的角色(例如是ZigBee协调器或者ZigBee终端设备)、发现设备和决定他们提供哪种应用服务,发现或响应绑定请求,在网络设备之间建立可靠的关联。安全服务提供者SSP(Security Se

20、rvice Provider)向NWK层和APS层提供安全服务。ZigBee协议层与层之间是通过原语进行信息的交换和应答的。大多数层都向上层提供数据和管理两种服务接口,数据SAP(Service Access Point)和管理SAP(Service Access Point)。数据服务接口的目标是向上层提供所需的常规数据服务,管理服务接口的目标是向上层提供访问内部层参数、配置和管理数据的机制。2.2 ZigBee网络基础ZigBee网络基础主要包括设备类型,拓扑结构和路由方式三方面的内容,ZigBee标准规定的网络节点分为协调器(Coordinator)、路由器(Router)和终端节点(E

21、nd Device)。节点类型是网络层的概念,反映了网络的拓扑形式。ZigBee网络具有三种拓扑形式:星型拓扑、树型拓扑、网状拓扑2。2.2.1 网络节点类型 (1) 协调器(Coordinator)在各种拓扑形式的ZigBee网络中,有且只有一个协调器节点,它负责选择网络所使用的频率通道、建立网络并将其他节点加入网络、提供信息路由、安全管理和其他服务。 (2) 路由器(Router)当采用树型和网状拓扑结构时,需要用到路由器节点,它也可以加入协调器,是网络远距离延伸的必要部件。它负责发送和接受节点自身信息;节点之间转发信息;允许子节点通过它加入网络。 (3) 终端节点终端节点的主要任务就是发

22、送和接收信息,通常一个终端节点不处在数据收发状态时可进入休眠状态以降低能耗。2.2.2 网络拓扑形式 (1) 星型拓扑星型拓扑是最简单的拓扑形式,如图2-2。图中包含一个协调器节点和一些终端节点。每一个终端节点只能和协调器节点进行通讯,在两个终端节点之间进行通讯必须通过协调器节点进行转发,其缺点是节点之间的数据路由只有唯一路径。图2-2 星形拓扑结构 (2)树型拓扑树型拓扑结构如图2-3。协调器可以连接路由器节点和终端节点,子节点的路由器节点也可以连接路由器节点和终端节点。直接通信只可以在父节点和子节点之间进行,非父子关系的节点只能间接通信。图2-3 树状拓扑结构 (3)网状拓扑网状拓扑如图2

23、-4。网状拓扑具有灵活路由选择方式,如果某个路由路径出现问题,信息可自动沿其他路径进行传输。任意两个节点可相互传输数据,网络会自动按照ZigBee协议算法选择最优化路径,以使网络更稳定,通讯更有效率。图2-4 网状拓扑结构2.2.3 工作模式ZigBee网络的工作模式可以分为信标(Beacon)模式和非信标(Non-beacon)模式两种。信标模式可以实现网络中所有设备的同步工作和同步休眠,以达到最大限度地节省功耗,而非信标模式只允许ZE进行周期性休眠,协调器和所有路由器设备长期处于工作状态。在信标模式下,协调器负责以一定的间隔时间(一般在15ms-4mins之间)向网络广播信标帧,两个信标帧

24、发送间隔之间有16个相同的时槽,这些时槽分为网络休眠区和网络活动区两个部分,消息只能在网络活动区的各个时槽内发送。非信标模式下,ZigBee标准采用父节点为子节点缓存数据,终端节点主动向其父节点提取数据的机制,实现终端节点的周期性(周期可设置)休眠。网络中所有的父节点需要为自己的子节点缓存数据帧,所有子节点的大多数时间都处于休眠状态,周期性的醒来与父节点握手以确认自己仍处于网络中,并向父节点提取数据,其从休眠模式转入数据传输模式一般只需要15ms。 第三章 CC2530芯片介绍3.1 CC2530概述CC2530 是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 应

25、用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其他强大的功能。CC2530 有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB 的闪存。CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。CC2530 芯片延用了以往CC2430 芯片的架构,在单个芯片上整合了ZigBee 射频(RF) 前端、内存和微控制器。它使

26、用1 个8 位MCU(8051),具有128 KB 可编程闪存和8 KB 的RAM,还包含模拟数字转换器(ADC)、几个定时器(Timer)、AES128 协同处理器、看门狗定时器(Watchdog timer)、32 kHz 晶振的休眠模式定时器、上电复位电路(Power On Reset)、掉电检测电路(Brown out detection),以及21 个可编程I/O 引脚。 CC2530 芯片采用0.18 m CMOS 工艺生产;在接收和发射模式下,电流损耗分别低 于27 mA 或25 mA。CC2530 的休眠模式和转换到主动模式的超短时间的特性,特别适合那些要求电池寿命非常长的应用

27、。3.2 CC2530模块描述 CC2530 方框图 图中模块大致可以分为三类:CPU 和内存相关的模块;外设、时钟和电源管理相关的模块,以及无线电相关的模块。CPU 和内存 CC253x芯片系列中使用的8051 CPU内核是一个单周期的8051兼容内核。它有三种不同的内存访问总线(SFR,DATA 和CODE/XDATA),单周期访问SFR,DATA 和主SRAM。它还包括一个调试接口和一个18 输入扩展中断单元。 中断控制器总共提供了18 个中断源,分为六个中断组,每个与四个中断优先级之一相关。当设备从活动模式回到空闲模式,任一中断服务请求就被激发。一些中断还可以从睡眠模式(供电模式1-3

28、)唤醒设备。 内存仲裁器位于系统中心,因为它通过SFR 总线把CPU 和DMA 控制器和物理存储器以及所有外设连接起来。内存仲裁器有四个内存访问点,每次访问可以映射到三个物理存储器之一:一个8-KB SRAM、闪存存储器和XREG/SFR 寄存器。它负责执行仲裁,并确定同时访问同一个物理存储器之间的顺序。 8-KB SRAM映射到DATA存储空间和部分XDATA存储空间。8-KB SRAM是一个超低功耗的SRAM,即使数字部分掉电(供电模式2 和3)也能保留其内容。这是对于低功耗应用来说很重要的一个功能。 32/64/128/256 KB闪存块为设备提供了内电路可编程的非易失性程序存储器,映射

29、到XDATA 存储空间。除了保存程序代码和常量以外,非易失性存储器允许应用程序保存必须保留的数据,这样设备重启之后可以使用这些数据。使用这个功能,例如可以利用已经保存的网络具体数据,就不需要经过完全启动、网络寻找和加入过程。时钟和电源管理 数字内核和外设由一个1.8-V 低差稳压器供电。它提供了电源管理功能,可以实现使用不同供电模式的长电池寿命的低功耗运行。有五种不同的复位源来复位设备。外设 CC2530 包括许多不同的外设,允许应用程序设计者开发先进的应用。 调试接口执行一个专有的两线串行接口,用于内电路调试。通过这个调试接口,可以执行整个闪存存储器的擦除、控制使能哪个振荡器、停止和开始执行

30、用户程序、执行8051 内核提供的指令、设置代码断点,以及内核中全部指令的单步调试。使用这些技术,可以很好地执行内电路的调试和外部闪存的编程。 设备含有闪存存储器以存储程序代码。闪存存储器可通过用户软件和调试接口编程。闪存控制器处理写入和擦除嵌入式闪存存储器。闪存控制器允许页面擦除和4 字节编程。 I/O控制器负责所有通用I/O引脚。CPU可以配置外设模块是否控制某个引脚或它们是否受软件控制,如果是的话,每个引脚配置为一个输入还是输出,是否连接衬垫里的一个上拉或下拉电阻。CPU 中断可以分别在每个引脚上使能。每个连接到I/O 引脚的外设可以在两个不同的I/O 引脚位置之间选择,以确保在不同应用

31、程序中的灵活性。 系统可以使用一个多功能的五通道DMA控制器,使用XDATA存储空间访问存储器,因此能够访问所有物理存储器。每个通道(触发器、优先级、传输模式、寻址模式、源和目标指针和传输计数)用DMA 描述符在存储器任何地方配置。许多硬件外设(AES 内核、闪存控制器、USART、定时器、ADC 接口)通过使用DMA 控制器在SFR 或XREG 地址和闪存/SRAM 之间进行数据传输,获得高效率操作。定时器1 是一个16 位定时器,具有定时器/PWM 功能。它有一个可编程的分频器,一个16 位周期值,和五个各自可编程的计数器/捕获通道,每个都有一个16 位比较值。每个计数器/捕获通道可以用作

32、一个PWM输出或捕获输入信号边沿的时序。它还可以配置在IR产生模式,计算定时器3 周期,输出是ANDed,定时器3 的输出是用最小的CPU 互动产生调制的消费型IR 信号。 MAC定时器(定时器2)是专门为支持IEEE 802.15.4 MAC或软件中其他时槽的协议设计。定时器有一个可配置的定时器周期和一个8 位溢出计数器,可以用于保持跟踪已经经过的周期数。一个16 位捕获寄存器也用于记录收到/发送一个帧开始界定符的精确时间,或传输结束的精确时间,还有一个16 位输出比较寄存器可以在具体时间产生不同的选通命令(开始RX,开始TX,等等)到无线模块。定时器3 和定时器4 是8 位定时器,具有定时

33、器/计数器/PWM 功能。它们有一个可编程的分频器,一个8 位的周期值,一个可编程的计数器通道,具有一个8 位的比较值。每个计数器通道可以用作一个PWM 输出。 睡眠定时器是一个超低功耗的定时器,计算32-kHz 晶振或32-kHz RC 振荡器的周期。睡眠定时器在除了供电模式3 的所有工作模式下不断运行。这一定时器的典型应用是作为实时计数器,或作为一个唤醒定时器跳出供电模式1 或2。 ADC支持7到12位的分辨率,分别在30 kHz或4 kHz的带宽。DC和音频转换可以使用高达八个输入通道(端口0)。输入可以选择作为单端或差分。参考电压可以是内部电压、AVDD 或是一个单端或差分外部信号。A

34、DC 还有一个温度传感输入通道。ADC 可以自动执行定期抽样或转换通道序列的程序。 随机数发生器使用一个16 位LFSR 来产生伪随机数,这可以被CPU 读取或由选通命令处理器直接使用。例如随机数可以用作产生随机密钥,用于安全。 AES加密/解密内核允许用户使用带有128位密钥的AES算法加密和解密数据。这一内核能够支持IEEE 802.15.4 MAC 安全、ZigBee 网络层和应用层要求的AES 操作。 一个内置的看门狗允许CC2530 在固件挂起的情况下复位自身。当看门狗定时器由软件使能,它必须定期清除;否则,当它超时就复位它就复位设备。或者它可以配置用作一个通用32-kHz 定时器。

35、 USART 0和USART 1每个被配置为一个SPI主/从或一个UART。它们为RX和TX提供了双缓冲,以及硬件流控制,因此非常适合于高吞吐量的全双工应用。每个都有自己的高精度波特率发生器,因此可以使普通定时器空闲出来用作其他用途。无线设备 CC2530 具有一个IEEE 802.15.4 兼容无线收发器。RF 内核控制模拟无线模块。另外,它提供了MCU 和无线设备之间的一个接口,这使得可以发出命令,读取状态,自动操作和确定无线设备事件的顺序。无线设备还包括一个数据包过滤和地址识别模块。 3.3 CC2530引脚描述 CC2530的引脚图引脚名称 引脚 引脚类型 描述AVDD1 28 电源(

36、模拟) 2-V3.6-V 模拟电源连接AVDD2 27 电源(模拟) 2-V3.6-V 模拟电源连接AVDD3 24 电源(模拟) 2-V3.6-V 模拟电源连接AVDD4 29 电源(模拟) 2-V3.6-V 模拟电源连接AVDD5 21 电源(模拟) 2-V3.6-V 模拟电源连接AVDD6 31 电源(模拟) 2-V3.6-V 模拟电源连接DCOUPL 40 电源(数字) 1.8V 数字电源去耦。不使用外部电路供应。DVDD1 39 电源(数字) 2-V3.6-V 数字电源连接DVDD2 10 电源(数字) 2-V3.6-V 数字电源连接GND - 接地 接地衬垫必须连接到一个坚固的接地

37、面。GND 1,2,3,4 未使用的引脚 连接到GNDP0_0 19 数字I/O 端口0.0P0_1 18 数字I/O 端口0.1P0_2 17 数字I/O 端口0.2P0_3 16 数字I/O 端口0.3P0_4 15 数字I/O 端口0.4P0_5 14 数字I/O 端口0.5P0_6 13 数字I/O 端口0.6P0_7 12 数字I/O 端口0.7P1_0 11 数字I/O 端口1.0-20-mA 驱动能力P1_1 9 数字I/O 端口1.1-20-mA 驱动能力P1_2 8 数字I/O 端口1.2P1_3 7 数字I/O 端口1.3P1_4 6 数字I/O 端口1.4P1_5 5 数

38、字I/O 端口1.5P1_6 38 数字I/O 端口1.6P1_7 37 数字I/O 端口1.7P2_0 36 数字I/O 端口2.0P2_1 35 数字I/O 端口2.1P2_2 34 数字I/O 端口2.2P2_3 33 数字I/O 模拟端口2.3/32.768 kHz XOSCP2_4 32 数字I/O 模拟端口2.4/32.768 kHz XOSCRBIAS 30 模拟I/O 参考电流的外部精密偏置电阻RESET_N 20 数字输入 复位,活动到低电平RF_N 26 RF I/O RX 期间负RF 输入信号到LNA RF_P 25 RF I/O RX 期间正RF 输入信号到LNAXOS

39、C_Q1 22 模拟I/O 32-MHz 晶振引脚1或外部时钟输入XOSC_Q2 23 模拟I/O 32-MHz 晶振引脚2第四章 系统的整体设计4.1 系统的结构简介本系统由三类节点组成:ZigBee协调器节点、路由器节点、传感器节点。图3-1所示是其组成示意图,其中ZigBee协调器是分布式处理中心,即汇聚节点。多个传感器节点置于不同的监测区域,每个传感器节点会先把数据传给汇聚节点,然后汇聚节点把数据通过串口传给上位机做进一步处理并显示给用户。协调器节点可以与多个传感器节点通信,这样可以使本系统同时监测多个区域,何时检测哪个区域通常由用户通过协调器节点来控制。当被检测区域的障碍物较多或者协

40、调器节点距离传感器节点较远时,可以通过增加路由器节点来增强网络的稳定性。当用户没有数据请求时,传感器节点只进行低功耗的信道扫描。系统工作流程示意图如下电脑(上位机)网 关路由节点温湿度光敏传感器温湿度光敏传感器温湿度光敏传感器图4-1 采集监测系统示意图4.2 对每个部分的功能和指标进行详细介绍(1)信息收集终端:即协调器,就是设计的zigbee网络的网关, 完成网络的建立与维护,和节点之间绑定的建立,实现数据的汇总,然后以有线的方式传送到上位机软件,进行进一步数据处理。本设计采用RS-232串口将采集到的数据发送到上位机。在本设计中可以通过串口助手老查看温湿度光敏等传感器数据。(2)温湿度光

41、敏传感器节点:即节点,放置在需要采集数据的地方。温湿度光敏采集终端可以实现网络的加入、与协调器绑定的建立对温湿度光敏的检测。检测到的数据通过ZigBee无线网络发送到协调器。 (3)上位机:本系统的设计的上位机选择了PC机,由于srtp确定以来反复对方案进行了探讨研究用PC机作为上位机软件最稳定,查阅了大量资料可以用通过不同的技术手段选择不同的上位机,带ARM设备开发板,移动终端等等都可以作为上位机。4.3 系统的程序设计(1) 设备的描述程序中,两种设备被配置:传感器和中心收集设备3。中心收集设备作为协调器或路由器启动,描述为:const SimpleDescriptionFormat_t

42、zb_SimpleDesc =MY_ENDPOINT_ID, / 端点 MY_PROFILE_ID, / Profile ID DEV_ID_COLLECTOR, / 设备 ID DEVICE_VERSION_COLLECTOR, / 设备版本 0, / 保留 NUM_IN_CMD_COLLECTOR, / 输入命令数量 (cId_t *) zb_InCmdList, / 输入命令列表 NUM_OUT_CMD_COLLECTOR, / 输出命令数量 (cId_t *) NULL / 输出命令列表;传感器设备的描述为:const SimpleDescriptionFormat_t zb_Simp

43、leDesc =MY_ENDPOINT_ID, / 端点MY_PROFILE_ID, / Profile IDDEV_ID_COLLECTOR, / 设备 IDDEVICE_VERSION_COLLECTOR, / 设备版本 0, / 保留 NUM_IN_CMD_COLLECTOR, / 输入命令数量 (cId_t *) zb_InCmdList, / 输入命令列表NUM_OUT_CMD_SENSOR, / 输出命令数量(cId_t *) zb_OutCmdList / 输出命令列表;(2) sht11温湿度传感器部分工作程序 #define data p1-1#define sck p1-0

44、#define ack 1#define noack 0#define measure_temp 0x03 /测量温度命令#define measure_humi 0x05 /测量湿度命令/ 读温湿度命令 char s-measure(unsigned char *p-value, unsigned char *p-checksum, unsigned char mode ) unsigned char error=0; unsigned int i;C s_transstart();/传输开始 switch(mode) case temp:error+=s_write_byte(measur

45、e_temp);break; case humi:error+=s_write_byte(measure_humi);break default:break; for(i=0;i65535;i+) if(data=0) break; if(data) reeor+=1; *(p_value)=s_read_byte(ack);*(p_value+1)=s_read_byte(ack); *p_checksum=s_read_byte(noack);return error;/ 温湿度值变换及温度补偿void calc_sth15(float *p_humidity,float *p_tempe

46、rature) const float c1=-4.0; const float c2=0.0405; const float c3=-0.0000028; const float t1=-0.01; const float t2=0.00008; float rh=*p_humidity; float t=*p_temperature; float rh_lin; float th_ture; float t_c; t_c=t*0.01-40; rh_lin=c3*rh*rh+c2*rh+c1; trh_ture=(t_c-25)*(t1+t2*rh)+rh_lin; *p_temperat

47、ure=t-c; *p_humidity=rh_ture;/从相对温度和湿度计算露点char calc_dewpoint(float h,float t)float logex,dew_point; logex=0.66077+7.5*t/(237.3+t)+log 10(h)-2; dew_point=(logex-0.6607)*237.3/(0.66077+7.5-logex); return dew_point;/动态显示接口程序DIR: MOV R0,#79H MOV R3,#01H MOV A,R3LD0: MOV DPTR,#0101H MOVX DPTR,A INC DPTR

48、MOV A,R0 ADD A,#12H MOVX A,A+PC MOVX DPTR,A ACLL DL1 INC R0 MOV A,R3 JB ACC.5,LD1 RL A MOV R3,A AJMP LD0LD1: RETDSEG: DB 3FH, 06H, 5BH, 4FH, 66H, 6DHDSEG1: DB 7DH, 07H, 7FH, 6FH, 77H, 7CHDSEG2: DB 39H, 5EH, 79H, 71H, 73H, 3EHDSEG3: DB 31H, 61H, 1CH, 23H, 40H, 03HDSEG4: DB 18H, 00H, 00H, 00HDL1: MOV

49、R7, #02HDWDL: MOV R6, #0FFHDL6: DJNZ R6, DL6 DJNZ R7, DL RET光敏采集实现程序#include ioCC2530.h #include string.htypedef signed short int16;typedef unsigned short uint16;typedef unsigned char uchar;typedef unsigned int uint;char TxData2; /存储发送字符串uint16 LightLevel;uint16 myApp_ReadLightLevel( void );/* 名 称:

50、InitUart()* 功 能: 串口初始化函数* 入口参数: 无* 出口参数: 无*/void InitUart(void) PERCFG = 0x00; /外设控制寄存器 USART 0的IO位置:0为P0口位置1 P0SEL = 0x0c; /P0_2,P0_3用作串口(外设功能) P2DIR &= 0XC0; /P0优先作为UART0 U0CSR |= 0x80; /设置为UART方式 U0GCR |= 11; U0BAUD |= 216; /波特率设为115200 UTX0IF = 0; /UART0 TX中断标志初始置位0/* 名 称: UartSendString()* 功 能:

51、 串口发送函数* 入口参数: Data:发送缓冲区 len:发送长度* 出口参数: 无*/void UartSendString(char *Data, int len) uint i; for(i=0; ilen; i+) U0DBUF = *Data+; while(UTX0IF = 0); UTX0IF = 0; /* 名 称: DelayMS()* 功 能: 以毫秒为单位延时 16M时约为535,32M时要调整,系统时钟不修改默认为16M* 入口参数: msec 延时参数,值越大延时越久* 出口参数: 无*/void DelayMS(uint msec) uint i,j; for (i=0; imsec; i+) for (j=0; j1070; j+);/* fn main* brief* Main function of

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论