预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

2011年9月内蒙古大学学报(自然科学版)Sept.2011 第42卷第5期JournalofInnerMongoliaUniversity(NaturalScienceEdition)Vol.42No.5 文章编号:1000-1638(2011)05-0576-05 * 基于FPGA的测温系统的设计 于京1,吕殿基2 (1.北京电子科技职业学院电信工程学院,北京100029; 2.北京经济管理职业学院,北京100029) 摘要 :介绍了单总线数字温度传感器DS18B20的特性及工作原理,给出了由DS18B20与FP- GA组成的测温系统的硬件电路和软件设计及提高测量精度的方法.通过对实际温度的测量 及与专用测温仪的比较,发现该系统具有数据准确、接口简单、精度高、抗干扰能力强、工作稳 定可靠等特点. 关键词:数字式传感器;FPGA;测量精度;DS18B20 中图分类号:TP332;TP216文献标志码:A 在传统的模拟信号温度测量系统中,存在引线误差补偿、多点测量切换误差和放大电路零点漂移 误差等技术问题,设计好的电路在更换传感器时,需对系统重新调试,一致性差.为了克服这些问题, 引入了美国Dallas半导体公司1-Wire系列的高精度数字式温度传感器DS18B20,DS18B20具有以 下特点:提供9~12位精度的温度测量;电源供电范围为3.0V~5.5V;温度测量范围为-55℃~ +125℃,在-10℃~+85℃范围内,测量精度是±0.5℃;增量值最小可为0.0625℃;将测量温度转 换为12位的数字量最大需要750ms;DS18B20可采用信号线寄生供电,不需额外的外部供电;每个 DS18B20有唯一的64位的序列码,这使得可以有多个DS18B20在一条单总线上工作.FPGA的特点 是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,技术维 护简单,工作可靠性高.基于上述特点,在此提出了采用DS18B20与可编程逻辑器件FPGA来实现测 温系统的新方法,并且给出了提高DS18B20测量精度的方法,使DS18B20的9位分辨率时的测量精 度由0.5℃提高到0.1℃,实际测试证明该系统具有良好的一致性,兼容性和较高的准确性. 1数字温度传感器DS18B20 1.1DS18B20的内部结构 DS18B20内部结构如图1,主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警 触发器TH和TL、配置寄存器.DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个 非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和配置寄存器.暂存存储 器包含了9个连续字节,前两个字节是测得的温度信息,第1个字节的内容是温度的低八位,第2个 字节是温度的高八位.第3个和第4个字节是TH、TL的易失性拷贝,第5个字节是配置寄存器的易 失性拷贝.第6、7、8个字节用于内部计算.第9个字节是冗余检验字节. DS18B20加电后,处在空闲状态.要启动温度测量和模数转换,处理器需向其发出ConvertT [44h]命令;转换完后,DS18B20回到空闲状态.温度数据以带符号位的16位补码存储在温度寄存器 *收稿日期:2011-06-21 基金项目:北京市教委科研基地资助项目(PXM2010-014306-109868) 作者简介:于京(1971-),男,江苏金坛县人,副教授,硕士.E-mail:ssoohay@139.com. 第5期于京,吕殿基基于FPGA的测温系统的设计775 中,如图2. 图1DS18B20内部结构图 Fig.1DS18B20blockdiagram 图2温度寄存器格式 Fig.2Formatoftemperatureregister 符号位说明温度是正值还是负值,正值时S=0,负值时S=1.表1给出了一些数字输出数据与对 应的温度值的例子.上电复位时温度寄存器的值是85℃. 表1温度/数据的关系 Table1Temperature/DataRelationship TEMPRATUREDIGITALOUTPUT(Binary)DIGITALOUTPUT(Hex) +125℃000001111101000007D0h +85℃00000101010100000550h +25.0625℃00000001100100010191h +10.125℃000000001010001000A2h +0.5℃00000000000010000008h +0℃00000000000000000000h -0.5℃1111111111111000FFF8h -10.125℃1111111101011110FF5Eh -25.0625℃1111111