电信专业 毕业论文 基于fpga温度传感器ds18b20的verilog设计_第1页
电信专业 毕业论文 基于fpga温度传感器ds18b20的verilog设计_第2页
电信专业 毕业论文 基于fpga温度传感器ds18b20的verilog设计_第3页
电信专业 毕业论文 基于fpga温度传感器ds18b20的verilog设计_第4页
电信专业 毕业论文 基于fpga温度传感器ds18b20的verilog设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆师范大学院系物理与电子工程学院时间专业电子信息科学与技术年级2009级培养层次学生姓名学号成绩基于FPGA温度传感器DS18B20的VERILOG设计物理与电子工程学院电子信息科学与技术(职教)专业2009级邓桂英指导老师何传红摘要本文介绍了数字温度传感器DS18B20的数据接口和特点,阐述了一种基于现场可编程门阵列FPGA控制DS18B20的方法。使用FPGA作为控制器,严格控制DS18B20的时序,在单总线上实现读写功能,完成测量数字温度的功能。将测量的二进制数转换为BCD码,并通过数码管显示。系统设计使用VERILOG语言。关键词现场可编程门阵列;数字温度传感器;硬件描述语言目录0引言41DS18B20的读写方式411初始化时序412写时序513读时序52温度控制模块63控制DS18B20进行温度测量64电源连接75温度显示部分86软件设计861PROTEUS软件简介962程序流程图设计963实验内容与步骤107结论12参考文献130引言温度检测是数据采集的基本任务。传统的采集方式多为使用温度传感器采集模拟量,然后通过模/数A/D转化得到数字量。模拟数字采集的方法稳定性较差,抗干扰能力较弱,电路连接数量多。随着电子技术的发展,在很多应用中,数字温度传感器已经取代模拟温度传感器。数字温度传感器以其线路简单、编程设置灵活、工作范围宽、成本低廉、转换精度高、测量速度快、适用于微型封装,结构简单,无需温度校准和调试,可直接连接到微处理器,在实际应用中广受欢迎。DS18B20是单总线式的数字温度传感器。具有线路简单,体积小的特点。DS18B20支持/一线总线0接口,信息经过一条线进出,完成读写功能,另两条线为电源和地线。测量得到的数据是数字量,不需要经过模数转换,从而大大简化了电路。FPGA是现场可编程门阵列FIELDPROGRAMMABLEGATEARRAY,20世纪80年代开始使用的大规模可编程数字集成电路。FPGA充分利用了计算机辅助设计技术进行器件的开发与应用,不仅能自行设计专用集成电路芯片,还可以在计算机上进行功能仿真和实时仿真,及时发现问题,调整电路,改进设计方案。而且,FPGA器件采用标准化结构,体积小,集成度高,功耗低,速度快,可无限次反复编程,因此成为科研产品开发及其小型化的首选器件,且应用极为广泛。使用FPGA来控制数字温度传感器DS18B20是一个非常好的选择。1DS18B20的读写方式由于DS18B20是采用一根I/O总线读写数据,因此DS18B20对读写数据位有严格的时序要求。DS18B20遵循相应的通信协议从而保证数据传输的正确性和完整性。该通信协议定义了多种信号时序初始化时序、读时序、写时序。每一次命令和数据传输都是从主机启动写时序开始,如果要求从机回送数据,在写命令后,主机需启动读时序接收数据。所有的读、写时序至少需要60US,且每两个独立的时序之间至少需要1US的恢复时间。数据和命令的传输都是低位优先。DS18B20有严格的时序控制11初始化时序初始化时序中,控制器发送一个480US960US的低电平的复位信号,然后释放总线,也就是总线为高电平,此时,控制器准备接收DS18B20的反应信号,当总线释放后,如果存在DS18B20,那么DS18B20将在1560US内发送一个持续60240US的反应信号。如图1所示。图1初始化时序图12写时序(因为本设计总线上只挂了一个DS18B20,所以不用读取64位序列号,直接发送忽略ROM命令SKINROM)写时序有写0和写1时序,首先将总线拉低电平,拉低后15US之内必须把所要向DS18B20写的数据传到总线上,DS18B20将在15US60US内采样总线上的数据,如果为高则写1,为低则写0;写完一次后释放总线。每两次写数据之间时隙要大于1US。当主机要生成一个写0时序,必须把数据线拉到低电平并保持60US。主机要生成一个写1时序,必须把数据线拉低到低电平然后释放,在写时序开始后的15US内允许数据线拉到高电平,如图2所示。图2写时序图13读时序当从DS18B20读取数据时,主机把数据线从高电平拉低到低电平并保持1US,然后释放总线。来自DS18B20的输出数据在下降沿后15US有效。在读取数据结束时I/O引脚应拉回到高电平。所有时间最短维持期限为60US,如图3所示。图3读时序图完成一位传输的时间为一个时序,因为读写0或1都需要70US,所以设置时序的一个时序是70US。对FPGA的时钟进行分频,输入时钟频率20MHZ,经过20分频得到1MHZ,周期为1US,以70个周期为一个时序进行编程。2温度控制模块本设计采用ALTERA公司的EP2C8Q208C8CYCLONE芯片制作相应的硬件电路。温度控制模块是与DS18B20的接口,用来控制DS18B20的操作,并获得数字温度值。DS子模块的功能是向DS18B20输出控制命令,并将DS18B20测量得到的数字温度值输出。其中,D端口用来向DS18B20输出控制信号CONT为三态门INST3的使能信号,当D向DQ输出控制信号时,CONT1使能,当DQ向FPGA返回信号时,CONT0,为高阻态。N和C为时间计数器。电路符号如图4所示。图4温度控制模块3控制DS18B20进行温度测量DS18B20的ROM中有64位序列号8位产品家族编号、48位ID号、8位CRC是出厂前刻好的,这64位序列号具有唯一性,每个DS18B20的64位序列号均不相同。本文以单一温度传感器的控制为例,所以使用SKIPROM跳过ROM命令,不需要读取64位序列号。DS18B20加电之后,处于空闲状态。首先需要发送复位信号7个时序时间低电平,等待1个时序后检测总线,如果是低电平则等待6个时序,之后发出SKIPROM跳过ROM命令,8个时序发送二进制码为11001100。发送CONVERTT44H,01000100命令启动温度测量和模拟到数字的转化。温度转换需要500MS,当转换结束后,DS18B20又回到空闲状态,温度数据是以带符号位的16BIT补码储存在温度寄存器中。再次发送复位,接受存在信号,发送跳过ROM命令。发送读暂存器命令READSCRATCHPAD(BEH,10111110之后开始接受16位的数据。对DS18B20的储存器的操作步骤如表1所示。表1DS18B20的操作步骤状态数据时隙内容发送RESET7复位脉冲480LS以上低电平接收PRESENT7存在脉冲发送CCH8SKIPROM跳过ROM命令发送44H8CONVERTT温度变换接收8一个字节发送RESET7复位脉冲接收PRESENT7存在脉冲发送CCH8SKIPROM跳过ROM命令发送BEH8READSCRATCHPAD读暂存器接收1616个字节4电源连接DS18B20可使用寄生电源,可以在I/O引脚处于高电平时“偷”些能量,储存在电容中供正常使用,但进行精确转换时需要I/O引脚保持大电流供电,这样对FPGA芯片引脚造成很大压力,所以使用VDD引脚接外部电源,如图4所示。图4DS18B20电源连接图DS18B20进行温度转换需要很大电流,工作最大电流可达1MA。使用VDD引脚接外部电源供电的优点在于I/O线上不需要在温度变换期间保持高电平。这样就可以有效的保护FPGA芯片,也可在单总线上放置多数目的DS18B20。使用外部电源,通过发出SKIPROM跳过命令,然后发出CONVERTT变换命令,可以完成温度变换。5温度显示部分DS18B20采集到温度信息是带符号位的16BIT补码,高5位的数值全为S,温度为正值时S0,负值时S1中间10位是数字位,从55到125最低1位是小数位,最小分辨率05E。设计一个数字温度子模块,将中间10位的二进制数转换为3位BCD码表示的十进制数,再加1位小数位,共选取4个数码管用来显示从550E到1250E的温度数字,如表2所示。表2数码管显示表4位3位2位1位1250000500000055506软件设计61QUARTUSII软件简介QUARTUSII是ALTERA公司的综合性PLD/FPGA开发软件,支持原理图、VHDL、VERILOGHDL以及AHDL(ALTERAHARDWAREDESCRIPTIONLANGUAGE)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整PLD设计流程。QUARTUSII可以在XP、LINUX以及UNIX上使用,除了可以使用TCL脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点,对第三方EDA工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方EDA工具。此外,QUARTUSII通过和DSPBUILDER工具与MATLAB/SIMULINK相结合,可以方便地实现各种DSP应用系统;支持ALTERA的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。ALTERAQUARTUSII作为一种可编程逻辑的设计环境,由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。功能QUARTUSII提供了完全集成且与电路结构无关的开发包环境,具有数字逻辑设计的全部特性,ALTERA的QUARTUSII可编程逻辑软件属于第四代PLD开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于INTERNET的协作设计。QUARTUS平台与CADENCE、EXEMPLARLOGIC、MENTORGRAPHICS、SYNOPSYS和SYNPLICITY等EDA供应商的开发工具相兼容。改进了软件的LOGICLOCK模块设计功能,增添了FASTFIT编译选项,推进了网络编辑性能,而且提升了调试能力。支持MAX7000/MAX3000等乘积项器件。62程序流程图设计FPGA控制DS18B20实现温度转换的程序流程如图5所示。图5程序流程图本实验采用状态机控制各时序。具体请看源码(见附件)。63实验内容与步骤要实现本设计,需要将DF2C8FPGA核心板和EBF2基础实验板连接在一起,同时使能DS18B20模块和数码管模块DS18B20温度传感器使能跳线JP10全部短接,元件安装示意如图6所示(注意方向,半圆形的一边朝板子内部,平面朝外,和板上的图示一致)。图6温度传感器安装和使能图示步骤如下1、打开QUARTUSII软件,界面如图7所示图7QUARTUSII软件界面2、创建程序有三个V文件,LED_CTLV是数码管显示功能模块,DS18B20_CTLV是温度传感器的控制模块,TEMPV为顶层模块,实例化了前面两个模块,并将采集的温度值送至数码管进行显示。如图8所示图8创建程序3、编译无误后,下载调试,如图9所示图9下载程序4、下载配置文件后,可在数码管上观察到带一位小数的温度数值。实验效果如图10所示图11下载后现象5、如果用手捏住传感器,会发现显示的温度在升高。测温效果如图12所示图12测温效果图示7结论本文利用ALTERA公司的EP2C8Q208C8CYCLONE芯片为核心,设计出控制DS18B20检测系统,并成功进行了数据检测和显示。通过实验测试表明测量系统能够在室内外环境中良好运行。FPGA器件易于现场编程,实现多重配置,灵活使用,结合数字温度传感器,可以广泛的应用于对温度测量要求高的领域。参考文献1叶刚基于DS18B20温度控制系统的设计J电子测量与仪器学报,2007,26431342徐海军,叶卫东FPGA在高性能数据采集系统中的应用J计测技术,2005,25140433周岳斌基于FPGA的数字温度传感器接口设计J现代电子技术20071251534李钢,赵彦峰1WIRE总线数字温度传感器DS18B20原理及应用J现代电子技术,20052177795DS18B20PROGRAMMABLERESOLUTION1WIREDIGITALTHERMOMETEREB/OLWWWMAXIMICCOM6赵娜,赵刚,于珍珠等基于51单片机

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论