




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
哈尔滨工程大学本科生毕业论文基于nRF24L01的远程温度检测系统设计 摘 要温度检测在日常生活、工作和工程实践中具有重要的应用。随着生活水平的提高和科学技术的进步,无论是工业还是农业或者是日常生活中对温度检测的要求越来越高。不仅要做到低耗,还要求进行一定距离的传输。基于这点我们运用两片主控芯片,一个温度传感器,及数码管显示部分,解决了这个日常生活工作中的问题。出于低功耗本设计我们选择了以低功耗见长的430单片机中的F149系列作为主控芯片,工作场所的温度采集用到了温度采集芯片DS18B20来达到一定的准确度和精确度,最后采用nRF24L01模块对采集到的温度数据进行无线传输,从而打破传统温度操作受到距离限制的缺陷。在经过软硬件测试后,我们基本实现了用温度传感器采集温度,用nRF24L01进行一定距离传输后在接受端的数码管上显示出来的模型。传输距离30m,温度范围达到0至125摄氏度,精度1摄氏度。 关键词: msp430f149;nRF24L01;温度;无线传输 ABSTRACTTemperature measurement have important applications in daily life,work and engineering practice.With the improvement of living standards and technological progress,whether industry,agriculture or daily life become increasingly demanding of temperature detection. Not only to achieve low power consumption,but also requires a certain distance transmission. For this reason we solved the problem of daily life and work using two control chips, a temperature sensor, and the led display part. For low-power design we have chosen the low-power microcontroller known for the F149 series of 430 as the master chip, temperature acquisition DS18B20 has used to achieve a certain accuracy and precision, Finally nRF24L01 module temperature data collected by wireless transmission, thus breaking the distance limitations of traditional temperature operation. After software and hardware testing, we basically realize our Initial target. Transmission distance30m, temperature range 0 to 125 degrees, 1 degree accuracy.Keywords: msp430f149;nRF24L01;Temperature;Wireless目 录第1章 绪 论11.1 课题的背景与意义11.2国内外研究状况及相关领域中已有的研究成果21.3对设计任务的分析21.4 预 期 结 果31.5 论文的结构安排3第2章主控芯片及编程环境的介绍52.1 MSP430简介52.2 IAR 开发软件72.3 本章小结8第3章 硬件系统的设计与实现93.1 温度采集模块93.1.1 DS18B20的管脚配置和内部结构103.1.2 单总线介绍113.1.3 DS18B20的工作原理123.2 无线收发模块143.2.1 nRF24L01概述153.2.2 引脚功能及描述163.2.3 工作模式173.2.4工作原理173.2.5 配置字193.3 LED显示模块193.3.1 数码管选择193.3.2 驱动电路选择203.4 主控制模块(Msp430f149最小系统)213.4.1下载电路213.4.2电源电路设计233.4.3 复位电路253.4.4晶振电路253.5 引脚分配263.5.1 发射部分263.5.2 接收部分273.6 本章小结28第4章 软件系统的设计与实现304.1 分部分软件设计304.1.1 温度检测304.1.2无线发射模块软件设计314.1.3无线接收模块软件设计324.1.4显示模块软件设计334.2软件的总体设计334.2.1 发送部分334.2.2接收部分344.3 本章小结35第5章 系统的调试及实验结果365.1 调试步骤365.2实验结果365.3本章小结38结论39参考文献41致谢42附录43第1章 绪 论1.1 课题的背景与意义随着社会的进步和生产的需要,利用无线通信进行温度数据采集的方式应用已经渗透到生活各个方面。在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,就需要采集数据并传输数据到一个环境相对好的操控室内,这样就会产生数据传输问题。由于厂房大、需要传输数据多,使用传统的有线数据传输方式就需要铺设很多很长的通讯线,浪费资源,占用空间,可操作性差,出现错误换线困难。而且,当数据采集点处于运动状态、所处的环境不允许或无法铺设电缆时,数据甚至无法传输,此时便需要利用无线传输的方式进行数据采集。在农业生产上,不论是温室大棚的温度监测,还是粮仓的管理,传统上都是采取分区取样的人工方法,工作量大,可靠性差。而且大棚和粮仓占地面积大,检测目标分散,测点较多,传统的方法已经不能满足当前农业发展的需要。当前的科技水平下,无线通信技术的发展使得温度采集测量精确,简便易行。在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。如今很多家庭都会安装室内温度采集控制系统,其原理就是利用无线通信技术采集室内温度数据,并根据室内温度情况进行遥控通风等操作,自动调节室内温度湿度,可以更好地改善人们的居住环境。以上只是简单列举几个现实的例子,在现实生活中,这种无线温度采集系统已经被成功应用于工农业、环境监测、军事国防、机器人控制等许多重要领域,而且类似于这种温度采集系统的无线通信网络已经被广泛的应用到民用和军事领域。凡是布线繁杂或不允许布线的场合都希望能通过无线方案来解决。为此,需要设计相应的接口系统,控制这些射频芯片工作,完成可靠稳定的无线数据通信,这样的研究也变得更加有意义了1。1.2国内外研究状况及相关领域中已有的研究成果在2.4GHz非授权频段上,目前已经云集了蓝牙、Wi-Fi、Zigbee等多个标准无线协议。,具有带宽高( 2Mbps),双向传输,抗干扰性强,传输距离远(短距离无线技术范围),耗电少的优点,用于无线键鼠等室内场合。Nordic公司等公司已成功推出nRF24L01芯片,2.4G全球开发ISM频段免许可证使用。同时许多公司也相继推出基于nRF24L01的无线传输模块。nRF24.L01模块是一款新型单片射频收发器件,工作于2.4 GHz2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便。至此这种基于此频段的通信方式已日渐趋向成熟2。同样随着传感器及电子电路的发展,集成的温度检测器件的完善性及集成性也得到了大大的提高。类似美国DALLAS公司推出的数字测温芯片DS18B20层出不穷,国内外的研究在这方面的研究也趋近完善3。1.3对设计任务的分析本系统的设计采用了工作于2.4GHz频段nRF24L01射频芯片,并有低功耗单片机MSP430F149控制实现短距离无线数据通信。该接口设计具有成本低、功耗低、传输速率高、软件设计简单以及通信稳定可靠等特点。整个系统有发送和接收二部分,通过nRF24L01无线数据通信收发模块来实现无线数据传输。发送部分以单片机MSP430F149为核心,使用温度转换芯片DS18B20实时采集温度并通过数码管显示。将采集的温度无线传送给接收部分,然后再在数码管上显示。本系统的核心控制芯片选用的是MSP430F149。单片机在各个技术领域中的迅猛发展,与单片机所构成的计算机应用系统的特点有关:(1)单片机构成的应用系统有较大的可靠性;(2)系统构建简洁、易行,能方便的实现系统功能;(3)由于构成的系统是一个计算机系统,相当多的功能由软件实现,故具有柔性特点和优异的性能价格比;对msp430f149可以制作两个最小系统(一个控制发送端,一个控制接受部分)最小系统包括电源电路,下载电路采用JTAG接口及主控芯片和一些基本外围电路。对于DS18B20的温度检测模块,硬件部分较简单,由于是单脚传输导致软件时序的时间精确度控制上要求比较高,要做到精确。数码管显示部分虽然较简单但是在调试过程有重要作用,是显示软硬件好使的必要条件,不可忽视。另外为了降低430的输出功率,采用锁存器对数码管进行驱动。无线收发模块采用挪威(Nordic)公司生产的nRF24L01及其外围电路组成,软件部分要熟悉内部的标志及控制寄存器以及数据通道,发射频率功率及收发模式等以利于编程。1.4 预 期 结 果采用MSP430F149单片机作为主控CPU,DS18B20作为温度采集模块,nRF24L01作为无线收发模块,加上LED显示模块构成系统。要求完成硬件模块的设计和电路板的制作。软件模块包括温度检测模块、无线发射模块、无线接收模块和显示模块。温度测量范围:0C至125C,传输距离30m。1.5 论文的结构安排本文基于本次毕业设计的过程与要求,将论文分为五章。具体内容如下:第1章 绪论 本章简单介绍了课题的研究背景、目的和意义,无线温度检测的国内外发展现状和相关领域中已有的研究结果,该设计的预期结果和意义。第2章 主控芯片及编程环境的介绍 本章介绍了本次毕业设计的主控芯片及相应的编程环境,让我们熟悉了整个系统的调试方法。第3章 硬件系统的设计与实现 本章介绍本课题硬件系统各部分电路的设计、实现,讲述了各模块的功能。第4章软件 系统的设计与实现 本章根据系统的总方案,设计出程序的总流程图,并利用C语言编写相应的程序。第5章系统的调试及实验结果 本章根据已有的软硬件,进行调试,得到的相应成果。最后总结本论文,得出相关结论。第2章主控芯片及编程环境的介绍2.1 MSP430简介MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低 MSP430单片机功耗、具有精简指令集(RISC)的混合信号处理器(Mixed Signal Processor)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中4。MSP430单片机的特点:(1)处理能力强MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址);简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。(2)运算速度快MSP430 系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如 FFT 等)。(3)超低功耗MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。首先,MSP430 系列单片机的电源电压采用的是1.8-3.6V 电压。因而可使其在1MHz 的时钟条件下运行时,芯片的电流最低会在165A左右,RAM 保持模式下的最低功耗只有0.1A。其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的时钟系统:基本时钟系统、锁频环(FLL 和FLL+)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32768Hz),也可以使用两个晶体振荡器。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0LPM4)。在实时时钟模式下,可达2.5A ,在RAM 保持模式下,最低可达0.1A 。(4)片内资源丰富 MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位- ADC、DMA、I/O端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器;16 位定时器(Timer_A 和 Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通信等应用;具有较多的 I/O 端口,P0、P1、P2 端口能够接收外部上升沿或下降沿的中断输入;10/12位硬件 A/D 转换器有较高的转换速率,最高可达200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用的DMA模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。另外,MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的低功耗状态时,中断唤醒只需5s。(5)方便高效的开发环境 MSP430 系列有 OPT 型、 FLASH 型和 ROM 型三种类型的器件,这些器件的开发手段不同。对于 OPT 型和 ROM 型的器件是使用仿真器开发成功之后烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可以电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC 机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言5。2.2 IAR 开发软件IAR Embedded Workbench是一套高度精密且使用方便的嵌入式应用编程开发工具。在其集成开发环境(IDE)中包含了 IAR 的 C/C+编译器,汇编工具,链接器,文本编辑器,工程管理器和 C-SPY 调试器。通过其内置的针对不同芯片的代码优化器,IAR Embedded Workbench 可以为 MSP430 微控制器生成极为高效和可靠的代码。除了有这些可靠的技术之外,IAR Systems 还为您提供专业化的全球技术支持6。模块化和可扩展的集成开发环境 (1)用于构建和调试嵌入式应用程序的无缝集成开发环境;(2)强大的工程管理器,允许同一工作区管理多个工程 ;(3)工程的层次化表示方法; (4)可停靠窗口和浮动窗口管理;(5)智能型源文件浏览器;(6)带有代码模板和支持多字节等丰富特色的编辑器;(7)可以在全局层次、源文件组层次、或者单个的源文件层次上进行配置;(8)灵活的工程编译,如批量编译,前/后编译或在编译过程中访问外部工具的客户定制编译;(9)集成了源代码控制系统的接口;(10)为多种芯片提供配套的现成的头文件,芯片描述文件和链接器命令文件; (11)为多种MSP-FET430工具提供现成代码和工程范例; 高度优化的C/C+编译器 (1)支持C,EC+和扩展EC+,并且包含有模板,名字空间和标准模板库(STL)等; (2)MISRA C检查器;(3)支持所有MSP430和MSP430X架构的芯片; (4)针对特定目标的嵌入式应用程序的语言扩展 用于数据/函数定义和存储器及类型属性 声明的扩展关键字使用Pragma指令控制编译器行为,比如用来分配内存在C源码中可直接访问的本征函数,从而执行低级处理器操作,例如MSP430省电模式;(5)通过专用实时库模块支持硬件乘法器外设模块;(6)位置无关代码;(7)32位和64位标准IEEE格式的浮点类型;(8)对代码的大小和执行速度多级优化,允许不同的转换形式,例如函数内联和循环展开等等;(9)高级的全局优化和特定优化相结合,可以生成最为紧凑和稳定的代码7;2.3 本章小结本章主要简要介绍了msp430单片机的软硬件系统和特点以及msp430的编程开发环境IAR的一些特点,为接下来的硬件设计及软件开发做了铺垫。第3章 硬件系统的设计与实现温度检测在日常生活、工作和工程实践中经常用到,随着生活水平和科学技术的不断进步,对检测温度数据的精度要求也越来越苛刻,传统的温度测量装置很难满足现在的要求,本设计采用DS18B20作为温度采集元件,配合低功耗单片机的使用就可以很好地弥补传统上的不足。而且本文采用nRF24L01模块对采集到的温度数据进行无线传输,打破了传统操作中距离受限的问题,使测温操作更易实现。本设计采用MSP430F149作为主控CPU,外加DS18B20温度采集模块、nRF24L0l无线收发模块和数码显示模块组成整个系统,如图3.1所示。图3.1 系统总体架构图3.1 温度采集模块该模块采用美国DALLAS公司推出的数字测温芯片DS18B20,该芯片具有体积小,多种封装形式,独特的单线接口等优点。测量范围从-55摄氏度到+125摄氏度,拥有可以选择的9到12位温度数据分辨率,可以工作在寄生电源模式,另外还可自定义温度告警设置。本系统中温度传感器输出脚I/O直接与单片机的P4.0相连,外接4.7 K的上拉电阻到电源,采用MSP430的电源供电8。DS18B20芯片封装如图3.2所示。 图3.2 DS18B20芯片封装3.1.1 DS18B20的管脚配置和内部结构引脚定义: (1)DQ为单数据总线,是数字信号输入/输出端; (2)GND为电源地; (3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 内部结构如图3.3所示。图3.3 DS18B20内部结构图(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 (2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 3.1.2 单总线介绍1WIRE BUS单总线是Maxim 全资子公司Dallas 的一项专有技术。与目前多数标准串行数据通信方式,如SPI/ IIC/ MICROWIRE 不同,它采用单根信号线,既传输时钟,又传输数据,而且数据传输是双向的。它具有节省I/ O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。3.1.3 DS18B20的工作原理DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。其一个工作周期可分为两个部分,即温度检测和数据处理。在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。18B20共有三种形态的存储器资源,它们分别是(1) ROM 只读存储器,用于存放DS18B20的ID编码,其前8位是单线系列编码(DS18B20的编码是19H),后面48位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。数据在出产时设置不由用户更改。DS18B20共64位ROM。 (2)RAM 数据暂存器,用于内部计算和数据存取,数据在掉电后丢失,DS18B20共9个字节RAM,每个字节为8位。第1、2个字节是温度转换后的数据值信息,第3、4个字节是用户EEPROM(常用于温度报警值储存的镜像。在上电复位时其值将被刷新。第5个字节则是用户第3个EEPROM的镜像。第6、7、8个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是内部温度转换、计算的暂存单元。第9个字节为前8个字节的CRC码。EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM都存在镜像,以方便用户操作。控制器对18B20操作流程: (1)复位:首先我们必须对DS18B20芯片进行复位,复位就是由控制器(单片机)给DS18B20单总线至少480S的低电平信号。当18B20接到此复位信号后则会在1560S后回发一个芯片的存在脉冲。 (2)存在脉冲:在复位电平结束之后,控制器应该将数据单总线拉高,以便于在1560S后接收存在脉冲,存在脉冲为一个60240uS的低电平信号。至此,通信双方已经达成了基本的协议,接下来将会是控制器与18B20间的数据通信。如果复位低电平的时间不足或是单总线的电路断路都不会接到存在脉冲,在设计时要注意意外情况的处理。 (3)控制器发送ROM指令:双方打完了招呼之后最要将进行交流了,ROM指令共有5条,每一个工作周期只能发一条,ROM指令分别是读ROM数据、指定匹配芯片、跳跃ROM、芯片搜索、报警芯片搜索。ROM指令为8位长度,功能是对片内的64位光刻ROM进行操作。其主要目的是为了分辨一条总线上挂接的多个器件并作处理。诚然,单总线上可以同时挂接多个器件,并通过每个器件上所独有的ID号来区别,一般只挂接单个18B20芯片时可以跳过ROM指令(注意:此处指的跳过ROM指令并非不发送ROM指令,而是用特有的一条“跳过指令”)。(4)控制器发送存储器操作指令:在ROM指令发送给18B20之后,紧接着(不间断)就是发送存储器操作指令了。操作指令同样为8位,共6条,存储器操作指令分别是写RAM数据、读RAM数据、将RAM数据复制到EEPROM、温度转换、将EEPROM中的报警值复制到RAM、工作方式切换。存储器操作指令的功能是命令18B20作什么样的工作,是芯片控制的关键。 (5)执行或数据读写:一个存储器操作指令结束后则将进行指令执行或数据的读写,这个操作要视存储器操作指令而定。如执行温度转换指令则控制器(单片机)必须等待18B20执行其指令,一般转换时间为500uS。如执行数据读写指令则需要严格遵循18B20的读写时序来操作。数据的读写方法将有下文有详细介绍。 当主机收到DSl8B20的响应信号后,便可以发出ROM操作命令之一,这些命令如下:Skip ROM(跳跃ROM指令) 这条指令使芯片不对ROM编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。Read Scratchpad (从RAM中读数据)此指令将从RAM中读数据,读地址从地址0开始,一直可以读到地址9,完成整个RAM数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。Convert T(温度转换)收到此指令后芯片将进行一次温度转换,将转换的温度值放入RAM的第1、2地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持500MS,来维持芯片工作。与DS18B20的所有通讯都是由一个单片机的复位脉冲和一个DS18B20的应答脉冲开始的。单片机先发一个复位脉冲,保持低电平时间最少480s,最多不能超过960s。然后,单片机释放总线,等待DS18B20的应答脉冲。DS18B20在接受到复位脉冲后等待1560s才发出应答脉冲。应答脉冲能保持60240s。单片机从发送完复位脉冲到再次控制总线至少要等待480s。读时隙需1560s,且在2次独立的读时隙之间至少需要1s的恢复时间。读时隙起始于单片机拉低总线至少1s。DS18B20在读时隙开始15s后开始采样总线电平。以单片机读取2 B的数据为例。写时隙需要1575s,且在2次独立的写时隙之间至少需要1s的恢复时间。写时隙起始于单片机拉低总线。3.2 无线收发模块该模块由挪威(Nordic)公司生产的nRF24L01及其外围电路组成的。nRF24L01作为单片射频收发芯片,其工作于2.42.5GHz世界通用ISM频段,工作电压为1.93.6V。可通过SPI写入数据,最高可达10Mbits,数据传输速率最快可达2Mbits,并且具有自动应答和自动再发射功能。芯片融进了增强式ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。该芯片功耗低,6dBm功率发射时,工作电流9mA,接收时工作电流只有12.3mA,可选择的掉电模式和空闲模式使其应用设计更为方便。模块中nRF24L01和MSP430F149通过MOSI、MISO和SCK组成SPI接口,单片机接32.768KHz的低频晶振工作,nRF24L01外接晶振为16MHz,由低速的单片机控制高速收发的射频芯片,结构如图3.4所示9。图3.4 无线收发模块硬件结构图3.2.1 nRF24L01概述 nRF24L01是一款新型单片射频收发器件,工作于2.4 GHz2.5 GHz ISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型ShockBurst技术,其中输出功率和通信频道可通过程序进行配置。nRF24L01功耗低,在以-6dBm的功率发射时,工作电流也只有9mA;接收时,工作电流只有12.3mA,多种低功率工作模式(掉电模式和空闲模式)使节能设计更方便10。nRF24L01主要特性如下: 1、GFSK调制,硬件集成OSI链路层; 2、具有自动应答和自动再发射功能; 3、片内自动生成报头和CRC校验码; 4、数据传输率为l Mb/s或2Mb/s;5、SPI速率为0 Mb/s10 Mb/s;6、125个频道与其他nRF24系列射频器件相兼容; 7、QFN20引脚4 mm4 mm封装;8、供电电压为1.9 V3.6 V;3.2.2 引脚功能及描述 nRF24L01的封装及引脚排列如图所示11。各引脚功能如图3.5所示。 图3.5 nRF24L01封装图CE:使能发射或接收; CSN,SCK,MOSI,MISO:SPI引脚端,微处理器可通过此引脚配置nRF24L01: IRQ:中断标志位;VDD:电源输入端; VSS:电源地;XC2,XC1:晶体振荡器引脚; VDD_PA:为功率放大器供电,输出为1.8 V; ANT1,ANT2:天线接口;IREF:参考电流输入;3.2.3 工作模式 通过配置寄存器可将nRF24L01配置为发射、接收、空闲及掉电四种工作模式,如表3.1所示。 表3.1 nRF24L01工作模式模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111-发射模式101数据在TXFIFO寄存器中发射模式1010停留在发送模式,直至数据发送完待机模式2101TX_FIFO为空待机模式11-0无数据传输掉电0- 待机模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;待机模式2则是在当FIFO寄存器为空且CE=1时进入此模式;待机模式下,所有配置字仍然保留。在掉电模式下电流损耗最小,同时nRF24L01也不工作,但其所有配置寄存器的值仍然保留。3.2.4工作原理 发射数据时,首先将nRF24L01配置为发射模式:接着把接收节点地址TX_ADDR和有效数据TX_PLD按照时序由SPI口写入nRF24L01缓存区,TX_PLD必须在CSN为低时连续写入,而TX_ADDR在发射时写入一次即可,然后CE置为高电平并保持至少10s,延迟130s后发射数据;若自动应答开启,那么nRF24L01在发射数据后立即进入接收模式,接收应答信号(自动应答接收地址应该与接收节点地址TX_ADDR一致)。如果收到应答,则认为此次通信成功,TX_DS置高,同时TX_PLD从TXFIFO中清除;若未收到应答,则自动重新发射该数据(自动重发已开启),若重发次数(ARC)达到上限,MAX_RT置高,TXFIFO中数据保留以便在次重发;MAX_RT或TX_DS置高时,使IRQ变低,产生中断,通知MCU。最后发射成功时,若CE为低则nRF24L01进入空闲模式1;若发送堆栈中有数据且CE为高,则进入下一次发射;若发送堆栈中无数据且CE为高,则进入空闲模式2。 接收数据时,首先将nRF24L01配置为接收模式,接着延迟130s进入接收状态等待数据的到来。当接收方检测到有效的地址和CRC时,就将数据包存储在RXFIFO中,同时中断标志位RX_DR置高,IRQ变低,产生中断,通知MCU去取数据。若此时自动应答开启,接收方则同时进入发射状态回传应答信号。最后接收成功时,若CE变低,则nRF24L01进入空闲模式1。在写寄存器之前一定要进入待机模式或掉电模式。表3.2 常用配置寄存器地址(H)寄存器名称功能00CONFIG设置24L01工作模式01EN_AA设置接收通道及自动应答02EN_RXADDR使能接收通道地址03SETUP_AW设置地址宽度04SETUP_RETR设置自动重发数据时间和次数07STATUS状态寄存器,用来判定工作状态0A0FRX_ADDR_P0P5设置接收通道地址10TX_ADDR设置接收接点地址1116RX_PW_P0P5设置接收通道的有效数据宽度3.2.5 配置字 SPI口为同步串行通信接口,最大传输速率为10 Mb/s,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由nRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。 nRF24L0l所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。nRF24L01 的配置寄存器共有25个,常用的配置寄存器如表3.2所示。3.3 LED显示模块3.3.1 数码管选择温度数据显示是体现整个系统功能的部分,LED显示成本低廉,配置灵活,与单片机连接方便。LED显示块具有亮度高、结构简单、全天候的特点,因此在单片机应用系统中应用最广,本系统的显示采用的就是四位七段共阳极LED数码管作为显示部件。图3.6 显示部分电路图3.3.2 驱动电路选择 SL74HC573跟 LS/AL573的管脚一样。器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和 LS/ALSTTL输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。 1、输出能直接接到CMOS,NMOS和 TTL接口上 2、操作电压范围:2.0V6.0V 3、低输入电流:1.0A 4、CMOS器件的高噪声抵抗特性TTL电路的输入端是遵循TTL标准的,其需要的输入电流很小,74HC573的输入电流在电源电压为6V,输入电压为6V的情况下,其所需要的驱动电流仅仅为0.1A。74HC573的每个输出引脚都有20mA的灌入电流,因此可以直接驱动LED,而输出电流可达到35mA(74HC573如图3.7所示)。图3.7 74HC573引脚图3.4 主控制模块(Msp430f149最小系统)本系统设计采用MSP430F149作为主控芯片,该芯片具有超低功耗的优点:活动模式280 A1MHz,2.2V;待机模式1.1A;掉电模式(RAM数据保持)01A。并且有12位A/D转换器,带有内部参考源、采样保持、自动扫描特性等。串行通信时可软件选择UARTSPI模式,整个系统采用了33V供电,考虑到硬件系统的低功耗等特点,该硬件系统的电源部分采用TI公司的TPS76033芯片。为了使输出电源的纹波小,在输出部分采用了一个2.2 u F和0.1F的电容,另外在芯片的输入端也设置一个0.1 p F的滤波电容,减小输入端受到的干扰。单片机最小系统,或称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对于MSP430系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。这里设计了MSP430最小系统中下载电路、电源电路、晶振电路、复位电路并介绍了各部分的功能12。3.4.1下载电路本设计的下载端口选择了JTAG口JTAG(Joint Test Action Group;联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP(Test Access Port;测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(In-System Programmable在线编程),对FLASH等器件进行编程。JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程,再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可对PSD芯片内部的所有部件进行编程。具有JTAG口的芯片都有如下JTAG引脚定义: TCK测试时钟输入; TDI测试数据输入,数据通过TDI输入JTAG口; TDO测试数据输出,数据通过TDO从JTAG口输出; TMS测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式; 可选引脚TRST测试复位,输入引脚,低电平有效; JTAG内部有一个状态机,称为TAP控制器。TAP控制器的状态机通过TCK和TMS进行状态的改变,实现数据和指令的输入。JTAG标准定义了一个串行的移位寄存器。寄存器的每一个单元分配给IC芯片的相应引脚,每一个独立的单元称为BSC(Boundary-Scan Cell)边界扫描单元。这个串联的BSC在IC内部构成JTAG回路,所有的BSR(Boundary-Scan Register)边界扫描寄存器通过JTAG测试激活,平时这些引脚保持正常的IC功能。以含JTAG接口的StrongARM SA1110为例,Flash为Intel 28F128J32 16MB容量。SA1110的JTAG的TCK、TDI、TMS、TDO分别接PC并口的2、3、4、11线上,通过程序将对JTAG口的控制指令和目标代码从PC的并口写入JTAG的BSR中。在设计PCB时,必须将SA1110的数据线和地址线及控制线与Flash的地线线、数据线和控制线相连。因SA1110的数据线、地址线及控制线的引脚上都有其相应BSC,只要用JTAG指令将数据、地址及控制信号送到其BSC中,就可通过BSC对应的引脚将信号送给Flash,实现对Flash的操作。通过TCK、TMS的设置,可将JTAG设置为接收指令或数据状态。JTAG常用指令如下: SAMPLE/PRELOAD用此指令采样BSC内容或将数据写入BSC单元; EXTEST当执行此指令时,BSC的内容通过引脚送到其连接的相应芯片的引脚,我们就是通过这种指令实现在线写Flash的; BYPASS此指令将一个一位寄存器轩于BSC的移位回路中,即仅有一个一位寄存器处于TDI和TDO之间。 在PCB电路设计好后,即可用程序先将对JTAG的控制指令,通过TDI送入JTAG控制器的指令寄存器中。再通过TDI将要写Flash的地址、数据及控制线信号入BSR中,并将数据锁存到BSC中,用EXTEST指令通过BSC将写入Flash。 软件编程 在线写Flash的程序用Turbo C编写。程序使用PC的并行口,将程序通过含有JTAG的芯片写入Flash芯片。程序先对PC的并口初始化,对JTAG口复位和测试,并读Flash,判断是否加锁。如加锁,必须先解锁,方可进行操作。写Flash之前,必须对其先擦除。将JTAG芯片设置在EXTEST模式,通过PC的并口,将目标文件通过JTAG写入Flash,并在烧写完成后进行校验。图 3.8 JTAG 电路图3.4.2电源电路设计供电电路采用USB接口。USB已经是一个业内标准了。电压是55.2V 电流300mA500mA接口靠两端的是正负极,中间两条是数据的正负极,只要你的设备不接触“数据线”电脑不会识别为移动设备。(业内的标准数据线是“红、白、绿、黑”分别是5V+、DAT-、DAT+、5V-、高档型外加屏蔽层)如果只用提供电源,只用两条引线,设计产品额定用电不超过5V,电流不超500mA即可。该型产品已经很多很成熟。Msp430的电压是3.3V,所以中间采用了稳压芯片AS1117。 AS1117是一款低压差的线性稳压器,当输出 1A电流时,输入输出的电压差典型值仅为1.2V。AS1117除了能提供多种固定电压版本外(Vout1.8V,2.5V,2.85V,3.3V,5V),还提供可调端输出版本,该版本能提供的输出电压范围为 1.25V13.8V。能(AS1117正常工作环境温度范围极宽,为-50140),确保芯片和电源系统的稳定性。同时在产品生产中应用先进的修正技术,确保输出电压和参考源精度在1%的精度范围内。AS1117的特点: 1、包括三端可调输出和固定电压输出版本(固定电压包括 1.8V,2.5V,2.85V,3.3V,5V等,其他电压规格可根据用户定制); 2、最大输出电流为 1A;3、输出电压精度高达1;4、稳定工作电压范围为高达 15V;5、电压线性度为 0.2;6、负载线性度为 0.4; 7、环境温度:TA的范围是-50140; 图3.9 电源电路图3.4.3 复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位(复位电路如3.10所示)。 图3.10 复位电路图 3.4.4晶振电路晶振电路MSP430
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 孕妇装买卖协议
- 拍卖参与者利益保护协议
- 精装修房贷协议
- 2025离婚协议书的有效性与合法性
- 电子商务平台品牌推广策划服务协议书
- 离婚协议书夫妻债务在协议书5篇
- 2025年作物科学与技术专业技能考核试卷及答案
- 2025年智能财务管理师考试试题及答案
- 2025年职业健康管理师考试试题及答案
- 2025年投资分析师考试试卷及答案
- GB/T 21739-2008家用电梯制造与安装规范
- GB 21670-2008乘用车制动系统技术要求及试验方法
- GA/T 1275-2015石油储罐火灾扑救行动指南
- 家务服务员理论考试试题题库及答案
- 交通安全培训课件-道路交通事故十大典型案例-P
- 投标报名登记表格式
- DB4211T12-2022医疗废物暂存间卫生管理规范
- 第二讲公文语言及结构(1语言)分析课件
- 氯氧铋光催化剂的晶体结构
- 低压电气装置的设计安装和检验第三版
- 国际商务管理超星尔雅满分答案
评论
0/150
提交评论