




已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Xxx 大学 毕毕 业业 设设 计计 说说 明明 书书 学生姓名学生姓名 Xxx 学学 号号 xxx 院院 系系 xxx 专专 业业 xxx 题题 目目 智能无线传感网络节点的设计与实现 指导教师指导教师 xxx 硕士 姓 名 专业技术职称 学位 姓 名 专业技术职称 学位 年 月 Xxx 大学毕业设计 2 目录目录 1 1 引言引言 2 2 通用无线传感网络节点的体系结构通用无线传感网络节点的体系结构 2 12 1 无线传感网络节点的设计要求 无线传感网络节点的设计要求 2 22 2 无线传感网络节点的通用体系结构 无线传感网络节点的通用体系结构 3 3 通用无线传感节点的设计和实现通用无线传感节点的设计和实现 4 4 硬件设计硬件设计 4 14 1 传感器前端设计传感器前端设计 4 2 4 2 处理核心设计处理核心设计 4 3 4 3 存储器存储器 4 44 4 中断中断 4 5 AVR 4 5 AVR 处理器指令集处理器指令集 4 6 4 6 电源管理及睡眠模式电源管理及睡眠模式 4 74 7 无线通信模块设计无线通信模块设计 4 8 4 8 电路板设计及抗干扰措施电路板设计及抗干扰措施 4 94 9 节点的测试试验 节点的测试试验 5 5 无线传感网络开发平台及嵌入式软件设计无线传感网络开发平台及嵌入式软件设计 5 15 1 嵌入式软件开发流程嵌入式软件开发流程 5 2 WSN 5 2 WSN 专用的软件开发平台 专用的软件开发平台 TinyOSTinyOS 5 3TinyOS 5 3TinyOS 内核内核 5 4 TinyOS 5 4 TinyOS 内存管理内存管理 5 5TinyOS 5 5TinyOS 通讯通讯 5 65 6 低功耗实现技术低功耗实现技术 5 75 7 嵌入式软件模块设计嵌入式软件模块设计 5 8 5 8 无线通信模块无线通信模块 6 6 应用应用 结论结论 参考文献参考文献 致谢致谢 Xxx 大学毕业设计 3 摘摘 要 要 无线传感网络是当前国内外传感器技术领域的热点研究课题 本文提出了一种构 建智能无线传感网络通用节点的体系结构 并运用该体系结构的设计思想初步完成了无线 传感节点的研制 该智能无线传感节点所采用的软件开发系统是专用于无线传感网络的开 放源代码的操作系统 TinyOS 运用该平台可以完成节点的性能测试和试验 结果表明设计 的节点基本达到了设计要求 该设计思想可以提高无线传感网络节点的研制效率 有一定 的应用价值 关键词 关键词 无线传感网络 通用体系结构 设计思想 Xxx 大学毕业设计 4 Abstract The wireless sensor networks are the hotspot research of current sensor technology In this paper a novel design method is presented for building a general architecture for the wireless sensor network node Based on this design idea the development of a wireless sensor node has been completed The software platform of the designed node is based on the TinyOS platform which is an operating system designed explicitly for the wireless sensor networks Based on this platform performance tests are conducted for the designed wireless sensor node The test results are satisfied demonstrating that the presented design method can raise the efficiency for wireless sensor network node design and implementation Key words Wireless sensor networks General architecture Design method Xxx 大学毕业设计 5 1 1 引言引言 无线传感网络的概念是基于一个简单的等式 传感技术 中央处理器 无线通信 数 以千计的潜在应用可能 当需要对诸如温度 光通量 位移以及噪声等环境参数进行不间 断地传感 测试和无线信号传输时 可以考虑在相关领域中配置智能化的无线传感网络 通过对环境待测参数的传感数据分析来实现检测目的 这一技术已经应用到国防军事 1 1 动物的习性观测 材料结构健康监测 交通管理 医疗卫生 灾害监测等领域中 无线传 感器网络不需要固定网络支持 具有快速展开 抗毁性强等独特优点 而且利用无线传感 器网络组成的分布式监测网络可以大大减少器件引线数量 使得无线传感器可方便的安装 于监测环境比较复杂 不便于引线的部位 由于无线传感器网络节点具有局域信号处理功 能 很多信号信息处理工作可在传感节点附近局部完成 将大大减少所需传输的信息量 并将原来由中央处理器实现的串行处理 集中决策的系统 变为一种并行的分布式信息处 理系统 将大大提高监测系统的运行速度及决策的可靠性和灵活性 另外无线传感网络在 设计时所着重考虑的低功耗特点也可减少能源供给装置的重量并可实现对监测对象的长 期在线监测 无线传感器网络的最初研究来源于美国军方 美国国防先进研究计划局 DARPA 于 2001 年资助加州伯克力大学开发了名为 Smart Dust 智能灰尘 或 Mote 的无线传 感器开发系统 美国自然科学基金委员会 2003 年制定了传感器网络研究计划 投资 3400 万美元用于支持该方面的基础研究 在美国自然科学基金委员会的推动下 美国的加州大 学伯克力分校 麻省理工学院 康奈尔大学 加州大学洛衫矶分校等学校开始了传感器网 络的基础理论和关键技术的研究 英国 日本 意大利等国家的一些大学和研究机构也纷 纷开展了该领域的研究工作 研究取得了一些初步的研究成果 目前国内无线传感器网络 尚处于研究阶段 清华大学 中科院沈阳自动化研究所 中科院合肥智能所等单位已开始 进行这方面的研究 3 4 3 4 其中针对面向结构健康监测的无线传感网络的研究 哈尔滨工业 大学 南京航空航天大学都开展了一些初步的探索 5 6 5 6 但是因为目前国内几乎没有自行 研制的无线智能传感节点 都是购买 Mote 产品进行前期探索 这方面同国外的差距较大 本文提出了一种构建智能无线传感网络通用节点的体系结构 并运用该体系结构的设计思 想完成了无线传感节点的研制 2 2 通用无线传感网络节点的体系结构通用无线传感网络节点的体系结构 Xxx 大学毕业设计 6 2 12 1 无线传感网络节点的设计要求 无线传感网络节点的设计要求 为了使得设计的无线传感网络节点能够组成适用范围广泛 系统寿命长 性能优越的 无线传感网络 节点必须满足以下几个基本的设计要求 包括功耗 灵活性 鲁棒性 无 线通信的要求等 2 1 12 1 1 功耗 功耗 为了满足某些应用系统长达数年的工作寿命要求 单个的无线传感节点必须是低功耗 的 普通蜂窝电话的工作电流一般为几百毫安 工作寿命只有几天 但是无线传感节点的 工作电流最多不能超过几个毫安 这种超低功耗的操作技术必须依赖于低功耗硬件技术和 低工作循环操作技术 在活动工作状态期间 无线通信的功耗是节点功耗的主要部分 所 以必须尽可能采用先进的算法和协议缩短无线收发器活动状态的持续时间 还有就是利用 节点端局部处理的方式减少需要无线传输的数据量 例如多个传感节点的数据可以通过一 个网关节点处理组合成一个单一的结论数据再通过传感网络传输 这样就减少了无线传输 的数据量 根据现有的电池供电能力 1700mAh 通过计算可以知道 要使得传感节点能 持续工作一年以上 它的平均工作电流必须小于 200uA 而一个普通蜂窝电话的平均工作 电流多于 4000uA 是前者的 20 倍 2 1 22 1 2 灵活性 灵活性 无线传感网络的适用范围广泛 这就意味着其节点必须结构灵活 能适应多种应用场 合 每个应用场合的要求都会有所不同 比如工作寿命 采样频率 响应时间和处理能力 所以无线传感网络的体系结构必须足够灵活以适应多种应用需求 而且对于一个具体的应 用 其硬件和软件的成本是由用户要求的 另外选择合适的软硬件组合可以使得无线传感 网络的组建简易而方便 因此节点的设计在考虑效率的同时还必须采用特殊的软硬件模 块 2 1 32 1 3 鲁棒性 鲁棒性 为了满足应用中工作寿命的要求 每个节点都必须具备鲁棒性 在一个典型的应用中 上百个节点组成的无线传感网络可能需要协调工作长达数年 所以系统必须能适应和处理 单个节点失效的情况 模块化系统设计的方法可以提高系统的鲁棒性 将系统按功能划分 成多个独立的子模块 每个功能子模快可以独立地测试 然后将它们组合成一个完整的应 用系统 但是这样的系统组件或者子模块必须尽可能地独立 而且对外的接口要小 以避 Xxx 大学毕业设计 7 免组件间的相互干扰 为了提高系统对于单个节点失效的鲁棒性 无线传感网络必须能适 应来自外部的干扰 因为这样的网络通常是和其他无线系统共存的 它们必须能适应这样 的环境 提高系统抗干扰性能的方法就是采用多通道 展布频谱 Spread Spectrum technique 的无线收发器 采用展布频谱技术的无线收发器可以使系统工作在多个频率 段 以避免多种无线系统共用某一频率段而相互干扰的情况发生 2 1 42 1 4 无线通信的要求 无线通信的要求 在设计一个低功耗无线通信平台之前 需要了解无线传感网络的通信机制和要求 以 给出灵活的通信模块供设计参考 并且能够优化所用的无线通信协议使得网络系统同时获 得高带宽和高性能 同时还需要了解无线通信的一些基本操作 这些基本操作可以揭示设 计无线传感器网络系统所需解决的核心问题 为了以无线的方式通信 必须解决如何发送和接受初始射频信号的问题 信号接收器 需要完成信号的解调和分析 同时发射器需要调制射频载波信号 图 1 说明了完成一次数 据包无线通信的主要过程 这个过程中的很多操作都是彼此并行的 这可以从图 1 中各操 作过程的时间重叠上清楚地看出 通信过程的第一步是将发送数据进行编码 编码方式的设计目的在于通过防止和更正 信号的错误以提高传送信号的成功概率 由于系统效率的原因 编码过程和实际的信号传 送过程是同时进行的 一旦第一个字节数据被编码以后 传送过程就开始了 当前面数据 传送的时候剩余数据能同时被编码 编码方式包括简单的直流配平方式 DC balancing 如 4b 6b 或者曼彻斯特编码 Manchester encoding 和复杂的 CDMA 方式 实际的无线 传送过程是从媒体访问控制协议 MAC 的执行开始的 媒体访问控制协议 MAC 允许多 个无线传送设备共享一个无线信道 通过无线链路传送数据的前一部分是同步符号位或者 起始符号位 对于无线接收器而言 接收数据的第一部分用于检测已经开始传送的任务一 旦检测到有传送任务开始 接收器必须和相应传送任务的时序严格同步 同步以后接收器 才可以对每个输入信号进行采样 最后无线收发器会将数据解码得到原始数据包 2 22 2 无线传感网络节点的通用体系结构 无线传感网络节点的通用体系结构 无线传感器节点的通用结构必须以共享硬件资源为前提 能够分离一般数据通路和无 线数据通路 并且能兼容多种通信协议 为了处理无线收发器实时 高速的通信需求 需 要采用专用的硬件加速器以满足系统高性能 高效率的要求 图 2 描述了本文设计所用的 通用节点的体系结构 该结构的核心是一个中央处理器 用于分时处理操作请求和通信协 Xxx 大学毕业设计 8 议 仅仅采用单一的处理器结构是因为在某些需要的场合可以将所有的处理器资源用于单 一任务的运行 这样的结构完全出于提高处理能力和处理效率的考虑 该系统中唯一的核 心处理器需要具有额外的硬件电路以支持精细地并行处理操作 因为该处理器用于分配系 统中多个并行操作 所以这样的设计可以尽可能地提高并行操作的转换效率 降低并行操 作转换时间的一般方法是添加寄存器窗口 CPU 集成多个寄存器组 无需每次操作转换的 数据都要写进存储器 只需要简单地保存在空的寄存器组中 和典型的微控制器设计一样 数据通路是通过共享的内部总线和系统中其他的组件相 连接 存储器 I O 口 模数转换器 系统时钟和硬件加速器都是通过这样的内部总线相 连的 通过利用高速 低等待时间的内部总线 数据能方便地在处理器 存储器和外围设 备之间传送 除了允许 CPU 和其他外围设备相连之外 这些内部总线还可以使得外围设备 之间能相互连接 连接在内部总线上的外围设备能够直接从存储器子系统中获取数据 也 可以将数据送到 UART 外围设备 这样的系统具有很高的灵活性 其中的数据编码外围设 图 1 完成一次数据包无线通信的主要过程 Xxx 大学毕业设计 9 备能够直接从存储器取出数据 然后将取得的数据送至数据传送加速器 如射频信道的调 制器 该结构的系统中的 CPU 只是简单地规划数据传送任务 并不直接处理数据 在共享 的内部总线上的所有设备都是通过一个共享的存储器接口进行操作的 每个设备都能够控 制映射在共享地址空间的结构 其各个不同操作专用的共享地址空间可以动态地满足多种 应用的需求 该系统真正的优势在于专用硬件加速器的采用 相对于一般数据通路的低效率操作 这些硬件加速器可以高效地执行底层操作 每一个加速器都会支持针对于无线网络通信的 操作 通过提高这些操作的效率 系统整体的功耗会大大降低 另外需要重点说明的就是 这些硬件加速器仅仅是针对于通信的底层操作 并不包括完整的通信协议的执行 通过简 单地软件重配置该系统可以同时支持多种通信协议 硬件加速器也支持那些用于尽可能优 化无线收发器功耗的操作 比如起始符号位的检测和底层数据位调制 其目的还在于最小 图 2 通用无线节点的结构框图 Xxx 大学毕业设计 10 化硬件的功能 这对于高效地支持应用需求和分离通信和处理通道很有必要 虽然硬件加速器是针对底层操作而设计的 并用于支持多种通信协议 但是这些操作 并不是很简单的 例如用于编密码的硬件加速器 7 7 它的操作包括取出必要的数据并进行 加密或解密操作 具体地它可以用于加密通信数据 数据认证或者确认片外 FLASH 中存储 数据的安全性 当该硬件加速器进行核心加密数据操作时 加密的数据将暴露给 CPU 或者 其他的外围设备 这是此系统相对于其他保密通信系统的不足之处 但是该系统是在牺牲 了保密特性的基础上大大增加了系统的灵活性 3 3 通用无线传感节点的设计和实现通用无线传感节点的设计和实现 根据第二章提出的通用无线传感器节点的硬件体系架构 在现有的硬件条件下 选择 特定的硬件芯片和模块 设计了无线传感器节点 本章详细叙述了无线传感器节点的传感 器前端 处理器核心 无线通信等主要模块的设计过程 从前一章针对传感器节点设计要求以及应用场合的分析中可以得出 设计的无线传感 器节点必须是低功耗 小尺寸 低成本 能灵活地应用到多种场合 表 1 总结了无线传感 器节点的设计参数及其参考范围 表 1 无线传感器节点的设计参数及其参考范围 设计参数 参考范围 传感器节点 尺寸 电池工作寿命 成本 尽量小 支持休眠模式 持续数年时间 低于 50 美金 处理核心 设计方法 低功耗单一处理器 支持单任务 片内集成足够的程序存储空间 能支持多种外围接口 可扩展性强 无线通信 编码方式 射频频段 室外的传输距离 支持可靠的频谱扩展技术 工作在 ISM 频段 最小 200 米 传感器前端 AD 采样率 输入通道 传感器类型 最小 1KHz 支持多通道模拟量 数字量输入 支持多种传感器 因为现有商业级微控制器的片内外设的性能有限 外部接口少 所以无线传感器节点 Xxx 大学毕业设计 11 的设计只是上述硬件体系架构的近似实现 相信随着 ASIC 技术和 MEMS 技术的发展 无 线传感器节点的硬件性能够进一步提升 在研究通用无线传感器节点的体系结构的基础上 本文进行了实际无线传感节点的设 计 选用单一的中央微控制器处理所有计算操作 同时增加了硬件加速器 选用的硬件加 速器可以提高数据传送的波特率和定时的精确度 因为现有商用微控制器的可用接口很有 限 所以设计的节点只是上述通用结构体系的近似实现 软件方面利用 TinyOS 的并行机 制可以实现在单 CPU 上运行多线程的任务 4 4 硬件硬件设计设计 图 3 是节点的结构框图 主要包括五个主要的模块 处理器 无线射频通信 电源 管理 I O 扩展和外部存储器 该节点集成了 ATMEGA128 处理器 CC1000 可调频无线收 发器 4Mb 外部串行 FLASH 存储器 AT45DB041 47 选用单一的中央微控制器处理所有计 算操作 同时无线收发器包含有硬件加速器 硬件加速器的采用可以提高数据传送的波特 率和定时的精确度 并且应用控制器和无线收发器的直接相连使得其应用方式相当灵活 下面分别介绍各主要模块的设计过程 图 3 通用无线节点的结构框图 4 4 1 1 传感器前端设计传感器前端设计 传感功能是无线传感器节点最基本也是最重要的功能 布置在环境中的无线传感器节 点必须能够监测环境对象 可以把传感到的物理量转化为微控制器可以处理的数字信号 可以接入多种模拟量的传感器 通过多个通道同时采集 所以传感器前端的核心功能模块 Xxx 大学毕业设计 12 是将外部输入的模拟量信号转换成数字量的 AD 转换器 该节点采用的 AD 转换器是集成 在微控制器 ATmega128 内的 10 位逐次逼近型 successive approximation ADC ADC 的 原理框图如图 4 所示 ADC 通过逐次逼近的方式将模拟量转换成 10 位数字量 最小值对 应 地 GND 最大值对应参考电压 AREF 减去一个最低位 LSB 参考电压取模拟电源 AVCC 或者自带的 2 56V 参考电压 当前的参考电压值保存在 ADC 的多路复用寄存器 ADMUX 的 REFSn 位 在 AREF 引脚需要加上一个外部去耦电容 用于消除外部电路对于内部参考电 压的干扰 输入方式的选择是通过 ADMUX 的 MUX 位来决定是单端输入还是差分输入 单 端输入时 增益放大器将被旁路 否则在 AD 转换前需要选择适当的增益倍数 然后放大 后的值被送到 ADC ADC 通过控制状态寄存器 ACSRA 的 ADEN 位使能 否则电压参考和 通道选择都无法进行 特别地 当 ADEN 位清零时 ADC 将没有功率消耗 所以在进入休 眠模式前最好将 ADEN 位清零 在微控制器 ATmega128 的 F 端口与 ADC 之间集成了一 个 8 路模拟多路复用开关 所以端口 F 支持 8 路单端模拟电压量输入 同时 ADC 还支 持 16 种差分电压量输入方式 在 AD 转换器之前 具备三种可编程增益选择 0dB 1 20dB 10 46dB 200 前两种增益对应了 8 位的转换精度 但是选择 200 倍放 大增益的同时只支持 7 位的转换精度 Xxx 大学毕业设计 13 ADC 的 10 位数字转换结果保存在 ADC 的数据存储器 ADCH 和 ADCL 当中 默认的存 储方式是右调整方式 可以通过设置 ADMUX 寄存器的 ADLAR 位来改为左调整的存储方式 如果采取左调整的存储方式 并且 8 位足够存储图 3 2 ADC 的原理框图当前的转换结果 那只需要读取 ADCH 的数值 即为转换结果 但是如果数据结果超过 8 位 则必须首先 读取 ADCL 的值 然后再读取 ADCH 的值 这样才可以保证两个存储器中的数值是同一次 AD 转换的结果 这是因为一旦 ADCL 被读取后 ADC 就无法访问 ADC 数据寄存器 也即 一次 AD 转换结束 不管数据是否丢失或者数据需要更新 当 ADCH 被读取后 ADC 可以 继续访问数据寄存器 ADCH 和 ADCL ADC 具有一个标志转换结束的中断 当读取 ADCL 和 ADCH 时 ADC 不能访问数据寄存器 此时不管有没有结果丢失都会产生一个中断 标志 着一次 AD 转换的结束 当 ADC 开始转换位 ADSC 被写入一个逻辑 1 之后 ADC 开始转 换操作 该位寄存器只有当转换结束和停止时才会被硬件清零 如果转换过程中发生其他 通道的操作 ADC 会一直完成此次转换 再去选择其他通道 在自由运行模式下 ADC 将 不断地采样端口并将数据保存到寄存器中 自由运行模式通过 ADC 的控制状态寄存器 ADCSRA 的 ADFR 位寄存器来选择 当该位寄存器被置 1 以后 ADC 开始转换 并且独立 图 4 ADC 的原理框图 Xxx 大学毕业设计 14 完成逐次逼近的 AD 转换 不管 ADC 的中断标志位和 ADIF 位是否被清零 当 ADC 转换 结束后 ADC 的转换控制位 ADIF 为逻辑 1 转换结果保存在 ADC 的数据寄存器 ADCL 和 ADCH 中 对于单端输入方式 转换结果为 ADC V IN 1024 VREF 其中 VI N 代表输 入引脚的电压 V R EF 代表选取的参考电压 0 x000 代表模拟地 0 x3FF 代表参考电压减 去一个最低位 LSB 对于差分输入方式 转换结果为 ADC V POS V NEG GAIN 512 VREF 其中 V POS 代表正输入端电压 V NEG 代表负输入端电压 GAIN 代表选择的 增益因子 V R EF 代表选取的参图 5 ADC 的模拟输入电路原理图当前的转换结果 那只 需要读 ADCH 的数值 即为转换结果 但是如果数据结果超过 8 位 则必须首先读取 ADCL 的值 然后再读取 ADCH 的值 这样才可以保证两个存储器中的数值是同一次 AD 转换的 结果 这是因为一旦 ADCL 被读取后 ADC 就无法访问 ADC 数据寄存器 也即一次 AD 转 换结束 不管数据是否丢失或者数据需要更新 当 ADCH 被读取后 ADC 可以继续访问数 据寄存器 ADCH 和 ADCL ADC 具有一个标志转换结束的中断 当读取 ADCL 和 ADCH 时 ADC 不能访问数据寄存器 此时不管有没有结果丢失都会产生一个中断 标志着一次 AD 转换的结束 当 ADC 开始转换位 ADSC 被写入一个逻辑 1 之后 ADC 开始转换操作 该 位寄存器只有当转换结束和停止时才会被硬件清零 如果转换过程中发生其他通道的操 作 ADC 会一直完成此次转换 再去选择其他通道 在自由运行模式下 ADC 将不断地采 样端口并将数据保存到寄存器中 自由运行模式通过 ADC 的控制状态寄存器 ADCSRA 的 ADFR 位寄存器来选择 当该位寄存器被置 1 以后 ADC 开始转换 并且独立完成逐次逼 近的 AD 转换 不管 ADC 的中断标志位和 ADIF 位是否被清零 当 ADC 转换结束后 ADC 的转换控制位 ADIF 为逻辑 1 转换结果保存在 ADC 的数 据寄存器 ADCL 和 ADCH 中 对于单端输入方式 转换结果为 ADC V IN 1024 VREF 其中 VI N 代表输入引脚的电压 V R EF 代表选取的参考电压 0 x000 代表模拟地 0 x3FF 图 5 ADC 的模拟输入电路原理图 Xxx 大学毕业设计 15 代表参考电压减去一个最低位 LSB 对于差分输入方式 转换结果为 ADC V POS V NEG GAIN 512 VREF 其中 V POS 代表正输入端电压 V NEG 代表负输入端电压 GAIN 代表选择的增益因子 V R EF 代表选取的参图 5 ADC 的模拟输入电路原理图 24 考 电压 结果用 2 的补码形式表示 从 0 x200 512d 到 0 x1FF 511d 如果希望对结 果执行快速极性检测 可以读结果的最高位 MSB ADCH 中 ADC9 如果该位为 1 结果为 负 否则结果为正 10 位 AD 转换器的模拟电源引脚与微控制器的电源引脚的电压之差 不能高于 0 3V 图 5 为 ADC 的模拟量输入时的原理图 当单端输入时 推荐的输入阻抗 应小于 10K 欧姆 当差分输入时 输入阻抗应小于 100K 欧姆 根据奈奎斯特 Nyquist 采样定理 输入信号的最高频率应小于等于 ADC 最高采样频率 图 6 ADC 电源引脚的 LC 网络连接 Xxx 大学毕业设计 16 的一半 该 10 位 ADC 的最高采样频率为 15kSPS 每秒千取样数 所以输入模拟量的 最高频率为 7 5KHz 因此传感信号最好在 AD 转换之前经过低通滤波器滤除高频干扰 电路板和周围环境中的数字电路产生的电磁干扰可能会影响到模拟信号的测量精度 所以 在测量精度要求比较高的场合需要着重考虑抗干扰技术的采用 1 模拟信号线的走线要尽可能的短 保证模拟信号的走线布置在模拟地平面的上方 使得模拟信号的走线远离高速切换的数字信号走线 2 模拟电源 AVCC 和数字电源 VCC 的连接必须采用图 6 所示的 LC 网络的连接方 式 3 采用该 ADC 特有的消噪声的功能降低来自 CPU 的噪声干扰 4 当任何 ADC 端口作为数字输出端口时 必须保证在转换操作过程中这些端口处于 非输出状态 4 2 4 2 处理核心设计处理核心设计 设计和选择处理核心模块是传感器节点设计中最关键的一步 因为中央处理器核心不 仅要负责传感信号的处理 而且需要调度整个节点的无线通信与系统操作任务的执行 中 央处理器的选择很多 从现场可编程逻辑器件 Field programmable gate array FPGA 到数字信号处理器 Digital SignalProcessor DSP 都有不错的高性能芯片可供选择 但是最终选择的依据还是低功耗 单一处理器的结构 无线传感器节点的处理器核心选用 ATMEL 公司的 ATmega128L 微控制器 ATmega128 是一款基于 AVR 精简指令集计算机 Reduced Instruction Set Computer RISC 结 构 的 低 功 耗 CMOS Complementary Metal Oxide Semiconductor 8 位单片机 通过在一个时钟周期内 执行一条指令 ATmega8 可以取得 1MIPS Million Instructions Per Second 每秒百万 条指令 MHz 的性能 从而使得处理器核心的选择在功耗和执行速度之间取得平衡 图 7 是 ATmega128 的引脚示意图 AVR 核将 32 个工作寄存器和丰富的指令集联结在一起 所 有的工作寄存器都与 ALU 算术逻辑单元直接相连 允许在一个时钟周期内执行的单条指 令同时访问两个独立的寄存器 这种结构提高了代码效率 使 AVR 得到了比普通的复杂 指令集计算机 Complex Instruction Set Computer CISC 单片机高将近 10 倍的性能 ATmega128 具有以下特点 128K 字节具备写操作时可读的在系统可编程 FLASH 4K 字节 EEPROM 4K 字节 SRAM 53 个通用 I O 口 32 个通用工作寄存器 实时计数器 Real Time Counter RTC 4 个具有比较模式和 PWM 的定时器 计数器 2 个 UARTs 一个两线 Inter Integrated Circuit I2C 串行接口 一个 8 通道 10 位具有可选增益差分输入 Xxx 大学毕业设计 17 的 A D 转换器 一个带内部振荡器的可编程看门狗定时器 一个 SPI Serial Peripheral Interface 口 一个符合 IEEE std 1149 1 标准的 JTAG 测试接口 也可用于访问片 内 Debug 系统和编程 6 种可通过软件选择的省电模式 工作于空闲模式时 CPU 将停止运行 而 SRAM 定时器 计数器 SPI 口和中断系统继 续工作 掉电模式时 振荡器停止工作 所有功能都被禁止 而寄存器内容得到保留 直 到下一个外部中断或硬件复位才退出此状态 省电模式时 异步定时器继续工作 以使用 户能在芯片的其余部分处于睡眠状态时保持定时器基准 除异步定时器和 ADC 继续工作 外 ADC 噪声抑制模式停止 CPU 运行和所有的 I O 单元以减少 ADC 转换时的开关噪声 待命模式中 除晶振工作外芯片的其余部分处于睡眠状态 这就使得在低功耗的情况下能 非常快的启动 在扩展待命模式中主振荡器和异步定时器继续工作 芯片是以 ATMEL 的 高密度非易失性内存技术生产的 FLASH 程序存储器可以通过 SPI 串行接口或通用编程 器或运行于 AVR 核上的片内 BOOT 程序多次编程 BOOT 程序可以用任意的接口下载到应 用 FLASH 程序存储器中 当应用程序区被更新时 BOOT 区的软件将继续运行 提供写操 作时真正可读的功能 通过将增强的 RISC 8 位 CPU 与 FLASH 集成在一个芯片内 ATmega8 为许多嵌入式控制应用提供了灵活而低成本的方案 ATmega128 具有一整套的编程和系统 开发工具 C 编译器 宏汇编器 调试 模拟器 JTAG ICE 在线仿真器和 MEGA128 评估 板 Xxx 大学毕业设计 18 4 34 3 存储器存储器 ATmega128 具有两个主存储器空间 数据寄存器和程序寄存器 此外 ATmega128 还有一 个 EEPROM 存储器以保存数据 这三个存储器空间都是线性的 为了增加数据存储空间 在微控制器外部还扩展了一个 4Mb 的 SPI 串行接口 FLASH 数据存储器 AT45DB041B 4 3 14 3 1 可编程可编程 Flash Flash 程序存储器程序存储器 ATmega128 具有 128K 字节的在线编程 Flash 因为所有的 AVR 指令为 16 位或 32 位 FLASH 组织成 64K x 16 的形式 Flash 存储器至少可以擦写 10 000 次 ATmega128 的程序计数器 PC 为 16 位 因此可以寻址 64K 的程序存储器 考虑到软件安全性 Flash 程序存储器分为两个区 引导程序区和应用程序区 两个区的存储空间大小由 BOOTSZ 熔丝位配置 FLASH 存储器映像如图 8 所示 由于两个区使用不同的锁定位 所 以可以具有不同的加密级别 如果不需要 Boot Loader 功能 则整个 Flash 都可以为应 用代码所用 BootLoader 具有两套可以独立设置的 Boot 锁定位 灵活地选择不同的代 码保护方式 通过跳转指令或从应用区调用的方式可以进入 Boot Loader 这些操作可以 图 7 ATmega128 的引脚示意图 Xxx 大学毕业设计 19 由一些触发信号启动 比如通过 USART 或 SPI 接口接收到了相关的命令 另外 可以通 过编程 Boot 复位熔丝位使得复位向量指向 Boot 区的起始地址 这样 复位后 Boot Loader 立即就启动了 加载了应用代码后 程序开始执行应用代码 MCU 本身不能改变 熔丝位的设置 也就是说 一旦 Boot 复位熔丝位被 编程 复位向量将一直指向 Boot 区的起始地址 熔丝位只能通过串行或者并行编程的方 法来改变 4 3 2 SRAM 4 3 2 SRAM 数据存储器数据存储器 ATmega128 支持两种不同的 SRAM 配置 内部 SRAM 数据存储器共 4096 个字节 或 者扩展外部 SRAM 最多达 64K 字节 ATmega128 是一个复杂的微处理器 其支持的外设 要比预留的 64 个 I O 通过 IN OUT 指令访问 所能支持的要多 对于扩展的 I O 空间 60 FF 只能使用 ST STS STD 和 LD LDS LDD 指令 在普通模式下 前 4352 个数据 地址包含寄存器文件 I O 存储器 扩展的 I O 存储器以及内部数据 SRAM 起始的 32 个 地址为寄存器文件 然后是 64 个 I O 存储器 接着是 160 个扩展的 I O 存储器 最后 是 4096 字节的内部数据 SRAM ATmega128 还可以访问直到 64K 的外部数据 SRAM 其 起始紧跟在内部 SRAM 之后 在普通模式下 寄存器文件 I O 存储器 扩展的 I O 存储 器以及内部数据SRAM 占据了低4352字节 而在ATmega103兼容模式下占据了4096字节 没 有扩展 I O 因此 在使用外部存储器时普通模式只能有 61184 字节 ATmega103 兼容 模式只能有 61440 字节 当访问 SRAM 的地址超出内部 SRAM 的地址时 MCU 将对外部 SRAM 图 8 FLASH 存储器映像 Xxx 大学毕业设计 20 寻址 指令相同 访问内部 SRAM 时读 写锁存信号 PG0 和 PG1 无效 若要访问外部 SRAM 必须置位 MCUCR 的 SRE 访问外部 SRAM 比访问内部的要多一个时钟周期 这意 味着 LD ST LDS STS LDD STD PUSH 和 POP 指令将多一个时钟周期 如果堆栈放 置于外部 SRAM 则中断和函数调用将花费额外的三个时钟周期 如果外部 SRAM 接口使 用了 1 2 3 个等待周期 则访问周期将相应增加 2 3 4 个时钟周期 中断和子程序 调用的开销则增加 5 7 9 个时钟周期 数据寻址模式分为 5 种 直接寻址 带偏移量 的间接寻址 间接寻址 预减的间接寻址 以及后加的间接寻址 寄存器 R26 到 R31 为 间接寻址的指针寄存器 直接寻址访问整个数据空间 带偏移量的间接寻址模式寻址到 Y Z 指针给定地址附近的 63 个地址 带预减和后加的间接寻址模式要用到 X Y Z 指针 32 个通用寄存器 64 个 I O 寄存器 4096 字节的 SRAM 可以被所有的寻址模式所访问 4 3 3 EEPROM 4 3 3 EEPROM 数据存储器数据存储器 ATmega128 包含 4K 字节的 EEPROM 它是作为一个独立的数据空间而存在的 可以 按字节读写 EEPROM 的寿命至少为 100 000 次 擦除 EEPROM 的访问由地址寄存器 数据寄存器和控制寄存器决定 EEPROM 的访问寄存器位于 I O 空间 当执行 EEPROM 读 操作时 CPU 会停止工作 4 个周期 然后再执行后续指令 当执行 EEPROM 写操作时 CPU 会停止工作 2 个周期 然后再执行后续指令 在 CPU 写 Flash 存储器的时候不能 对 EEPROM 进行编程 在启动 EEPROM 写操作之前软件必须要检查 Flash 写操作是否已 经完成 图 9 是实现 EEPROM 的写操作的程序流程图 4 3 4 4 3 4 外部外部 Flash Flash 数据存储器数据存储器 AT45DB041BAT45DB041B 为了增加节点的数据存储器的容量 并且考虑到设计中成本和体积的限制 选用了大 容量对速度要求不很高的 SPI 串行数据 FLASH 存储器 AT45DB041B 图 10 是 AT45DB041B 与 ATmega128 的接口电路以及设计所需用的封装示意图 AT45DB041B 的特点如下 单一的 2 7V 3 6V 电源 串行接口结构 页面编程操作 单一的循环重复编程 擦除和编程 2048 页 每页 264 字节 主存 两个 264 字节的 SRAM 数据缓存 允许在重编程非易失性存储器时接收数据 内置的编程和控制定时器 低功耗 4mA 有源读取电流 2 ACMOS 备用电流 15MHz 的最大时钟频率 串行外围接口方式 SPI 模式 0 和 3 CMOS 的 TTL 兼容的输入和输出 5 0V 可承受的输入 SI SCK CS 低电平有效 RESET 低电平有效 Xxx 大学毕业设计 21 4 44 4 中断中断 采用微控制器的优点是为了支持对实时任务的响应 而中断是微控制器实现实时操作 的硬件保证 当中断被触发后 当前主程序将会暂时停止向下运行 程序计数器指向中断 所对应的中断向量指向的地址 执行中断服务子程序 完成之后程序指针回到主程序 继 续运行主程序 ATmega128 的中断都是由硬件信号触发 包括内部中断与外部中断 复位 和中断向量放在程序存储器的起始地址当中 0000 对应于复位中断 表 2 是 ATmega128 复位和中断向量表 外部中断通过引脚 INT7 0 触发 只要使能中断 即使引脚 INT7 0 配置为输出 只要 图 9 EEPROM 写操作的程序流程图 图 10 AT45DB041B 与 ATmega128 接口电路及其封装示 Xxx 大学毕业设计 22 电平发生了合适的变化 中断也会触发 这个特点可以用来产生软件中断 通过设置外部 中断控制寄存器 EICRA INT3 0 和 EICRB INT7 4 中断可以由下降沿 上升沿 或 者是低电平触发 当外部中断使能并且配置为电平触发 只要引脚电平为低 中断就会产 生 若要求 INT7 4 在信号下降沿或上升沿触发 I O 时钟必须工作 INT3 0 的中断条 件检测则是异步的 即这些中断可以用来将器件从睡眠模式唤醒 在睡眠过程 除了空闲 模式 中 I O 时钟是停止的 通过电平方式触发中断 从而将 MCU 从掉电模式唤醒时 向量号 程序地址 中断源 中断定义 1 0000 RESET 外部引脚 上电复位 掉电检 测复位 看门狗复位 以及 JTAG AVR 复位 2 0002 INT0 外部中断请求 0 3 0004 INT1 外部中断请求 1 4 0006 INT2 外部中断请求 2 5 0008 INT3 外部中断请求 3 6 000A INT4 外部中断请求 4 7 000C INT5 外部中断请求 5 8 000E INT6 外部中断请求 6 9 0010 INT7 外部中断请求 7 10 0012 TIMER2 COMP 定时器 计数器 2 比较匹配 11 0014 TIMER2 OVF 定时器 计数器 2 溢出 12 0016 TIMER1 CAPT 定时器 计数器 13 0018 TIMER1 COMPA 定时器 计数器 14 001A TIMER1 COMPB 定时器 计数器 15 001C TIMER1 OVF 定时器 计数器 16 001E TIMER0 COMP 定时器 计数器 17 0020 TIMER0 OVF 定时器 计数器 18 0022 SPI STC SPI 串行传输结束 19 0024 USART0 RX USART0 RX 结束 20 0026 USART0 UDRE USART0 数据寄存器空 21 0028 USART0 TX USART0 TX 结束 22 002A ADC ADC 转换结束 23 002C EE READY EEPROM 就绪 要保证电平保持一定的时间 以降低 MCU 对噪声的敏感程度 电平以看门狗的频率检测 两次 在 5 0V 25 C 的条件下 看门狗的标称时钟周期为 1 s 只要在采样过程中 出现了合适的电平 或是信号持续到启动过程的末尾 MCU 就会唤醒 若信号出现于两 表 2 ATmega128 复位和中断向量表 Xxx 大学毕业设计 23 次采样过程 但在启动过程结束之前就消失了 MCU 仍将唤醒 但不再会引发中断了 要 求的电平必须保持足够长的时间以使 MCU 结束唤醒过程 然后触发电平中断 4 5 AVR 4 5 AVR 处理器指令集处理器指令集 Atmel 的 AVR 全系列微控制器都是采用 Atmel 精简指令集 RSIC 包含 118 条指 令 分成四个子集 算术和逻辑运算 代码分支 数据转换和位测试 采用高级语言 C 语 言编写基于 AVR 指令集的应用程序 通过 AVRStudio 或者 IAR 编译器转换成 16 进制代码 写入程序程序存储器中 4 6 4 6 电源管理及睡眠模式电源管理及睡眠模式 睡眠模式可以使应用程序关闭 MCU 中没有使用的模块 从而降低功耗 AVR 具有不 同的睡眠模式 允许用户根据自己的应用要求实施剪裁 进入睡眠模式的条件是置位寄存 器 MCUCR 的 SE 然后执行 SLEEP 指令 具体哪一种模式 空闲模式 ADC 噪声抑制模 式 掉电模式 省电模式 Standby 模式和扩展 Standby 模式 由 MCUCR 的 SM2 SM1 和 SM0 决定 使能的中断可以将进入睡眠模式的 MCU 唤醒 经过启动时间 外加 4 个时钟 周期后 MCU 就可以运行中断例程了 然后返回到 SLEEP 的下一条指令 唤醒时不会改 变寄存器文件和 SRAM 的内容 如果在睡眠过程中发生了复位 则 MCU 唤醒后从中断向 量开始执行 MCU 控制寄存器 MCUCR 包含了电源管理的控制位 SM2 0 是睡眠模式的选择位 用于选择具体的睡眠模式 表 3 为对应的睡眠模式选择 1 空闲模式 当 SM2 0 为 000 时 SLEEP 指令将使 MCU 进入空闲模式 在此 模式下 CPU 停止运行 而 SPI USART 模拟比较器 ADC 两线接口 定时器 计数器 看门狗和中断系统继续工作 这个睡眠模式只停止了 clkCPU 和 clkFLASH 其他时钟则继 续工作 内外部中断都可以唤醒 MCU 如果不需要从模拟比较器中断唤醒 MCU 为了减少 功耗 可以切断比较器的电源 方法是置位模拟比较器控制和状态寄存器 ACSR 的位 ACD 如果 ADC 使能 进入此模式后将自动启动一次转换 2 ADC 噪声抑制模式 当 SM2 0 为 001 时 SLEEP 指令将使 MCU 进入噪声抑 制模式 在此模式下 CPU 停止运行 而 ADC 外部中断 两线接口地址配置 定时器 计 数器 0 和看门狗继续工作 这个睡眠模式只停止了 clkI O clkCPU 和 clkFLASH 其他 时钟则继续工作 此模式提高了 ADC 的噪声环境 使得转换精度更高 ADC 使能的时候 Xxx 大学毕业设计 24 进入此模式将自动启动一次 AD 转换 ADC 转换结束中断 外部复位 看门狗复位 BOD 复位 两线接口地址匹配中断 定时器 计数器 0 中断 SPM EEPROM 准备好中断 外部中断 INT7 4 或外部中断 INT3 0 可 以将 MCU 从 ADC 噪声抑制模式唤醒 3 掉电模式 当 SM2 0 为 010 时 SLEEP 指令将使 MCU 进入掉电模式 在此模 式下 外部晶体停振 而外部中断 两线接口地址匹配及看门狗 如果使能的话 继续
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025四川南充遴选农业技术指导员、农业机械指导员考试参考试题及答案解析
- 2025下半年云南轻纺职业学院招聘9人备考考试题库附答案解析
- 2025年甘肃省平凉市庄浪县考核招聘农村订单定向医学生76人考试参考试题及答案解析
- 2025广西河池市住房保障和房产管理中心招聘工作人员1人备考考试题库附答案解析
- 丰城市某公司门卫招聘备考考试题库附答案解析
- 2025上海浦东新区医疗急救中心招聘35人考试备考题库及答案解析
- 2025山东威海市复退军人康宁医院招聘6人备考考试题库附答案解析
- 2025湖州南浔区浙江兴上合城市开发集团有限公司子公司招聘18人备考考试题库附答案解析
- 2025四川泸州市农业农村局招聘编外人员2人备考考试题库附答案解析
- 骨科骨折患者术后护理措施
- GA/T 1788.1-2021公安视频图像信息系统安全技术要求第1部分:通用要求
- FZ/T 60029-2021毛毯脱毛测试方法
- 质量月知识竞赛题库
- 2022年毕节市农业发展集团有限公司招聘笔试试题及答案解析
- 状态-特质焦虑问卷STAI
- hsp运营高感训练家长手册
- 中药鉴定学习题集全
- 罐车司机培训试题含答案
- 110KV线路断路器控制回路
- 行业资料3东广场地热井招标文件
- 中学“全员德育导师制”实施方案报告书
评论
0/150
提交评论