无线传感网考试试题_第1页
无线传感网考试试题_第2页
无线传感网考试试题_第3页
无线传感网考试试题_第4页
无线传感网考试试题_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、无线传感器网络简介传感器网络实现了数据的采集、处理和传输三种功能。它与通信技术和计算机技术共同构成信息技术的三大支柱。无线传感器网络(Wireless Sensor Network, WSN )是由大量的静止或移动的传感器以自组织和多跳的方式构成的无线网络,以协作地感知、采集、处理和传输网络覆盖地 理区域内被感知对象的信息,并最终把这些信息发送给网络的所有者。无线传感器网络所具有的众多类型的传感器,可探测包括地震、电磁、温度、湿度、噪声、光强度、压力、土壤成分、移动物体的大小、速度和方向等周边环境中多种多样的现象。潜在的应用领域可以归纳为 :军事、航空、防爆、救灾、环境、医疗、保健、家居、工业

2、、商业等领域。计算机技术通信技术WSN&要组成传感器节点功能:采集、处理、控制和通信等网络功能:兼顾节点和路由器资源受限:存储、计算、通信、能量Sink节点功能:连接传感器网络与Internet等外部网络,实现两种协议栈之间的通信协议转换,发布管理节点的监测任务,转发收集到的数据。特点:连续供电、功能强、数量少等WSN专感器节点传感器模块:信息采集、数据转换处理器模块:控制、数据处理、网络协议无线通讯模块:无线通信,交换控制信息和收发采集数据能量供应模块:提供能量电源能量有限通信能力有限计算和存储能力有限大规模网络:地理区域大;部署密集提高信噪比;提高监测精度;增强容错性;减少盲区自组织网络:

3、不确定性;拓扑结构变化资源受限:计算、存储、通讯、能量动态拓扑:节点故障;通讯故障;移动性;节点加入可靠网络:适应环境条件;鲁棒性、容错性应用相关:没有统一的通信协议平台以数据为中心网络层:主要负责路由生成与路由选择;传输层:负责数据流的传输控制,是保证通信服务质量的重要部分;应用层:包括一系列基于监测任务的应用层软件;WSN关的标准有:WSN网络协议栈WSN协议栈多采用五层协议:应用层、传输层、网 络层、数据链路层、物理层。与以太网协议栈的五层协 议相对应。另外,协议栈还应包括能量管理器、拓扑管 理器和任务管理器。这些管理器使得传感器节点能够按 照能源高效的方式协同工作,在节点移动的传感器网

4、络 中转发数据,并支持多任务和资源共享。各层协议和管 理器的功能如下:?物理层:提供简单但健壮的信号调制和无线收 发技术;?数据链路层:负责数据成帧、帧检测、媒体访 问和差错控制;能量管理器:管理传感器节点如何使用能源,在各个协议层 都需要考虑节省能量;移动管理器:检测并注册传感器节点的移动,维护到汇聚节 点的路由,使得传感器节点能够动态跟踪其邻居的位置; 任务管理器:在一个给定的区域内平衡和调度监测任务。IEEE 802.15.4,属于物理层和 MACg标准,由于IEEE组织在无线领域的影响力,以及 TI, ST, Ember, Freescale, NXP等著名芯片厂商的推动,已成为WSN

5、勺事实标准。Zigbee,该标准在IEEE 802.15.4 之上,重点制定网络层、安全层、应用层的标准规范,先后推出了Zigbee 2004, Zigbee 2006, Zigbee 2007/ Zigbee PRO等版本。此外,Zigbee联盟还制定了针对具体行业应用的规范,如智能家居、智能电网、消费类电子等领域,旨在实现统一的标准,使得不同厂家生产的设备相互之间能够通信。值得说明的是,Zigbee在新版本的智能电网标准 SEP2.0已经采用新的基于IPv6的6Lowpan规范,随着智能电网的建设,Zigbee将逐渐被IPv6/6Lowpan标准所取代。与zigbee类似的标准还有z-wa

6、ve、ANT Enocean等,相互之间不兼容,不利于产业化的发展。ISA100.11a,国际自动化协会ISA下属的工业无线委员会ISA100发起的工业无线标准。WirelessHART,国际上几个著名的工业控制厂商共同发起的,致力于将HARK表无线化的工业无线标准。WIA-PA,中国科学院沈阳自动化所参与制定的工业无线国际标准。IEEE 802.15.4 简介? IEEE 802.15.4 描述了低速率无线个人局域网的物理层和媒体接入控制协议,是矩距离无线通信的IEEE标准,也是无线传感器网络通信协议中物理层与MAC!的一个具体实验。? IEEE 802.15.4 标准,针对低速无线个人区域

7、网络(low-rate wireless personal area network, LR-WPAN )制定标准。该标准把低能量消耗、低速率传输、低成本作 为重点目标,旨在为个人或者家庭范围内不同设备之间的低速互连提供统一标准。免许可证的2.4GHZ频段,可提供250Kb/s的数据传输率,有16个信道数,全球可用? 有16位和64位两种地址格式,其中64位地址是全球惟一的扩展地址?2、与星型网不同,点对点网络只要彼此都在对方的无线辐射范围之内,任何两个设备之都可以直接通信。点对点网络中也需要网络协调器,负责实现管理链路状态信息,认证设备身份等功能。点对点网络模式可以支持ad hoc网络允许通

8、过多跳路由的方式在网络中传输数据。?点对点网络可以构造更复杂的网络结构,适合于设备分布范围广的应用,比如在工业检测与控制、货物库存跟踪和智能农业等方面有非常好的应用背景IEEE802.15.4协议栈架构物理层规范IE E E 802 .15.4 定义 了 2个物理层标准 ,分别是2 .4 G H z 物理层和868/9l5MHZ?物理层的主要功能如1)无线发射机的激活和关闭;2)信道能量检测;3)接收分组的链路质量指示;4)基于CSMA心砌制;5)信道频率选择;6)数据传输和接受。ZigBee标准概述ZigBee技术是一组基于IEEE802.15.4无线标准开发的,有关组网、安全和应用软件方面

9、的技术标准。无线个人局域岗工作组IEEE802.15.4技术标准ZigBee技术的基础,ZigBee技术建立在IEEE802.15.4标准之上IEEE802.15.4只处理低级MAC1和物理层协议。 ZigBee联盟对其网络层协议和 API进行了标准化。ZigBee技术标准概述ZigBee技术是一种 近距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术,主要用于短距离、功耗低且传输速率不高各种电子设备之间进行数据传输。非常适合于家电和小型电子设备的无线控制指令传输。采用跳频技术,使用的频段分别为2.4GHZ(ISM),868MHz(欧洲),915MHZ (美国),有效覆盖范围为1075M

10、.ZigBee体系结构图ZIGBEE技术特点/1? ZigBee是一种无线连接,可工作在 2.4GHZ(ISM),868MHz(欧洲),915MHZ (美国),分别具有最高250Kb/s,20Kb/s,40Kb/s,的数据传输速率,其传输距离在10 75M.?1.功耗低:ZigBee网络节点设备工作周期短、收发数据信息功耗低,且使用了休眠模式(当不接收数据时处于休眠状态,当需要接收数据时由协调器唤醒节点)?2.成本低:普通节点硬件只需 8位微处理器,4-32KB的ROM一个节点大约10元,且ZigBee协议是免专利费的。?.可靠性高:采用CSMA/C假术,避免收发数据时的竞争和冲突,且MACW

11、采用完全确认的数据传输机制,每个发送的数据都必须等待接收方的确认信息,所以从根本上保证了数据传输的可靠性。?4.容量大:一个ZIGBEE网络最多可容纳254个从设备和一个主设备,一个区域内最多可以同时存在100个ZIGBEE网络?5.时延小:搜索设备时延 30MS蓝牙3-10S,因此此技术适用于对时延要求苛刻的无线控制(工业控制场合)应用。?6.兼容性好(1)家庭和楼宇网络应用。通过 zigbee网络,可以远程控制家里的电器、门窗,实现水电气远程自动抄表。(2)工业控制(3)公共场所安全(4)农业控制(5)医疗ZigBee协议框架应用层应用程序接口 安全层(128b加密)网络层(星状网格树状)

12、MAC子层物理层用户ZIGBEE联盟平IEEE802.15. ZIGBEE 平台通信硬件实现ZigBee网络层规范1.网络层参考模型及实现。网络层主要实现了点加入、离开、路由查找和传送数据。目前 ZigBee网络层主要支持两种路由算法,即树路由( cluster-tree )和 网状路由。支持星状,树状,网格等拓扑结构2.ZigBee节点设备类型(1) ZigBee协调器(Co-ordinator ),是启动和配置网络的一种设备,是网络的中心节点,一个ZigBee网络只允许有一个ZigBee协调器(2) ZigBee路由器(Router),是一种支持关联的设备,能够将消息转发到其他设备,Zig

13、Bee网络或树形网络可以有多个ZigBee路由器,ZigBee星型网络不支持ZigBee路由器;(3)ZigBee终端设备(End Device八执行具体功能的设备。ZIGBEE设备地址每个设备节点都包括以下的2种地址:(1)IEEE MACfc址:这是一种64位的地址,这个地址由IEEE组织进行分配,用于唯一的标识设备,全球没有任何两个设备具有相同的MACCfe址。在zigbee网络中,有时也叫 MAC地址为扩展地址。(2)16位短地址:16位短地址用于在本地网络中标识设备,和在网络中发送数据,所以如果是处于不同的网络中有可能具有相同的短地址。当一个节点加入网络的时候将由它的父节点给它分配短

14、地址。(3)协调器的短地址是0o.ZigBee网络层主要功能ZigBee网络层主要功能包括设备连接和断开网络里所采用的机制,以及在帧信息传输过程中所采用的安全性机制。此外,还包括设备之间的路由发现和路由维护和转交。并且,网 络层对一跳(one-hop)邻居设备的发现和相关结点信息的存储。一个 ZigBee协调器创建一个新的网络,为新加入的设备分配短地址等。4.1CC2530芯片基本介绍CC2530是用于2.4-GHz IEEE 802.15.4 、 ZigBee和RF4CE应用的一个真正的片上系统(SoC解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530结合了领先白RF收发

15、器的优良性能,业界标准的增强型8051 CPU系统内可编程闪存,8-KB RAM和许多其它强大的功能。CC2530有四种不同的闪存版本:CC2530F32/64/128/256 ,分别具有32/64/128/256KB的闪存。CC2530具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗2.CC2530芯片性能特点高性能和低功耗的8051微控制器核 32- 、64-或128-KB的系统内可编程闪存集成符合IEEE 802.15.4 标准的2.4GHz的RF无线电收发机 硬件支持CSMA/C砌能具有8路舒服和可配置分辨率的 12位ADC 强大的5

16、通道DMA 21 个通用I/O引脚2.外设模块CC2530包括许多不同的外设,允许应用程序设计者开发先进的应用。调试接口执行一个专有的两线串行接口,用于内电路调试。I/O控制器负责所有通用I/O引脚。CPUW以配置外设模块是否控制某个引脚或它们是否受软件控制,如果是的话,每个引脚配置为一个输入还是输出,是否连接衬垫里的一个上拉或下拉电阻。系统可以使用一个多功能的五通道DMAS制器,使用XDAT照储空间访问存储器,因此能够访问所有物理存储器。每个通道(触发器、优先级、传输模式、寻址模式、源和目标指针和传输计数)用DMA描述符在存储器任何地方配置。1. I/O端口引脚功能CC2530有21个可编程

17、I/O引脚,P0和P1是完整的8位I/O端口,P2 口只有5个可使用的位。通过软件设定一组 SFR寄存器的位和字节,可使这些引脚作为通常的I/O 口或作为连接ADC计时器或USART部件的外围设备I/O 口使用。可设置为通常的I/O 口,也可设置为外围的I/O使用在输入时有上拉和下拉能力全部21个I/O 口引脚都具有响应外部中断源输入口。如果需要外部中断,可又t I/O 口引脚产生中断,同时外部中断事件也能被用来唤醒休眠模式。1219脚(P0_7P0_0 :具有4mA的输出驱动能力。11, 9脚(P1_0,P1_1):具有20mA的驱动能力。58, 3718脚(P1_7P1_2):具有4mA的

18、输出驱动能力。3238脚(P2_4P2_0 :具有4mA的输出驱动能力4.5通用I/O端口通用I/O端口相关寄存器1.寄存器PxSEL其中x为端口的标号,P0SEL, P1SEL, P2SEL:用来设置端口的每个引脚为通用 I/O或外部设备I/O。指定位为0为通用I/O,指定位为1 为外部设备I/O o缺省时,每当复位之后,所有的数字输入 /输出引脚都设置为通用输入引脚。如 P1SEL&=0XC段置P1-6,P1-7为通用I/O)如P0SELI =0X80 (设置P0-7为外部设 备 I/O )寄存器PxDIR 寄存器PxDIR ( P0DIR , P1DIR, P2DIR )用来设置每个端口

19、引脚为输入或输出。只要设置PxDIR中指定位为1,其对应的引脚设置为输出。只要设置PxDIR中指定位为0,其对应的引脚设置为输入。如 P1DIR = 0XC0(设置P1-6,P1-7为输出)如P0DIR&=0X01(设置P0-0为为输入)1.1 I 2c串行总线的组成及工作原理采用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。同时,系统的更改和扩充极为容易。常用的串行扩展总线有:I2C (Inter IC BUS )总线、单总线(1WIRE BUS SPI (Serial Peripheral Interface )总线及 Microwire/PLUS 等。1.3 I2

20、C总线特点I 2C总线是一种串行总线,用于连接微控制器及其外围设备,具有以下特点:两条总线线路:一条串行数据线(SDA, 一条串行时钟线(SCD 每个连接到总线的器件都可以使用软件更具它的唯一的地址来识别传输数据的设备间是简单的主从关系主机可以用作主机发送器或主机接收器串行的8位双向数据传输,位速率在标准模式下可达100kbit/s ,在快速模式下可达400kbit/s ,在高速模式下可达3.4Mbit/s1.7 I2C典型信号模拟子程序2)终止信号1)起始信号void I2cStop(void)Void T2CStart(void)SDA = 0; SDA = 1;SomeNop();Som

21、eNop();SCL = 1;SCL = 1;SomeNop();SomeNop();SDA = 1;SDA = 0;SomeNop();SomeNop();)4. 2振荡器#define OSC_32KHZ 0 x00/使用外部32 K晶体振荡器2.3 PCA9554寄存器的功能?PCA9554弓|脚I/O是输入还是输出,由输入/输出寄存器还有配置寄存器的位值决定。四个寄存器?寄存器0输入端口寄存器?寄存器1输出端口寄存器?寄存器2一极性反转寄存器?寄存器3配置寄存器/时钟设置函数#define HAL_BOARD_INIT() uint16 i;SLEEPCMD &= OSC_PD; /*

22、 开启 16MHz RC 和 32MHz XOSC */while (!(SLEEPSTA & XOSC_STB);/* 等待 32MHz XOSC 稳定 */asm(NOP);for (i=0; iC:ON .E.Nfir,5腌时*1时as比较ST2BhIENOIRC ON S TIF6型”学帏 X/US.RF2INT3JhTFXTJ P3TFBRCaNJ- PDIF 厦7LFSAKTC TK JjUIEM2 LTTXOIEBRJCOM2 LTTICDIF5IMA-JfaZET! DMAmRCOX.JDMAIF9定时ifill S6位费FI4L载3港出T1EhIEX1 .T1 IEERCOX

23、.TIIF 11,z,定 HSftHT2百涧iIEXI .TZLEJRCON.T2IF ME11定时SO信位:)必援“士较福出T3SBIlIENI T3 IE1RCON T3IF L,3i,12虎 IH 宰 4 G8位1祥山T4IEXI T4EE1EJCOX.T4EF t中13琳1 13人FOTFTTIEXI FDUZIRCOJi.roEF 1114U&AR.T 1 TX7 花出.LTTXS73JilEN2.UTXltEIKCON2 LiTXIlF名域1“精人F1INT7BJiJEN2 PalEPl IF 14RFi川中却FLFTHXTJ R.FTF5 1 COX KFTF -17目门向”时迸

24、出WDTWhIEM2 WDTIE1RJCOM2 WDTTFO_DIR_PORT_PIN(2, 0, IO_OUT);IO_DIR_PORT_PIN(1, 5, IO_OUT);IO_DIR_PORT_PIN(1,4, IO_OUT);L_LCM_RESETn();asm(nop);/设置P2.0方向为输出/设置P1.5方向为输出/设置P1.4方向为输出void LCM_Init(void)IO_DIR_PORT_PIN(1,7,/设置P1.7方向为输出IO_DIR_PORT_PIN(1,6,/设置P1.6方向为输出主程序中断请求断点篡续执行LOUT);LOUT);asm(nop);H_LCM_

25、RESETn();显示开,发个命令,打开我的显示LCM_WriteCMD(LCM_CMD_DisplayON); /* SO12864FPD-13ASBE(3S)的命令字 */? #define LCM_CMD_DisplayON0 xAF /显示开,见SO12864-14磅歹U模块说明书,1010 1111=AF? #defineLCM_CMD_DisplayOFF0 xAE/显示关1.1中断的定义及必要性? 定义:所谓中断是指中央处理器CPU正在处理某件事的时候,外部发生了某一事件,请求 CPUS速处理,CPU暂时中断当前的工作,转入 处理所发生的事件,处理完后,再回到原来被中断的地方,继

26、续原来 的工作。这样的过程称为中断。1.3中断源外设中断请求实时时钟中断请求控制对象中断源位要向R.TI雀星7EA口RQ鹏用所轲中断.th无中断莅认h.dU电置对应的怩般更翻,个中%爬分别便能融静山S-中RDf;住用.出出来型。55.TIEBUW峰昵定叼雅中段性能我中断鹏止L中备便能4ENCCE0RiWAEE叩密,需重中好便能心中新器止1=中畸世能3URJC1IEQR-WCSAR7 L4理他能我中制鞋止11中*住舱2URXffCE0JVW口弓由tniKXTi朝使能心中庭里止L中希使能JADCIE0R-WADC中联梗陇则中祈祭山L中看他能QKFEHJUEfi.WKf tx.fijc fifo 中

27、帼粒悔曲中断 上13中新世能IEM中局信崛&故障引起的中断人为设置的中断强迫中断引起的中断都是随机。人为设置的中断,不是随机的,故称为自愿中断1.4中断处理过程中断处理过程包括中断请求、中断排队、中断响应、中断处理、中断返回五个全过程。CPU对中断的响应及中断过程的 tt:RB7:中甘丸京-Q没有健川5ADCJIQ旦WHOMX中面灯看.4:中新芭生町就为BI1EPU价;:中崎向量网程二 谓母,也无中Bt衣决h 中好未注4Q没有徒用fl怵ILP5ART 0 RX中箭标市.中断比t时设咀。FU前向中断向履用程时 看明 fl:而中断未提1中时本法2ETI1RW久向r必殂一宜设为1设置为零林+出罐做期

28、剧即Bi Hit几乎总此如北白功中断 靖东时执行一次)卜1ftFEJLRJJflRFTXTXnrO巾嘀回耳 TRflKH中斯坦I时应为IflXE推寓中商位看岬H BJ清除r 心人中餐未提h 中断未捷rroR.W用图-外眼 口设为L设置大事糊性能M爆刷中厮近翻,几乎总是如此工后切中笥 着幕畔执行次1-TCM (DxaB? 中吊尿位名称复位R/W描述7: 0P1IEN0X00R/W端口 P1.0 至J P1.7中断使能,0:中断禁用,1:中断使能IRCONfr断标志寄存器4IKONCQxDO!申晴哥芯世酢也Jtw播注710:0KW班底定因H中断0=无中而卡融1:中曲1法0彩W必原”如-可人1总是把

29、匪中断薄-SPOD=00口由中林之0; 无中新束决1:序曲来4T4IF0RWHQ定时 A 中 R u tL- it Al 中甑力1 E N *J1 Jill FtPUffi 向中 ih A M M理时晴(ft.0:犬中断未决1:中断4点3T3IF0RWH0定时中晶自上时t13中厩城里时改为A妣风而匐中善向HHf 舞舞 程时脩静.0:无中断未决L: 中勤氏医T2IF0JLWH0正时零士中Bib*巧七时叁士中而发生时设用1 fl=H,,tCFUPJ折M中孑器各倒 程时情%0=无中断未:决1= 甲新小乐1TIIF。RWHD笳时m中断,3定时01中断度中时也为1异H,长pu向相商中看联善则 曷时0:无

30、中断未决1:中Br来提0DMAlf0RWDMA三胆中断标志0; 无中薪未决iJ世RW崔建7:5-(KBRW出:百M.用WDTJFQWW廿门聊出川空中崎阮右Q:无中断*决h中面.卡跳3FLffq海口川喟由小明比力看来也1,中枪2E l IEQB.WUmATl W中崎酥二 电天中新靶法h木质末选1tmiflfE0HJWHEART DTX-h4i4如 无期看比决1工中淅在企qKDF0ELW口之4武标去 a 无中看点决IJ 中斯未决lARM? fft E5:bIRCON冲断标志寄存器5? P0SEL&=0X0缎置 P0.1 为通用 I/O 接口 P0INP|= 0X02?,设置P0.1 = 1为上位,

31、P0.1为高电平中断? P0IEN|= 0X02 ,设置 P0.1 = 1, P0.1 为中断方式? P1CTL|= 0X02, P0.1 为上升沿触发中断? EA=1使能全局中断? IEN1|= 0X20 P0 口中断使能? P0IFG |= 0X00初始化P0中断标志位? void Init_IO(void)中断服务程序? #pragma vector=P0INT_VECTOR? _interrupt void P0_IRQ(void)? ?uint8 key = 0;?P0IFG &= 0 x80;/P0.7中断标志清0?key = GetKeyInput();/读取按键值?if(key

32、)?ctrPCA9554FLASHLED(key); / 控制相应的LEDS灭? ? (? P0SEL |=0 x80; / 将P0.7设置为外设功能? P0DIR &=0 x80; / 将 P0.7 设置为输入? P0INP &=0 x80;/端口 P0.7=0为下拉,输入模式设置(P0.7有上拉、下拉)? P0IEN |=0 x80; /P0.7中断使能? PICTL |=0 x01; /P0.7为下降沿触发中断? EA = 1; /使能全局中断? IEN1 |=0 x20;/P0 口中断使能? P0IFG &= 0 x80; /P0.7中断标志清 0? ;通过PCA9554的扩展IO的按

33、键输入变化,对应的 PCA9554将输出一个低电平中断,该中断接入CC2530的P0.7端口,进而产生P0中断? CC2530系统时钟? CC2530有1个内部的系统时钟。时钟源可以是 1个16MHz的RC振荡器,也可以是1个。时钟控制是通过使用 CLKCONCOM殊功能寄存器来执行? 16MHz的RC振荡器功耗低,但没有晶体振荡器精确,因此不适用于射频收发器。?当我们选择32MHz的晶体振荡器用于射频收发时,它并不能即时生效。这是由于为在实际改变时钟源之前,被选择的时钟源要首先达到稳定状态。(在选择32MHz 时钟作为系统时钟源之前,应该等待一个额外的64us的安全时间,可以通过增加一条空指

34、令“ NOP来实现。如果不等待,可能会造成系统崩溃。)?如果我们选择32MHz勺晶体振荡器,必须关闭 16MHz的RC振荡器。如果我们选择 16MHz的RC振荡器,必须关闭32MHz勺晶体振荡器?主程序:反复选择不同的振荡器作为系统时钟源,并调用 led控制程序,闪烁LED? 1.2四种供电模式供电模式高频振荡器低猱振蔼器携压器,数字)配置A 犯 MHz XOSCB 16 MHz RCOSCC 32 kHz XOSCD 32 kHz RCOSC主那空闲粳式A或BC或DONPM1无C或DONPW无C或DOFFPNG无无OFFPM0全功能模式? PM0全功能模式。连接到数字内核的电压调整器打开。1

35、6MHz RC振荡器或32MHz晶体振荡器运行或者它们同时运行。32.753KHz RC振荡器或32.768KHz晶体振荡器运行。?在该模式下,CPU片内外设和RF收发器都处于激活状态,数字电压调整器打开。该模式也被称为激活模式。注意:当处于PM0(SLEEPCMD.MODE=0 xM时,通过使能PCON.IDLE位,CPU核将停止运行,所有片内外设功能正常并且CPU核将被任何一个使能的中断唤醒。PM1 模式PM1连接到数字部分的电压调整器打开。16MHz RC振荡器和32MHz晶体振荡器都不运行。32.753KHz RC振荡器或32.768KHz晶体振荡器运行。在产生复位、外部中断或当 TO

36、C o 1-5 h z 睡眠定时器到期时系统将返回到PM0PM2 模式PM2连接到数字内核的电压调整器关闭。16MHz RC振荡器和32MHz晶体振荡器都不运行。32.753KHz RC振荡器或32.768KHz晶体振荡器运行。在产生复位、外部中断或当睡眠定时器到期时系统将返回到PM0PM3 模式PM3连接到数字内核的电压调整器关闭。没有振荡器运行。在产生复位或外部中断时系统将返回到PM0串口通信原理?串口是串行接口( serial port )的简称,也称为串行通信接口或 COM口。?串口通信是指采用串行通信协议(serial communication )在一条信号线上将数据一个比特一个比

37、特地逐位进行传输的通信模式。? 串口按电气标准及协议来划分,包括 RS-232-C、RS-422、RS485等。串行通信?在串行通信中,数据在1位宽的单条线路上进行传输,一个字节的数据要分为8次,由低位到高位按顺序一位一位的进行传送。?串行通信的数据是逐位传输的,发送方发送的每一位都具有固定的时间间隔,这就要求接收方也要按照发送方同样的时间间隔来接收每一位。不仅如此,接收 方还必须能够确定一个信息组的开始和结束。?常用的两种基本串行通信方式包括同步通信和异步通信昌昨fitLI70RO4UCTGQC圮时剧1的LD设黑的 瑞用望量30wOr看用色过1上多用他直24T4CTCQ和宵比时H*的Lfli

38、也X必 瑞用电量12WRflRWMTJiCTG0R%1。tnuiS-RTRWi0BDC7G0irvLrsrr峋面快置小善用位量1h 4用倒置口PEftCFC旧FU -小谀控制异步通信规定传输的数据格式由起始位(1.4串行异步通信在异步通信中,收发双方取得同步是通过在字符格式中设置起始位和停止位的方法来实现的。具体来说就是,在一个有效字符正式发送之前,发送器先发送一个起始位,然后发送有效字符位,在字符结束时再发 送一个停止位,起始位至停止位构成一帧。停止位至下一个起始位之间是不定长的空闲位,并且规定起始位 为低电平(逻辑值为0),停止位和空闲位都是高电平(逻辑值为1),这样就保证了起始位开始处一

39、定会有一个下跳沿,由此就可以标志一个字符传输的起始。而根据起始位和停止位也就很容易的实现了字符的界定 和同步。异步通信的数据格式start bit )、数据位(data bit )、奇偶校验位(parity bit )和停止位(stop bit )组成,如图1所示(该图中未画出奇偶校验位,因为奇偶检验位不是必须有的,如果有奇偶检验位,则奇偶检验位应该在数据位之后,停止位之前)1.4.2异步通信的数据发送过程?(1)初始化后或者没有数据需要发送时,发送端输有任意数量的空闲位。?(2)当需要发送数据时,发送端首先输出逻辑0,作?(3)接着就可以开始输出数据位了,发送端首先输DO,然后是D1,最后是

40、数据的最高位。?(4)如果设有奇偶检验位,发送端输出检验位。?(5)最后,发送端输出停止位(逻辑 1)。?(6)如果没有信息需要发送,发送端输出逻辑1 (空息需要发送,则转入步骤(2)寄存器PERCFG.U0C强来选择备用位置,这受硬件电路决定串行通信接口寄存器 U0CSR串行通信接口寄存器 U0CSRU0UCR-USART 0 UART 控制寄存器U0GCR USART 0!用控制寄存器U0BUF USART喉收/发送数据缓存寄存器国1观值E.W7MODE0KMLTTHL垃界Oi sniwAI.6QJLWClMirnAKE至此量上丁不惊Di粮用原就|星载等植健55LAVEQNW5M舞映鬲无盘

41、怦DiL5刖M植人4nDGJLKTW足1 常状/imjw甫性*i.i宇1nH到不抵停止带照3DKWD匚n知谒根去Di由11字胃/找向司福20艮*力m子管*tuur夫和smm楠立,*ntiw(Mcrir d而总1114f*表3HMmUF中的舱电,M 餐有收翻字8Ir 摩注灯接收字灯1TX.BYTBQKEg黑耳丁后状乩 EITE自新5FI F幅式D T忖舞有值仔比L *11物依掩fir高。居EF1H匕T0ACTIVEQn6A氏Tfl,r u状上.在沏u慢犬卜淖贷畀F堪根式Di WARTSfflli也看域IA右蟠能改US 的忙时mat阻1酶)-UMT 0跳图如褪琴出逻辑1,可以为起始位。出数据的最低

42、位闲位),如果有信?发送数据的具体步骤如下:UOBUF(0 xC1) USART 0接收 传送数据缓存位名称复位RW描述7:0DATA7:00 x00RWU与ART接收和传送数据.当号这个寄存器的时候数据被写到内部.传送数据寄存 器.巧读取该寄存器的时候.数据来自内部读取的数据寄存器。2.1.6 U0BAUD USART酸特率控制寄存器U06AUD(0 xC2) USAftT。渡特率控制位名都复位RW描述7:0BAUD_M7i00 x00RW把车小放部分的住,BAUD_E刊BAUD_M汰定:UARTTk发”牛和SPI的主5 时钟频率*2.3 CC2530配置串口的一般步骤? 1、配置串口的备用

43、位置,是备用位置1,还是备用位置2。配置寄存器PERCFG卜设控制寄存器? 2、配置IO,使用外部设备功能。此处配置P0_2和P0_3用作串口 UART0? 3、配置端口的外设优先级。此处配置P0外设优先作为UART0? 4、配置相应串口的控制和状态寄存器。此处配置UART0勺工作寄存器? 5、配置串口工作的波特率。此处配置为波特率115200? 6、将对应的串口接收/发送中断标志位清0,接收/发送一个字节都将产生一个中断,在接收时需要开总中断和使能接收中断,以及运行接收? 3.2 CC2530串口初始化? void initUART(void)? 3.4串口接收数据中断函数1? HAL_IS

44、R_FUNCTION( halUart0R? PERCFG = 0 x00;/位置 1 P0 口? P0SEL = 0 x3c;/P0用作串口, P0SEL =0011, 1100,设置 p0.2, p0.3, p0.4, p0,5=1? U0CSR |= 0 x80;/ U0CSR =1000,0000,选择为 UAR访式?U0GCR |= 11;baud_e = 11;?U0BAUD |= 216;/ 波特率设为 115200?UTX0IF = 1;/发送中断标志为设置,初始化 USART 0 TX中断标志?U0CSR |= 0X40;/ 允许接收?IEN0 |= 0 x84;/uart0

45、 接收中断? 3.3串口发送数据函数? void UartTX_Send_String(UINT8 *Data,int len)? ? int j;for(j=0;j介肮1度入检;tl子星MAC 1 bA 1 MAT 和 Zm.dc J网络肥e NWK网喀瓜I I录NWK)应用主n Jtd(APS)阿珞3UNWK)r* nj因中椎澳C Ar但霓交件(J录的间用脚中T sapi ZigBee 盘第 )能 C ZDO 卜欧)时除口求typedef struct uint16 myAddr;/16位的节点地址uint16 panId; / 节点的 PAN IDuint8 channel; /RF C

46、hannel(必须在 1126)uint8 ackRequest; /如果设置为true的话会接收目的节点的反馈信息#ifdef SECURITY_CCM是否加密,预定义里取消了加密uint8* securityKey;uint8* securityNonce;#endif basicRfCfg_t; /RF 基本配置Zigbee协议体系结构应用程序框架(AF)运行在ZigBee协议栈上的应用程序实际上就是厂商自定义的应用对象,并且遵循规范( profile )运行在端点1 240上。在ZigBee应用中,提供2种标准服务类型:键值对(KVP或报文(MSGZigBee设备对象(ZDO远程设备通

47、过ZDO青求描述符信息,接U到这些请求时,ZD8调用配置对象获取相应描述符值。另外,ZDO提供绑定服务。ZigBee节点类型三种ZigBee协调者-coord为协调者节点a)每个ZigBee网络必须有一个b)初始化网络信息.ZigBee路由器-router为路由节点a)路由信息ZigBee终端节点-rfd为终端节点a)没有路由功能-低价格ZStack协议栈构架Zigbee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层 API,供用户调用。协议栈体系分层架构与协议栈代码文件夹对应表如Z-stackZ-stack是为你搭建一个小型的操作系统(本质也是大型的程序)

48、不考虑底层和网络层的内容,将复杂部分屏蔽掉。让用户通过API函数就可以轻易用ZigBeeZ-stack是任务轮询操作系统协议栈是一个小操作系统。 举例说明:51单片机时候是不是会用到定时器的功能?利用定时器计时,令LEA秒改变一次状态。好,现在进一步,我们利用同一个定时器计时, 令LED1 一秒闪烁一次,LED2二秒闪烁一次。这样就有 2个任务了。再进一步有 n个LED就有n个任务执行了。协议栈的最终工作原理也一样。从它工作开始,定时器周而复 始地计时,有发送、接收等任务要执行时就执行。这个方式称为任务轮询。Zigbee 协议栈 OSAL? OSAL(Operating system abst

49、raction layer),即操作系统抽象层#IE 恒*3 告KLmhe 时心键所却走的JW 4M 达小马加任kUNWk挈J*TI Z-stack协议栈学习-添加新任务内加人了田雌?ft 称为 力皆八1_ &仔察蜂室朴Hyamm AbKU-actian _ n. yc-r / .在Zstack(TI的Zigbee协议栈)中,对于每个用户自己新建立的任务通常需要两个相关的处理函数,包括:.用于初始化的函数,如:SampleApp_Init(),这个函数是在osalInitTasks()这个osal(Zstack中自带的小操作系统)中去调用的,其目的就是把一些用户自己写的任务中的一些 变量,网络

50、模式,网络终端类型等进行初始化;.用于引起该任务状态变化的事件发生后所需要执行的事件处理函数,如:SampleApp_ProcessEvent(),这个函数是首先在 const pTaskEventHandlerFn tasksArr口中进行设置(绑定),然后在osalInitTasks()中如果发生事件进行调用绑定的事件处理函数.osalInitTasks ()和 tasksArr口 的修改.修改 osalInitTasks () void osalInitTasks( void )OuhsApp_Init( taskID+ ); PhotoApp_Init( taskID); .修改 ta

51、sksArrconst pTaskEventHa .在osalInitTasks ()和tasksArr口 添加相应的项就可以了。2.修改 tasksArr口const pTaskEventHandlerFn tasksArr口 = .修改 osalInitTasks () void osalInitTasks( void ) OuhsApp_Init( taskID+);OuhsApp_ProcessEventPhotoApp_Init( taskID);)网络参数的设置.协议栈规范的设置协议栈规范由ZIGBEE联盟定义指定。在同一个网络中的设备必须符合同一个协议栈规范。两个协议栈规范:Zi

52、gbee和Zigbee PRO.在NWK/ nwk_globals.h文件下对两个协议栈规范的实现代码#if defined ( ZIGBEEPRO )#define STACK_PROFILE_ID ZIGBEEPRO_PROFILE#else#define STACK_PROFILE_ID HOME_CONTROLS#endif逻辑设备类型三种逻辑设备Coordinator协调器Router路由器End-Device终端设备小提示:在对Z-STACK目 进行编译时。对于协调器,在 Workspace区域的下拉菜单中选择 CoordinatorEB;对于路由器,在 Workspace区域的下

53、拉菜单中选择 RouterEB;对于终 端设备,在Workspace区域的下拉菜单中选择 EndDeviceEB;PANID和信道的选择? PANID: 16位的网络ID用来标识唯一一个 ZIGBEE网络,主要是用于区分同一地区同一信道的网络,使得同一地区可同时存在多个ZIGBEE网络。其取值范围是0 x00000 xFFFE.当设置为OxFFFE时,协调器可以随机获取一个16位白P PANID建立一个网络,路由器或终端可以加入任意个已设定信道上的网络而不去关心PANID)? 小提示:由于 WIFI工作在2.5G频段,WIFI无处不在,所以最好选择 ZIGBEE网络的15, 20, 25, 2

54、6信道。数据的发送? 1.函数 afStatus_t AF_DataRequest ? ( afAddrType_t *dstAddr, endPointDesc_t *srcEP,uint16 cID, uint16 len, uint8 *buf, uint8 *transID,uint8 options, uint8 radius )? *dstAddr :发送目的地址、端点地址以及传送模式,决定了消息发磅到哪个设备及哪个endpoint.? *srcEP :源端点;cID :簇ID; len:数据长度。? *buf :数据。*transID :序列号。 Options :发送选项。Ra

55、dius :跳数。端点描述符endPointDesc_t? typedef struct? (? uint8 endPoint;/ 端点号? uint8 *task_id; / /那一个任务的端点号? SimpleDescriptionFormat_t *simpleDesc;? afNetworkLatencyReq_t latencyReq;? endPointDesc_t;数据发送模式说明在协议栈中数据发送模式有几种:单播、组播、广播和直接发送。.广播发送如果想使用广播发送,则只需将dstAddr- addrMode设为AddrBroadcast, dstAddr- addr- shortAd

温馨提示

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

评论

0/150

提交评论