FPGA与DS18B20组成的测温系统的设计
(完整版)FPGA温度测量设计毕业设计

毕业论文FPGA温度测量设计摘要温度作为一种最基本的环境参数,与人民的生活有着密切关系。
温度的测量和控制在工业、农业、国防、医疗等各个领域中应用普遍。
温度测量仪是一种常用的检测仪器。
本文首先介绍了DS18B20的工作原理,利用数字温度传感器DS18B20的数据接口特点,展示了FPGA(Field-Programmable Gate Array,即现场可编程逻辑门阵列)的使用方法以及Verilog HDL (HDL:Hardware Discription Language)语言的编程,完成了基本温度测量功能。
给出了硬件电路和软件设计,此设备具有结构简单、转换速度快、精确性高,扩展性好等优点。
关键词:FPGA;DS18B20;测温;Verilog HDL语言Design of temperature measurement based on FPGAAbstractTenperture is one of the most basic environmental parameters, andit industry, agriculture, national defense,medical and other fields, temperature measurement and control was widely used.The temperature measuring instrument is a kind of common testing instrument.In this paper,first we introduces the work principle of DS18B20,andthe characteristics of data interface of digital temperature sensorDS18B20, demonstrated Language)programming language,accomplished the function of temperature measurement. Giventhe .The device .Key Words: FPGA;DS18B20;Temperature measurement;VerilogHDL language目录中文摘要 (1)英文摘要 (2)1绪论 (1)1.1题目背景意义 (1)1.2工作内容 (2)1.2.1技术指标和要求 (2)1.2.2设计的难点重点 (2)2系统方案设计 (4)2.1温度测量原理及方法 (4)2.2系统方案及方框图 (4)2.3FPGA技术 (5)2.4DS18B20温度传感器 (9)2.4.1DS18B20特性介绍 (9)2.4.2DS18B20测温原理 (11)2.4.3DS18B20供电方式 (12)2.4.4DS18B20时序 (13)2.4.5DS18B20操作命令 (15)2.5硬件设计 (17)2.5.1FPGA最小系统硬件原理图 (17)2.5.2DS18B20的连接 (18)2.5.3数码管显示电路 (18)2.5.4电源电路 (19)2.5.5时钟电路 (19)2.5.6复位电路 (20)2.6软件设计流程图 (20)3功能模块建立及仿真 (21)3.1QuartusⅡ及VHDL语言 (21)3.1.1QuartusⅡ介绍 (21)3.1.2Verilog HDL介绍 (16)3.1.3QuartusⅡ的使用 (19)3.2分频 (21)3.3温度信号采集 (22)3.4数码管显示 (23)3.5顶层原理图 (23)4下载调试及实际测量 (25)5设计遇到的问题及误差分析 (27)5.1设计遇到的问题及分析 (27)5.2误差分析 (27)6总结 (29)致谢 (30)参考文献 (31)毕业设计(论文)知识产权声明 (33)毕业设计(论文)独创性声明 (34)1绪论1.1题目背景意义温度是表征物体冷热程度的物理量,是国际单位制七个基本物理量之一,作为一种最基本的环境参数,与人民的日常生活有着密切关系。
基于FPGA的温控系统的设计

综合电子系统设计报告实验名称:基于FPGA的温控系统的设计班级:电子1202学号:姓名:__指导教师:前言基于FPGA与温度传感器DS18B20设计实现了单回路水箱温度PID 控制系统。
软件主要包括PID控制算法及PWM波产生模块、DS18B20驱动模块、数码管显示驱动模块等3个模块。
仿真结果验证了设计的正确性。
实验结果说明,系统输出温度到达微小超调的稳定控制要求,表达了该设计方法的有效性和实用性。
基于微处理器的温度控制系统改变了传统模拟温度控制系统参数整定不灵活的问题。
但是常规微处理器无法防止在恶劣环境下程序跑飞的问题。
利用FPGA实现温度控制系统的设计,不仅可以提高系统的运算速度、减小系统的体积,还可以增强系统的可靠性,具有较强的应用前景。
本设计首先针对Altera公司的CycloneII系列FPGA芯片,基于QUARTUSII软件,采用verilogHDL编程设计了主要包括PID控制算法及PWM波产生模块、DS18B20驱动模块、数码管显示驱动模块等功能模块程序。
然后用Modelsim软件仿真验证了各模块的正确性。
最后以水箱为被控对象,以目前市场上性价比拟高的FPGA芯片EP2C8Q208C8为核心器件,结合温度传感器DS18B20、键盘、数码管以及固态继电器等器件设计实现了单回路水温PID控制系统。
在控制温度为30~90℃的实验条件下,误差小于1℃,系统输出温度到达微小超调的稳定控制要求。
关键词:FPGA DS18B20 PID PWM波一、方案设计1、方案设计比拟温度传感器模块设计方案一:采用热敏电阻pt100。
这种电阻输出的是模拟量,所以硬件构造较复杂,需要用到桥式电路将采集到的温度转化为电压输出,而且为了实现AD转化,还要加放大电路。
另外,这种测温系统难以实现多点测温,也要用到复杂的算法,一定程度上也增加了软件实现的难度。
方案二:采用单总线数字温度传感器DS18B20测量温度,直接输出数字信号。
基于FPGA温度传感器DS18B20的Verilog设计

基于FPGA温度传感器DS18B20的Verilog设计赖青松(江西师范大学南昌电子信息工程)摘要: 本文利用数字温度传感器DS18B20 的数据接口和特点,阐述了一种基于现场可编程门阵列( FPGA)控制DS18B20的方法。
使用FPGA 作为控制器,严格控制DS18B20 的时序,在单总线上实现读写功能,完成测量数字温度的功能。
将测量的二进制数转换为BCD 码,并通过数码管显示。
系统设计使用Verilog 语言。
由于DS18B20 是采用一根I/ O 总线读写数据,因此DS18B20 对读写数据位有严格的时序要求。
DS18B20 遵循相应的通信协议从而保证数据传输的正确性和完整性。
该通信协议定义了多种信号时序:初始化时序、写时序、读时序1、初始化时序:During the initialization sequence the bus master transmits (TX) the reset pulse by pulling the 1-Wire bus low for a minimum of 480us. The bus master then releases the bus and goes into receive mode (RX). When the bus is released, the 5k pullup resistor pulls the 1-Wire bus high.When the DS18B20 detects this rising edge, it waits 15us to 60us and then transmits a presence pulse by pulling the 1-Wire bus low for 60us to 240us.初始化时序中,控制器发送一个480us-960us的低电平的复位信号,然后释放总线,也就是总线为高电平,此时,控制器准备接收DS18B20的反应信号,当总线释放后,如果存在DS18B20,那么DS18B20将在15-60us内发送一个持续60-240us的反应信号。
DS18B20数字温度计的设计与实现

DS18B20数字温度计的设计与实现一、实验目的1.了解DS18B20数字式温度传感器的工作原理。
2.利用DS18B20数字式温度传感器和微机实验平台实现数字温度计。
二、实验内容与要求采用数字式温度传感器为检测器件,进行单点温度检测。
用数码管直接显示温度值,微机系统作为数字温度计的控制系统。
1.基本要求:(1)检测的温度范围:0℃~100℃,检测分辨率 0.5℃。
(2)用4位数码管来显示温度值。
(3)超过警戒值(自己定义)要报警提示。
2.提高要求(1)扩展温度范围。
(2)增加检测点的个数,实现多点温度检测。
三、设计报告要求1.设计目的和内容2.总体设计3.硬件设计:原理图(接线图)及简要说明4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法)四、数字温度传感器DS18B20由DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。
它具有体积小,接口方便,传输距离远等特点。
1.DS18B20性能特点DS18B20的性能特点:①采用单总线专用技术,既可通过串行口线,也可通过其它I/O 口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),②测温范围为-55℃-+125℃,测量分辨率为0.0625℃,③内含64位经过激光修正的只读存储器ROM ,④适配各种单片机或系统机,⑤用户可分别设定各路温度的上、下限,⑥内含寄生电源。
2. DS18B20内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH 和TL,高速暂存器。
64位光刻ROM 是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。
64位ROM 结构图如图2所示。
不同的器件地址序列号不同。
DS18B20的管脚排列如图1所示。
基于DS18B20的多路温度检测系统设计

i to u e e i n wh c a e tt m p r t r s o i e e t p i t , W ih d g tlt mp r t r e s rD S 8 0 n r d c sa d sg i h c n t s e e a u e fd f r n o n s t i i e e au e s n o 1 B2 a a he t m p r t r e s r m e t d v c s st e e a u e m a u e n e i e ,wih AT8 C5]a o t o n t fm u t—p i e t 9 s c n r l u i o li o ntt mpe a u e c n b s rt r a e d t c e n o to y t m , n i e h y t m a d r ic i a d s fwa e f w h r . n t e s s m ,d t e e t d a d c n r ls se a d g v s t e s se h r wa e cr u t n o t r o c a t I h y t l e aa
术和通信 网络的发展[ . J 电讯技术, 1 . 】 2 0 0
陈小芳. 于泰克R A 基 s 的分析评估和优化R I FD
系统 [. 测试, 0 () J电子 】 2 76. 0
10 1010 1010 0 001 0010 ,为 1110 1010 100 0 11 1 0 0 0
价格便宜,具有很高的性价 比,可 以定时循环检 测和通过 L D 62 C 10 显示 多路 的温 度,因此 选择
LCD1 0 6 2。
23 串 口通 讯 电路 设 计 .
A 8C 1 T 9 5 有一个全双工的串行通讯口,所以
基于FPGA的DS18B20控制程序设计及其Verilog实现(汇编)

基于FPGA的DS18B20控制程序设计及其Verilog实现一,总体介绍DS18B20是一个1-wire总线,12bit的数字温度传感器,其详细的参数这里不做具体的介绍,只讨论其基于Verilog的控制程序的设计。
实际上,对DS18B20的控制,主要是实现1-wire总线的初始化,读,写等操作,然后再根据DS18B20的控制要求,实现对其控制的verilog逻辑。
在1-Wire总线上,有一个master,可以有1个或者多个slave。
而对于FPGA+DS18B20的温度测试设计来讲,需要在FPGA上实现一个1-Wire总线的master。
DS18B20作为1-wire 总线的slave设备存在,可以有一个或者多个,不过为了简化程序,例程里假定只存在一个DS18B2020。
1-Wire总线的操作形式上相对简单,但操作本身相对却又比较复杂。
用Verilog做控制程序设计时,可以采用多层次嵌套的状态机来实现。
二,FPGA + DS18B20的硬件设计硬件的设计非常简单,只需要将DS18B20的DQ与FPGA的一个IO连接,并加4.7K左右的上拉电阻就可以了。
VDD和VPU可以为3.0~5.0V。
这里我们参照FPGA本身的IO电压,选择3.3V。
另外要注意的一点是,由于DQ的数据是双向的,所以FPGA的该IO要设定为inout类型。
三,1-Wire总线的基本操作及Verilog实现。
根据1-Wire总线的特点,可以把1-Wire总线的操作归结为初始化,单bit读操作,单bit写操作等最基础的几种。
下面分别是几种基本操作的介绍和verilog实现。
由于DS18B20的时序操作的最小单位基本上是1us,所以在该设计中,全部采用1MHz的时钟。
1. 初始化初始化实际上就是1-wire总线上的Reset操作。
由master发出一定长度的初始化信号。
Slave 看到该初始化信号后,在一定时间内发出规定长度的响应信号,然后初始化操作就结束了。
DS18B20数字温度计毕业设计(毕业设计)详解

DS18B20数字温度计设计西南大学工程技术学院,重庆 400716摘要:本文介绍了利用美国DALLAS半导体公司最新推出的一种改进型智能温度传感DS18B20和ATMEL公司生产的AT89C2051,结合四位共阳型LED,采用动态显示的方法实现室内温度的检测和读数。
本文设计的数字温度计基于DS18B20单线总线结构,与单片机的接口电路简单无须外部电路,同时由于DS18B20能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式,因而使得整体设计思路简单,可以实现-55~+125゜C的温度测量,精度误差在0.1゜C以内。
本文给出了具体的硬件电路和软件设计。
关键词:单片机DS18B20智能温度传感器DS18B20 DIGITAL THERMOMETER DESIGNLI XuejianCollege of Engineering and Technology, Southwest University, Chongqing 400716, ChinaAbstract:This paper presents the method for a digital thermometer design made of DS18B20,a newly-product of advaced Programmable Resolution 1-Wire® Digital Thermometer(DALLAS),and AT89C2051 (ATMEL).This design adopts dynamic dispay method with four LED to measu re room temperature.This digital thermometer is based on the one wire configuration of DS18B 20, and no external circuit is required.Since the measured temperature can be directly read by DS18B20 and 9-12 digits reading can be implemented through simple programming, the overall design concept is simple. Temperature within -55~+125゜C can be measured with an error of +/-0.1゜C. Detailed circuits and softwaredesign are given here.Key Words:single-chip computer DS18B20 smart temperature sensor文献综述自动控制领域中,温度检测与控制占有很重要地位。
基于DS18B20的数字温度计设计

基于DS18B20的数字温度计设计一、课程设计目的1.培养学生文献检索的能力,如何利用Internet检索需要的文献资料。
2.培养学生综合分析问题、发现问题和解决问题的能力。
3.培养学生综合运用知识的能力和工程设计的能力。
4.培养学生理论联系实际的能力。
5.提高学生课程设计报告撰写水平。
二、设计内容、技术条件和要求1设计内容数字温度计的设计要能实现温度的实时采集与显示,以AT89S51单片机为核心芯片,使用DS18B20数字温度传感器采集环境温度,并通过一组4位共阴极数码管将温度显示出来,也可用LM1602液晶显示屏。
方案一:使用按钮控制温度的采集与显示。
方案二:使用定时控制温度的采集与显示,时间间隔1S。
2 设计要求•设计单片机最小系统(包括复位按钮、晶振电路等);•DS18B20应用电路设计。
•按键电路设计。
•可使用实验室的实验箱实物实现,也可使用仿真软件Proteus实现。
•绘制实现本设计内容的硬件电路(原理图),系统的组成框图。
•编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。
三、总体设计思想本设计以检测温度并显示温度提供上下限报警为目的,按照系统设计功能的要求,确定系统由5个模块组成:主控器[4]、测温电路,报警电路,按键电路及显示电路。
系统以DS18B20为传感器用以将温度模拟量转化为电压数字量以总线传入单片机,以AT89S51为主芯片,在主芯片对DS18B20传入的温度值进行处理,由单片机程序控制,将经处理后的温度由LM1602液晶显示屏显示出来。
图3-1 数字温度计设计总体的原理图四、硬件设计1、硬件设计图见附件。
2、单片机复位电路工作原理及设计。
硬件图如下图一原理是通过使复位端经电阻与Vcc电源接通而产生按键复位电平,保证复位信号高电平持续时间大于2个机器周期。
3、单片机晶振电路工作原理及设计硬件图如下图二晶振电路是提供系统时钟信号。
为了各部分的同步应当引入公用的外部脉冲信号作为振荡脉冲。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2006年7月内蒙古大学学报(自然科学版)Jul.2006第37卷第4期Acta Scientiar um Naturalium U nivers itatis NeiM ongol Vol.37No.4 文章编号:1000-1638(2006)04-0459-05FPGA与DS18B20组成的测温系统的设计X袁伟亭,周润景(内蒙古大学理工学院自动化系,呼和浩特010021)摘要:介绍了单总线数字温度传感器D S18B20的特性及工作原理,给出了由DS18B20与F P-GA组成的测温系统的硬件电路和软件设计及提高测量精度的方法,通过对实际温度的测量及与专用测温仪的比较,数据准确,该系统具有接口简单、精度高、抗干扰能力强、工作稳定可靠等特点.关键词:数字式传感器;F PGA;测量精度;D S18B20中图分类号:T P212.11 文献标识码: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在一条单总线上工作〔1〕.FPGA的特点是直接面向用户,具有极大的灵活性和通用性,使用方便,硬件测试和实现快捷,开发效率高,技术维护简单,工作可靠性高〔2,3〕.基于上述特点,在此提出了采用DS18B20与可编程逻辑器件FPGA 来实现测温系统的新方法,并且给出了提高DS18B20测量精度的方法,使DS18B20的9位分辨率时的测量精度由0.5℃提高到0.1℃,实际测试证明该系统具有良好的一致性,兼容性和较高的准确性.1 数字温度传感器DS18B201.1 DS18B20的内部结构DS18B20内部结构如图1,主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器T H和TL、配置寄存器.DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2RAM,后者存放高温度和低温度触发器TH、TL和配置寄存器.暂存存储器包含了9个连续字节,前两个字节是测得的温度信息,第1个字节的内容是温度的低八位,第2个字节是温度的高八位.第3个和第4个字节是TH、TL的易失性拷贝,第5个字节是配置寄存器的易失性拷贝.第6、7、8个字节用于内部计算.第9个字节是冗余检验字节. DS18B20加电后,处在空闲状态.要启动温度测量和模数转换,处理器需向其发出Convert T [44h]命令;转换完后,DS18B20回到空闲状态.温度数据以带符号位的16位补码存储在温度寄存器X收稿日期:2006-03-01基金项目:内蒙古大学513工程项目作者简介:袁伟亭(1979~),男,山东威海人,内蒙古大学2004级硕士研究生.中,如图2.图1 DS 18B 20内部结构图F ig.1 DS18B20block diagr amL S Byte bit 7bit 6bit 5bit 4bit 3bit 2bit 1bit 023*******-12-22-32-4 M S By tebit 15bit 14bit 13bit 12bit 11bit 10bit 9bit 8SSSSS262524图2 温度寄存器格式F ig.2 T emperat ur e reg ister for mat 符号位说明温度是正值还是负值,正值时S =0,负值时S=1.表1给出了一些数字输出数据与对应的温度值的例子.上电复位时温度寄存器的值是85℃.表1 温度/数据的关系Table 1 Temperature /data relationshipT EM PER AT U REDIG T T A L O U T PU T (Binary )DI GT T A L O U T PU T (Hex )+125℃000001111101000007D 0h +85℃00000101010100000550h +25.0625℃00000001100100010191h +10.125℃000000001010001000A 2h +0.5℃00000000000010000008h 0℃0000000000000000000h -0.5℃1111111111111000FF F8h -10.125℃1111111101011110F F 5Eh -25.0625℃1111111001101111F E6F h -55℃1111110010010000F C 90h1.2 DS18B20分辨率配置配置寄存器的内容用来确定温度值的数字转换分辨率,该字节各位的意义如下:T M R1 R0 1 1 1 1 1低5位一直都是1,T M 位是测试模式位,设置DS18B20在工作模式还是测试模式.出厂设置时T M 为0.R1和R0用来设置分辨率,如表2.表2 DS 18B 20分辨率配置Table 2 DS 18B 20resolution conf iguration R 1R 0分辨率温度最大转换时间009位93.75ms 0110位187.5ms 1011位375ms 1112位750ms1.3 提高DS18B20测量精度的方法本系统为开发的射频热疗系统的子系统,热疗系统要求温度测量范围为0~50℃,测量精度0.1℃,而DS18B20在-10℃~+85℃范围内的测量精度为±0.5℃.根据系统要求和分辨率与转换时间的折衷考虑,本系统采用9位分辨率,温度增量为0.5℃,最大转换时间为93.75m s,对DS18B20测温原理进行详细分析,通过下面的方法获得高精度的温度测量结果.首先用DS18B20提供的读暂460内蒙古大学学报(自然科学版)2006年存寄存器指令(0BEH )读出以0.5℃为精度的温度测量结果,然后切去测量结果中的最低有效位(LSB ),得到所测实际温度整数部分T 1,然后再用0BEH 指令读取计数器1的计数剩余值M 1和每度计数值M 2,考虑到DS18B20测量温度的整数部分以0.25℃、0.75℃为进位界限的关系,实际温度T 2可用T 2=(T1-0.25℃)+(M 2-M 1)/M 1式计算得到.2 FPG A 与DS18B20的连接 DS18B20支持寄生电源供电,这种方式不需本地提供专门电源,芯片的电源和地都接地,只需一根线实现与主机的通信和获取电源,总线上接大约5K 的上拉电阻,其与DS18B20内部的电容形成充放电电路.如图3,DS18B20在总线为高电平时,其内部电容从总线上获得电荷,在总线为低电平时供电,所以总线在空闲状态时应为高电平.图3 接线图F ig.3 W ir ing diag r am3 软件设计3.1 测温模块的实现本设计使用的FPGA 芯片是Altera 公司ACEX 1K 系列的EP 1K 30TC 144-3,全部软件功能在M AX +plus Ⅱ平台上实现,使用了VHDL 语言与原理图相结合的设计方法.温度测量模块的顶层文件如图4,有三个端口:clk1M Hz 是由系统时钟信号20M Hz 分频得到的1M Hz 的同步信号;dq 是与DS18B20的双向接口;temp 是十位的数字温度值输出.T EMPERAT URE 子模块的功能是向DS18B20输出控制命令,并将DS18B20测得的数字温度值输出.其中D 端口用来向DS18B20输出控制信号;CONT 为三态门的使能信号,当D 向dq 输出控制信号时,CONT=1使能,而当dq 向FPGA 返回信号时,CONT =0,为高阻态.而DQ 端口全程记录DS18B20的状态,当其向FPGA 返回测量温度值时,TEM PRETU RE 通过此端口将数字值存储输出.图4 温度测量宏模块Fig.4 M acr o mo dule of the t em per ature mea sur ementTEM PERATU RE 子模块部分VHDL 代码如下:if (count >="0000000"and co unt <="0000110")then data <='0';cont <='1';-reset 脉冲 elsif (count>"0000110"and co unt<="0001101")then co nt<='0';-present 脉冲 elsif (co unt ="0001110"or count="0001111"or count ="0010010"o r count ="0010011")then if (num >="0000000"and num <"0111100")then data <='0';cont <='1'; else cont <='0'; end if ;-skip '0'时隙 elsif (count ="0010000"or count ="0010001"o r count ="0010100"or count ="0010101")then if (num >="0000000"and num<"0001010")then data<='0';cont<='1'; else cont<='0'; end if;-skip '1'461第4期袁伟亭,周润景 FPGA 与DS 18B 20组成的测温系统的设计 elsif (count ="0010110"or count="0010111"o r count="0011001"or count ="0011010"or co unt ="0011011"or count ="0011101")then if (num>="0000000"and num <"0111100")then data<='0';cont<='1'; else cont <='0'; end if;-conver t '0' elsif (count ="0011000"or count ="0011100")then if (num>="0000000"and num <"0001010")then data<='0';cont<='1'; else cont <='0'; end if;-conver t '1'3.2 测温程序的时隙本程序中根据DS18B20的通信协议采用的时隙数据如图5.图5 DS 18B 20测温程序时隙F ig.5 Slo t of the D S18B20temperat ur e measurement pro g ram 输入的时钟频率为1M Hz ,即周期为1L s .将完成1位传输的时间称为一个时隙,那么1个时隙就是70L s.使用两个计数器num 和count:num 为时钟计数,即1L s 计1个数,70个数为1个循环(1个时隙);count 为时隙计数,1次温度转换和输出为1个循环.本程序只对DS18B20进行控制,所以不仅可以简化程序,还可以缩短1次温度转换所需的时间.这样的话,1次温度转换和数字温度值输出循环所涉及到的控制命令、数据交换和所需时隙如图7.图6 1次温度转换的控制命令和时隙F ig .6 Contr ol or der s and slo ts of a t emper atur e co nver sion3.3 仿真波形温度测量模块仿真结果如图7,温度传感器的输出值为17.0℃,仿真的温度值tem p[9..0]为0D 0,转换为二进制即0011010000,根据温度寄存器的格式计算,temp [9..0]为17.0℃.4 测量结果 表3为9组实际测量值,从中可以看到:分别用三个DS18B20进行测量,测量结果完全相同,表462内蒙古大学学报(自然科学版)2006年明该系统具有良好一致性;使用高精度数字温度计DT I-1000(测量精度高达0.014℃)的测量结果与DS 18B 20的测量结果非常接近,表明该系统具有较高的准确性.图7 仿真波形Fig.7 Simulatio n w av efor m 表3 测量结果的比较Table 3 Comparison of measured values传感器测 量 值DS 18B 20A 1.0 3.712.425.528.434.336.638.941.5DS 18B 20B 1.0 3.712.425.528.434.336.638.941.5DS18B20C 1.0 3.712.425.528.434.336.638.941.5DT I-10001.023.7312.3725.5128.3934.3336.5838.8741.525 结束语 本系统已成功应用于射频热疗系统中,其转换速度快,转换精度高,采用FPGA 来实现,使得该系统具有良好的兼容性,与处理器接口简单,并可节省资源.该系统还具有设计简单,抗干扰能力强,一致性好,准确性高的优点.DS18B20采用单总线技术,可同时挂接多个DS18B20,一旦某个DS18B20损坏,可及时更换,不需要重新调试系统,在多点温度测量中具有良好的应用前景.参考文献:[1] D S18B20Datasheet [EB/OL ].Dalla s:Dallas Semico nductor Cor po r atio n,2005.[2] 潘松,黄继业.EDA 技术实用教程[M ].北京:科学出版社,2003.[3] 褚振勇,翁木云.F PG A 设计及应用[M ].西安:西安电子科技大学出版社,2003.(责任编委 李树华)A Design of T emperature M easurement Sy stem Consistedof FPGA and DS18B20YU AN Wei-ting ,ZHOU Run-jing(Dep artment o f A utomation ,College o f S ciences and T echnology ,I nner M ongolia University ,H ohhot 010021,China ) Abstract :T he character istics and basic principle of 1-Wire digital thermo meter DS 18B 20are in-tr oduced,and a design o f its hardw are and software for tem perature measur em ent system by FPGA and DS18B20tem perature senso r is g iven,and the method of improv ing measurement precision is described .T hro ug h measuring actual temperature and co mpar ing w ith special thermo scope ,its data is accurate.T his system has characteristics of sim ple interface,hig h precisio n,better anti-interfer -ence ,and stable and reliable w orking ,etc .Key words :digital senso r ;FPGA ;measuring precisio n ;DS 18B 20463第4期袁伟亭,周润景 FPGA 与DS 18B 20组成的测温系统的设计。