资源描述:
《基于fpga数字温度传感器控制方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于FPGA数字温度传感器控制方法 摘要:本文作者结合实际工作经验,首先介绍了数字温度传感器DS18B20的数据接口和特点,并阐述了一种基于现场可编程门阵列(FPGA)控制DS18B20的方法,最后对基于FPGA的数字温度传感器控制方法进行了深入的研究,具有重要的参考意义。关键词:现场可编程门阵列;数字温度传感器;硬件描述语言中图分类号:P184.5+3文献标识码:A文章编号:0.引言7随着市场经济和现代工业、农业、国防等领域的高速发展,测试控制系统技术已经成为现代企业生产能力、市场竞争力和高科技中的一项不可缺少的核心技术。测试控制装备也己经成
2、为各个工业控制、国防安全、民用家居的一个重要的组成部分。在科学研究和工程实践的过程中,测试和控制是整个应用系统的两个最主要的任务,也是体现整个系统处理实际工程问题、撤禾4?开参考材料的重要途径。测试控制系统在工程控制和工业生产中起着指导者和检验者的作用,它从现场获取各种实际参数,运用科学规律和系统工程分析方法,综合有效地运用各种先进实用的技术,通过控制手段和设备,使各个测试和控制环节得到良好运行与优化。目前,测试控制技术广泛应用于化工、冶金、航天、电力、电子、轻工、军备等行业。根据资料显示,大型制造业和工控业有将近1/3的经费用于购置测试设备和控
3、制装置。美国商业部国家标准局提供的调查报告称:测试控制工业总产值只占工业总产值的4%,但它对国民经济的影响指数达到66%。钱学森院士在对新技术革命的讨论中也提出这个观点:”新技术革命的关键技术是信息技术。信息技术由测量技术、计算机技术和通信技术三部分组成。测量技术是关键和基础。”测试控制技术发展历史最早可以追溯到远古时代,近现代的测试控制技术是从20世纪40年代初的手动控制幵始的,接下来出现局部自动化,实现工厂仪表化。在六七十年代出现集中数字控制,但是由于信号抗干扰能力弱和当时的数字计算机技术还不发达,一旦出现计算机故障,则会造成整个系统的瘫痪。
4、后来又陆陆续续出现集散控制和分布式网络控制技术。在控制技术发展过程中,控制策略和算法也经历了由简单的PID控制到复杂的串级控制、前馈控制、选择性控制等,一直到现在,出现了先进控制算法,比如解耧控制、预测控制、模糊控制、自适应控制等。7FPGA是一种在GAL(通用阵列逻辑)和PAL(可编程阵列逻辑)的基础之上发展起来的可编程逻辑器件。它既继承了通用阵列逻辑器件的资源丰富、适用范围广的优点,又具备可编程逻辑器件的可编程特性,而且它内部资源的集成度更高,可实现的逻辑功能更强,编程配置的方式更灵活,适合于实现时序逻辑电路。从而在系统设计中,可以减少芯片的
5、使用数量,缩小系统的体积,降低整体能源的消耗,提高系统的性能指标与可靠性,并且由于FPGA在线可编程的特点,使得其在使用上更方便,极大的降低了设计的风险。FPGA器件采用标准化结构,体积小,集成度高,功耗低,速度快,可无限次反复编程,因此成为科研产品开发及其小型化的首选器件,且应用极为广泛。使用FPGA来控制数字温度传感器DS18B20是一个非常好的选择。DS18B20是单总线式的数字温度传感器。具有线路简单,体积小的特点。DS18B20支持“一线总线”接口,信息经过一条线进出,完成读写功能,另两条线为电源和地线。测量得到的数据是数字量,不需要经
6、过模数转换,从而大大简化了电路。1DS18B20的读写方式7由于DS18B20是采用一根I/O总线读写数据,因此DS18B20对读写数据位有严格的时序要求。DS18B20遵循相应的通信协议从而保证数据传输的正确性和完整性。该通信协议定义了多种信号时序:初始化时序、读时序、写时序。每一次命令和数据传输都是从主机启动写时序开始,如果要求从机回送数据,在写命令后,主机需启动读时序接收数据。所有的读、写时序至少需要60μs,且每两个独立的时序之间至少需要1μs的恢复时间。数据和命令的传输都是低位优先。DS18B20有严格的时序控制:1)当主机要生成一个写
7、0时隙,必须把数据线拉到低电平并保持60μs。主机要生成一个写1时隙,必须把数据线拉低到低电平然后释放,在写时隙开始后的15μs内允许数据线拉到高电平,如图1所示。2)当从DS18B20读取数据时,主机把数据线从高电平拉低到低电平并保持1μs,然后释放总线。来自DS18B20的输出数据在下降沿后15μs有效。在读取数据结束时I/O引脚应拉回到高电平。所有时间最短维持期限为60μs,如图2。完成一位传输的时间为一个时隙,因为读写0或1都需要70μs,所以设置时序的一个时隙是70μs。对FPGA的时钟进行分频,输入时钟频率20MHz,经过20分频得到
8、1MHz,周期为1μs,以70个周期为一个时隙进行编程。程序中使用两个计数器num和count,num位始终计数器,1μs计一个,70个