本科毕业设计说明书(论文)
3 无线传感器网络节点软件设计
3.1无线传感器网络节点软件设计概述
3.1.1无线传感器网络的特点
无线传感器网络具有很多自身的特点: (1)电源能量有限 (2)通信能力有限 (3)计算能力有限
(4)传感器数量多、分布范围广、网络节点密度高 (5)网络动态性强
(6)以数据为中心,分布协同计算。
第 9 页 共 30 页
这些特点决定了传感器网络的系统设计和软件设计的特殊要求,因此,我们在设计节点时,针对无线传感器网络的特点,除了必要的在硬件设计上优化外,还要在不影响整体性能的基础上,对软件进行优化,尽量让网络高效的运行。 3.1.2无线传感器网络节点软件的性能指标
(1)轻量级[13] 微小的传感器节点在长期运行中总共可以利用的资源非常有限,这些节点上的软件必须是轻量级的。
(2)模块化 模块化的软件设计有利于软件的更新和维护,个别模块或组件的更新相对于整个更新开销要小得多。
(3)局部化协作算法 局部化算法是仅通过与临近界点交换信息而实现全局目标的分布式算法。
(4)以数据为中心 传感器网络的应用目的决定了传感器网络以数据为中心的特点,其软件应该具有网络内的数据处理和查询的机制,以最有效的方式获得并利用数据,满足不同应用的需求。
(5)自适应 应用需求的变化和网络动态性要求具有自适应性,通过自我调整有效地使用有限资源,提高系统的服务生命期。 3.1.3无线传感器网络节点软件性能需考虑的因素
(1)能源有效性/生命周期 传感器网络的生命周期是指从网络启动开始提供服务到不能完成最低功能要求为止所持续的时间。
本科毕业设计说明书(论文)
回答信息所需要的时间。
第 10 页 共 30 页
(2)响应时间 传感器网络的响应时间是指当观察者发出请求到其接收到
(3)感知精度 传感器网络的感知精度是指观察者接收到的感知信息的精度。
(4)伸缩性 传感器网络伸缩性表现在传感器网络数量、网络覆盖区域、生命周期、时间延迟、感知精度等方面的可扩展极限,其中传感器数量、覆盖范围是两个重要的伸缩性指标。
(5)容错性 传感器网络中的传感器节点经常会由于周围环境或电源耗尽等原因而失效。
(6)安全性 保证数据和系统安全性是很多应用的客观要求,安全包括保密性、身份认证、抗攻击能力等方面。
(7)成本和部署容易度 成本和部署是最终影响传感器网络实际应用的一个重要因素,只有节点成本降低到一定程度,才有可能实现其大规模的应用。
3.2软件设计方法的选择
3.2.1应用软件开发的基本原则
(1)自顶向下的系统结构开发原则
这种方法的基本思想是,对一个复杂系统进行分解,由高度抽象到逐步具体的方法,形成一个树形结构。在树形结构中,每一层次都设计成独立的模块,每个模块又都可以调用它的下属模块,因此,这是一种逐层分解的方式,也称为层次结构。
这种系统结构的优点是,关系明了、简单,各层次中的模块之间联系比较少,各模块相对独立,易于理解,便于修改。
(2)模块化结构开发原则
这种方法是将系统分成若干模块,但整体结构并不要求是树形结构,允许网状结构(即一个模块可以被两个或两个以上的模块所调用)的存在。
这种系统结构的特点是结构比较灵活,整个系统类似搭积木一样,独立性强,提供了系统开发的可靠性。
3.2.2几种常用的软件设计方法介绍
(1)非自动形式的开发方法
本科毕业设计说明书(论文)
第 11 页 共 30 页
这种方法是一种人工方式的开发方法,是目前使用最为广泛的方法。它主要有5种方法,下面着重介绍一下系统流程图(system flowchart)法。
系统流程图(system flowchart)法采用自顶向下的功能分割手段,对一个复杂系统进行逐层分解。这种方法主要用于事务系统的系统分析和系统设计。在这种方法中,一般采用一种称为“事务处理流程图”的工具(也称为系统流程图)来描述系统分析和系统设计的结果。描述内容包括系统中数据的流动,对数据的加工处理,各数据之间的组成和相互关系等。由于这种方法比较直观,既反映了系统的逻辑结构,又反映了数据与加工的某些物理特征,因而十分简练、明确地描述了整个系统的全貌和某些细节(如数据结构、加工内容、文件记录形式等)。但这种方法的缺点是开发工作量大,也不容易维护。
除了系统流程图(system flowchart)法外还有:结构化分析方法(SA方法)、结构化设计方法(SD方法)、数据结构法(Jackson方法)、层次输入-处理-输出方法(HIPO方法)等。
(2)半自动形式的开发方法
该方法是在软件开发过程中部分地使用软件开发工具。常用的有以下两种方法:SREM方法、PSL/PSA方法。
(3)自动形式的系统开发方法
这种方法主要以HOS(Higher Order Software公司)方法为代表,可用于自动进行系统分析和系统设计,并能进行自动编程[7]。
另外,软件开发新技术有:原型方法、瀑布模型、面向对象技术等。 3.2.3确定后的软件设计方案
经过分析,决定采用非自动形式开发方法中的系统流程图法设计软件。我们设计的节点为一个具有一定功能的小车,功能的实现并不是很复杂,所以,我们认为运用直观明了的系统流程图法是比较合理,虽然该方法在理论上具有开发工作量大,而且不容易维护的缺点,但是这次的设计工作量不是很大,这种顾虑是没有必要的。
本科毕业设计说明书(论文)
4 节点驱动程序设计
4.1主程序及无线通信程序设计简介
第 12 页 共 30 页
图4.1和4.2分别为主函数流程图和数据发送程序流程图:
串口初始化取得需发送数据及其长度和目的地址主程序开始
电动车运动程序无限循环,等待中断发送新地址申请帧B口2~7位、D口6,7位设置为输出,初始化为0加上帧头帧尾(时间序列加1,跳针数为0加于数据报头部)关中断No判断UDRE为1Yes发送数据No是否发送结束Yes开中断图4.1主函数流程图 图4.2数据发送流程图
各流程图说明:
(1)图4.1为主函数流程图,运行时,首先要进行初始化,初始化内容包括调用串口初始化程序进行串口的初始化,设置B口和D口的相关位的数据传输方向并进行复位。然后发送新地址申请数据帧,进入一个无限循环,在该循环中
相关推荐: