《无线温度采集系统设计.doc》由会员分享,可在线阅读,更多相关《无线温度采集系统设计.doc(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流无线温度采集系统设计.精品文档.无线温度采集系统设计1原理无线温度采集系统是一种基于射频技术的无线温度检测装置。本系统由传感器和接收机,以及显示芯片组成。传感器部分由数字温度传感器芯片18B20,单片机89S52,低功耗射频传输单元NRF905和天线等组成,传感器采用电源供电;接收机无线接收来自传感器的温度数据,经过处理、保存后在LCD1602上显示,所存储的温度数据可以通过串行口连接射频装置与接收端 进行交换。无线温度的采集主要基于单线数字温度传感器DS18B20芯片。Dallas 半导体公司的单线数字温度传感器DS18B20是世界上第一片
2、支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20支持“一线总线”接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,支持3V5.5V的电压范围, DS18B20可以程序设定912位的分辨率,精度为0.5C。数字单总线温度传感器是目前最新的测温器件,它集温度测量,A/D转换于一体,具有单总线结构,数字量输出,直接与微机接口等优点。既可用它组成单路温度测量装置,也可用它组成多路温度测
3、量装置,文章介绍的单路温度测量装置已研制成产品,产品经测试在-10-70间测得误差为0.25,80T105时误差为0.5,当T105误差为增大到1左右。 温度数据的无线传输主要是基于低功耗射频传输单元NRF905芯片。nRF905是挪威Nordic VLSI公司推出的单片射频收发器,工作电压为1.93.6V,32引脚QFN封装(55mm),工作于433/868/915MHz三个ISM(工业、科学和医学)频道,频道之间的转换时间小于650us。nRF905由频率合成器、接收解调器、功率放大器、晶体振荡器和调制器组成,不需外加声表滤波器, ShockBurstTM工作模式,自动处理字头和CRC(循
4、环冗余码校验),使用SPI接口与微控制器通信,配置非常方便。此外,其功耗非常低,以-10dBm的输出功率发射时电流只有11mA,工作于接收模式时的电流为12.5mA,内建空闲模式与关机模式,易于实现节能。nRF905片内集成了电源管理、晶体振荡器、低噪声放大器、频率合成器功率放大器等模块。 经过无线传输后,温度数据信息将在1602液晶显示芯片上进行显示,1602液晶显示芯片采用标准的14脚接口,其中VSS为地电源,VDD接5V正电源,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择
5、,高电平时选择数据寄存器、低电平时选择指令寄存器。RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。 本系统的温度采集与显示,无线的传输与对比均由单片机89S52来控制完成。相比较而言ATMEL 公司的89S51更实用,因他不但和8051指令、管脚完全兼容,而且其片内的4K程序存储器是FLASH工艺的,这种工艺的存储器用户可以用电的方式瞬间擦除、改写,一般专为 AT
6、MEL AT89xx 做的编程器均带有这些功能。显而易见,这种单片机对开发设备的要求很低,开发时间也大大缩短。写入单片机内的程序还可以进行加密,这又很好地保护了我们的劳动成果。系统原理框图(略)。系统工作原理及详细流程。首先,打开电源后,本系统由单片机89S52向单线数字温度传感器DS18B20芯片发出指令进行测温,DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。 DS18B20高速暂存器共9个存存单元,如表所示: 序号寄存器名
7、称作 用序号寄存器名称作用0温度低字节以16位补码形式存放4、5保留字节1、21温度高字节6计数器余值2TH/用户字节1存放温度上限7计数器/3HL/用户字节2存放温度下限8CRC光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。 DS18B20中的温度传感器可完成对温度的测量,以12位转化为例: 用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位
8、。12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。高8位 S S S S S 26 25 24 低8位 23 22 21 20 2-1 2-2 2-3 2-4 DS18B20温度传感器的存储器: DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。 暂存存储器包含了8个连续字节,前两
9、个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位)分辨率设置表:R1 R0 分辨率 温度最大转换时间 0 0 9位 96.75ms 0 1 10位 187.5 ms 1 0 11位 375
10、ms 1 1 12位 750ms 根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。 在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。
11、无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻。 DS18B20有六条控制命令,如表所示: 指 令 约定代码 操 作 说 明 温度转换 44H 启动DS18B20进行温度转换 读暂存器 BEH 读暂存器9个字节内容 写暂存器 4EH 将数据写入暂存器的TH、TL字节 复制暂存器 48H 把暂存器的TH、TL字节写到E2RAM中 重新调E2RAM B8H 把E2RAM中的TH、TL字节写到暂存器TH、TL字节 读电源供电方式 B4H 启动DS18B20发送电源供电方式的信号给主CPU 单片机对DS18B20的访问流程是:先对DS18B20初始化,再进行ROM操作命令,最后才能对
12、存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。 然后数据被传输至单片机89S52,八位数据分两次传输,再由单片机编程为可以由数码管显示的四位数据,头一位为正负温度数据,后三位为带小数点的当前温度。数据也被送至低功耗射频传输单元NRF905进行无线传输。应注意一点,51单片机有一个全双工的串行通讯口,所以单片机和NRF905之间进行串口通讯。
13、进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和NRF905的9针串口只连接其中的3根线:第5脚的GND、第2脚的RXD、第3脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图所示,MAX232的第10脚和单片机的11脚连接,第9脚和单片机的10脚连接,第15脚和单片机的20脚连接。 nRF905有两种工作模式和两种节能模式。两种工作模式分别是Shoc
14、kBurstTM接收模式和ShockBurstTM发送模式,两种节能模式分别是关机模式和空闲模式。nRF905的工作模式由TRX_CE、TX_EWR_P三个引脚决定。 与射频数据包有关的高速信号处理都在nRF905片内进行,数据速率由微控制器配置的SPI接口决定,数据在微控制器中低速处理,但在nRF905中高速发送,因此中间有很长时间的空闲,这很有利于节能。由于nRF905工作于ShockBurstTM模式,因此使用低速的微控制器也能得到很高的射频数据发射速率。在ShockBurstTM接收模式下,当一个包含正确地址和数据的数据包被接收到后,地址匹配(AM)和数据准备好(DR)两引脚通知微控制
15、器。在ShockBurstTM发送模式,nRF905自动产生字头和CRC校验码,当发送过程完成后,数据准备好引脚通知微处理器数据发射完毕。由以上分析可知,nRF905的ShockBurstTM收发模式有利于节约存储器和微控制器资源,同时也减小了编写程序的时间。下面具体详细分析nRF905的发送流程和接收流程。典型的nRF905发送流程分以下几步:A. 当微控制器有数据要发送时,通过SPI接口,按时序把接收机的地址和要发送的数据送传给nRF905,SPI接口的速率在通信协议和器件配置时确定;B. 微控制器置高TRX_CE和TX_EN,激发nRF905的ShockBurstTM发送模式;C. nR
16、F905的ShockBurstTM发送:l 射频寄存器自动开启;l 数据打包(加字头和CRC校验码);l 发送数据包;l 当数据发送完成,数据准备好引脚被置高;D. AUTO_RETRAN被置高,nRF905不断重发,直到TRX_CE被置低;E. 当TRX_CE被置低,nRF905发送过程完成,自动进入空闲模式。ShockBurstTM工作模式保证,一旦发送数据的过程开始,无论TRX_EN和TX_EN引脚是高或低,发送过程都会被处理完。只有在前一个数据包被发送完毕,nRF905才能接受下一个发送数据包。接收流程A. 当TRX_CE为高、TX_EN为低时,nRF905进入ShockBurstTM
17、接收模式;B. 650us后,nRF905不断监测,等待接收数据;C. 当nRF905检测到同一频段的载波时,载波检测引脚被置高;D. 当接收到一个相匹配的地址,地址匹配引脚被置高;E. 当一个正确的数据包接收完毕,nRF905自动移去字头、地址和CRC校验位,然后把数据准备好引脚置高F. 微控制器把TRX_CE置低,nRF905进入空闲模式;G. 微控制器通过SPI口,以一定的速率把数据移到微控制器内;H. 当所有的数据接收完毕,nRF905把数据准备好引脚和地址匹配引脚置低;I. nRF905此时可以进入ShockBurstTM接收模式、ShockBurstTM发送模式或关机模式。当正在接
18、收一个数据包时,TRX_CE或TX_EN引脚的状态发生改变,nRF905立即把其工作模式改变,数据包则丢失。当微处理器接到地址匹配引脚的信号之后,其就知道nRF905正在接收数据包,其可以决定是让nRF905继续接收该数据包还是进入另一个工作模式。节能模式nRF905的节能模式包括关机模式和节能模式。 在关机模式,nRF905的工作电流最小,一般为2.5uA。进入关机模式后,nRF905保持配置字中的内容,但不会接收或发送任何数据。空闲模式有利于减小工作电流,其从空闲模式到发送模式或接收模式的启动时间也比较短。在空闲模式下,nRF905内部的部分晶体振荡器处于工作状态。nRF905在空闲模式下
19、的工作电流跟外部晶体振荡器的频率有关。器件配置所有配置字都是通过SPI接口送给nRF905。SIP接口的工作方式可通过SPI指令进行设置。当nRF905处于空闲模式或关机模式时,SPI接口可以保持在工作状态。SPI接口配置SPI接口由状态寄存器、射频配置寄存器、发送地址寄存器、发送数据寄存器和接收数据寄存器5个寄存器组成。状态寄存器包含数据准备好引脚状态信息和地址匹配引脚状态信息;射频配置寄存器包含收发器配置信息,如频率和输出功能等;发送地址寄存器包含接收机的地址和数据的字节数;发送数据寄存器包含待发送的数据包的信息,如字节数等;接收数据寄存器包含要接收的数据的字节数等信息。射频配置射频寄存器
20、的各位的长度是固定的。然而,在ShockBurstTM收发过程中,TX_PAYLOAD、RX_PAYLOAD、TX_ADDRESS和RX_ADDRESS 4个寄存器使用字节数由配置字决定。nRF905进入关机模式或空闲模式时,寄存器中的内容保持不变。nRF905通过SPI接口和微控制器进行数据传送,通过ShockBurstTM收发模式进行无线数据发送,收发可靠,使用方便。数据经过无线传输及接收后再被传输至接受端的89S52单片机中,然后再由单片机将数据转化为可以由液晶显示板1602显示的数据。数据被传至1602液晶显示芯片,进行显示。1602采用标准的16脚接口,其中:第1脚:VSS为地电源第
21、2脚:VDD接5V正电源第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。 第15脚:接+5V第16脚:接GND1
22、602液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符。 最后通过液晶显示屏和数码管的温度数据对比,判断是否可以进行无线的温度传输数据是否正确。2 无线温度采集系统的软硬件设计基于DS18B20的温度测量装置:温度传感器DS18B20将被测环境温度转化成带符号的数字信号(以十六位补码形式,占两个字节),输出脚I/O直接与单片机的P1.1相连,R1为上拉电阻,传感器采用外部电源供电。89S51是整个装置的控制核心,89S51内带1K字节的FlashROM,用户程序存放在这里
23、。显示器模块由四位一体的共阳数码管和4个9012组成。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。.具体的电路图如下:串口电路显示模块温度采集模块3系统调试与性能分析 我们在元器件的布局方面,把相互有关的元件放得比较近,例如:晶振、单片机的时钟输入端都易产生噪音,在放置元件时的时候把它们靠近些。对于那些易产生噪声的器件、小电流电路、大电流电路、开关电路等,我们尽量使其远离单片机的逻辑控制电路和存储电路(ROM、RAM),更加有利于抗干扰,提高电路工作时的可靠性!我们的地线应构成闭环形式
24、,提高了电路的抗干扰能力。我们也安装了三极管7805进行稳压,是我们的电路有稳定的+5V电源。我们在布置电源线方面根据电流的大小尽是加粗直线宽度,在布线进还使电源线、地线的走线方向与数据线的走线方向一致,在布线工作的,用地线将电路板的底层没有走线的地方铺满,因为有助于增强电路的抗干扰能力。我们选用11.0592MHZ的晶振,因为这样有利于得到没有误差的波特率。特别是当与单片机进行通信的话,选用这种晶振比较好。 由于单线数字温度传感器DS18B20,测温相当准确,我们主要时间花在了,单片机软件程序的编辑和调试以及电路模块的制作方面。 在使用nRF905进行无线传输时,使用的程序就是模块自带的程序
25、,我们所要做的就是进行稍许修改,进行调用函数。 在进行串口转换时,要注意的就是与无线模块对接时,单片机的DB9的2,3口所对应的是无线传输模块的3,2口,因此,在焊接单片机的DB9接口时,与电路图的2,3脚要相互交换连接。4 总结 我们通过这次试验,更加深入的了解了温度传感器,无线传输模块,以及51单片机的结构功能和具体应用,也使我们对电路PCB板有了更深的认识,开阔了我们的眼界,丰富了我们的知识,增长了我们的见识。在老师和同学们的帮助下,我们完成了本次试验,我们的无线温度采集系统,可以实现温度的无线采集,并且相当精确。我们的电路板虽然简单,没有运放等元件,但可以基本上完成此系统的任务,在电源的稳定,二极管发光,和电路的焊接方面,我们也相应的补充改进了我们的设计方案。由于我们组的成员之前都没有学习过单片机,此次创新设计实验,能在这么短的时间内完成,电路设计,焊接,程序设计,调试等工作,已属不易,为此,很满意此次的成绩。当然,我们的电路还有许多不足之处,在老师的帮助下,我们会在以后的学习生活中多加改进。感谢学校给我们这次宝贵的试验机会,感谢老师以及同学对我们的帮助,我们以后会做得更好!参考文献1 楼然苗 李光飞51系列单片机设计实例 北京航空航天大学出版社2nRF905使用手册318B20使用介绍
限制150内