毕业设计(论文)基于ATMega128单片机的声控小车驱动程度设计.doc
《毕业设计(论文)基于ATMega128单片机的声控小车驱动程度设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于ATMega128单片机的声控小车驱动程度设计.doc(30页珍藏版)》请在三一办公上搜索。
1、1 绪论1.1研究背景传感器网络是基于无线局域网,由“侦测”功能发展起来的网络架构模式,与传统的网络技术之间存在较大的区别。无线传感器网络的概念是基于一个简单的等式:传感技术加上中央处理器,再联合无线通信技术就形成了数以千计的潜在应用可能12。无线传感器网络(Wireless Sensor Network,WSN)是一类全新的信息获取和处理技术,由大量具备传感、数据收集、处理和无线通信能力而体积小、成本低的传感器节点(Sensor Node)构成。 在无线传感器网络中,每个节点的功能都是相同的,大量传感器节点被布置在整个被观测区域中,各个传感器节点将自己所探测到的有用信息通过初步的数据处理和信
2、息融合后传送给用户,数据传送的过程是通过相邻节点的接力传送的方式传送回基站,然后通过基站以卫星信道或者有线网络连接的方式传送给最终用户。因此,节点在网络中可以充当数据采集者、数据中转站或类头节点的角色。作为数据采集者,数据采集模块收集周围环境的数据(如温度、湿度等),通过通信路由协议直接或间接将数据传输给远方基站或汇节点;作为数据中转站,节点除了完成采集任务外,还要接收邻居节点的数据,将其转发给距离基站更近的邻居节点或者直接转发到基站或汇节点;作为类头节点,节点负责收集该类内所有节点采集的数据,经数据融合后,发送到基站或汇节点19。1.2国内外研究现状及应用无线传感器网络的最初研究来源于美国军
3、方,美国国防先进研究计划局(DARPA)于2001年资助加州伯克力大学开发无线传感器系统。美国自然科学基金委员会2003年制定了传感器网络研究计划,投资3400万美元用于支持该方面的基础研究。英国、日本、意大利等国家的一些大学和研究机构也纷纷开展了该领域的研究工作。研究取得了一些初步的研究成果。目前国内无线传感器网络尚处于研究阶段,清华大学、中科院沈阳自动化研究所、中科院合肥智能所等单位已开始进行这方面的研究。无线传感器网络应用领域非常广泛。比如当需要对诸如温度、光通量、位移以及噪声等环境参数进行不间断地传感、测试和无线信号传输时,可以考虑在相关领域中配置智能化的无线传感器网络,通过对环境待测
4、参数的传感数据分析来达到检测目的,这一技术已经应用到国防军事、动物的习性观测、材料结构健康监测、交通管理、医疗卫生、灾害监测等领域中12。1.3课题研究目的和任务传感器网络的应用中,低功耗节点的设计具有举足轻重的作用,这是传感器网络得以实现的硬件基础。传感器节点分为静态节点和移动节点,目前研究的主要是基于静态传感器节点构建的传感器网络。无线传感器网络的一般设计方案是在一个较大的区域内,布置一定数量的传感器节点,区域内用一个基站(B-Station,即PC机)管理各个节点,各传感节点经过一定路由后将数据传输到基站。由静态传感节点(S-Node)组建的无线传感网络,其节点可按照自组织方式组建网络,
5、按照设定的路由协议选择其中一个或几个作为汇聚节点(sink),经过汇聚节点将数据传输到基站。由静态传感器节点和移动传感器节点(M-Node)动态构建的无线传感器网络,可设计网络拓扑结构为星型,网络内所有静态节点以移动节点为汇聚节点,将数据传输给移动节点,移动节点处理后传输给基站。数据传输是由移动节点控制的,移动节点进入传感器节点区域后,发送射频信号,激活各静态节点后建立链接,各节点以自己的节点ID号依次将数据传输给移动传感器节点,最终传输到基站。静态传感器节点在配置后,自身不能改变所处位置,感知范围有限;而且由于能耗原因容易使节点脱离网络,改变原有的网络拓扑结构,以致造成信息不能按原有路径传输
6、。移动传感器节点可以依据需要自主移动,动态构建网络以提升网络性能。因而移动传感器节点可以与静态传感器节点一起被配置在特定的场合,以完成许多复杂的任务,如移动目标跟踪、动态信息采集、灾情预警、搜救、军事领域的情报探测等20。课题侧重移动传感器网络节点驱动程序设计,同时完成相应的通信试验。通过对本课题的研究,较好地掌握移动传感器节点的设计,熟悉基于单片机的驱动程序的设计,掌握单片机应用软件的编制与调试,掌握通信驱动程序设计,完成软硬件的联调。这样可以为以后的进一步的更实用性的研究打下基础。在理解传感器网络技术的基础上,参考有关文献,了解通信电路设计的一般方法,在此基础上,完成基于ATMega128
7、及CC1000、CC2420射频芯片的通信节点设计(完成驱动程序设计),设计具有移动功能的传感器节点,驱动电机能够进行按指令的运动,熟悉使用C语言,进行驱动程序设计、调试。本文首先介绍软件设计的一般方法,通过比较得出合适的设计方法。简单介绍有关硬件电路设计后结合对小车驱动板电路进行相关分析,结合ATMega128单片机C语言编程的特点和要求,着重给出了小车运动方向控制、运动速度控制、运动距离控制的程序设计方法,并给出了驱动程序和主函数的衔接和调用关系,从而完成软件设计。2 硬件电路设计2.1主要元件介绍2.1.1 ATMega128单片机ATMega128为基于AVR RISC结构的8位低功耗
8、CMOS微处理器。由于其先进的指令集以及单周期指令执行时间,ATMega128的数据吞吐率高达1MIPS/MHZ,从而可以缓减系统在功耗和处理速度之间的矛盾。AVR内核具有丰富的指令集和32个通用工作寄存器。所有的寄存器都直接与算逻单元(ALU)相连接,使得一条指令可以在一个时钟周期内同时访问两个独立的寄存器。这种结构大大提高了代码效率,并且具有比普通的复杂指令集微处理器高10倍的数据吞吐率。ATMega128具有如下特点:128K字节的系统内可编程Flash(具有在写的过程中还可以读的能力,即RWW)、4K字节的EEPROM、4K字节的SRAM、53个通用I/O口线、32个通用工作寄存器、实
9、时时钟RTC、4个灵活的具有比较模式和PWM功能的定时器/计数器(T/C)、两个USART、面向字节的两线接口TWI、8通道10位ADC(具有可选的可编程增益)、具有片内振荡器的可编程看门狗定时器、SPI串行端口、与IEEE1149.1规范兼容的JTAG测试接口(此接口同时还可以用于片上调试),以及六种可以通过软件选择的省电模式。空闲模式时CPU停止工作,而SRAM、T/C、SPI端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作,寄存器的内容则一直保持;省电模式时异步定时器继续运行,以允许用户维持时间基准,器件的其他部分则处于睡眠状态;ADC噪音
10、抑制模式时CPU和所有的I/O模块停止运行,而异步定时器和ADC继续工作,以减少ADC转换时的开关噪声;Standby模式时振荡器工作而其他部分睡眠,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby模式则允许振荡器和异步定时器继续工作。器件是以Atmel的高密度非易失性内存技术生产的。片内ISP Flash可以通过SPI接口、通用编程器,或引导程序多次编程。引导程序可以使用任何接口来下载应用程序到应用Flash存储器。在更新应用Flash存储器时引导Flash区的程序继续运行,实现RWW操作。通过将8位RISC CPU与系统内可编程的Flash集成在一个芯片内,ATMega1
11、28为许多嵌入式控制应用提供了灵活而低成本的方案。ATMega128是一个很复杂的微处理器,其I/O数目为AVR指令集所保留的64个I/O的超集。为了保持对ATMega103的兼容性,ATMega103的I/O位置在ATMega128得到了保留。多数添加的I/O位于扩展的I/O空间$60到$FF(即位于ATMega103的内部RAM空间)。这些地址可以通过指令LD/LDS/LDD和ST/STS/STD来访问,而不是IN/OUT指令。对于ATMega103用户而言,内部RAM可能还是个问题。此外,由于中断向量的增加,若程序使用了绝对地址可能也是个问题。为了解决这些问题,ATMega128设置了一
12、个熔丝位M103C。此熔丝位编程后就可以使ATMega128工作于ATMega103兼容模式。此时扩展I/O空间将无法使用,而内部RAM正好与ATMega103的一致。同时扩展的中断向量也被取消了。2.1.2无线数据传输模块CC1000、CC2420射频芯片是无线数据传输中的无线波的输出部分。在此项目中,无线传输使用的硬件为CC1000,但是CC1000是一个简单的串行的数据输入输出的无线频射芯片,无法实现完整的数据的传输和控制,需要外围的芯片加以控制,实现数据的正常发送和接收,所以在本项目中使用的用CC1000的集成的Txd-1000微功率无线数据传输模块,其结构示意图如图2.1所示: 图2
13、.1 Txd-1000外部结构示意图TDX-1000微功率无线数据传输模块有以下的特点:1.微功率发射,功率10mW。无须向无线电管理委员会申请频点,使用安装方便,载频频率315MHz,433MHz。2.高抗干扰能力和低误码率。基于FSK的调制方式,并采用了前向纠错信道编码技术,提高了数据抗突发干扰和随机干扰的能力,在信道误码率为10-2时,可得到实际误码率10-510-6。3.传输距离远。在视距情况下,可靠传输距离不低于 100m。4.数据传输格式:8N1,一个起始位,8个数据位,一个停止位。5.数据传输速率:从1200bps9600bps(定货时需确定)6.功耗低、。接收情况下,耗电量10
14、mA,发射电流:30mA(10Mw)。7.可靠性高。采用单片射频集成电路及单片MCU,外围电路少,可靠性高,故障率低。8.体积小、重量轻TDX-1000的通信信道是半双工的,最适合点对多点的通信方式,这种方式首先需要设1个主站,其余为从站,所有站都编一个唯一的地址。通信的协调完全由主站控制,主站采用带地址码的数据帧发送数据或命令,从站全部都接收,并将接收到的地址码与本地地址码比较,不同则将数据全部丢掉,不做任何响应;地址码相同,则证明数据是给本地的,从站根据传过来的数据或命令进行不同的响应,将响应的数据发送回去。这些工作都需要上层协议来完成,并可保证在任何一个瞬间,通信网中只有一个电台处于发送
15、状态,以免相互干扰。TDX-1000也可以用于点对点通信,使用更加简单,在对串口的编程时,只要记住其为半双工通信方式,时刻注意收发的来回时序就可以了。2.1.3节点(小车)驱动电路图2.2为小车的电机驱动原理图:图2.2小车电机驱动电路图在图2.2中,MOT1和MOT2输入高低电平即可在J1处得到正反向电压,后面的电路是由两个CMOS管和两个二极管构成的通断电路,MOTSP输入PWM就可在J2处接上电机,用于速度的控制。小车共有两组电机控制电路,四轮驱动,其中每个电机带动两个轮子,这两个轮子位于小车的同一侧,这样一样,就可以很方便地控制小车转向了。2.2硬件电路的模块化设计根据传感器节点小车的
16、工作要求,硬件电路设计成以下几个模块,各模块之间的联系如下图2.3所示:图2.3 硬件模块连接示意图在图2.3中:(1) 电源模块要为单片机提供3.3V的正常工作电压。由于供电源来自小车的4节5号电池,约是6V的电压,这就需要一个或多个稳压芯片来提供电压支持。(2) 通过JTAG接口和AVR Studio编程环境可以进行片上调试和ISP下载。(3) 单片机输出的电机控制信号通过电机驱动模块放大和处理后,传输到电机驱动板上。(4) 无线串行通信模块则由两组串行通信线组成,能够满足有线,无线两种模式的通信和调试要求。(5) LED指示灯和按键开关模块则能够起到节点小车运行和传感器等部件的简单控制和
17、指示作用。(6) 预留I/O口是为传感器所预留的接口,同时也能够适应系统对不同I/O设备的支持需求。(7) 单片机周围的简单电路,包括接地电容,感应电容和接插件等。节点小车控制板就可以分为以上7个模块,各模块之间相互作用,协同工作,就基本能满足对于无线传感器节点小车的设计要求了。3 无线传感器网络节点软件设计3.1无线传感器网络节点软件设计概述3.1.1无线传感器网络的特点无线传感器网络具有很多自身的特点:(1)电源能量有限 (2)通信能力有限 (3)计算能力有限 (4)传感器数量多、分布范围广、网络节点密度高 (5)网络动态性强 (6)以数据为中心,分布协同计算。这些特点决定了传感器网络的系
18、统设计和软件设计的特殊要求,因此,我们在设计节点时,针对无线传感器网络的特点,除了必要的在硬件设计上优化外,还要在不影响整体性能的基础上,对软件进行优化,尽量让网络高效的运行。3.1.2无线传感器网络节点软件的性能指标(1)轻量级13 微小的传感器节点在长期运行中总共可以利用的资源非常有限,这些节点上的软件必须是轻量级的。(2)模块化 模块化的软件设计有利于软件的更新和维护,个别模块或组件的更新相对于整个更新开销要小得多。(3)局部化协作算法 局部化算法是仅通过与临近界点交换信息而实现全局目标的分布式算法。(4)以数据为中心 传感器网络的应用目的决定了传感器网络以数据为中心的特点,其软件应该具
19、有网络内的数据处理和查询的机制,以最有效的方式获得并利用数据,满足不同应用的需求。(5)自适应 应用需求的变化和网络动态性要求具有自适应性,通过自我调整有效地使用有限资源,提高系统的服务生命期。3.1.3无线传感器网络节点软件性能需考虑的因素(1)能源有效性/生命周期 传感器网络的生命周期是指从网络启动开始提供服务到不能完成最低功能要求为止所持续的时间。(2)响应时间 传感器网络的响应时间是指当观察者发出请求到其接收到回答信息所需要的时间。(3)感知精度 传感器网络的感知精度是指观察者接收到的感知信息的精度。(4)伸缩性 传感器网络伸缩性表现在传感器网络数量、网络覆盖区域、生命周期、时间延迟、
20、感知精度等方面的可扩展极限,其中传感器数量、覆盖范围是两个重要的伸缩性指标。(5)容错性 传感器网络中的传感器节点经常会由于周围环境或电源耗尽等原因而失效。(6)安全性 保证数据和系统安全性是很多应用的客观要求,安全包括保密性、身份认证、抗攻击能力等方面。(7)成本和部署容易度 成本和部署是最终影响传感器网络实际应用的一个重要因素,只有节点成本降低到一定程度,才有可能实现其大规模的应用。3.2软件设计方法的选择3.2.1应用软件开发的基本原则(1)自顶向下的系统结构开发原则这种方法的基本思想是,对一个复杂系统进行分解,由高度抽象到逐步具体的方法,形成一个树形结构。在树形结构中,每一层次都设计成
21、独立的模块,每个模块又都可以调用它的下属模块,因此,这是一种逐层分解的方式,也称为层次结构。这种系统结构的优点是,关系明了、简单,各层次中的模块之间联系比较少,各模块相对独立,易于理解,便于修改。(2)模块化结构开发原则这种方法是将系统分成若干模块,但整体结构并不要求是树形结构,允许网状结构(即一个模块可以被两个或两个以上的模块所调用)的存在。这种系统结构的特点是结构比较灵活,整个系统类似搭积木一样,独立性强,提供了系统开发的可靠性。3.2.2几种常用的软件设计方法介绍(1)非自动形式的开发方法这种方法是一种人工方式的开发方法,是目前使用最为广泛的方法。它主要有5种方法,下面着重介绍一下系统流
22、程图(system flowchart)法。系统流程图(system flowchart)法采用自顶向下的功能分割手段,对一个复杂系统进行逐层分解。这种方法主要用于事务系统的系统分析和系统设计。在这种方法中,一般采用一种称为“事务处理流程图”的工具(也称为系统流程图)来描述系统分析和系统设计的结果。描述内容包括系统中数据的流动,对数据的加工处理,各数据之间的组成和相互关系等。由于这种方法比较直观,既反映了系统的逻辑结构,又反映了数据与加工的某些物理特征,因而十分简练、明确地描述了整个系统的全貌和某些细节(如数据结构、加工内容、文件记录形式等)。但这种方法的缺点是开发工作量大,也不容易维护。除了
23、系统流程图(system flowchart)法外还有:结构化分析方法(SA方法)、结构化设计方法(SD方法)、数据结构法(Jackson方法)、层次输入-处理-输出方法(HIPO方法)等。(2)半自动形式的开发方法该方法是在软件开发过程中部分地使用软件开发工具。常用的有以下两种方法:SREM方法、PSL/PSA方法。(3)自动形式的系统开发方法这种方法主要以HOS(Higher Order Software公司)方法为代表,可用于自动进行系统分析和系统设计,并能进行自动编程7。另外,软件开发新技术有:原型方法、瀑布模型、面向对象技术等。3.2.3确定后的软件设计方案经过分析,决定采用非自动形
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 毕业设计 论文 基于 ATMega128 单片机 声控 小车 驱动 程度 设计
链接地址:https://www.31ppt.com/p-3978858.html