




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江大学城市学院毕业论文目录无线控制演示系统毕业论文目录第1章 绪论11.1 选题的背景和意义11.1.1 选题的背景11.1.2 国内外研究现状和发展趋势21.2 研究内容和研究方法21.2.1 设计要求21.2.2 设计方法及思路3第2章 系统的总体结构研究42.1 方案可行性分析42.1.1 芯片制定方案42.1.2 系统总体结构4第3章 系统关键技术63.1 Simplici TI63.1.1 SimpliciTI简介63.1.2 设备类型73.1.3 网络结构73.2 SimpliciTI的工作模式93.3 SimpliciTI的数据结构93.3.1 MCU相关的数据结构93.3.2 SimpliciTI数据帧相关的数据结构93.3.3 SimpliciTI接收数据处理机制103.3.4 SimpliciTI的缺点113.4体系结构概述113.4.1 协议层113.4.2 NWK应用程序123.4.3 对等层特性123.4.4 信息确认133.5 协议概览133.5.1 拓扑133.5.2 终端设备133.5.3 AP点143.5.4 范围扩展器143.5.5 地址空间143.6 网络准则153.6.1 链接153.6.2 Joining153.6.3 休眠的终端设备和轮询设备163.6.4 接收/输出163.6.5 输出/发送173.7 SimpliciTI的缺点17第4章系统的开发环境和程序流程184.1 开发环境184.1.1 IAR简介184.2 IAR编程184.2.1 新建IAR工程184.2.2 IAR项目204.2.3 IAR下载程序214.3 应用程序流程224.3.1 AP程序流程224.3.2 ED程序流程23第5章 电路制作和模块图255.1 电路板的制作255.2 无线控制系统模块26结论27附录29附录A 电路原理图29附录B 实物版图30附录C软件程序31致谢45浙江大学城市学院毕业论文图目录图目录图2.1 主要架构5图3.1 星型网络8图3.2 烟雾报警器8图4.1 IAR工程截图一19图4.2 IAR工程截图二19图4.3 IAR工程截图三19图4.4 IAR工程截图四20图4.5 IAR项目截图一20图4.6 IAR项目截图二21图4.7 IAR下载程序截图一21图4.8 IAR下载程序截图二22图4.9 AP程序流程图23图4.10 ED程序流程图24图5.1 电路设计的原理图25图5.2 ED和AP的实物图26浙江大学城市学院毕业论文表目录表目录表3.1 smplStatus_t 各项意义10浙江大学城市学院毕业论文 第1章 绪论第1章 绪论1.1 选题的背景和意义1.1.1 选题的背景近年以来,通信技术快速发展,短距离无线通信技术已经成为通信技术中的一大热点。各种网络终端的出现、工业控制的自动化和家庭的智能化等迫切需要一种具备低成本、低距离、低功耗和组网能力强等优点的无线互连标准。其中随着各种便携式个人通信设备与家用电器设备的增加,人们享受蜂窝移动通信系统带来的便利的同时,对短距离的无线与移动通信又提出了新的需求,使得短距离无线通信异军突起,包括无线局域网(WLAN)、蓝牙(BlueTooth)技术、无线保真(WiFi)、超宽带(UwB)以及ZigBee技术等各种热点技术相继出现,均展现出各自巨大的应用潜力1。日前,德州仪器(TI)宣布推出在国际电子展上首次演示的全新CC430技术平台,该平台不仅有助于推动无线网络技术在消费类电子产品市场及工业市场的大规模应用,还可为基于微处理器(MCU)的应用提供业界最低功耗的单芯片射频(RF)解决方案。CC430平台既可降低系统复杂性、将封装与印刷电路板尺寸缩小50%,又可简化RF设计,从而将包括RF网络、能量采集、工业监控与篡改检测、个人无线网络以及自动抄表基础设施(AMI)等在内的应用推向前所未有的水平。而随着我国经济水平的快速发展,人们的生活水平不断提高,拥有的贵重物品也日益增多,经常会出现贵重物品的遗忘、遗失或被盗窃现象等,从而给人们带来较大的经济损失和一些不必要的麻烦,在某些情况下还会造成严重的后果。人们希望能够拥有一种便携式的防盗设备,从而对贵重物品进行有效的管理2。1.1.2 国内外研究现状和发展趋势已经问世的不同原理的电子防盗系统包括声磁防盗系统、无线电/射频系统、电磁波系统、微波系统、分频系统、智慧型系统。音叉只有在振荡频率相同情况下才引起共振。声磁系统(Acousto Magnetic) 正是应用了这种物理原理,实现几乎零误报的操作。无线电射频系统(Radio Frequency,RF)问世已有30多年历史,是较早应用 的电子防盗系统之一。它采用无线电射频作为系统发射接收检测信号,检测频率范围一般为7.x8.x兆赫兹。它有多种品牌的产品可供选择,成本低廉。电磁波系统(Electromagnetic System) 采用电磁波作为检测信号。微波系统(MicrowaveSystem)采用微波作为检测信号,不易受周围环境的干扰,它能够灵活地隐蔽式安装(如隐藏于地毯下或吊置于天花板),具有适合店内装饰及美观的优点。分频系统(Split Frequency)是采用高科技分频技术和超低频无线电信号的防盗系统。智慧型系统应用独有的技术,是一个内部由集成电路控制、电池驱动、集硬标签与报警器组为一体的系统3。目前,国内市场上有电子防盗产品,如无线钱包等。无线钱包采用了光控电子技术,把物品随无线钱包一同放入口袋,通过光感原理,当防盗钱包掉落或被盗,设备发出报警信号。这类设备一般工作在一对一的模式下,一般不具备一对多的功能,功耗也较大。随着技术的不断更新,国内外也开始采用实用新的无线技术搭设无线防盗设备,如博物馆文物防盗设备。当然这些防盗设备具有一对多或多对多的控制功能。但这类设备一般运用在高档场合,价格较高不适合普通人的实用,而且一般不考虑功耗的问题4。1.2 研究内容和研究方法1.2.1 设计要求本项目开发的电子防盗器可分为两个模块:无线接收器(Access Point,AP)和无线防盗卡(End Device,ED)。AP是信号接收和ED管理的中心,用户可以挂件的形式或者手腕等装饰品形式随身携带。在AP上集成了无线收发装置、LED和喇叭,当AP接通电源时,LED会闪烁从而标示ED设备的连接情况。当ED设备离开AP一定距离后,AP将通过喇叭进行报警。当AP电池电量变弱时,相应的LED将亮起,当ED设备的电量不足时,对应的LED将点亮。1.2.2 设计方法及思路本防盗器运用了Ti公司提供的SimpliciTI协议,具备一对多的通信功能,即以一个AP为中心,与多个接收器ED同时工作,从而形成多物品同时监控的功能。通过这个功能,用户只要携带一个中央处理器,就可同时管理多达255个贵重物品。任何一个ED失效,均不会影响整个网络的工作,相应的设备会给出报警或显示。此外,本防盗器采用CC430低功耗特性,ED设备以心跳方式工作在低功耗模式,每次心跳的周期大约在2s3S,心跳工作时间在纳秒级别,工作时的电流约为几毫安,因此具备单电池长期工作的能力。同时,本防盗器还采用了CC430低电压检测功能,当电池电量过低时能够及时给出报警,提醒用户替换电池。浙江大学城市学院毕业论文致谢第2章 系统的总体结构研究2.1 方案可行性分析2.1.1 芯片制定方案方案一:运用TI公司的芯片CC2430或者CC2431芯片能够提高性能并满足以ZigBee为基础的2.4GHz ISM波段应用,及对低成本,低功耗的要求。它结合一个高性能2.4GHz DSSS(直接序列扩频)射频收发器核心和一颗工业级小巧高效的8051控制器。 CC2430的设计结合了8Kbyte的RAM及强大的外围模块,并且有3种不同的版本,他们是根据不同的闪存空间32,64和128kByte来优化复杂度与成本的组合。但是在运用芯片CC系列的芯片必须详细了解芯片中的底层协议,这对于初涉此类设计的本科毕业生增加了很大的难度5。方案二:运用CEL公司的芯片ZIC2410芯片ZIC2410内已经封装了协议SNAP,只要在语言python的调用下能快速简单的进行调试和实验。Python是一种面向对象、直译式计算机程序设计语言,也是一种功能强大而完善的通用型语言,已经具有十多年的发展历史,成熟且稳定。这种语言具有非常简捷而清晰的语法特点,适合完成各种高层任务,几乎可以在所有的操作系统中运行6。综上所述,方案二更适合本人进行操作和实验。2.1.2 系统总体结构在本格项目中包含了三种类型的设备,它们是:Access Point-相当于一个hub,负责网络的建立和数据转发等;Range extender-中继器,负责数据转发以提高通信距离;End device-终端设备,负责数据接收和发送,和传感器绑向Access point提供采集数据。如图2.1显示了这三个设备之间的关系和整个项目的主要结构。AP:信号接收;ED:管理的中心,中继器,便是无线主控器负责数据转发以提高通信距离。无线主控器AP无线设备ED无线设备ED图2.1 主要架构第3章 系统关键技术3.1 Simplici TISimpliciTI是TI开发的一份专门针对其CCxxxx系列无线通信芯片的网络协议。按照其官方说法SimpliciTI是一个基于连接的点对点通讯协议。SimpliciTI是一种基于点对点通信的协议。它有两个基本拓扑:严格的映射;另一种是一对多的星型拓扑。AP主要用于网络管理。它支持的特性和功能,如存储和转发给睡眠终端的数据,管理网络设备的成员权限、连接权限等。AP也有中断设备的功能,譬如,它可以自己在网络中实例化传感器或激励。在星型拓扑中,AP作为网络中的集成器。该协议能实现少量的API调用。这些API支持客户应用点对点的信息传递。两个应用之间的关联叫做连接(linking)。连接进程是通过基于可以相互发送信息的应用链接起来的。当一个链接建立的时候,它是双向的7。3.1.1 SimpliciTI简介SimpliciTI支持两种网络拓扑结构:直接的点对点通信结构和基于星型连接的网络拓扑结构。在星型连接中hub点在SimpliciTI中被称为Access Point,简写为AP。AP负责网络的构建和维护,它具备存储转发机制,因此可以对长期工作在休眠模式的低功耗设备提供较好的支持。同时SimpliciTI还支持泛洪方式进行广播数据传输,这种数据通讯方式在各种报警器网络中使用尤为广泛,同时也显得非常必要8。SimpliciTI将其网络功能封装为几个API函数型式,应用程序可以通过直接调用其API函数实现点对点的通信。SimpliciTI对硬件资源要求非常低,除了程序空间所需要的flash和运行时随机变量所占用的RAM外,SimpliciTI不需要任何其他资源,它甚至不需要定时器,内部需要的定时器都是用软件模拟实现了。它在运行过程中不会进行动态内存分配因此根本不会占用程序的堆空间。如果MCU资源富裕我们可以配给SimpliciTI一个定时器以提供更好的服务。总体来讲SimpliciTI的特色是:低功耗通讯支持,存储转发机制,支持休眠设备;低成本,最大使用8k Byte flash以及1k byte RA;网络结构灵活,支持p2p的连接方式和星型网络;使用方便,协议仅仅通过8个API借口和应用程序进行交互。3.1.2 设备类型SimpliciTI协议中规定了三种类型的设备,它们是:Access Point-相当于一个hub,负责网络的建立和数据转发等;Range extender-中继器,负责数据转发以提高通信距离;End device-终端设备,负责数据接收和发送,和传感器绑向Access point提供采集数据。3.1.3 网络结构SimpliciTI支持多种网络拓扑,图3.1是其典型的无线传感器网络中使用的星型网络拓扑示意图。图3.2是烟雾报警器网络应用的一种情况,在这种情况下当一个设备感知发生烟雾警报,为了保证信息能够可靠的传输就采用泛洪的方式发送,这样的数据传输不是面向连接的9。图3.1 星型网络图3.2 烟雾报警器3.2 SimpliciTI的工作模式终端设备上电以后,首先完成系统初始化并向底层注册数据接收处理函数,然后启动一次加入中心节点的请求,该请求由广播方式发出,当得到中心节点响应后可以获取中心节点地址以及由中心节点构建起来的网络的信标(加入中心节点的过程不会导致可用连接数减少)。然后应用层程序一般会调用simpliciti启动link过程,建立一个到邻近节点的连接,连接建立成功simpliciti会反馈给应用程序一个句柄,之后应用程序就是用这个句柄进行通信。在任何一次通信过程中都可能通过range extender进行中转。设备之间通过调用link和linklisten建立起连接后就可以通过SMPL_send和SMPL_receive进行端口到端口的数据收发了。同时为了检测信道好坏,simpliciti还提供一个ping指令用于测试通信效果。3.3 SimpliciTI的数据结构3.3.1 MCU相关的数据结构Typedef signed char int8_t;Typedef signed short int16_t;Typedef signed long int32_t;Typedef unsigned char uint8_t;Typedef unsigned short uint16_t;Typedef unsigned long uint32_t;3.3.2 SimpliciTI数据帧相关的数据结构Typedef unsigned char linkID_t;LinkID_t定义了的数据结构类似于TCP/IP中的端口,这些端口是逻辑意义的面向于应用程序而存在的。应用程序之间建立的连接时基于端口的链接,而后的通信也是面向端口的通信。在linkID_t定义的所有端口中SimpliciTI保留了一个端口,这个端口由宏SMPL_LINKID_USER_UUD定义,该端口命名为无连接的用户数据端口,该端口数据可以被所用用户程序侦测。Typedef enum smplStatus smplStatus_t;smplStatus_t是一个枚举类型,它定义的是SimpliciTI运行过程中的所有可能状态返回,具体项参见表3.1。表3.1 smplStatus_t 各项意义状态描述SMPL_SUCCESS操作成功SMPL_TIMEOUT操作超时退出SMPL_BAD_PARAM函数调用参数错误SMPL_NOMEM没有空间可以用来分配给rx port,connection table,output frame queueSMPL_NO_FRAME接收数据缓冲区无有效数据帧SMPL_NO_LINK连接请求发出后没有收到回复SMPL_NO_JOIN加入网络请求发出后没有收到回复SMPL_NO_CHANNEL频段扫描未找到有效频道SMPL_NO_PEER_UNLINK删除连接请求失败SMPL_TX_CCA_FAIL因为CCA失败导致数据发送失败SMPL_NO_PAYLOAD接收到数据帧但无有效载荷SMPL_NO_AP_ADDRESS未设置Access point 的地址3.3.3 SimpliciTI接收数据处理机制Simpliciti接收数据的最小单位为数据帧,因为其外接的射频收发芯片是按帧为单位进行数据收发的。在适当的配置之下,射频芯片接收到数据帧后将发生一个中断告之MCU,MCU对响应这个中断并处理接收数据。Simpliciti中断调用并处理这个数据帧结构非常复杂,异常庞大,它几乎将除了用户应用程序外的所有simpliciti内部协议的接收处理都放在了中断函数中。Mrfi_SyncPinRxIsr:该函数由中断触发并调用,模拟物理层对数据进行接收。主要完成的工作是对帧完整性进行验证;对数据帧的校验和进行验证;根据自身地址和功能开关对地址进行过滤(地址过滤操作将允许广播地址通过);转换帧信号标识(RSSI,LQI转换为DB位计量单位的量)。该函数涉及到的一个全局变量:mrfiIncomingPacket。这个变量专门用于对存放接收到的单帧数据。nwk_QfindSlot:寻找一个空余数据帧空隙,将接收到的数据放入该数据帧。如果所有数据帧都满了,那么将最老的那个数据帧去掉。该过程涉及到的全局变量是:sInFrameQ,这个变量时由结构体frameInfo_t定义的。MRFI_Receive:该函数实现将接收到的数据填充到刚刚找到的空隙中。这里有一个技巧,原代码设计时使用了结构体变量之间,直接赋值。dispatchFrame:检测信息类型,并更具信息类型进行投递到相应的应用层处理函数。主要完成工作是:检测信息是否是自身的回声(这种情况一般来至extender的转发);根据获取到的端口判断是否调用内部网络层固有处理函数;根据网络层内部处理函数结果判断是否转发;根据端口判断是否存在相应的服务程序10。3.3.4 SimpliciTI的缺点(1)能够构建的网络相对较简单,网络容量小;(2)不具备路由管理功能,每一次通讯都依靠RE进行侦听转发,比较浪费时间。这应该算是simpliciti最大的一个缺点了;(3)转发跳数限制在4跳,极大地限制了通信距离;(4)每一个网络里边最大允许出现四个RE,这虽然可以减少数据发送过程带来的冲突,但是也使网络规模受到限制,传输距离受到限制;(5)设备分了三种类型,为安装带来麻烦。3.4体系结构概述3.4.1 协议层该协议用于应用层,其重点是点对点通信。这些点通常都是传感器控制器和执行控制器目标。直接的传感器执行器也可以使用。该协议在这里并没有作区别。从执行的角度来看,该协议的目标是使各种任意的对等的应用简单地连接起来。一个分层原理图如下图所示:没有正式的物理层或者数据链路层(MAC/LLC),数据直接由无线电的帧接收。MRFI(小型RF接口)层包含了所有的与无线电交互所需要的支持。还有一个实体(未显示)叫做板级支持包(BSP),调用与无线电交互时,将SPI接口从NWK层抽象出来。它不是为应用服务时提供一个通用的硬件抽象,只有这些如SPI接口之类的服务,在直接支持NWK-无线电接口时才提供。为了方便,它同样支持LED和按钮/开关等一类依附于GPIO引脚的外围设备。但是没有其他的服务提供诸如UART驱动、LCD驱动和计时器服务11。NWK层管理接收和输出队列和发往目标的命令帧。目标一般是由端口号指定的应用。NWK层没有代表应用的帧操作。这些端口类似于TCP/IP的概念。它是地址在概念上的扩展。网络帧的开销被剥落,剩余的载荷用于处理指定端口的应用。NWK层的应用程序是“众所周知”的端口,它们的值都0x1F。它们都用于NWK层本身管理网络。这些端口并不是用于直接访问用户应用。NWK层的应用不是基于连接的。用户应用端口由NWK在链接过程中指定。一个成功的链接处理的结果是得到一个叫做链接ID的句柄。链接ID到地址的映射由NWK完成。这个类似于套接字的方法应用程序没有责任去指定或维护端口对象12。3.4.2 NWK应用程序NWK应用程序支持网络管理。除了Ping,这些应用程序不是用户开发环境的一部分。SimpliciTI协议是怎么样提供通信环境的,这里的描述提供了一个更全面的理解。3.4.3 对等层特性在这个结构中,有两种必须的SW对等层:NWK和应用程序。应用层被划分为两个部分:NWK应用程序和用户应用程序。以开发为目的,很重要的一点是,SimpliciTI不支持确认。主要的后果是,这种应用程序需要为自己提供以下的支持内容:信息的分割和重组大于最大有效载荷应用;丢失数据(不需要NWK保证传输层的形式);冗余数据(不需要NWK识别重复的帧)。3.4.4 信息确认在SimpliciTI 1.1.0版中提供了一些供确认的支持。当一个应用程序发送一个需要确认的信息时,成功(譬如:确认接收)只意味着,对等NWK层接收到该帧。并不意味着该对等应用程序自己接收到该帧。这不是映射确认,不需要唯一的目标用于确定传输成功。3.5 协议概览该协议提供的功能仅仅是提供了基于连接的对等通信。这样做的目的是在开发过程中,掩饰无线电的基本部分、移除用户关注的部分。该协议的功能是实现一组简单的API调用以能够完成用户的应用程序。简单性与价格的灵活性结合在一起。该版本是使用这个简单、小巧的脚本协议来实现。下面的讨论中总结的机制在该协议的支持下实现。3.5.1 拓扑SimpliciTI对象是SW对象。SimpliciTI提供的三个对象是:终端设备、AP和范围扩展器。每个都是一个逻辑结构,这样多个目标就可以在一个简单的硬件平台上实现了。例如:一个平台包括:一个AP也可以支持一个终端设备。但是大多数终端设备可能独立地活着和其他终端设备一起占据了一个硬件设备。3.5.2 终端设备这些是最简单的设备。它们是网络中大多数传感器/执行器的轨迹。终端设备控制着应用映射,一个集合终端设备的硬件平台可能是由电池供电的。3.5.3 AP点AP存在的时候,可以作为网络中的星型中心。它们是一直工作的设备。只有一个AP的映射网络是可以存在的。这个可以由以下结构来实施。AP可以和终端设备在同一个硬件平台上共存。它们可以集合映射应用程序,以在网络完成传感器或执行器的功能,或者同时完成两者。AP在混在模式下工作的时候,可以接收到所有的packets。除了基本支持,AP可以自己重新执行帧,而不需要扩展终端设备的范围。3.5.4 范围扩展器范围扩展器是为了在一个网络中扩展无线电的范围。它们是一直工作的设备。其主要功能是重复帧以有效地扩展帧发射器的球面范围。目前,网络可以有4个扩展器。虽然没有被视为可共同使用,但是范围扩展器可以在同一个硬件平台上与终端设备共存。它们可以集合对等的应用程序,以在网络中实现传感器或者执行器,或者两者共存。在混杂模式下,范围扩展器可以接收到所有的packets。3.5.5 地址空间一个网络地址有两部分组成:硬件平台地址和应用程序(端口)地址。每个设备的硬件地址在建立时就已经指定了。在运行时,有一种性能用来指定地址。在网络中,每个设备的地址必须是独一无二的。硬件的地址空间管理由用户来决定。没有地址解析协议。目前,硬件地址空间由无符号数组成的4字节的数组来组成。在设备链接程序中,应用程序的(端口)地址或是知名的或是固定的。不由用户SW控制。3.6 网络准则3.6.1 链接SimpliciTI API所支持的链接,是指一个应用程序的映射连接建立。链接是一对对地建立的。一对中的某个应用程序只能侦听到配对的连接信息。侦听到的和发送的连接信息都是任意的,因此,连接信息是双向的。一个典型的连接应用被终端设备的行为激励,比如,按下按钮或者物理干扰。连接信息包括一个连接标记(现在以4字节对象为例),用作侦听的一方确认收到信息。在用户建立时,生成一个默认连接标记。如果网络中存在AP,可以加入附加的约束条件。连接是逻辑实体。一个单一平台可以支持多种点对点的连接。这些连接包括两种同样应用之间的连接、多种应用之间的简单连接或者任意组合。这些连接对可能在任意不同的平台上。SimpliciTI不支持在同一平台上的两个应用之间的连接。设备的连接数目只受到RAM和端口地址的限制。3.6.2 Joining只有网络中只存在一个AP时,Join才能实现。Join不是特定的API,而是初始化调用的副作用。这个过程出现在一个平台从一个AP接入网络。Join是一个设备在初始化之后其他动作之前的第一个动作。一个平台在想加入一个网络时,需要发送一个包含Join信息的SimpliciTI初始化信息。该信息包括一个由用户在建立时生成的Join标识(4字节对象为例)。Join标识可以用来确定两个AP不是都用来响应一个新设备尝试加入一个网络。如果Join标识与预期的AP相匹配,那么该AP将回复一个网络信息,使得平台可以正确地与网络交互。目前,这些信息包括给网络的连接标识。如果售后设备加入网络,将使唯一的Join标识使用起来比较难处理。它需要新设备在初装点以某种方式知道网络的Join标识。为了解决这种情况,AP有一个额外的能力去设置Join环境,不管它是否处于活跃状态。在AP,环境的激活方式与连接环境设置方式相同(按按钮等),默认的Join标识可以使用。在默认情况下,Join环境一直处于活跃状态。Join一个网络的行为不提供任何除基本信息以外的东西,譬如:Join设备的连接标识。AP不能寻找Join设备的轨迹,除了查询设备,AP必须提供存储和转发支持。3.6.3 休眠的终端设备和轮询设备休眠的终端设备可以利用两种路径去得到信息。一种是查询AP,看是否有信息在等待;一种是侦听活跃设备,如果一直有活跃设备醒着,那么需找帧目标。休眠设备的类型在建立时就已经配置。如果一个休眠设备设置为轮询设备,当该设备加入网络的时候被认为是AP。在这个时候,AP存储支持该设备所需资源。网络端口所有给休眠设备的信息地址都由AP接入,广播信息不支持。当唤醒休眠设备时,接收一个调用查询,该调用是查询AP信息的结果。这些轮询信息指定的端口受到质疑时,发送到管理端口。AP发送受到质疑端口最老的帧给查询设备。如果没有,AP发送一个没有载荷的帧给查询端口。在当前的实现中,每个端口都必须分别查询,每个端口都必须查询到没有多余的信息在该端口上。3.6.4 接收/输出在设备没有休眠的时候,电台接收到的帧触发了一个MCU的中断。该帧被读到radio的Rx FIFO,以一个接收帧队列的形式存储进MCU用户空间。如果输入队列满帧时,当一个帧被接收,那么接收队列中最老的帧被删掉。中断线程被释放,这是一个比较有效的过程。当在连接ID指定的输入帧序列进行应用程序级别的读操作时,检查任何等待帧的连接ID。如果等待帧的有效载荷返回给调用者,否者,调用者接收到的迹象会表明没有数据。在本质上,一个读操作是输入帧序列对任何等待指定连接ID帧的轮询操作。有效载荷按FIFO的顺序返回。如果设备是休眠或者轮询设备,应用层绕开轮询序列访问AP。这是不可见的调用。该线程等待AP的答复。如果AP转发一个帧,则传递回调用者。如果AP发送一个没有返回载荷的帧,它被解释为一个简单的确认,返回给调用者的像一个轮询没有返回载荷。因为在这种情况下保存线程直到接收到AP的返回,比非休眠状态下只检查输入序列的数据效率低13。3.6.5 输出/发送发送方案是用一个同步的、直到帧由电台转发才返回的调用实现的。这种设计通过在帧发送之前关掉无线电电源,来避免意外终止一个发送序列。如果Tx线程不能访问广播频段以传送帧,那么调用者将收到相应的返回代码,稍后可以重试。在网络层有一些鲁棒性,因为,如果要访问的频段不能立即达到,那么将有一定的恢复程度。但是,很小。这是留给用户程序来决定如何处理这种情况,因为SimpliciTI NWK并不支持传递确定。只用应用程序直到传送的帧有多重要。能耗和通信的可靠性的权衡是留给用户应用程序的。3.7 SimpliciTI的缺点(1)能够构建的网络相对较简单,网络容量小;(2)不具备路由管理功能,每一次通讯都依靠RE进行侦听转发,比较浪费时间。这应该算是simpliciti最大的一个缺点了;(3)转发跳数限制在4跳,极大地限制了通信距离;(4)每一个网络里边最大允许出现四个RE,这虽然可以减少数据发送过程带来的冲突,但是也使网络规模受到限制,传输距离受到限制;(5)设备分了三种类型,为安装带来麻烦。第4章系统的开发环境和程序流程4.1 开发环境SimpliciTI有两个开发环境:方案一:一个是IAR Embedded Workbench。这种环境可以同时用于8051内核SoC的目标和双芯片(MSP430+无线)目标板解决方案。方案二:TI的Code Composer Essentials v.3.1(CCE)IDE也支持双芯片(MSP4 30+无线)目标板的SimpliciTI。本实验将以方案一为确定方案,进行开发。4.1.1 Iar简介Iar是全球领先的嵌入式系统开发工具和服务的供应商。公司成立于1983年,迄今已有27年,提供的产品和服务涉及到嵌入式系统的设计、开发和测试的每一个阶段,包括:带有C/C+编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具14。4.2 IAR编程4.2.1 新建IAR工程用IAR首先要新建的是工作区,而不是工程。新建IAR工作空间,首先是菜单File里选择Open再选择Workspace,为方便说明改成File-Open-Workspace。图4.1 IAR工程截图一图4.2 IAR工程截图二然后会出现以下框图可以进行程序编程。菜单Project-Create New Project,点了之后出现下面这个对话框。图4.3 IAR工程截图三图4.4 IAR工程截图四选择编译语言4.2.2 IAR项目打开设置界面,菜单里的位置是Project-Options。打开的设置界面如是:图4.5 IAR项目截图一接着的工作就是写代码,图4.6 IAR项目截图二4.2.3 IAR下载程序在编译正确以后,就需要将程序下载到MCU运行,下载程序一板需要的工具有下载器,目标板。写一个编译通过的程序,然后在工程选项(Project-Option.)里作如下设置:图4.7 IAR下载程序截图一左列选Debugger,在右边Setup-Driver区域选择exas Instruments,单击OK确定,完成IAR Embedded Workbench IDE的设置。接着要进行仿真器的连接,用USB线将PC和仿真器相边,再用10pin排线将仿真器与CC430连,在仿真器上按一次复位键,然后在菜单Project里点Debug,也可以使用工具栏里的菜单,同见下图:图4.8 IAR下载程序截图二图中右上角红框中的按钮就是Debug按钮,单击可将程序下载到CC430接着可以看到下载成功的界面15。4.3 应用程序流程4.3.1 AP程序流程整个AP进行一个BSP初始化,之后进行无线网络的初始化,发送一个监听消息,并进行消息的判断,是否已经建立连接,若没有建立连接并且建立一个新的LINKID消息,在进行消息的监听直到有消息收到,建立连接。之后进入非打扰模式,及在一段时间内对目标进行一次信息的发送,对标志位进行判断。若没有连接收到回发信息,判定LINKID队列中存在长时间无消息状态,促发报警器,直到连接为止。但是本项目中,将报警器开启后以复位键结束,具体如图4.9所示。BSP初始化报警无线网络初始化监听网络信息判断消息类型BSP初始化BSP初始化BSP初始化新建网络建立LINKID判断linkid长时间没有消息图4.9 AP程序流程图4.3.2 ED程序流程整个ED进行一个BSP初始化,之后进行无线网络的初始化。对AP进行无线网络的申请连接,LED1进行闪烁。若申请成功,则将LED1点亮。ED发送信息,并且等待发回的信息,发送信息是每段时间发送一个信息。若回发信息无法接收到,到达一定值是会促发报警器。若收到会发信息则将回发信息计数器清零,进入低功耗阶段,具体如图4.10所示16。BSP初始化无回发消息计数器+1系统死锁等待回发消息N有N无无线网络初始化提出加入网络申请发送消息无回发消息计数器清零报警申请成功与否无回发消息计数器大于某门限值YY图4.10 ED程序流程图第5章 电路制作和模块图5.1 电路板的制作设计好电路图后,用Protel软件画好电路图,再制作成PCB版图。仔细检查电路板的布线是否正确,因为PCB板的线路是做在板子上的,改动起来十分不便。确定PCB版图完好之后按照版图制成成品的板子。还完成制板后,就可以根据板子焊接各个器件了。由于PCB板不需要考虑布线和器件位置的选择,焊接过程相对比较简单,但确实花了一部分心血。还有要注意以下几个问题:(1)为了焊接方便,要先焊小器件,后焊大器件;先焊矮器件,后焊高器件。(2)焊接过程中要小心谨慎,确保每个器件焊接无误,避免虚焊、漏焊。(3)焊接完成之后,用万用表仔细检查各器件有无虚焊的情况。若上述过程都无误,则电路板就算是完成了。以下为设计电路,如图5.1所示:图5.1 电路设计的原理图5.2 无线控制系统模块整个系统模块可以分为两部分:AP和ED。图5.2为本次项目的最后作品,包括两个ED和一个AP。为了设计的美观和实用性,我们采用了PCB版进行试验,这样,最后的作品具有一定的实用性和美观性。防盗系统也能在防盗和隐藏性的功能上得到体现。图5.2 ED和AP的实物图结论我所设计的无线控制系统其各项参数指标基本符合设计要求。根据市场的需求实现相应防盗功能,并能成功运行。在设计中,我在学习了一些c语言的基础上,通过多次的分析,设计出了切实可行的设计方案。并且初步了解通讯协议SIMPLICITI这一关键技术点,通过开发软件IAR编译实现本设计中的要求。在这次毕业设计中,掌握软件编译语句是关键,倘若各部分程序间无法协调工作,那么系统的设计八成出现问题,实现不了所需的功能。虽然走过了许多的弯路,但是这同时使我从中积累了许多的经验教训。正是这些的经验教训使我对软件等的开发研发有了更进一步的理解。 在实际操作的过程中还是遇到了许多需要本人去思考并解决的问题。总结以下几点关于程序需求、程序分析的步骤和技巧。在程序遇到问题或者实际现象与理论设计不符合的情况下,首先应该进行理论分析,所以基础的理论和概念是很重要的。理论分析可以分为正向和反向。正向是从设计的原理处出发检查,重点是检查之前的设计是否可行和是否存在未考虑到的情况或者有纰漏;反向是从开发遇到的实际现象出发,分析造成这种现象可能的原因。随后,根据理论分析得出的结果检查程序语句。不过也有必须说明的一点,积累的经验对于系统程序的开发是很重要的。本次设计的制作总共花了两个多月时间,只有亲身经历过后,才知道其中的滋味。通过这个毕业设计的工作,我收获了很多也体会很多。首先,通过对程序的设计和开发有了更多的了解及接触,更好的提高了我的实际动手能力,有利于以前所学的知识的巩固和相关知识得进一步学习,对课题的整体研发流程和方向有了更好的把握。其次,对开题报告和论文的编写时有了很深的了解,为今后的研究垫定了扎实的基础。参考文献(含开题报告和文献综述)1 金纯,罗凤,陈峰,许光辰.ZigBee车辆自动识别系统的设计J .20072 施荣华,崔奕芳,江玲.Ad Hoe网络中QoS的路由协议算法研究J .计算机科学,2008(7).3 詹杰,周仁龙,吴伶锡.基于ZigBee的公交自动报站系统的设计J.2007.4 康跃明,吴燕清.基于ZigBee的井下长距离无线通讯系统J.2007.5 刘媛,李纯,赵岩,姚远.基于ZigBee技术的医院患者监控系统研究J.2007.6 周武斌. ZigBee无线组网技术的研究J.2009.7 张令意,昂志敏,金海红.新型无线通信技术一ZigBee J.现代通信.2007.8 Andreas Andersson,Mattias ThorenA suitable base for embedded wireless developmentJSweden:Chalmers University of Technology,2004.9 张周,周剑扬,门沫.ZigBee在智能家居系统中的应用研究J. 工业控制计算机,2006.10 罗超,杨卫,朱兵.双核无线传感器网络节点通信接口设计J. 仪表技术与传感器,2008(3).11 Jo Woon Chong,Ho Young Hwang,Chang Yong JungAnalysis ofThroughput and Energy Consumption in a ZigBee Network under the Presence of Bluetooth InterfercenceJ Global Telecommunications ConferenceIEEE2007.12 于斌,孙斌,温暖等.NS2与网络模拟J. 北京人民邮电出版社,2008.13 王达.网络工程基础M. 北京电子工业出版社,200614 瞿雷,刘盛德,胡成斌. ZigBee技术及应用J. 北京航空航天大学出版社,2007.15 张宏亮ZigBee软件开发人员指南(基于Jennie mslx)J. 北京博讯科技,2007.16 蔡雨楠,王福豹,严国强.基于数据服务和能量控制的ZigBee路由策略的研究J. 微型电脑应用,2008.附录附录A 电路原理图附录B 实物版图附录C软件程序AP程序:/*/Author:HLIU/From:Ti SimpliciTI/Version:0.01/文档描述:/*#include #include bsp.h#include mrfi.h#include bsp_leds.h#include bsp_buttons.h#include nwk_types.h#include nwk_api.h#include nwk_frame.h#include nwk.h#include app_remap_led.h/*#ifndef APP_AUTO_ACK#error ERROR: Must d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 配餐公司考察活动方案
- 龙虾批发活动方案
- 果树工考试题及答案
- 管护知识考试题及答案
- 骨科会议考试题及答案
- 幼儿园教学教案设计:不吞小零件
- 景区开发承建合作协议
- 业务流程优化标准操作流程
- 分红保险考试题及答案
- 放射师考试题及答案
- 《欧洲联盟》课件
- 肺部感染与抗生素使用课件
- 脊柱侧弯中医治疗
- IEC 62368-1标准解读-中文
- 15J403-1-楼梯栏杆栏板(一)
- 新版申请银行减免利息的申请书
- 2024年面向社会公开招聘城市社区工作者报名表
- 扬州树人学校2024-2025七年级上学期9月月考数学试卷及答案
- 5.15 探寻新航路 课件 2024-2025学年部编版九年级历史上学期
- 2024-2030年中国合成生物学行业重点调研及应用需求潜力分析报告
- 《第2课 多样的数据》参考课件1
评论
0/150
提交评论