已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于NRF24L01的远程温度检测系统设计摘要温度检测在日常生活、工作和工程实践中具有重要的应用。随着生活水平的提高和科学技术的进步,无论是工业还是农业或者是日常生活中对温度检测的要求越来越高。不仅要做到低耗,还要求进行一定距离的传输。基于这点我们运用两片主控芯片,一个温度传感器,及数码管显示部分,解决了这个日常生活工作中的问题。出于低功耗本设计我们选择了以低功耗见长的430单片机中的F149系列作为主控芯片,工作场所的温度采集用到了温度采集芯片DS18B20来达到一定的准确度和精确度,最后采用NRF24L01模块对采集到的温度数据进行无线传输,从而打破传统温度操作受到距离限制的缺陷。在经过软硬件测试后,我们基本实现了用温度传感器采集温度,用NRF24L01进行一定距离传输后在接受端的数码管上显示出来的模型。传输距离30M,温度范围达到0至125摄氏度,精度1摄氏度。关键词MSP430F149;NRF24L01;温度;无线传输ABSTRACTTEMPERATUREMEASUREMENTHAVEIMPORTANTAPPLICATIONSINDAILYLIFE,WORKANDENGINEERINGPRACTICEWITHTHEIMPROVEMENTOFLIVINGSTANDARDSANDTECHNOLOGICALPROGRESS,WHETHERINDUSTRY,AGRICULTUREORDAILYLIFEBECOMEINCREASINGLYDEMANDINGOFTEMPERATUREDETECTIONNOTONLYTOACHIEVELOWPOWERCONSUMPTION,BUTALSOREQUIRESACERTAINDISTANCETRANSMISSIONFORTHISREASONWESOLVEDTHEPROBLEMOFDAILYLIFEANDWORKUSINGTWOCONTROLCHIPS,ATEMPERATURESENSOR,ANDTHELEDDISPLAYPARTFORLOWPOWERDESIGNWEHAVECHOSENTHELOWPOWERMICROCONTROLLERKNOWNFORTHEF149SERIESOF430ASTHEMASTERCHIP,TEMPERATUREACQUISITIONDS18B20HASUSEDTOACHIEVEACERTAINACCURACYANDPRECISION,FINALLYNRF24L01MODULETEMPERATUREDATACOLLECTEDBYWIRELESSTRANSMISSION,THUSBREAKINGTHEDISTANCELIMITATIONSOFTRADITIONALTEMPERATUREOPERATIONAFTERSOFTWAREANDHARDWARETESTING,WEBASICALLYREALIZEOURINITIALTARGETTRANSMISSIONDISTANCE30M,TEMPERATURERANGE0TO125DEGREES,1DEGREEACCURACYKEYWORDSMSP430F149NRF24L01TEMPERATUREWIRELESS目录第1章绪论111课题的背景与意义112国内外研究状况及相关领域中已有的研究成果213对设计任务的分析214预期结果315论文的结构安排3第2章主控芯片及编程环境的介绍521MSP430简介522IAR开发软件723本章小结8第3章硬件系统的设计与实现931温度采集模块9311DS18B20的管脚配置和内部结构10312单总线介绍11313DS18B20的工作原理1232无线收发模块14321NRF24L01概述15322引脚功能及描述16323工作模式17324工作原理17325配置字1933LED显示模块19331数码管选择19332驱动电路选择2034主控制模块MSP430F149最小系统21341下载电路21342电源电路设计23343复位电路25344晶振电路2535引脚分配26351发射部分26352接收部分2736本章小结28第4章软件系统的设计与实现3041分部分软件设计30411温度检测30412无线发射模块软件设计31413无线接收模块软件设计32414显示模块软件设计3342软件的总体设计33421发送部分33422接收部分3443本章小结35第5章系统的调试及实验结果3651调试步骤3652实验结果3653本章小结38结论39参考文献41致谢42附录43第1章绪论11课题的背景与意义随着社会的进步和生产的需要,利用无线通信进行温度数据采集的方式应用已经渗透到生活各个方面。在工业现场,由于生产环境恶劣,工作人员不能长时间停留在现场观察设备是否运行正常,就需要采集数据并传输数据到一个环境相对好的操控室内,这样就会产生数据传输问题。由于厂房大、需要传输数据多,使用传统的有线数据传输方式就需要铺设很多很长的通讯线,浪费资源,占用空间,可操作性差,出现错误换线困难。而且,当数据采集点处于运动状态、所处的环境不允许或无法铺设电缆时,数据甚至无法传输,此时便需要利用无线传输的方式进行数据采集。在农业生产上,不论是温室大棚的温度监测,还是粮仓的管理,传统上都是采取分区取样的人工方法,工作量大,可靠性差。而且大棚和粮仓占地面积大,检测目标分散,测点较多,传统的方法已经不能满足当前农业发展的需要。当前的科技水平下,无线通信技术的发展使得温度采集测量精确,简便易行。在日常生活中,随着人们生活水平的提高,居住条件也逐渐变得智能化。如今很多家庭都会安装室内温度采集控制系统,其原理就是利用无线通信技术采集室内温度数据,并根据室内温度情况进行遥控通风等操作,自动调节室内温度湿度,可以更好地改善人们的居住环境。以上只是简单列举几个现实的例子,在现实生活中,这种无线温度采集系统已经被成功应用于工农业、环境监测、军事国防、机器人控制等许多重要领域,而且类似于这种温度采集系统的无线通信网络已经被广泛的应用到民用和军事领域。凡是布线繁杂或不允许布线的场合都希望能通过无线方案来解决。为此,需要设计相应的接口系统,控制这些射频芯片工作,完成可靠稳定的无线数据通信,这样的研究也变得更加有意义了1。12国内外研究状况及相关领域中已有的研究成果在24GHZ非授权频段上,目前已经云集了蓝牙、WIFI、ZIGBEE等多个标准无线协议。,具有带宽高(2MBPS),双向传输,抗干扰性强,传输距离远(短距离无线技术范围),耗电少的优点,用于无线键鼠等室内场合。NORDIC公司等公司已成功推出NRF24L01芯片,24G全球开发ISM频段免许可证使用。同时许多公司也相继推出基于NRF24L01的无线传输模块。NRF24L01模块是一款新型单片射频收发器件,工作于24GHZ25GHZISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型SHOCKBURST技术,其中输出功率和通信频道可通过程序进行配置。NRF24L01功耗低,在以6DBM的功率发射时,工作电流也只有9MA接收时,工作电流只有123MA,多种低功率工作模式掉电模式和空闲模式使节能设计更方便。至此这种基于此频段的通信方式已日渐趋向成熟2。同样随着传感器及电子电路的发展,集成的温度检测器件的完善性及集成性也得到了大大的提高。类似美国DALLAS公司推出的数字测温芯片DS18B20层出不穷,国内外的研究在这方面的研究也趋近完善3。13对设计任务的分析本系统的设计采用了工作于24GHZ频段NRF24L01射频芯片,并有低功耗单片机MSP430F149控制实现短距离无线数据通信。该接口设计具有成本低、功耗低、传输速率高、软件设计简单以及通信稳定可靠等特点。整个系统有发送和接收二部分,通过NRF24L01无线数据通信收发模块来实现无线数据传输。发送部分以单片机MSP430F149为核心,使用温度转换芯片DS18B20实时采集温度并通过数码管显示。将采集的温度无线传送给接收部分,然后再在数码管上显示。本系统的核心控制芯片选用的是MSP430F149。单片机在各个技术领域中的迅猛发展,与单片机所构成的计算机应用系统的特点有关(1)单片机构成的应用系统有较大的可靠性;(2)系统构建简洁、易行,能方便的实现系统功能;(3)由于构成的系统是一个计算机系统,相当多的功能由软件实现,故具有柔性特点和优异的性能价格比;对MSP430F149可以制作两个最小系统(一个控制发送端,一个控制接受部分)最小系统包括电源电路,下载电路采用JTAG接口及主控芯片和一些基本外围电路。对于DS18B20的温度检测模块,硬件部分较简单,由于是单脚传输导致软件时序的时间精确度控制上要求比较高,要做到精确。数码管显示部分虽然较简单但是在调试过程有重要作用,是显示软硬件好使的必要条件,不可忽视。另外为了降低430的输出功率,采用锁存器对数码管进行驱动。无线收发模块采用挪威NORDIC公司生产的NRF24L01及其外围电路组成,软件部分要熟悉内部的标志及控制寄存器以及数据通道,发射频率功率及收发模式等以利于编程。14预期结果采用MSP430F149单片机作为主控CPU,DS18B20作为温度采集模块,NRF24L01作为无线收发模块,加上LED显示模块构成系统。要求完成硬件模块的设计和电路板的制作。软件模块包括温度检测模块、无线发射模块、无线接收模块和显示模块。温度测量范围0C至125C,传输距离30M。15论文的结构安排本文基于本次毕业设计的过程与要求,将论文分为五章。具体内容如下第1章绪论本章简单介绍了课题的研究背景、目的和意义,无线温度检测的国内外发展现状和相关领域中已有的研究结果,该设计的预期结果和意义。第2章主控芯片及编程环境的介绍本章介绍了本次毕业设计的主控芯片及相应的编程环境,让我们熟悉了整个系统的调试方法。第3章硬件系统的设计与实现本章介绍本课题硬件系统各部分电路的设计、实现,讲述了各模块的功能。第4章软件系统的设计与实现本章根据系统的总方案,设计出程序的总流程图,并利用C语言编写相应的程序。第5章系统的调试及实验结果本章根据已有的软硬件,进行调试,得到的相应成果。最后总结本论文,得出相关结论。第2章主控芯片及编程环境的介绍21MSP430简介MSP430系列单片机是美国德州仪器(TI)1996年开始推向市场的一种16位超低MSP430单片机功耗、具有精简指令集(RISC)的混合信号处理器(MIXEDSIGNALPROCESSOR)。称之为混合信号处理器,是由于其针对实际应用需求,将多个不同功能的模拟电路、数字电路模块和微处理器集成在一个芯片上,以提供“单片”解决方案。该系列单片机多应用于需要电池供电的便携式仪器仪表中4。MSP430单片机的特点(1)处理能力强MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7种源操作数寻址、4种目的操作数寻址);简洁的27条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。(2)运算速度快MSP430系列单片机能在25MHZ晶体的驱动下,实现40NS的指令周期。16位的数据宽度、40NS的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如FFT等)。(3)超低功耗MSP430单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。首先,MSP430系列单片机的电源电压采用的是1836V电压。因而可使其在1MHZ的时钟条件下运行时,芯片的电流最低会在165A左右,RAM保持模式下的最低功耗只有01A。其次,独特的时钟系统设计。在MSP430系列中有两个不同的时钟系统基本时钟系统、锁频环(FLL和FLL)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32768HZ),也可以使用两个晶体振荡器。由系统时钟系统产生CPU和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0LPM4)。在实时时钟模式下,可达25A,在RAM保持模式下,最低可达01A。(4)片内资源丰富MSP430系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(TIMER_A0)、定时器A1(TIMER_A1)、定时器B0(TIMER_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位ADC、DMA、I/O端口、基本定时器(BASICTIMER)、实时时钟(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。22IAR开发软件IAREMBEDDEDWORKBENCH是一套高度精密且使用方便的嵌入式应用编程开发工具。在其集成开发环境(IDE)中包含了IAR的C/C编译器,汇编工具,链接器,文本编辑器,工程管理器和CSPY调试器。通过其内置的针对不同芯片的代码优化器,IAREMBEDDEDWORKBENCH可以为MSP430微控制器生成极为高效和可靠的代码。除了有这些可靠的技术之外,IARSYSTEMS还为您提供专业化的全球技术支持6。模块化和可扩展的集成开发环境(1)用于构建和调试嵌入式应用程序的无缝集成开发环境;(2)强大的工程管理器,允许同一工作区管理多个工程;(3)工程的层次化表示方法;(4)可停靠窗口和浮动窗口管理;(5)智能型源文件浏览器;(6)带有代码模板和支持多字节等丰富特色的编辑器;(7)可以在全局层次、源文件组层次、或者单个的源文件层次上进行配置;(8)灵活的工程编译,如批量编译,前/后编译或在编译过程中访问外部工具的客户定制编译;(9)集成了源代码控制系统的接口;(10)为多种芯片提供配套的现成的头文件,芯片描述文件和链接器命令文件;(11)为多种MSPFET430工具提供现成代码和工程范例;高度优化的C/C编译器(1)支持C,EC和扩展EC,并且包含有模板,名字空间和标准模板库(STL)等;(2)MISRAC检查器;(3)支持所有MSP430和MSP430X架构的芯片;(4)针对特定目标的嵌入式应用程序的语言扩展用于数据/函数定义和存储器及类型属性声明的扩展关键字使用PRAGMA指令控制编译器行为,比如用来分配内存在C源码中可直接访问的本征函数,从而执行低级处理器操作,例如MSP430省电模式;(5)通过专用实时库模块支持硬件乘法器外设模块;(6)位置无关代码;(7)32位和64位标准IEEE格式的浮点类型;(8)对代码的大小和执行速度多级优化,允许不同的转换形式,例如函数内联和循环展开等等;(9)高级的全局优化和特定优化相结合,可以生成最为紧凑和稳定的代码7;23本章小结本章主要简要介绍了MSP430单片机的软硬件系统和特点以及MSP430的编程开发环境IAR的一些特点,为接下来的硬件设计及软件开发做了铺垫。第3章硬件系统的设计与实现温度检测在日常生活、工作和工程实践中经常用到,随着生活水平和科学技术的不断进步,对检测温度数据的精度要求也越来越苛刻,传统的温度测量装置很难满足现在的要求,本设计采用DS18B20作为温度采集元件,配合低功耗单片机的使用就可以很好地弥补传统上的不足。而且本文采用NRF24L01模块对采集到的温度数据进行无线传输,打破了传统操作中距离受限的问题,使测温操作更易实现。本设计采用MSP430F149作为主控CPU,外加DS18B20温度采集模块、NRF24L0L无线收发模块和数码显示模块组成整个系统,如图31所示。图31系统总体架构图31温度采集模块该模块采用美国DALLAS公司推出的数字测温芯片DS18B20,该芯片具有体积小,多种封装形式,独特的单线接口等优点。测量范围从55摄氏度到125摄氏度,拥有可以选择的9到12位温度数据分辨率,可以工作在寄生电源模式,另外还可自定义温度告警设置。本系统中温度传感器输出脚I/O直接与单片机的P40相连,外接47K的上拉电阻到电源,采用MSP430的电源供电8。DS18B20芯片封装如图32所示。MCU温度检测模块无线发射模块MCU温度显示模块无线接收模块图32DS18B20芯片封装311DS18B20的管脚配置和内部结构引脚定义1DQ为单数据总线,是数字信号输入/输出端;2GND为电源地;3VDD为外接供电电源输入端(在寄生电源接线方式时接地)。内部结构如图33所示。图33DS18B20内部结构图(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRCX8X5X41)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20中的温度传感器可完成对温度的测量,以12位转化为例用16位符号扩展的二进制补码读数形式提供,以00625/LSB形式表达,其中S为符号位。12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于00625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于00625即可得到实际温度。312单总线介绍1WIREBUS单总线是MAXIM全资子公司DALLAS的一项专有技术。电源检测64位ROM和单线接口存储器和控制器高速缓存存储器8位CRC生成器温度灵敏元件低温触发器高温触发器配置寄存器与目前多数标准串行数据通信方式,如SPI/IIC/MICROWIRE不同,它采用单根信号线,既传输时钟,又传输数据,而且数据传输是双向的。它具有节省I/O口线资源、结构简单、成本低廉、便于总线扩展和维护等诸多优点。313DS18B20的工作原理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操作命令之一,这些命令如下SKIPROM(跳跃ROM指令)这条指令使芯片不对ROM编码做出反应,在单总线的情况之下,为了节省时间则可以选用此指令。如果在多芯片挂接时使用此指令将会出现数据冲突,导致错误出现。READSCRATCHPAD(从RAM中读数据)此指令将从RAM中读数据,读地址从地址0开始,一直可以读到地址9,完成整个RAM数据的读出。芯片允许在读过程中用复位信号中止读取,即可以不读后面不需要的字节以减少读取时间。CONVERTT(温度转换)收到此指令后芯片将进行一次温度转换,将转换的温度值放入RAM的第1、2地址。此后由于芯片忙于温度转换处理,当控制器发一个读时间隙时,总线上输出“0”,当储存工作完成时,总线将输出“1”。在寄生工作方式时必须在发出此指令后立刻超用强上拉并至少保持500MS,来维持芯片工作。与DS18B20的所有通讯都是由一个单片机的复位脉冲和一个DS18B20的应答脉冲开始的。单片机先发一个复位脉冲,保持低电平时间最少480S,最多不能超过960S。然后,单片机释放总线,等待DS18B20的应答脉冲。DS18B20在接受到复位脉冲后等待1560S才发出应答脉冲。应答脉冲能保持60240S。单片机从发送完复位脉冲到再次控制总线至少要等待480S。读时隙需1560S,且在2次独立的读时隙之间至少需要1S的恢复时间。读时隙起始于单片机拉低总线至少1S。DS18B20在读时隙开始15S后开始采样总线电平。以单片机读取2B的数据为例。写时隙需要1575S,且在2次独立的写时隙之间至少需要1S的恢复时间。写时隙起始于单片机拉低总线。32无线收发模块该模块由挪威NORDIC公司生产的NRF24L01及其外围电路组成的。NRF24L01作为单片射频收发芯片,其工作于2425GHZ世界通用ISM频段,工作电压为1936V。可通过SPI写入数据,最高可达10MBITS,数据传输速率最快可达2MBITS,并且具有自动应答和自动再发射功能。芯片融进了增强式SHOCKBURST技术,其中输出功率和通信频道可通过程序进行配置。该芯片功耗低,6DBM功率发射时,工作电流9MA,接收时工作电流只有123MA,可选择的掉电模式和空闲模式使其应用设计更为方便。模块中NRF24L01和MSP430F149通过MOSI、MISO和SCK组成SPI接口,单片机接32768KHZ的低频晶振工作,NRF24L01外接晶振为16MHZ,由低速的单片机控制高速收发的射频芯片,结构如图34所示9。图34无线收发模块硬件结构图321NRF24L01概述NRF24L01是一款新型单片射频收发器件,工作于24GHZ25GHZISM频段。内置频率合成器、功率放大器、晶体振荡器、调制器等功能模块,并融合了增强型SHOCKBURST技术,其中输出功率和通信频道可通过程序进行配置。NRF24L01功耗低,在以6DBM的功率发射时,工作电流也只有9MA接收时,工作电流只有123MA,多种低功率工作模式掉电模式和空闲模式使节能设计更方便10。NRF24L01主要特性如下1、GFSK调制,硬件集成OSI链路层;2、具有自动应答和自动再发射功能;3、片内自动生成报头和CRC校验码;NRF24L01MSP43032M16M4、数据传输率为LMB/S或2MB/S;5、SPI速率为0MB/S10MB/S;6、125个频道与其他NRF24系列射频器件相兼容;7、QFN20引脚4MM4MM封装;8、供电电压为19V36V;322引脚功能及描述NRF24L01的封装及引脚排列如图所示11。各引脚功能如图35所示。图35NRF24L01封装图CE使能发射或接收;CSN,SCK,MOSI,MISOSPI引脚端,微处理器可通过此引脚配置NRF24L01IRQ中断标志位;VDD电源输入端;VSS电源地;XC2,XC1晶体振荡器引脚;VDD_PA为功率放大器供电,输出为18V;CE1SN2K3MOID9RFQX_PATNLANT1,ANT2天线接口;IREF参考电流输入;323工作模式通过配置寄存器可将NRF24L01配置为发射、接收、空闲及掉电四种工作模式,如表31所示。表31NRF24L01工作模式模式PWR_UPPRIM_RXCEFIFO寄存器状态接收模式111发射模式101数据在TXFIFO寄存器中发射模式1010停留在发送模式,直至数据发送完待机模式2101TX_FIFO为空待机模式110无数据传输掉电0待机模式1主要用于降低电流损耗,在该模式下晶体振荡器仍然是工作的;待机模式2则是在当FIFO寄存器为空且CE1时进入此模式;待机模式下,所有配置字仍然保留。在掉电模式下电流损耗最小,同时NRF24L01也不工作,但其所有配置寄存器的值仍然保留。324工作原理发射数据时,首先将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。在写寄存器之前一定要进入待机模式或掉电模式。表32常用配置寄存器地址(H)寄存器名称功能00CONFIG设置24L01工作模式01EN_AA设置接收通道及自动应答02EN_RXADDR使能接收通道地址03SETUP_AW设置地址宽度04SETUP_RETR设置自动重发数据时间和次数07STATUS状态寄存器,用来判定工作状态0A0FRX_ADDR_P0P5设置接收通道地址10TX_ADDR设置接收接点地址1116RX_PW_P0P5设置接收通道的有效数据宽度325配置字SPI口为同步串行通信接口,最大传输速率为10MB/S,传输时先传送低位字节,再传送高位字节。但针对单个字节而言,要先送高位再送低位。与SPI相关的指令共有8个,使用时这些控制指令由NRF24L01的MOSI输入。相应的状态和数据信息是从MISO输出给MCU。NRF24L0L所有的配置字都由配置寄存器定义,这些配置寄存器可通过SPI口访问。NRF24L01的配置寄存器共有25个,常用的配置寄存器如表32所示。33LED显示模块331数码管选择温度数据显示是体现整个系统功能的部分,LED显示成本低廉,配置灵活,与单片机连接方便。LED显示块具有亮度高、结构简单、全天候的特点,因此在单片机应用系统中应用最广,本系统的显示采用的就是四位七段共阳极LED数码管作为显示部件。图36显示部分电路图332驱动电路选择SL74HC573跟LS/AL573的管脚一样。器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。1、输出能直接接到CMOS,NMOS和TTL接口上2、操作电压范围20V60V3、低输入电流10A4、CMOS器件的高噪声抵抗特性TTL电路的输入端是遵循TTL标准的,其需要的输入电流很小,74HC573的输入电流在电源电压为6V,输入电压为6V的情况下,其所需要的驱动电流仅仅为01A。74HC573的每个输出引脚都有20MA的灌入电流,因此可以直接驱动LED,而输出电流可达到35MA74HC573如图37所示。图3774HC573引脚图OED56789GN0LQVCH34主控制模块MSP430F149最小系统本系统设计采用MSP430F149作为主控芯片,该芯片具有超低功耗的优点活动模式280A1MHZ,22V;待机模式11A;掉电模式RAM数据保持01A。并且有12位A/D转换器,带有内部参考源、采样保持、自动扫描特性等。串行通信时可软件选择UARTSPI模式,整个系统采用了33V供电,考虑到硬件系统的低功耗等特点,该硬件系统的电源部分采用TI公司的TPS76033芯片。为了使输出电源的纹波小,在输出部分采用了一个22UF和01F的电容,另外在芯片的输入端也设置一个01PF的滤波电容,减小输入端受到的干扰。单片机最小系统,或称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对于MSP430系列单片机来说,最小系统一般应该包括单片机、晶振电路、复位电路。这里设计了MSP430最小系统中下载电路、电源电路、晶振电路、复位电路并介绍了各部分的功能12。341下载电路本设计的下载端口选择了JTAG口JTAGJOINTTESTACTIONGROUP联合测试行动小组是一种国际标准测试协议(IEEE11491兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP(TESTACCESSPORT测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG接口还常用于实现ISP(INSYSTEMPROGRAMMABLE在线编程),对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(BOUNDARYSCANCELL)边界扫描单元。这个串联的BSC在IC内部构成JTAG回路,所有的BSR(BOUNDARYSCANREGISTER)边界扫描寄存器通过JTAG测试激活,平时这些引脚保持正常的IC功能。以含JTAG接口的STRONGARMSA1110为例,FLASH为INTEL28F128J3216MB容量。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的程序用TURBOC编写。程序使用PC的并行口,将程序通过含有JTAG的芯片写入FLASH芯片。程序先对PC的并口初始化,对JTAG口复位和测试,并读FLASH,判断是否加锁。如加锁,必须先解锁,方可进行操作。写FLASH之前,必须对其先擦除。将JTAG芯片设置在EXTEST模式,通过PC的并口,将目标文件通过JTAG写入FLASH,并在烧写完成后进行校验。图38JTAG电路图342电源电路设计供电电路采用USB接口。USB已经是一个业内标准了。电压是552V电流300MA500MA接口靠两端的是正负极,中间两条是数据的正负极,只要你的设备不接触“数据线”电脑不会识别为移动设备。(业内的标准数据线是“红、白、绿、黑”分别是5V、DAT、DAT、5V、高档型外加屏蔽层)如果只用提供电源,只用两条引线,设计产品额定用电不超过5V,电流不超500MA即可。该型产品已经很多很成熟。MSP430的电压是33V,所以中间采用了稳压芯片AS1117。AS1117是一款低压差的线性稳压器,当输出1A电流时,输入输出的电压差典型值仅为12V。AS1117除了能提供多种固定电压版本外(VOUT18V,25V,285V,33V,5V),还提供可调端输出版本,该版本能提供的输出电压范围为125V138V。能(AS1117正常工作环境温度范围极宽,为50140),确保芯片和电源系统的稳定性。同时在产品生产中应用先进的修正技术,确保输出电压和参考源精度在1的精度范围内。AS1117的特点1、包括三端可调输出和固定电压输出版本(固定电压包括18V,25V,285V,33V,5V等,其他电压规格可根据用户定制);2、最大输出电流为1A;3、输出电压精度高达1;4、稳定工作电压范围为高达15V;5、电压线性度为02;6、负载线性度为04;7、环境温度TA的范围是50140;图39电源电路图343复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的第一功能是上电复位复位电路如310所示。图310复位电路图344晶振电路晶振电路MSP430系列单片机时钟模块包括数控振荡器DCO、高速晶体振荡器和低速晶体振荡器等3个时钟源。这是为了解决系统的快速处理数据要求和低功耗要求的矛盾,通过设计多个时钟源或为时钟设计各种不同工作模式,才能解决某些外围部件实时应用的时钟要求,如低频通信、LCD显示、定时器、计数器等。数字控制振荡器DCO已经集成在MSP430内部,在系统中只需设计高速晶体振荡器和低速晶体振荡器两部分电路。低速晶体振荡器LFXTL满足了低功耗及使用32768KHZ晶振的要求。LFXTL振荡器默认工作在低频模式,即32768KHZ,也可以通过外接450KHZ8MHZ的高速晶体振荡器或陶瓷谐振器工作在高频模式,在本电路中我们使用低频模式,晶振外接2个22PF的电容经过XIN和XOUT连接到MCU。高速晶振也称为第二振荡器XT2,它为MSP430F149工作在高频模式时提供时钟,XT2最高可达8MHZ。在系统中XT2采用4MHZ的晶体,XT2外接2个22PF的电容经过XT2IN和XT2OUT连接到MCU13(晶振电路如图311所示)。图311晶振电路35引脚分配351发射部分发射部分选择的是430的P3口。温度传感器选择的是P4口(发射部分管脚分配如表33所示)。表33发射部分管脚分配管脚名称分配引脚CEP35CSNP34CLKP33MOSIP32MISOP31IRQP30VDDVCCGNDGNDDQP40图312DS18B20电路图图313NRF24L01电路图352接收部分数码管选择的是P2与P6口。P2口为段选,P6口为位选。无线接收选择P5口(接收部分管脚分配图如表34所示,DS18B20电路图如图312所示,NRF24L01电路图如图313所示)。表34接收部分管教分配图管脚名称分配引脚AP20BP21CP22DP23EP24FP25GP26AQP27COM1P67COM2P66COM3P65COM4P64CEP50CSNP54CLKP53MOSIP51MISOP52IRQP55VDDVCCGNDGND36本章小结本章主要是讲述了对于各个模块的电路设计,其中主要是温度检测模块、无线收发模块、数码管显示模块、430最小系统模块。详细的介绍了各主要部分所用芯片的工作原理和性能特点。最后本章还说明了各个模块的引脚分配。通过这一章的介绍,可以了解本系统详细的硬件设计方案。第4章软件系统的设计与实现41分部分软件设计411温度检测温度检测模块软件设计DS18B20的测温原理遵循严格的单总线协议,以确保通信数据的准确性,单片机通过时序来写入和读出DS18B20中的数据,包括初始化、读L、读0,写1、写0等操作。传感器复位后,接收应答信号,跳过读ROM中序列号后,启动温度转换,等待温度转换完毕后,保存数据。如此反复,完成所有操作,其流程图如图41所示。初始化开始返回值为1跳过读取ID发送温度转换延时80MS复位跳过读取IDSCRATCHPAD命令读取温度转换结果转换为十进制数码管显示图41温度检测软件流程图412无线发射模块软件设计首先进行初始化操作,初始化包括设置单片机IO和SPI相关寄存器两部分其可以和NRF24L01通信。通过SPI总线配置射频芯片使其进入正确的工作模式。发射数据时,首先将NRF24L01配置为发射模式。接着把发送端待发射数据的目标地址TXADDR和数据TXPLD写入NRF24L01缓冲区,延时后发射数据,其流程图如图42所示14。图42无线发射软件流程图开始初始化置低CE配置CONFIG为发射模式写入发送地址写入接收地址写入发送数局数据通道0允许设置工作频率设置数据传输率与功率CE置高延时CE置低清状态寄存器413无线接收模块软件设计接收数据时,首先将NRF24L01配置为接收模式。接着延迟进入接收状态等待数据的到来。当接收方检测到有效地址和CRC时,就将数据包储存在接收堆栈中,同时状态寄存器中的中断标志位RXDR置高,产生中断使IRQ引脚变为低电平,以便通知MCU去取数据,其流程图如图43所示。图43无线接收软件流程图开始初始化CE置低配置CONFIG为接收模式写入接收地址打开接收通道0设置工作频率设置接收数据宽度写入发射功率与数据传输率CE置高判断接收中断读接收数据是否414显示模块软件设计LED温度显示电路包含有4只LED,共阴极,显示采用逐位扫描的方式。P20P27为LED的显示代码输入,依次对应LED的A、B、C、D、E、F、G、DP,P67P64为LED的位选输入,依次对应D3、D2、DL、D0,其中D3为最高位。当P67为低电平P20P27为高电平时,LED显示的最高位被点亮,其余熄灭,依此类推,其流程图如图44所示。图44显示部分软件流程图42软件的总体设计421发送部分发送部分的一个循环的总体思路是这样的先初始化DS18B20,从DS18B20读出温度(DS18B20采用默认的12位精度),将得到的温
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 资产转让合同格式
- 专业借款合同样本:工程
- 2024房屋装修合同协议书个人范本
- 标准版店铺租赁合同样式
- 2024年度网络安全服务合同标的定义与执行细则
- 水产养殖合同收购范例
- 2024卫星遥感数据服务采购合同
- 2024人工智能在医疗诊断中的应用合同
- 2024年广告发布与 media buy 合同
- 临时用工合同范文
- DB11-972-2013保险营业场所风险等级与安全防范要求
- 高中政治部编版教材高考双向细目表
- 轮扣式模板支撑架安全专项施工方案
- 酒店装饰装修工程验收表
- 中国行业分类代码表
- 社会组织协会换届选举会议主持词
- 呼吸科(呼吸与危重症医学科)出科理论试题及答案
- 清新个人工作述职报告PPT模板
- 公路工程通用(专用)合同条款汇编.
- 工程施工现场及常用对话场景英语集锦
- 肺癌的靶向治疗法PPT课件.ppt
评论
0/150
提交评论