基于温度传感器ds18b20和无线收发模块nrf905的无线温度采集系统下位机的设计和实现方法 毕业论文
-
资源ID:9823044
资源大小:894KB
全文页数:33页
- 资源格式: DOC
下载积分:20积分
扫码快捷下载

会员登录下载
微信登录下载
微信扫一扫登录
- 扫描成功!重扫
- 请在手机上确认支付
手机扫码下载
请使用微信 或支付宝 扫码支付
• 扫码支付后即可登录、下载文档,同时代表您同意《人人文库网用户协议》
• 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败
• 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源(1积分=1元)下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
基于温度传感器ds18b20和无线收发模块nrf905的无线温度采集系统下位机的设计和实现方法 毕业论文
学号毕业设计(论文)粮仓环境参量无线遥测系统题目设计与实现作者届别2008系别机械与电子工程系专业电子信息工程指导老师职称完成时间20120515摘要在现代工业生产活动中,温度作为一种可以实际测量的重要参数,能起到对设备运行状态、生产环境等外界因素进行实时监控的作用,以保证整个生产活动高效开展,因此准确且实用的温度数据采集系统具有举足轻重的作用。然而,生产环境的多变性、不确定性,导致许多工作场所不太方便布线,需要采用无线传输方式。介绍了基于温度传感器DS18B20和无线收发模块NRF905的无线温度采集系统下位机的设计和实现方法,本系统是通过单片机来实现对周围环境的温度进行测量和无线传输。他是以MSP430F449单片机为控制单元,一温度传感器DS18B20为温度采集器件,以无线收发模块NRF905完成数据的无线传输,用数码管进行显示,实现温度的测量、无线传输、显示以及报警,就是一套通过无线方式实现温度的远程采集的完整系统。关键词温度;NRF905;无线遥测ABSTRACTINMODERNPRODUCTIONANDLIFE,TEMPERATUREISANIMPORTANTPARAMETERINMANYOCCASIONSINMANYPLACES,ITISNECESSARYTOMONITORTHETEMPERATUREPARAMETERANDMAKINGRELEVANTPROCESSINGSOTHATTHESYSTEMRUNSINTHEBESTSTATETHEREFORE,ITISSIGNIFICANTTODEVELOPARELIABLEANDPRACTICALTEMPERATUREMONITORINGSYSTEMWITHTHERAPIDDEVELOPMENTOFWIRELESSTRANSMISSIONTECHNOLOGY,SHORTRANGEWIRELESSTRANSMISSIONTECHNOLOGYHASBEENWIDELYAPPLIEDTOMANYPLACESWHEREWIRINGISNOTAVAILABLE,OFFERINGGREATCONVENIENCESFORPEOPLEBASEDONDS18B20TEMPERATURESENSORANDWIRELESSTRANSCEIVERMODULENRF905WIRELESSTEMPERATUREACQUISITIONSYSTEMTHEMACHINEDESIGNANDTHEREALIZATIONMETHOD,THESYSTEM,THROUGHTHEMCUTOACHIEVETHEAMBIENTTEMPERATUREMEASURINGANDWIRELESSTRANSMISSIONHEISMSP430F449SCMASACONTROLUNIT,ATEMPERATURESENSORDS18B20TEMPERATUREACQUISITIONDEVICE,THEWIRELESSTRANSCEIVERMODULENRF905TOCOMPLETEDATAWIRELESSTRANSMISSION,DIGITALTUBEDISPLAY,TEMPERATUREMEASUREMENT,WIRELESSTRANSMISSION,DISPLAYANDALARM,ISATHROUGHWIRELESSMODETOREALIZETHETEMPERATUREREMOTEACQUISITIONSYSTEMKEYWORDSTEMPERATURENRF905RADIOFREQUENCYCHIPWIRELESSTRANSMISSION目录1绪论111引言112课题研究内容及意义113国内外研究现状214本文主要工作32系统总体设计421系统概述4211温度数据采集系统4212无线通信系统522系统相关器件的选型5221MCU的选择5222温度传感器的选择5223无线方式及射频芯片的选择63系统硬件设计731MCU及功能模块732数字温度传感器DS18B208321DS18B20的性能特点8322DS18B20的测温原理933MSP430F449与DS18B20的连接1034键盘及报警模块1135单片射频收发芯片NRF90511351NRF905的介绍11352NRF905的工作模式12353NRF905的接口电路134系统软件设计1441采集功能软件设计14411系统资源配置14412系统软件分析及模块设计1442NRF905的SPI接口1543NRF905的配置及收发流程1644通信协议185结论2051开发工具与环境2052测试中注意问题2053结论及展望21参考文献22致谢23附录241绪论11引言人类的日常生活、生产活动和科学实验都离不开测试和信息采集。信息采集就是获取信息,是对实际工作中物理、化学、工程技术等方面的参量和数值信息进行提取的过程。由于信息本身不具备处理、传输的功能,只能通过一定的手段和方法将信息转化为可知的信号,并进行传输。数据采集就是将外界或现场的被测对象中各种参量(可以是物理量,也可以是化学量、生物量等)通过各种传感元件进行适当的转换后,在经过采样、量化、编码、传输等步骤,最后送到控制器进行数据处理或存储记录的过程。在数据采集系统中,控制器一般由微处理器、计算机承担,是数据采集系统的核心,它对整个系统进行控制,完成对数据的采集,并对采集数据进行处理。在数据采集和处理过程中,CPU对采集的控制和数据的传送都是通过总线或接口来实现的。数据采集系统涉及到传感器技术、模拟信号处理技术、模数转换和数模转换技术、信号处理技术、数据采集系统抗干扰技术、误差分析与处理、人机接口技术、数据存储与打印、数据传输技术、虚拟仪器技术等相关技术。随着科学技术的发展,尤其是计算机技术的发展与普及,数据采集技术将具有广阔的发展前景。在日常生活、生产活动中,环境中的温度指标在许多场合中都是重要的参数,需要对其进行采集和控制。温度参数很多时候用于对工业工场、仓库管理、粮食蔬菜大棚、花卉温室、医疗制药等领域,需要对其监控,以达到生产生活需要,并及时对测试结果做出相应的处理。故研究温度数据采集系统具有很好的实际应用价值。随着科技的不断发展,传感器技术已成为国内外优先发展的科技领域之一,应用越来越广。温度数据采集的实现需要从对现场温度数据的有效获取开始,采用温度传感器能够实现对温度数据的有效采集及简单处理。随着集成芯片及各种无线技术的发展,针对一些现场环境比较复杂的地方,有线传输方式的布线会比较繁琐且不适宜在偏远、环境恶劣的情况下使用,而无线传输方式可以避免以上的问题,且在采集点较多和需更换采集位置的场合显得更为方便简单。12课题研究内容及意义温度在很多工业场合或生产生活坏境中具有重要的意义,这些环境中的温度指标或多或少的影响着生产的质量和产量,故研究温度数据采集系统具有很好的现实意义。在温室中进行温度数据的采集、测量及监控具有重要的意义。原始的温度测控系统一般是将所测得的温度数据通过有线的方式传输到监测房或上位PC机,这样的有线传输方式虽然在传输速度和运行可靠温度性方面有一定的优势,但其也存在不便的地方,如在环境比较恶劣或较偏远的地方,通过有线布线就显得尤为困难,而在温室、粮仓、及大棚等较扩散和时常变更测试位置的地方,有线布线也会显得比较麻烦。而无线传输的方式就可以很好的解决这一问题。目前无线传输有很多种方式,根据通信距离可以分为无线广域网(WAN)、无线局域网(WLAN)和无线个人网(WPAN)。GSM、CDMA和第三代移动通信技术(3G)能实现远距离的通信,属于WAN领域;WLAN和WPAN领域中,短距离无线通信技术有UWB无载波通信技术、ZIGBEE技术、WIRELESSUSB技术、蓝牙、WIFI技术等。本文采用由无线射频收发芯片与MCU组成的无线通信模块进行温度数据的无线收发。射频收发芯片可工作在免费24GHZ的ISM频段,无需向中国无线电申请频段,具有低功耗的优点从而能够免除布线的麻烦,提高设备的可移动性,方便移动测试位置和随时增减点采集数目。此种构成的无线的模块,在传输速度和可靠性等通信实现能力上能够基本达到有线通信的标准。本文单片射频收发芯片采用挪威公司的NRF905,其可满足低功耗、开发周期短的要求且集成模块小便于嵌入其他设备中使用。13国内外研究现状数据采集是现代检测技术的基础,同时也是自动化测试中重要的组成部分,它为测试系统提供可供分析的数据。目前国外的数据采集系统的研制已经相当成熟,而且种类繁多,性能好,功能强大,并且以基于通用微型计算机的系统居多,这种系统的核心是可插入计算机标准插槽的高速数据采集卡。目前这类高速数据采集卡种类多,技术先进,市场主流的产品有SPEC公司的SPL225、SIGNATEC公司的PDAL2A和PDA500、ACQUISITIONLOGIC公司的AL51G以及ULTRAVIEW公司的AD1250DMA。其中SPL225是带有LGS/S8B精度数字化仪的超高速数据采集模块HSDAMPCI卡,最高可进行500MHZ或1GHZ的波形分析;PDAL2A采样率为125MS/S,分辨率为12B,信号带宽由DC50MHZ。可通过SAB总线SIGNATECAUXILIARYBUS以250MB/S的速率向其它处理、回放或存储器件传输数据;AL51G基于PCI总线,采样率为1GS/S8B,其存储深度为64M、256M、1000M可选;AD1250DMA也是基于PCI总线,采样率为125GS/S8B,存储深度为8GB,在66MHZ和64B数据宽度下,PCI总线DMA模式向主机传输数据速率可达320MB/S。在国内,很多大学、科研机关、公司也从事着数据采集系统的研制。随着数据采集技术不断发展,市场上出现了很多新型的数据采集器。如北京中泰研创科技有限公司的数据采集系统PCI8344B,它具有16位A/D,8通道并行同时转换,每个通道的转换速率都可以达到100KHZ。四川拓普数字设备有限公司的PCI10016具有4通道模拟量输入,具有16位的A/D,最高采样率100KSPS。北京康泰电子有限公司的DAQ1602/PCI16位PCI总线数据采集板,具有16位、250KHZ和500KHZ的A/D输入、四种可编程增益选择、2048字节的数据缓存。对比国内外现有数据采集系统的性能、价格和功能,可以看出国外的数据采集系统精度高、采样速度快、功能全,但是价格昂贵,并且体积较大,操作复杂。国内的数据采集系统虽然价格较为便宜,但与国外的相比无论精度和速度都存在一定的距离。14本文主要工作本文主要工作分为硬件设计和软件编程两部分。硬件部分主要包括温度数据采集部分和无线通信部分,温度数据采集部分主要介绍温度传感器的比较和选择,MCU的选择,温度传感器与MCU的硬件连接及采集原理;无线通信部分主要介绍单片射频收发芯片的选取,射频收发芯片与MCU的硬件连接,上下行的通信协议,接收部分与上位机通信的硬件连接等。软件部分主要是给出相应的温度数据采集中的控制流程及无线通信模块收发的流程。最后对系统进行整个调试及分析,实现相应基本功能的仿真。论文主要从以下方面对系统进行阐述第一章绪论。本章主要介绍研究本系统的一些背景知识,内容及意义,国内外现状。第二章系统概述。本章主要介绍系统的主要构成,并给出系统中参与芯片及模块的比较和选用。第三章温度数据采集系统的设计。本章主要介绍数字式温度传感器DS18B20的相关信息,MCU及各功能模块的硬件设计及软件实现。第四章无线通信系统的设计。本章主要介绍NRF905的性能特点,接口配置等信息,给出与MCU及PC连接电路和收发流程;给出无线通信的通信协议和无线传输可靠性技术。第五章系统调试及分析。本章主要介绍系统的调试方法和系统分析,并对全文进行总结和展望,提出不足及需改进的部分。2系统总体设计21系统概述本系统主要由温度数据采集系统和无线传输系统组成。为使设计思路清晰,特地采用模块化设计思想,可将系统分为四大模块电源模块、温度数据采集模块、无线通信模块和上位机显示模块。系统的总体设计框图如图21所示。温度数据采集系统1无线模块1温度数据采集系统2无线模块2温度数据采集系统N无线模块N无线模块PC机电源模块图21系统总体设计框图系统可以有多个温度数据采集点,每个数据采集点包括一个小的温度数据采集系统和一个无线模块。当有多个数据采集点时,采集点与上位机的通信通过无线模块,采用轮询的方式对各个采集点进行通信。211温度数据采集系统温度数据采集系统的核心器件是MCU和前端担任温度信号采集的温度传感器。MCU在系统中具有非常重要的作用,它读取温度传感器所采集到的信号,在经过简单处理后在显示部分中将其显示,并将其通过无线模块发送到上位机中;而且通过MCU控制报警模块对超过上下限温度时进行报警。温度传感器也是此系统的关键部件,传感器的精度和性能同样影响着系统的稳定性和可靠性。只有通过温度传感器将温度信号准确有效的采集,后续操作才有保障。温度数据采集系统的基本框图如图22所示。图22温度数据接收及发送的框图主要包括MCU、温度传感器、电源、键盘、显示部分、报警电路和无线模块。温度数据采集系统主要的功能是检测采集点的温度,并能够将温度数值在现场和通过传输后在上位机中显示出来,且在温度超过预设的警戒值时进行报警。212无线通信系统无线通信系统是联系温度数据采集端和上位机的纽带。系统框图如图23所示。图23接收系统的基本框图无线通信系统的核心在于无线模块的建立,要适合于可移动的应用条件,无线模块采用的无线通信技术是关键。在图中可看出温度数据采集系统将采集到的温度信号打包传送到无线模块,由无线模块进行信号调制和功率放大等操作后,将数据无线发送到接收端的无线模块进行解调等操作后,通过MCU连接的MAX3232进行电平转换,进而达到与上位机通信的目的,从而实现了无线传输功能。22系统相关器件的选型根据以上系统设计的要求来选择符合要求的器件类型。221MCU的选择MCU作为一个系统的核心器件,它的选择影响着这个系统的优劣和功能的实现。目前工控领域中常使用的微控制器有应用最广泛的51系列8位单片机、针对大量计算的数字信号处理器DSP、一些增强型的16位单片机和32位的ARM芯片。从八十年代初51系列单片机就开始流行了,在技术开发方面已经很成熟了,只是功能实现方面相对简单;DSP功能侧重于有大量信号需要处理的场合,但价格偏高,开发难度较大;ARM芯片和DSP有某些相似之处,在小型系统中增强型的16为单片机已经能够满足需求。针对各种不同应用场合,各大公司都推出了增强型单片机,如AVR系列、PHILIPS的PCF80C51系列等,这些增强型单片机大多处理速度都比较快、嵌入了多种实用的功能模块及接口、内部包含有大容量的存储存。TI公司MSP430系列单片机就属于这样一种16位的增强型单片机,其在性价比方面就具有一定的优势,具有RISC指令集,功能丰富,主要用于低功耗应用。针对上述系统设计要求,MSP430系列单片机能够满足系统设计。本文选用MSP430F449。222温度传感器的选择温度是一种常见的基础物理量,我们的生产生活无不与之有密切的关系。温度传感器是开发较早、应用较广的一类传感器。在半导体技术的支撑下,温度传感器主要有热电偶、热电阻、热敏电阻和集成温度传感器四种类型。温度传感器的多样性,能够满足不同系统及场合的需求。本文主要研究针对温室、蔬菜大棚的温度数据采集,需要的测量范围为1050,精度在011即可。根据以上考虑结合设计简单,成本低等综合考虑,选取数字式温度传感器DS18B20进行温度数据的采集,能够满足系统的要求。223无线方式及射频芯片的选择无线通信技术的范围很广,在一般意义上说,只要通信收发双方通过无线电波传输信息,都可成为无线通信。一般使用数字信号单片射频收发芯片加上微控制器和少量外围器件构成专用或通用的无线通信模块。通信模块一般包含简单的数据传输协议或使用简单的加密协议,只需根据命令字进行操作即可实现无线数据传输功能。射频收发芯片的选择可以参考一下几个方面(1)射频收发芯片的功耗;(2)射频收发芯片的外围元器件;(3)射频收发芯片的发射功率;(4)射频收发芯片的工作电压和封装;(5)芯片抗干扰能力等。下面对几种常见的射频收发芯片列表,将其芯片的性能特点罗列作一些比较,从而选出较适合本系统的射频收发芯片。详见表21。表21几种常见射频收发芯片比较由表所列性能特点相比较可以看出,在工作发送接收电流方面,NORDIC公司的NRF401和NRF905所产生的电流要远小于其它两个芯片;在所需外围元器件NORDIC公司的芯片集成度明显比其它两个高,所需元件少。综合其它本系统所需要求,本文选用挪威公司的单片射频收发芯片NRF905,该芯片工作在433/868/915MHZ的ISM频段上,可满足低功耗、开发周期短的要求且集成模块小便于嵌入其他设备中使用。3系统硬件设计温度数据采集系统主要有温度传感器、MCU、电源、显示部分、报警电路和无线模块组成的。温度数据采集的实现主要是由温度传感器及MCU完成的,传感器是获得温度信息的有效途径,是对原始信号测量,控制的关键器件,只有通过传感器获得有效准确的原始信号,才能保证后续工作的可靠性和稳定性。本文所采用的温度传感器是数字式温度传感器DS18B20,能够将测量到得温度信号转换成数字量输出,精确度高;不需要经过AD转换、采样、量化、编码等过程,使得设计简便。MCU采用低功耗单片机MSP430F449,通过MCU对信号进行处理、存储和控制,然后经由无线通信模块进行收发与上位机进行通信。下面将对温度数据采集系统进行详细的论述。31MSP430F449单片机TI公司的MSP430系列单片机是超低功耗类的16位单片机。它采用RISC内核结构,特别适合于应用电池的场合或手持设备。同时,该系列单片机将大量的外围模块(如液晶驱动器、看门狗、A/D转换器、硬件乘法器、模拟比较器等)集成到片内,特别适合于设计片上系统。MSP430F449采用16位RISC结构,具有丰富的片内外设和大容量的片内工作寄存器和存储器,性能价格比很高。它的特点包括超低的功耗能够在18V36V的电压下工作;具有工作模式AM和5种低功耗模式LPM。在低功耗模式下,CPU可以被中断唤醒,响应时间小于6PS。较强的运算能力16位的RISC结构,丰富的寻址方式;具有16个中断源,可以任意嵌套;在8MHZ时钟驱动下指令周期可达125NS;内部包含硬件乘法器和大量寄存器,以及多达64KB的FLASH程序空间和2KB的RAM,为存储数据和运算提供了保证。丰富的片上外设包括看门狗定时器,基本定时器,比较器,16位定时器TA、TB,串口0、1,液晶显示驱动器,6个8位的IO端口,12位ADC最高采样率200KHZ等。丰富的片上外设可以很方便地构建一个较为完整的系统。另外,充分利用计数器的多路任意波形产生功能和中断控制功能,保证了一些复杂的时序控制任务的完成。方便高效的开发环境MSP430F449是FLASH型器件,片内有调试接口和电可擦写的FLASH存储器,可以先下载程序到FLASH内,再在器件内通过软件控制程序的运行,由JTAG接口读取片内信息供设计师调试。这种方式不需要仿真器和编程器,调试十分方便。32数字温度传感器DS18B20321DS18B20的性能特点DS18B20是由DALLAS半导体公司生产的单线型智能数字温度传感器,是新一代适配微处理器的智能温度传感器,广泛应用于工业、农业等领域,具有体积小、接口方便和传输距离远的特点,在一根通信线上可以挂很多个DS18B20,很方便。具有以下特点(1)具有独特的1WIRE接口,只需要一个端口引脚就可以进行通信;(2)具备多节点能力,能够简化分布式温度检测应用中的设计;(3)不需要外部元件;(4)可以直接从数据线供电,电源电压范围在355V;(5)在待机状态下可以不消耗电源电量;(6)测量温度范围在55125;(7)在1085时测量精度在±05;(8)可以用程序设定912位分辨率;(9)用户可根据需要定义温度的上下限报警设置。DS18B203脚封装的管脚排列图如图31所示。图31DS18B20管脚排列图DS18B20只有三个引脚。其中,引脚1和3分别是GND和VDD,引脚2是DQ端,是用于数据信息的输入和输出。当给DS18B20加电后,单片机可以通过DQ端写入命令,并可以读出含有温度信息的数字量。在使用寄生电源情况下,可以向DS18B20提供电源。DS18B20的内部框图如图32所示。图32DS18B20的内部框图上电后,DS18B20进入空闲状态;当MCU向DS18B20发出CONVERTT44H的命令后,DS18B20向MCU传送转换状态,开始温度测量和A/D转换。温度数据以带符号位的补码形式存储在温度寄存器中,温度寄存器格式如图33所示。图33DS18B20温度寄存器格式温度的正负值是由符号为来说明的,正为0,负为1。表31给出一部分数字数据与温度的对应关系。表31DS18B20温度与数据对应关系322DS18B20的测温原理DS18B20的温度测量原理框图如图35所示。主要由斜坡累加器低温、高温系数振荡器、计数器和温度寄存器组成的。斜坡累加器主要是用来补偿测量温度过程中产生的非线性的,从而可达到较高的分辨率,并决定计数器1的重置。低温系数振荡器主要是用于产生脉冲信号,它受温度影响不大。高温系数振荡器主要是作为计数器2的输入,用于决定门周期,受温度影响较大。DS18B20的测温过程如下(1)预置计数器1和温度寄存器。预置值为55所对应的某一基数。(2)当低温系数振荡器产生一个脉冲时,计数器1就减1。(3)当计数器1的预置值减到0时,温度寄存器加1,同时将计数器1重置。(4)在计数器2减到0(即门周期结束)之前,重复对低温系数振荡器产生的脉冲进行计数。当计数器2减至0(即门周期结束)时,温度寄存器停止累加。此时温度寄存器中的值就是所测温度。图34DS18B20温度测量原理框图33MSP430F449与DS18B20的连接DS18B20只有一个数据输入输出端,根据DS18B20的单总线特性,可以将多个DS18B20挂在同一条总线,理论上可以是多个,但在实际应用上,要考虑到总线的驱动能力,在设计时一条总线上DS18B20的数目不已超过8个。MSP430F449与DS18B20的连接如图35所示。图35MSP430F449与DS18B20的连接图34键盘及报警模块根据系统需要,本文只需设置四个按键即可。选用独立按键式键盘MSP430F449的I/O口资源丰富,按键可以直接与单片机MSP430F449的P1口相连,再通过上拉电阻与电源相连接,不需要其他硬件。工作时只有当有键按下时,I/O的中断标志位才置高,向CPU发出中断请求,对按键进行相应处理。报警电路采用蜂鸣器进行报警,可直接通过与MSP430F449的P1口连接,通过控制P口的输出电平的高低,驱动蜂鸣器发出报警音,能够实现报警功能。35单片射频收发芯片NRF905351NRF905的介绍NRF905是挪威公司生产的一款无线射频收发芯片,工作于433/868/915MHZ的ISM频段,多通道工作且通道切换时间小于650S。可由片内硬件自动完成曼彻斯特编解码,使用SPI接口与MCU进行信息交流,需要外围设备少,使电路构造简单、方便。实际带来的功率消耗比较小,当以10DBM的输出功率发射时电流只有11MA,处于接受模式的工作状态时,电流也只有125MA。进入POWERDOWN模式很容易实现节电。在无线数据通讯、报警及安全系统、遥控勘测等方面有广泛的应用。NRF905各性能参数数据如表32所示。表32NRF905个参数数据NRF905内部由完全集成的频率调制器,带解调器的接收器,功率放大器,晶体振荡器和调节器组成,不需要单独的外部SAW滤波器。NRF905可自动产生前导码和循环冗余码CRC,采用GFSK(高斯频移键控)调制方式进行调制,与FSK(移频键控)相比较能够在更宽的带宽上传输,调制速度可达到100KBPS,抗干扰能力强。NRF905采用内部曼彻斯特编解码,不需要MCU再制定编解码规则。内部结构框图如图36所示。图36NRF905内部结构框图352NRF905的工作模式NRF905分别有两种活动模式(SHOCKBURSTRX/TX)和两种节电模式(掉电模式和STANDBY模式)。工作模式的选择是通过MSP430F449控制TRX_CE、TX_EN和PWR_UP的高低电平来决定的。即当将PWR_UP置低时,不管TRX_CE、TX_EN是什么状态,NRF905都工作在掉电模式,即NRF905不工作,此时电流消耗最小;当PER_UP置高,TRX_CE为低时,不管TX_EN为什么状态,NRF905工作在STANDBY模式。此时一部分的晶体振荡器是活动的,从而保证能够在最短时间内从STANDBY模式转换到活动模式。当PER_UP置高,TRX_CE为高时,NRF905工作在活动模式。TX_EN为高则NRF905工作在SHOCKBURST发送模式,为低时工作在接收模式。在两种节电模式下MCU可以对SPI口进行编程。353NRF905的接口电路NRF905是利用SPI口实现与MSP430F449的双向通信的,有四个SPI接口引脚MISO(主SPI输入、从SPI输出)、MOSI(主SPI输出、从SPI输入)、CSN(SPI使能)、SCK(SPI串行时钟)与MSP430F449的SPI接口连接。NRF905的输入输出信号与MSP430F449的其他几个I/O相连接。NRF905与单片机MSP430F449连接如图37所示。图37NRF905与单片机MSP430F449连接图NRF905与PC机串口通信连接如图38所示。图38NRF905与PC机串口连接图4系统软件设计无线通信模块是温度数据采集系统与上位机联系的纽带,本文无线通信模块主要是由挪威公司生产的单片射频收发芯片NRF905及一些外围元件构成的。下面将对单片射频收发芯片NRF905作详细的介绍。41采集功能软件设计411系统资源配置MSP430F449内部有丰富的存储资源和I/O接口。有60KBFLASHROM、2048个SRAM和80个I/O,无需对RAM分配,I/O口使用情况如下P1口主要用于与DS18B20的DQ口连接。P5口和P2口是与S端口复用接口,用来作为温度数据采集系统中显示模块段式液晶驱动。412系统软件分析及模块设计温度数据采集系统主流程图如图41所示。开始自检程序初始化温度报警上限有键按下吗有键按下吗41温度数据采集系统主流程图首先对系统各部分进行初始化操作,初始化堆栈、DS18B20、看门狗,无线模块等;而后检测键盘是否有键入;当采集处理完后调用显示子程序,在LCD上显示出当前的温度;接着调用无线模块子程序将温度数据通过无线方式传输到上位机,同时通过无线子程序接收上位机发出的信息;当所测温度值超出所设定的上下限温度报警值时,系统报警。系统程序主要包括主程序、温度数据处理子程序、显示子程序、键盘子程序、报警子程序和无线子程序。在温度处理子程序中CPU对DS18B20的访问流程为先对DS18B20进行初始化操作,在进行ROM命令,最后才能对存储器数据操作。DS18B20每一步都要严格遵守工作时序和通信协议。42NRF905的SPI接口SPI是一种串行同步通信协议。对无线芯片的操作都是针对芯片的寄存器操作来进行的,而对寄存器的操作都是通过SPI口来完成的。NRF905的所有配置都是通过SPI接口进行的,SPI接口只有在两种节电模式下才是激活的,才能对其进行编程。SPI接口是由状态寄存器(STATUSREGISTER)、RF配置寄存器(RFCONFIGURATIONREGISTER)、发送地址(TXADDRESS)、发送有效数据(TXPAYLOAD)和接收有效数据(RXPAYLOAD)五个寄存器组成。图42SPI接口与内部寄存器NRF905是利用SPI口实现与MSP430F449的双向通信的,有四个SPI接口引脚3MISO(主SPI输入、从SPI输出)、MOSI(主SPI输出、从SPI输入)、CSN(SPI使能)、SCK(SPI串行时钟)。SPI口能进行的操作有通过SPI口对射频配置,收、发地址和数据的读写等。SPI时序图如图43(A)、(B)所示。图43(A)SPI读时图图43(B)SPI写时图在MSP430F449与NRF905进行通信时,要先将NRF905的工作模式设置在节电模式,这样才能保证MSP430F449与NRF905的正常通信。43NRF905的配置及收发流程NRF905的所有配置都通过SPI接口进行,只有在掉电模式和STANDBY模式是激活的。基站中心模块与各现场节点模块的通信是采用轮询的方式。当上位机需对某一通道截止频率和放大增益进行调整时,通过各现场节点模块不同的地址信息进行区分。无线传输模块的基本发送流程如下(1)MCU将PWR_UP置高,使NRF905进入STANDBY模式。(2)当MCU有数据要发送时,将TRX_CE和TX_EN置高来激活SHOCKBURSTTX模式。(3)通过SPI口,将发送地址和要发送的数据分别写入发送地址寄存器TX_ADDRESS和发送有效数据寄存器TXPAYLOAD。(4)NRF905根据寄存器设置自动在数据包中加入前导码和CRC循环冗余校验码,采用曼彻斯特编码,以GFSK方式发送出去。发送完成后,数据准备就绪(DR)信号置高通知MCU数据传输完成。(5)AUTO_RETRAN被设置为高,NRF905将连续发送数据包,直到TRX_CE被置低。(6)当TRX_CE被置低时,NRF905结束数据传输并自动进入STANDBY模式。发送流程图如图44所示。图44NRF905发送数据流程图接收流程如下(1)通过设置TRX_CE为高,TX_EN为低使NRF905进入SHOCKBRUSTRX模式。(2)650S后,NRF905进行监测频道使用情况(3)当监测到有和接受频率相同的载波时,载波检测(CD)被置高。此特性对避免工作在相同频率的数据碰撞十分有效,可在准备发射数据时先进入接收模式判断CD信号,从而有效避免数据冲突。(4)当接收到与自己地址相匹配的有效地址时,地址匹配(AM)被置高。即该数据是发给自己的。(5)当接收到有效的数据包后,对CRC进行校验,如果正确则去掉前导码、地址和CRC段,将数据保存在接收有效数据寄存器RXPAYLOAD中。DR被置高,MCU可以以合适速率通过SPI口读取数据。(6)MCU将TRX_CE置低,NRF905进入STANDBY模式。当所有有效数据被读出后,NRF905将AM和DR置低,为下次接收做准备。接收流程图如图45所示。图45NRF905接受数据流程图44通信协议本系统无线通信部分主要连接现场温度数据采集端与上位机相互间收发数据,通过异步串口来完成。故本文采用一个简化的点对多点的通信协议。当无线数据传输模块收到PC机的串行口数据后,首先判断收到的是控制命令,接收数据还是发送数据。若是控制命令则执行相应操作;若是发送数据则先将要发送的数据送到缓冲区中,同时将模块的状态转换成发射状态;若是接收数据,则将无线传输模块的状态转换成接收状态。数据包要遵从事先定义好的传输协议,从而能够识别噪声和有效数据,避免其他信号干扰。其中数据包包括数据传送的目的地址、数据源地址、数据长度和要发送的数据。NRF905自动为数据包加上字头和CRC校验。接收时进行CRC校验比较,若正确则发送接收确认。若不同即传送中出现错误,要求重新发送数据。主站点向多点或单点的数据传送;上行则是接收下行命令的目标为响应下行命令而做出的应答,同步命令不需应答。(1)下行命令的数据格式统一如表41所示表41数据包下行传输协议格式开始的SYNCSYNCSYX3个字符是信息的同步头,意味着信息帧的开始;地址1,地址2,地址3都为2字节,低字节在前高字节在后,范围为0000FFFF,其中0000FFEF为广播型地址。FFF0FFFF为主机专用地址;长度为2字节,低字节在前高字节在后,指明后面跟随的信息长度(字节数);信息为本次传送帧的信息部分,字节数为前面长度部分定义;结束即ETX为本帧的结束字符;校验为2字节,CRC作为帧校验字,低字节在前高字节在后,CRC具体计算方法为从STX(不含STX)到ETX(包括ETX)所有字节的无符号算术和,字溢出部分舍弃。信息包总长度信息长度(LEN)14BYTES。(2)上行命令的数据格式统一为如表42所示表42数据包上行传输协议格式在此上下行传输协议中地址1,地址2,地址3三个地址是为适应无线传输方式时,当主站与某一个下行模块之间由于距离等因素不能直接通信,而采用中间模块作为一级转发的方式传输的。每个模块兼具有数据采集和转发的功能,本协议适应的条件是主站与任何模块之间至少存在直接通路或者通过至少一个转发通路,中间只允许一级。在系统通信过程中,需要用到转发地址时,应遵循的转发机制为当出现地址序列地址1(ADR1)、地址2(ADR2)、地址3(ADR3)。其中下行时ADR1为目标地址,ADR2为转发地址或主站地址,ADR3为主站地址;上行时ADR1为目标地址,ADR2为发送站地址。目的地址也可称为接收站地址,主站地址称为发送站地址。目的地址符合模块地址时,根据上行还是下行命令,该模块采取不同的操作当命令为下行时,如果ADR2为主站地址,则地址序列做右循环变换,即变换成ADR3ADR1ADR2序列作为发送上行应答命令中的地址序列;否则,地址序列做左循环变换,即变换成ADR2ADR3ADR1序列作为转发下行命令中的地址序列。当命令为上行时,地址序列做右循环变换,即变换成ADR3ADR1ADR2序列作为发送上行应答命令中的地址序列。5总结51开发工具与环境自MSP430系列单片机推出使用以来,许多公司都推出了针对MSP430系列单片机的开发工具,目前应用较普遍的是IAR公司推出的非常有效的嵌入式系统开发工具IAREW430和QUADRAVOX公司推出的AQ430。IAREW430能够有效的开发并管理应用项目,它的界面类似于MSVISUALC,能在WINDOWS平台上运行,包括源文件编辑器,项目管理器,源程序调试器等,功能完善,得以推广应用,本系统的源代码即在此软件上进行调试运行。串口收发数据的调试选用串口调试助手,通过串口线与PC机连接,并设置好串口调试助手的参数,运行。正常运行后会在PC机上的串口调试助手接收区显示接收到的内容。52测试中的问题及不足系统PCB板制作完成后,需要对系统的硬件进行测试,主要目的是为了检查系统的硬件电路是否焊接无误,是否有短路、虚焊现象发生,各个过孔的尺寸是否符合实际要求,各个模块是否能够正常工作等。DS18B20虽然具有测温简单、精度高、连接方便、占用接口少等优点,但在实际测试中也要注意很多问题。主要表现在以下几个方面(1)DSL8B20的管脚虽然很少,但不能接反,否则会对系统造成损害。(2)硬件结构简单就需要相对复杂的软件来弥补,在对DSL8B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。(3)连接DSL8B20的总线电缆是有长度限制的。(4)在DSL8B20测温程序设计中,向DSL8B20发出温度转换命令后,程序总要等待DSL8B20的返回信号,一旦DSL8B20接触不好或断线,当程序读该DSL8B20时,将没有返回信号,程序进入死循环。在进行串口调试的时候,要注意一下几个方面(1)串口线是否匹配,实际应用时应注意检查9针串口的封装。串口公头与母头的线序是不一样的。(2)在实际操作时,如果没有达到设计要求的结果,在检查过程中可以应用示波器,分别检测每一部分有无波形,从而确定错误所在及时改正。(3)电源、时钟源选择及波特率等都是在实际操作出错时检查容易忽略的部分。测试中,在实验室中对室温和冰水混合物进行温度测试,采用01精度的水银温度计和DSL8B20进行温度测量对比,测量结果如表51所示。由实验数据可知,本系统温度采集数据比较准确,误差范围在±05之内,满足系统要求。本课题对系统在硬件和软件两方面都进行了测试。经过几个月的努力,系统基本上可以达到设计的要求。硬件模块均运行稳定。软件方面也可以完成数据采集与传输的基本任务。但由于该系统设计工作量较大,所以最终只完成了系统的基本功能,对于系统其他功能的实现及扩展,还有待进一步开发。53结论本文以测量粮仓温度参数为基础,设计了一套温度数据采集及无线传输系统。能够实现温度数据采集,及在现场显示温度数据,并在温度超过系统设置的温度上下限值时,进行蜂鸣器报警处理,同时温度数据可以通过无线传输模块,将温度数据传送到上位机系统。本系统是基于NRF905的集温度数据采集、处理和无线传输的数据采集系统。具有以下的优点(1)本系统采用数字式温度传感器DS18B20,能够将采集到的温度信号直接转换为数字信号,可以简化系统的设计,不需要另外的增加A/D转换装置。(2)本系统采用的器件在选择过程中都遵循着低功耗的要求进行的。MSP430系列单片机是16位超低功耗的单片机,而且在其内部集成了很多功能模块,减少了系统的外围器件,从而简化了系统的硬件设计。(3)在系统设计的无线传输模块中选用的单片射频收发芯片NRF905,所需外围器件少,且具有良好的无线传输性能,在短距离内即使使用内置的PCB天线也能够达到300米的良好传输距离。由于NRF905所需的外围器件较少,集成的无线模块体积小,且易于移植在相类似的系统中使用。单独集成的无线模块,便于在系统工作时及时更换坏的模块。参考文献1孙肖子等电子设计指南M北京高等教育出版社,2006012孙肖子等模拟及数模混合器件的原理与应用(上册)M北京科学出版社,2009093康华光电子技术基础(模拟部分,第5版)M北京高等教育出版社,2006014罗杰等电子线路设计,实验,测试(第4版)M北京电子工业出版社,2008045(日)远坂俊昭测量电子电路设计模拟篇M北京科学出版社,2006066史锡腾等单片机开发应用实例基于PC网络的心电监护仪设计与制作M武汉华中科技大学出版社,2009037谢兴红MSP430单片机基础与实践M北京北京航空航天大学出版社,2008018苏晓龙王香婷基于RS485总线的数据采集系统J仪表技术与传感器,2007069付浩伟向凤红程加堂李静基于DS18B20传感器的温度数据采集系统的设计J机械工程与自动化20071210张红霞丁国清一种嵌入式数据采集及传输系统的设计与实现J电子测量技术,20080311彭永供杨若波3种温度数据采集系统的设计与选型J传感器与微系统,20090413黄慧段兴辉基于DS18B20的高分辨率温度数据采集J电子测量技术,20090814李虹温秀梅高振天基于MSP430单片机和DS18B20的小型测温系统J微计算机信息,200609附录INCLUDEINCLUDE“NRF905H“INCLUDE“INIT_TIMERAH“INCLUDE“INIT_SYTH“INCLUDE“INIT_UARTH“DEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINESIZE4EXTERNUCHARTXBUFSIZEEXTERNUCHARRXBUFSIZEEXTERNUCHARTXADDRESS4INTMAINVOIDWDTCTLWDTPWWDTHOLD/关狗P6DIR|BIT2P6OUT|BIT2/关闭电平转换/INIT_IOINIT_CLKINIT_UARTNRF905_IO_SETCONFIG905UCHARI_EINTWHILE1TXPACKETTXBUF,TXADDRESSDELAY100DELAY100DELAY100DELAY100WHILE1RX/接收接收函数中有延时判断函数若没有收到函数会返回重新发送DELAY5FORI0IINCLUDE“INIT_SYTH“INCLUDE“NRF905H“INCLUDE“SPIH“INCLUDE“INIT_TIMERAH“DEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTDEFINESIZE4EXTERNUCHARTXBUFSIZEEXTERNUCHARRXBUFSIZEEXTERNUCHARTXADDRESS4INTMAINVOIDWDTCTLWDTPWWDTHOLDINIT_IOINIT_CLK/INIT_TIMERANRF905_IO_SETCONFIG905_EINTWHILE1UCHARIRX/接收数据DELAY100/延时久点DELAY100DELAY100DELAY100DELAY100DELAY100DELAY100DELAY100WHILERXBUF00XFFFORI0ISIZEITXBUFIRXBUFIDELAY10/延时下TXPACKETTXBUF,TXADDRESSDELAY100DELAY100系统原理图与PCB图系统电路图仿真图