基于FPGA的数字温度传感器控制方法.doc

上传人:99****p 文档编号:1725724 上传时间:2019-03-13 格式:DOC 页数:8 大小:28.50KB
下载 相关 举报
基于FPGA的数字温度传感器控制方法.doc_第1页
第1页 / 共8页
基于FPGA的数字温度传感器控制方法.doc_第2页
第2页 / 共8页
基于FPGA的数字温度传感器控制方法.doc_第3页
第3页 / 共8页
基于FPGA的数字温度传感器控制方法.doc_第4页
第4页 / 共8页
基于FPGA的数字温度传感器控制方法.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、基于 FPGA 的数字温度传感器控制方法摘要:本文作者结合实际工作经验,首先介绍了数字温度传感器DS18B20的数据接口和特点,并阐述了一种基于现场可编程门阵列(FPGA)控制 DS18B20的方法,最后对基于 FPGA的数字温度传感器控制方法进行了深入的研究,具有重要的参考意义。 关键词:现场可编程门阵列;数字温度传感器;硬件描述语言 中图分类号:P184.5+3 文献标识码:A 文章编号: 0.引言 随着市场经济和现代工业、农业、国防等领域的高速发展,测试控制系统技术已经成为现代企业生产能力、市场竞争力和高科技中的一项不可缺少的核心技术。测试控制装备也己经成为各个工业控制、国防安全、民用家

2、居的一个重要的组成部分。在科学研究和工程实践的过程中,测试和控制是整个应用系统的两个最主要的任务,也是体现整个系统处理实际工程问题、撤禾 4?开参考材料的重要途径。测试控制系统在工程控制和工业生产中起着指导者和检验者的作用,它从现场获取各种实际参数,运用科学规律和系统工程分析方法,综合有效地运用各种先进实用的技术,通过控制手段和设备,使各个测试和控制环节得到良好运行与优化。目前,测试控制技术广泛应用于化工、冶金、航天、电力、电子、轻工、军备等行业。根据资料显示,大型制造业和工控业有将近 1/3的经费用于购置测试设备和控制装置。美国商业部国家标准局提供的调查报告称:测试控制工业总产值只占工业总产

3、值的 4%,但它对国民经济的影响指数达到 66%。钱学森院士在对新技术革命的讨论中也提出这个观点:“新技术革命的关键技术是信息技术。信息技术由测量技术、计算机技术和通信技术三部分组成。测量技术是关键和基础。“测试控制技术发展历史最早可以追溯到远古时代,近现代的测试控制技术是从 20世纪 40年代初的手动控制幵始的,接下来出现局部自动化,实现工厂仪表化。在六七十年代出现集中数字控制,但是由于信号抗干扰能力弱和当时的数字计算机技术还不发达,一旦出现计算机故障,则会造成整个系统的瘫痪。后来又陆陆续续出现集散控制和分布式网络控制技术。在控制技术发展过程中,控制策略和算法也经历了由简单的 PID 控制到

4、复杂的串级控制、前馈控制、选择性控制等,一直到现在,出现了先进控制算 法,比如解耧控制、预测控制、模糊控制、自适应控制等。 FPGA 是一种在 GAL(通用阵列逻辑)和 PAL(可编程阵列逻辑)的基础之上发展起来的可编程逻辑器件。它既继承了通用阵列逻辑器件的资源丰富、适用范围广的优点,又具备可编程逻辑器件的可编程特性,而且它内部资源的集成度更高,可实现的逻辑功能更强,编程配置的方式更灵活,适合于实现时序逻辑电路。从而在系统设计中,可以减少芯片的使用数量,缩小系统的体积,降低整体能源的消耗,提高系统的性能指标与可靠性,并且由于 FPGA在线可编程的特点,使得其在使用上更方便,极大的降低了设计的风

5、险。FPGA 器件采用标准化结构,体积小,集成度高,功耗低,速度快,可无限次反复编程,因此成为科研产品开发及其小型化的首选器件,且应用极为广泛。使用 FPGA来控制数字温度传感器 DS18B20是一个非常好的选择。DS18B20 是单总线式的数字温度传感器。具有线路简单,体积小的特点。DS18B20 支持“一线总线”接口,信息经过一条线进出,完成读写功能,另两条线为电源和地线。测量得到的数据是数字量,不需要经过模数转换,从而大大简化了电路。 1DS18B20 的读写方式 由于 DS18B20是采用一根 I/O总线读写数据,因此 DS18B20对读写数据位有严格的时序要求。DS18B20 遵循相

6、应的通信协议从而保证数据传输的正确性和完整性。该通信协议定义了多种信号时序:初始化时序、读时序、写时序。每一次命令和数据传输都是从主机启动写时序开始,如果要求从机回送数据,在写命令后,主机需启动读时序接收数据。所有的读、写时序至少需要 60s,且每两个独立的时序之间至少需要 1s 的恢复时间。数据和命令的传输都是低位优先。DS18B20 有严格的时序控制: 1)当主机要生成一个写 0时隙,必须把数据线拉到低电平并保持60s。主机要生成一个写 1时隙,必须把数据线拉低到低电平然后释放,在写时隙开始后的 15s 内允许数据线拉到高电平,如图 1所示。 2)当从 DS18B20读取数据时,主机把数据

7、线从高电平拉低到低电平并保持 1s,然后释放总线。来自 DS18B20的输出数据在下降沿后 15s 有效。在读取数据结束时 I/O引脚应拉回到高电平。所有时间最短维持期限为 60s,如图 2。 完成一位传输的时间为一个时隙,因为读写 0或 1都需要 70s,所以设置时序的一个时隙是 70s。对 FPGA的时钟进行分频,输入时钟频率20 MHz,经过 20分频得到 1 MHz,周期为 1s,以 70个周期为一个时隙进行编程。 程序中使用两个计数器 num和 count,num位始终计数器,1s 计一个,70个数为一循环;count 位时隙计数,作为控制 DS18B20的基本操作单位。计时器程序如

8、下: begin if (clkevent and clk=1)then num“1000100“then num=“0000000“; if count=“1001000“then count= “0000000“; else count=count+1; end if; else num=num+1; end if; end if; 2 温度控制模块 本设计采用 Altera公司的 EP1C6Q240C8 cyclone芯片制作相应的硬件电路。温度控制模块是与 DS18B20的接口,用来控制 DS18B20的操作,并获得数字温度值。ds 子模块的功能是向 DS18B20输出控制命令,并将D

9、S18B20测量得到的数字温度值输出。其中, d端口用来向 DS18B20输出控制信号;cont 为三态门 inst3的使能信号,当 d向 dq输出控制信号时,cont=1使能,当 dq向 FPGA返回信号时,cont=0,为高阻态。n 和 c为时间计数器。电路符号如图 3所示。 3 控制 DS18B20进行温度测量 DS18B20 的 ROM中有 64位序列号(8 位产品家族编号、48 位 ID号、8位 CRC)是出厂前刻好的,这 64位序列号具有唯一性,每个 DS18B20的 64位序列号均不相同。本文以单一温度传感器的控制为例,所以使用 Skip ROM(跳过 ROM命令),不需要读取

10、64位序列号。 DS18B20 加电之后,处于空闲状态。首先需要发送复位信号 7个时隙时间低电平,等待 1个时隙后检测总线,如果是低电平则等待 6个时隙,之后发出 Skip ROM (跳过 ROM命令),8 个时隙发送二进制码为 11001100。发送 Convert T(44h,01000100)命令启动温度测量和模拟到数字的转化。温度转换需要 500ms,当转换结束后,DS18B20 又回到空闲状态,温度数据是以带符号位的 16-bit补码储存在温度寄存器中。再次发送复位,接受存在信号,发送跳过 ROM命令。发送读暂存器命令 Read Scratchpad(BEh,10111110)之后开

11、始接受 16位的数据。 对 DS18B20的储存器的操作步骤如表 1所示。 4 电源连接 DS18B20 可使用寄生电源,可以在 I/O引脚处于高电平时“偷”些能量,储存在电容中供正常使用,但进行精确转换时需要 I/O引脚保持大电流供电,这样对 FPGA芯片引脚造成很大压力,所以使用 VDD引脚接外部电源,如图 4所示。 DS18B20 进行温度转换需要很大电流,工作最大电流可达 1 mA。使用VDD引脚接外部电源供电的优点在于 I/O线上不需要在温度变换期间保持高电平。这样就可以有效的保护 FPGA芯片,也可在单总线上放置多数目的 DS18B20。使用外部电源,通过发出 Skip ROM跳过

12、命令,然后发出Convert T变换命令,可以完成温度变换。 5 温度显示部分 从 DS18B20采集到温度信息是带符号位的 16-bit补码,高 5位的数值全为 S,温度为正值时 S=0,负值时 S=1;中间 10位是数字位,从-55 到125;最低 1位是小数位,最小分辨率 0.5。 设计一个数字温度子模块,将中间 10位的二进制数转换为 3位 BCD码表示的十进制数,再加 1位小数位,共选取 4个数码管用来显示从-55.0到+125.0的温度数字,如表 2所示。 6 程序流程图 FPGA 控制 DS18B20实现温度转换的程序流程如图 5所示。 7 实验数据 实验测试出 3组温度数据为0

13、000000000101111,0000000000101110,0000000000101111,转换为 BCD码后显示为 23.5,23.0,23.5。测量温度与水银温度计检测的数据相符。温度测量周期可以设定为 1 s,显示刷新也设定为 1 s。经实验测试系统能够实现设计的要求。 8 结论 本文利用 Altera公司的 EP1C6Q240C8 cyclone芯片为核心,设计出控制 DS18B20检测系统,并成功进行了数据检测和显示。通过实验测试表明测量系统能够在室内外环境中良好运行。FPGA 器件易于现场编程,实现多重配置,灵活使用,结合数字温度传感器,可以广泛的应用于对温度测量要求高的领

14、域。 参考文献 1叶刚.基于 DS18B20温度控制系统的设计J.电子测量与仪器学报,2007,26(4):31-34. 2徐海军,叶卫东.FPGA 在高性能数据采集系统中的应用J.计测技术,2005,25(1):40-43. 3周岳斌.基于 FPGA的数字温度传感器接口设计J.现代电子技术.2007(12):51-53. 4李钢,赵彦峰.1-Wire 总线数字温度传感器 DS18B20原理及应用J.现代电子技术,2005(21):77-79. 5DS18B20 Programmable Resolution 1-Wire DigitalThermometerEB/OL.www.maxim-.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。