ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:156.41KB ,
资源ID:3604349      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3604349.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于FPGA的温度传感器系统资料.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于FPGA的温度传感器系统资料.docx

1、基于FPGA的温度传感器系统资料湖北科技学院计算机学院FPGA原理及应用课程设计课设题目: 温度传感器系统院 系: 计算机科学与技术专 业: 物联网工程学生姓名:学 号: 学生姓名:学 号: 学生姓名:学 号: 学生姓名:学 号: 指导教师: 2014 年 12 月一 课程设计目的 温度是一种最基本的环境参数,人们的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:传统的分立式温度传感器;模拟集成温度传感器;智能集成温度传感器。目前,国际上新型温

2、度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。本文将介绍采用智能集成温度传感器DS18B20,并以FPGA为控制器的温度测量装置的硬件组成和软件设计,用液晶来实现温度显示。二 课程设计题目描述和要求2.1课程设计题目描述这次基于FPGA温度监测系统设计的课程设计由总体框架构成下,各个部分模块的拼接与联系,在Quartus软件的基础上实现温度监测的功能。首先硬件由DS18B20温度传感器,1602液晶,发光二极管,按键等组成;软件部分由二分频电路,键盘电路和弹跳消除电路组成;最后将硬件和软件合理的结合形成温度监测系统。该实验采用由总到分再到总的实验模式,在总体思路下各硬件电

3、路的实现以及软件电路的辅助之后再总的合并,即完成该课程设计。其中软件的形成需要我们熟悉掌握Quartus软件,由原理图程序编写程序编译程序修改再次编译管脚定义程序下载程序加载硬件测试的过程。2.2温度传感器检测标准及技术1、测量准确度:0.01级;分辨率0.1uV和0.1m;2、扫描开关寄生电势:0.4V;3、温度范围: 水槽:(室温+595) 油槽:(95 300) 低温恒温槽:(-80 100) 高温炉:(3001200);4、控温稳定度:优于0.01/10min(油槽、水槽、低温恒温槽);0.2/min(管式检定炉);5、总不确定度:热电偶检定,测量不确定度优于0.7,重复性误差0.25

4、;热电阻检定测量不确定度优于50mk,重复性误差10mk;6、工作电源:AC220V10%,50Hz,并有良好保护接地;三 课程设计报告内容3.1 设计方案(1) 查阅相关文献资料,熟悉所选FPGA芯片及温度传感器(2)总体设计方案规划(3)系统硬件设计,熟悉AD转换原理及过程,温度传感器与FPGA芯片的硬件接口实现及温度显示。(4)系统软件设计,包括温度的AD转换及显示的软件实现,用VHDL语言编程。(5)设计心得体会及总结。3.2 设计方案论证有许多客观需求促进了FPGA芯片的设计改进。首先,便携式的嵌入式系统往往需要电池供电。为降低功耗,FPGA芯片已被特殊设计成较小的核,从而延长了电池

5、的使用时间。高的代码密度是嵌入式系统的又一个重要需求。由于成本问题和物理尺寸的限制,嵌入式系统的存储器是很有限的。所以,高的代码密度对于那些只限于在板存储器的应用是非常有帮助的。 另外,嵌入式系统通常都是价格敏感的,因此一般都使用速度不高、成本较低的存储器。FPGA芯片不是一个纯粹的RISC体系结构,这是为了使它能够更好的适应其主要应用领域嵌入式系统。在某种意义上,甚至可以认为FPGA芯片的成功,正是因为它没有在RISC的概念上沉入太深。现在系统的关键并不在于单纯的处理器速度,而在于有效的系统性能和功耗。 在本系统的设计过程中,根据嵌入式系统的基本设计思想,系统采用了模块化的设计方法,并且根据

6、系统的功能要求和技术指标,系统遵循自上而下、由大到小、由粗到细的设计思想,按照系统的功能层次,在设计中把硬件和软件分成若干功能模块分别设计和调试,然后全部连接起来统调。四 硬件各部分工作原理4.1 FPGA芯片简介目前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,可以经过简 单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或

7、者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA一般来说比ASIC(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的FPGA。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上。另外一种方法是用C

8、PLD(复杂可编程逻辑器件备)。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件。与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构,FPGA利用小型查找表(161RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可

9、实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程. FPGA电源要求输出电压范围从1.2V到5V,输出电流范围从数十毫安到数安培。可用三种电源:低压差(LDO)线性稳压器、开关式DC-DC稳压器和开关式电源模块。最终选择何种电源取决于系统、系统预算和上市时间要求。如果电路板空间是首要考虑因素,低输出噪声十分重要,或者系统要求对输入电压变化和负载瞬变做出

10、快速响应,则应使用LDO稳压器。LDO功效比较低(因为是线性稳压器),只能提供中低输出电流。输入电容通常可以降低LDO输入端的电感和噪声。LDO输出端也需要电容,用来处理系统瞬变,并保持系统稳定性。也可以使用双输出LDO,同时为VCCINT和VCCO供电如果在设计中效率至关重要,并且系统要求高输出电流,则开关式稳压器占优势。开关电源的功效比高于LDO,但其开关电路会增加输出噪声。与LDO不同,开关式稳压器需利用电感来实现DC-DC转换。 为确保正确上电,内核电压VCCINT的缓升时间必须在制造商规定的范围内。对于一些FPGA,由于VCCINT会在晶体管阈值导通前停留更多时间,因此过长的缓升时间

11、可能会导致启动电流持续较长时间。如果电源向FPGA提供大电流,则较长的上电缓升时间会引起热应力。ADI公司的DC-DC稳压器提供可调软启动,缓升时间可以通过外部电容进行控制。缓升时间典型值在20ms至100ms范围内。许多FPGA没有时序控制要求,因此VCCINT、VCCO和VCCAUX可以同时上电。如果这一点无法实现,上电电流可以稍高。时序要求依具体FPGA而异。对于一些FPGA,必须同时给VCCINT和VCCO供电。对于另一些FPGA,这些电源可按任何顺序接通。多数情况下,先给VCCINT后给VCCO供电是一种较好的做法。当VCCINT在0.6V至0.8V范围内时,某些FPGA系列会产生上

12、电涌入电流。在此期间,电源转换器持续供电。这种应用中,因为器件需通过降低输出电压来限制电流,所以不推荐使用返送电流限制。但在限流电源解决方案中,一旦限流电源所供电的电路电流超过设定的额定电流,电源就会将该电流限制在额定值以下。对于高速、高密度FPGA器件,保持良好的信号完整性对于实现可靠、可重复的设计十分关键。适当的电源旁路和去耦可以改善整体信号完整性。如果去耦不充分,逻辑转换将会影响电源和地电压,导致器件工作不正常。此外,采用分布式电源结构也是一种主要解决方案,给FPGA供电时可以将电源电压偏移降至最低。在传统电源结构中,AC/DC或DC/DC转换器位于一个地方,并提供多 个输出电压,在整个

13、系统内分配。这种设计称为集中式电源结构 (CPA),见左图。以高电流分配低电压时,铜线或PCB轨道会产生严重的电阻损耗,CPA就会发生问题。 CPA的替代方案是分布式电源结构(DPA),见左图。采用DPA时,整个系统内仅分配一个半稳压的DC电压,各DC/DC转换器(线性或开关式)与各负载相邻。DPA中,DC/DC转换器与负载(例如FPGA)之间的距离近得多,因而线路电阻和配线电感引起的电压下降得以减小。这种为负载提供本地电源的方法称为负载点(POL)。 目前主流的FPGA仍是基于查找表技术的,已经远远超出了先前版本的基本性能,并且整合了常用功能(如RAM、时钟管理和DSP)的硬核(ASIC型)

14、模块。如图1-1所示(注:图1-1只是一个示意图,实际上每一个系列的FPGA都有其相应的内部结构),FPGA芯片主 要由7部分完成,分别为:可编程输入输出单元、基本可编程逻辑单元、完整的时钟管理、嵌入块式RAM、丰富的布线资源、内嵌的底层功能单元和内嵌专用硬件模块。FPGA基本特点:1)采用FPGA设计ASIC电路(专用集成电路),用户不需要投片生产,就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC电路的中试样片。 3)FPGA内部有丰富的触发器和I/O引脚。4)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。5) FPGA采用高速CMOS工艺,功耗低,

15、可以与CMOS、TTL电平兼容。可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据不同的配置模式,采用不同的编程方式。加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。当需要修改FPGA功能时,只需换一片EPROM即可。这样,同一片FPGA,不同的编程数据,可以产生不同

16、的电路功能。因此,FPGA的使用非常灵活。4.2 标准温度测量模块美国 Dallas 半导体公司的数字化温度传感器 DS1820 是世界上第一片支持 一线总线接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的 DS18B20 体积更小、更经济、更灵活。使你可以充分发挥“一线总线”的优点。DS18B20 的主要特性: (1)适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电 (2)独特的单线接口方式,

17、DS18B20 在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20 的双向通讯 (3)DS18B20 支持多点组网功能,多个 DS18B20 可以并联在唯一的三线上,实现组网多点测(4)DS18B20 在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内 (5)温范围55125,在-10+85时精度为0.5 (6)可编程的分辨率为 912 位,对应的可分辨温度分别为 0.5、0.25、0.125和 0.0625,可实现高精度测温(7)在 9 位分辨率时最多在 93.75ms 内把温度转换为数字,12 位分辨率时最多在 750ms 内把温度值转换为数字

18、,速度更快 (8)测量结果直接输出数字温度信号,以一线总线串行传送给 CPU,同时可传送 CRC 校验码,具有极强的抗干扰纠错能力(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。 DS18BCD0引脚功能图下表所示 序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。DS18B20 中的温度传感器可完成对温度的测量,以 12 位转化为例:用 16 位符号扩展的二进制补码读数形式提供,以 0.0625/LSB 形式表达,其中 S 为符号位。

19、 存储在 18B20 的两个 8 比特的 RAM 中,二进制中的前面 5 位是符号位,如果测得的温度大于 0,这 5 位为 0,只要将测到的数值乘于 0.0625 即可得到实际温度;如果温度小于 0,这 5 位为 1,测到的数值需要取反加 1 再乘于 0.0625 即可得到实际温度。 例如+125的数字输出为 07D0H,+25.0625的数字输出为 0191H,-25.0625的数字输出为 FF6FH,-55的数字输出为 FC90H。4.3 RS-232串口通信模块硬件电路和PC机之间采用RS-232串口通信技术,通信芯片采用MAX232。该芯片只需+5V供电,内部集成电平转换电路,外围电路

20、简单,只需3根线就能完成半双工通信,且传输可靠。STC89C52有专门的串口通信引脚RXD、TXD。本系统中采用的STC89C52的Timer2作为串行数据传输的波特率发生器。4.4 LCD1602液晶显示 LCD1602液晶显示实物图如右图2.1所示工业字符型液晶,能够同时显示16x02即32个字符。(16列2行) 注:为了表示的方便 ,后文皆以1表示高电平,0表示低电平。1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距

21、和行间距的作用,正因为如此所以他不能显示图形(用自定义CGRAM,显示效果也不好)n1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。n目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 LCD1602液晶显示管脚功能如下图2.2所示1602采用标准的16脚接口,其中:第1脚:VSS为电源地。第2脚:VDD接5V电源正极。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可

22、以通过一个10K的电位器调整对比度)。 图2.2 LCD1602管脚功能 第4脚:RS为寄存器选择,高电 平1时选择 数据寄存器、低电平0时选择指令 寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端。第714脚:D0D7为8位双向数据端。第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。1602LCD的特性:+5V电压,对比度可调;内含复位电路;提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能;有80字节显示数据存储器DDRAM;内建有192个5X7点阵的字型的字符发生器CGROM

23、; 8个可由用户自定义的5X7的字符发生器CGRAM。五 系统电路原理框图从该硬件原理框以及电路原理图的设计可以看出基于温度监测系统的设计由LCD1602液晶显示和DS18B20温度传感器通过FPGA芯片组成的系统实现温度检测功能。六 软件设计6.1 软件原理框图基于温度监测系统的软件原理框图如下图6.1所示图6.1 软件原理框图6.2 时序分析本部分主要完成LCD1602初始化、DS18B20的初始化、从DS18B20读取数据、向DS18B20写数据及温度转化等子程序的编写,此外在进行程序的编写时一定要严格保证读写时序的正确性,否则无法读取测温结果,其初始化时序和写时序的程序分别如下:初始化

24、时序包括一个主机发出的复位脉冲以及从机的应答脉冲这一过程,如图所示复位脉冲是一个480960us的低电平然后释放总线,将总线拉至高电平,时间持续1560us之后从机开始向总线发出一个应答脉冲,该脉冲是一个60240us的低电平信号,表示从机已准备好,在初始化过程中主机接收脉冲的时间最少为480us。 DSl8820的访问步骤为:先进行初始化(Initialization),然后发送ROM命令,最后发送Function功能命令对DSl8820访问必须通过上述步骤完成初始化命令使主设备知道从设备是在总线上并可以进行访问ROM命令可以使主设备知道有多少和什么类型的从设备连接在总线上并且判断是否超过温

25、度报警值共有5种ROM命令,分别是READROM(33H)、MATCH ROM(55H)、SEARCHROM(FOH)、SKIP ROM(CCH)、ALARM SEARCH命令(ECH)主设备可以通过功能命令来对DSl8820内部存储器进行读写有6种功能命令,分别是CONVERT(44H)、WRITE SCRATCHPAD(BEH)、READSCRATCHPAD(4EH)、COPYSCRATCHPAD(48H)、RECALL E2(B8H)、读电源供电方式(B4H)DSl8820的单线通信功能是分时完成的,它有严格的时隙要求七 误差分析本系统中的标准温度由DS18B20输出的数字量通过曲线拟合

26、转换为温度值得到。为了尽量减小误差,采用3次曲线拟合,因为0 100 本身温度范围比较小,所以就将0 100 作为一个温度段,拟合成1条曲线。具体实现由1stOpt软件完成。1stOpt在非线性拟合、参数估算等优化领域处于领先地位。标准温度测量模块在35 40 范围内测试结果如表1所示。标准误差:八 程序设计8.1 主要代码Library IEEE;Use IEEE.Std_Logic_1164.All;Entity wendu isPort(led : out std_logic_vector(0 to 16);wireout : inout std_logic;clk : in std_l

27、ogic;rst : in std_logic );End entity b;Architecture init of wendu istype init_states is (s00,s0,s1,s2,s3,s4,s5,s6,s7,w0,w1,w00,w01,read0,read1,read2,read3);signal state : init_states;signal i : integer Range 0 to 1000000;signal reset : std_logic;beginprocess (rst,wireout,clk)variable i : Integer Ran

28、ge 0 to 1000;variable flag: Integer Range 0 to 200;variable light: Integer Range 0 to 16;begin if rst = 0 then state = s00; wireout flag:=0; state wireout = 0; -初始化18b20 -主机拉底总线 reset =1; state reset =0; if (i = 500) then -延时500us wireout = Z; -释放总线 reset =1; state reset =0; if (i = 100) then -等待100

29、us reset =1; state if (wireout = 0) then -若18b20拉低总线,初始化成功 state =s4; led(16)=1; -led16灯亮 elsif (wireout =1) then -否则,初始化不成功,返回S0 state reset=0; if (i = 400) then -再延时400us reset=1; state -写数据 if(flag = 0 ) then flag:=1;state =w0; -cch elsif (flag = 1 ) then flag:=2;state =w0; elsif (flag = 2 ) then flag:=3;state =w01;wireout=0; elsif (flag = 3 ) then flag:=4;state =w01;wireout=0; elsif (flag = 4 ) then flag:=5;state =w0; e

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1