本科毕业论文-基于FPGA的空调控制系统设计.doc_第1页
本科毕业论文-基于FPGA的空调控制系统设计.doc_第2页
本科毕业论文-基于FPGA的空调控制系统设计.doc_第3页
本科毕业论文-基于FPGA的空调控制系统设计.doc_第4页
本科毕业论文-基于FPGA的空调控制系统设计.doc_第5页
已阅读5页,还剩65页未读 继续免费阅读

下载本文档

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

文档简介

优秀毕业论文基于fpga的空调控制系统设计基于fpga的空调控制系统设计作者姓名:专业名称:电子科学与技术摘 要 近几年来,随着中国科学技术的进步和人民生活水平的不断提高,各种产业在迅速发展,当然,空调业也包括其中,空调在公共场所,专用场地和普通家庭等场所都广泛应用。但是随着空调数量的增加,相应的负面问题也随之出现,耗能的日益增加已成为我国部分地区能源及电力供需矛盾的主要原因之一,当务之急必须采取有效措施降低空调的能耗。如何降低空调能耗,实现空调自动控制,利用空调改善室内温度,延长空调使用寿命已成为当前首要课题。本文介绍了空调控制器的设计,提出了一种采用现场可编程门阵列器件fpga实现空调控制器的方法,该设计采用采用altera公司高性价比fpga,cycloneiv 系列ep4ce6e22c8做主控制器,使用高精度的温度传感器ds18b20采集环境温度,lcd1602用于显示控制温度情况,并用按键调节控制温度和定时,led灯模拟空调电机状态,本设计给出了用verilog hdl语言实现高效率空调控制器的设计,最后给出了其在fpga硬件上实现 关键词:空调控制器 fpga cycloneiv verilog hdl - ii -abstractin recent years , with the continuous improvement of scientific and technological progress and the chinese peoples living standards , the rapid development of various industries in the course, which also includes the air-conditioning industry , air conditioners are widely used in public places , special venues and ordinary families and other places. however, with the increasing number of air-conditioning , the corresponding negative issues appeared, increasing energy consumption has become one of the energy and electricity supply and demand in some areas of the main reasons , it is imperative to take effective measures to reduce the energy consumption of air conditioning . how to reduce air conditioning energy consumption for air conditioning automatic control , the use of air conditioning to improve the indoor temperature and prolong the life of air conditioning has become a priority issue.this paper describes the design of air conditioning controller presents a method using field programmable gate array device fpga controller for air conditioning , which is designed using alteras high- cost fpga, cycloneiv series ep4ce6e22c8 master controller, using high-precision temperature collecting the ambient temperature sensor ds18b20 , lcd1602 display control for temperature conditions , with the temperature and timing adjustment control buttons , led lights simulate air-conditioned motor state , this design gives the verilog hdl language used to achieve high efficiency air conditioning controller design , finally its implementation in fpga hardware关键词:空调控制器 fpga cycloneiv verilog hdl 温度传感器 lcd1602keywords: air conditioning controller, fpga, cycloneiv, verilog hdl- iii -目录摘要iabstractii目录iii前言11 fpga的概述21.1 fpga的特点21.2 本设计中使用的fpga具有的特点32 系统方案论证与确定42.1方案的选择4方案1:4方案2:52.2方案论证与确定63 硬件电路设计73.1硬件整体结构及原理73.2电源部分83.3时钟电路93.4按键电路93.5温度传感器ds18b20的特点93.6 ds18b20的测温原理103.7程序下载124.软件设计134.1顶层结构框图:144.2 ds18b20的状态机框图:154.3 lcd1602的状态机框图:175 modelsim仿真及仿真195.1 modelsim介绍195.2 书写testbench激励信号205.3 时钟模块仿真205.3.1 时钟模块的激励信号testbench205.3.2 时钟仿真波形及分析225.4 温度数据处理及空调电机仿真235.4.1 led模块激励信号testbench235.4.2 led模块仿真结果及分析256 实际运行结果及总结266.1 配置管脚266.2 烧录程序276.3运行结果分析27致谢29参考文献30附件 程序代码31顶层模块veriloghdl代码:31ds18b20模块veriloghdl代码:33lcd1602模块veriloghdl代码:48clock模块veriloghdl代码:55按键模块veriloghdl代码:57led模块veriloghdl代码:59- v -前言 本论文主要任务是设计基于fpga的空调控制系统的设计。本课题的设计采用了温度传感器ds18b20作为前端温度采集,采用altera公司高性价比fpga:cycloneiv 系列ep4ce6e22c8做主控制器。控制器部分在quartus ii 平台使用veriloghdl语言编写,主体程序采用了状态机作为主要控制方式。并使用modelsim进行软件功能仿真,排除设计错误,提高软件设计效率。硬件主要有五大模块:温度设置模块、定时模块、lcd显示模块、分频模块、fpga控制器模块。最后实现使用fpga比较设置温度与测量所得温度,并发出指令给空调电机执行部分,使用led灯模拟,根据按键设置温度实现升温或降温,当设定温度与测量温度相等时,不执行调节温度功能。另外要能根据输入数据的变化和温度传感器测量得到的温度同步变化lcd上显示。该课题的研究将有助于采用fpga的系列产品的开发。同时可以大大缩短fpga的开发时间。另外,由于模块的易用性,也将使得更多的采用fpga产品应用于温控领域,为行业和我们的生活带来新的变化。1 fpga的概述1.1 fpga的特点fpga(fieldprogrammable gate array),即现场可编程门阵列,它是在pal、gal、cpld等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(veriloghdl或vhdl)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至fpga上进行测试,是现代 ic 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如and、or、xor、not)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的fpga里面,这些可编辑的元件里也包含记忆元件例如触发器(flipflop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把fpga内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品fpga的逻辑块和连接可以按照设计者而改变,所以fpga可以完成所需要的逻辑功能。fpga采用了逻辑单元阵列lca(logic cell array)这样一个概念,内部包括可配置逻辑模块clb(configurable logic block)、输出输入模块iob(input output block)和内部连线(interconnect)三个部分。fpga的基本特点主要有: (1) 采用fpga设计asic电路,用户不需要投片生产就能得到合用的芯片; (2) fpga可做其他全定制或半定制asic电路的试样片; (3) fpga内部有丰富的触发器和io引脚; (4) fpga是asic电路中设计周期最短、开发费用最低、风险最小的器件之一; (5) fpga采用高速chmos工艺,功耗低,可以与cmos、ttl电平兼容。可以说,fpga芯片是小批量系统提高系统集成度和可靠性的最佳选择之一。目前fpga的品种很多,有xilinx的xc系列、ti公司的tpc系列、altera公司的fiex系列等。fpga是由存放在片内ram中的程序来设置其工作状态的。因此,工作时需要对片内的ram进行编程。用户可以根据不同的配置模式采用不同的编程方式。加电时,fpga芯片将eprom中的数据读入片内编程ram中,配置完成后,fpga进入工作状态。掉电后,fpga恢复成白片,内部逻辑关系消失。因此,fpga能够反复使用。fpga的编程不需专用的fpga编程器,只需用通用的eprom、prom编程器即可。当需要修改fpga功能时,只需换一片eprom即可。这样,同一片fpga、不同的编程数据,可以产生不同的电路功能。因此,fpga的使用非常灵活。 1.2 本设计中使用的fpga具有的特点 (1) altera新的cycloneiv fpga器件系列扩展了cyclone系列ep4ce6e22c8,成本最低,功耗最低的fpga。 (2) 具有6272个逻辑单元(le)。 (3) 50mhz时钟输入。 (4) 高达270kbits 嵌入式存储器。 (5) 15个嵌入式18x18乘法器。 (6) 2通用pll锁相环。 (7) 8个用户i/o块,提供91个i/0口。2 系统方案论证与确定 2.1方案的选择目前大多数的的空调温度控制系统都采用了以单片机作为控制器的设计,但是随着可编程逻辑器件的发展,家用电器的控制部分也越来越多地使用可编程逻辑器件来实现,所以下面提供了以单片机和可编程逻辑器件(fpga)为核心控制器件的2个方案进行选择。方案1: 该方案采用的是at89c51单片机为核心控制器件,用它来处理各个单元电路的工作以及检测其运行情况。首先通过温度传感器对空气进行温度采集,将采集的温度信号作a/d转换,使其模拟信号转变成数字信号,然后输给单片机,再由单片机控制显示,并比较采集的温度与设定的温度是否一致,然后驱动空调机的加热或降温循环对空气进行处理,从而模拟实现空调温度控制单元的工作情况,本设计中我们采用的是ad590温度传感器,通过温度系统采集电路采集相关温度数值,再由ad0809组成的a/d转换电路进行转换,最终的到数字信号,将其直接输给单片机,然后由单片机机根据内部程序判断,执行相关控制程序,驱动个单元电路的工作。其方框图如图2.1所示:按键输入 数码管显示adc0809a/d转换器at89c51 控制器 空调电机ad950温度传感器图2.1方案一方案2: 该方案以fpga为核心控制器件,采用数字温度传感器ds18b20进行温度采集,将采集到的温度数字直接以数字信号传输给fpga控制器,控制器通过比较采集的温度和用户设定的温度来做出发送降温还是加热的控制信号给空调机。同时通过fpga芯片还可以实现定时和控制显示,使用lcd1602将传感器测量到的温度,设定的温度、定时时长都显示出来。其方框图如下图2.2所示:按键输入lcd1602fpga控制器ds18b20空调电机图 2.2 方案二2.2方案论证与确定 通过比较两个方案,方案1采用单片机为核心控制器件,该方案的优点是容易控制,系统原理比较简单,电路可靠,容易实现控制目的。但是该方案中的温度测量电路,译码电路复杂,容易产生误差和由电路复杂而导致的设备使用寿命低等一系列问题。 方案2采用的是以fpga为核心控制器件,同时温度传感器采用的是高精度的数字温度传感器ds18b20,通过该传感器采集的温度信息不需要经过信号放大和a/d转换直接以数字信号的形式传递给控制芯片,使得电路的连接大大的简化了,减小了电路复杂所带来的误差等问题。而且fpga芯片所具有的可编程修改的特点以及其强大的逻辑功能都是单片机难以达到的,这样不但给设计过程中带来一系列的便利,而且在空调的功能日趋人性化和智能话的发展趋势下,以fpga为控制器件的设计无疑更加具有市场竞争力。 所以同过上面的对两个方案的比较论证,本次设计采用方案2来实现。3 硬件电路设计3.1硬件整体结构及原理硬件电路主要包括电源电路、石英晶振、温度传感器、fpga控制器、lcd1602显示、按键组成。本设计采用altera公司高性价比fpga,cycloneiv 系列ep4ce6e22c8做主控制器,温度传感器采用高精度数字温度传感器ds18b20。整个电路的工作原理是由50mhz石英晶振fpga提供时钟信号,数字式温度传感器ds18b20将采集的温度信息以数字信号的形式直接传递给fpga芯片,用户也可通过按钮根据需要自己设定温度值。采集温度和设定温度都送给fpga控制器,控制器通过对两个温度值的比较做出判断,当测量温度大于设定温度时就想空调的电机发出制冷的控制信号;当测量温度小于设定温度时,则发出一加热的控制信号 ;当两者相等时则不制冷也不加热。通过执行机构工作状态的转换来达到改变环境温度的目的。同时,fpga还可以对设定温度进行定时,并将定时的时间、测量温度和设定温度的值通过lcd1602显示出来。整个硬件的框图如图3.1所示:fpga控制器ds18b20led灯闪烁仿真空调电机机lcd1602电源管理50mhz时钟输入按键输入jtag 下载图 3.1 硬件框图3.2电源部分 使用dc/dc电源芯片ams1117系列的11173.3v、11172.5v、11171.2v,分别给fpga提供3.3v i/0口电压, 2.5v辅助电压和1.2v内核电压。 ams1117是一个正向低压降稳压器,在1a电流下压降为1.2v。固定输出电压为1.5v、1.8v、2.5v、2.85v、3.0v、3.3v、5.0v和可调版本,具有 1的精度。ams1117内部集成过热保护和限流电路。其电路原理图如图3.2所示:图 3.2 电源电路 3.3时钟电路 为系统提供50mhz的稳定时钟,如图3.3所示。 图 3.3 时钟电路3.4按键电路 通过一个10k的上拉电阻使i/o保持确定状态,如图3.5所示。图3.5 按键电路3.5温度传感器ds18b20的特点 ds18b20是美国dalls公司生产的单线数字温度传感器。它具有微型化、低功耗、高性能、抗干拢能力强、易配微处理器等优点。特别适合于构成多点温度测控系统。可直接将温度转化成串行数字信号供微机处理,而且每片ds18b20都有唯一的产品号并可存入其rom中。以便在构成大型温度测控系统时在单线上挂接任意多个ds18b20芯片。ds18b20的性能特点如下: (1)独特的单线接口引脚进行通信; (2)多个ds18b20可以并联在唯一的三线上,实现多点组网功能; (3)无须外部器件; (4)可以通过数据线供电,电压范围3.05.5v; (5)零待机功耗; (6)温度以9或12位数字读出; (7)用户可定义的非易失性温度报警设置; 报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。3.6 ds18b20的测温原理经过单线接口访问ds18b20的协议如下: 1、初始化 2、 rom操作 3、ram存贮器操作 4、处理数据 每次访问单总线器件,必须严格遵守这个协议(即操作序列),如果出现序列混乱,则单总线器件不会响应主机。但是,这个准则对于搜索rom 命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。 初始化 基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道总线上有从机设备且准备就绪。 rom操作 在主机检测到应答脉冲后,就可以发出rom 命令。这些命令与各个从机设备的唯一64 位rom 代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。这些命令还允许主机能够检测到总线上有多少个从机设备以及其设备类型,或者有没有设备处于报警状态。从机设备可能支持5 种rom 命令(实际情况与具体型号有关),每种命令长度为8 位。主机在发出存贮器操作命令之前,必须送出合适的romram存贮器操作 在主机发出rom 命令,以访问某个指定的ds18b20 ,接着就可以发出ds18b20 支持的某个存贮器操作命令。数据处理 数据处理是当主机通过前三步的通信,在从机上得到了需要的数据,再进行进一步处理的环节,这部分根据用户的需要而定。 电路原理图如图3.6:图 3.6 温度传感器电路3.7程序下载 通过jtag接口电路,使用altera的usb blaster程序下载器,通过计算机的usb接口可对altera的fpga/cpld以及配置芯片进行编程、调试等操作,对程序烧录的fpga里面。 图 3.6 程序下载电路4.软件设计在quartus ii 11.0平台使用veriloghdl语言编写,主体程序采用了状态机作为主要控制方式。程序中主要使用了状态机对ds18b20进行了时序控制,通过一些命令使ds18b20采集获得温度值传送到fpga控制器。最后将数据送给lcd显示电路进行显示,从而可以实时地观察到温度变化,同时led闪烁进行模拟空调电机运作。编写好verilghdl代码后,在modelsim 6.5平台上进行前仿真。同时通过modelsim书写testbench,经行rtl级功能仿真。主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。可综合fpga代码是用rtl级代码语言描述的,其输入为rtl级代码与testbench.。在设计的最初阶段发现问题,可节省大量的精力4.1顶层结构框图: 软件设计分为六大模块,顶层模块,ds18b20模块,时钟分频模块,按键输入模块,lcd1602模块,led模块。如图4.1所示:图 4.1顶层结构框图- 65 -4.2 ds18b20的状态机框图:ds18b20模块采用状态机方法设计,然而ds18b20对时序要求比较严格,所以设计中不得不使用非常多的状态来解决这一问题。设计中采用格雷码来进行状态机编码,使用格雷码每个相邻的状态切换只有一个bit的信号跳变,其ds18b20的状态机框图如图4.2所示。/ 格雷码 状态机parameter s00 = 5h00;parameter s0 = 5h01;parameter s1 = 5h03;parameter s2 = 5h02;parameter s3 = 5h06;parameter s4 = 5h07;parameter s5 = 5h05;parameter s6 = 5h04;parameter s7 = 5h0c;parameter write0 = 5h0d;parameter write1 = 5h0f;parameter write00 = 5h0e;parameter write01 = 5h0a;parameter read0 = 5h0b;parameter read1 = 5h09;parameter read2 = 5h08;parameter read3 = 5h18;图4.2 ds18b20的状态机框图 4.3 lcd1602的状态机框图:要实现lcd1602的显示,程序设计同样采用状态机的设计方法,鉴于状态机的个数并不多,这里采用独热码编码机制。使用独热码,状态机中为每一种状态分配一个触发器。只有一个触发器当前设置为高位,其余均设置为低位。其状态机框图如图4.3所示。 /独热码 状态机编码 /parameter idle = 10b000000000,/初始状态,下一个状态为clear clear= 10b000000001, /清屏 set_function= 10b000000010, /功能设置:8位数据接口/2行显示/5*8点 阵字符switch_mode= 10b000000100, /显示开关控制:开显示,光标和闪烁关 闭set_mode = 10b000001000, /输入方式设置:数据读写操作后, 地址自动加一/画面不动shift = 10b000010000, /光标、画面位移设置:光标向左平移一个字符位(光标显示是关闭的,所以实际上设置是看不出效果的)set_ddram1 = 10b000100000, /设置ddram的地址:第一行起始为 0x00(注意输出时db7一定要为1)set_ddram2 = 10b001000000, /设置ddram的地址:第二行为0x40(注 意输出时db7一定要为1)write_ram1 = 10b010000000, /数据写入ddram相应的地址 write_ram2 = 10b100000000; /数据写入ddram相应的地址 图 4.3 lcd1602的状态机框图5 modelsim仿真及仿真5.1 modelsim介绍modelsim是业界最优秀的hdl语言仿真器。 它提供最友好的调试环境,是唯一的单内核支持vhdl和verilog混合仿真的仿真器。是作fpga/asic设计的rtl级和门级电路仿真的首选。它采用直接优化的编译技术、tcl/tk技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护ip核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段。全面支持vhdl和verilog语言的ieee 标准,支持c/c+功能调用和调试。主要特点:rtl和门级优化,本地编译结构,编译仿真速度快;单内核vhdl和verilog混合仿真;源代码模版和助手,项目管理;集成了性能分析、波形比较、代码覆盖等功能;数据流chasex;signal spy;c和tcl/tk接口,c调试。 它支持verilog、vhdl以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在dataflow窗口查看某一单元或模块的输入输出的连续变化等,比quartus自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。5.2 书写testbench激励信号 testbench是一种验证的手段。首先,任何设计都是会有输入输出的。但是在软环境中没有激励输入,也不会对你设计的输出正确性进行评估。那么此时便有一种,模拟实际环境的输入激励和输出校验的一种“虚拟平台”的产生。在这个平台上你可以对你的设计从软件层面上进行分析和校验,这个就是testbench的含义。5.3 时钟模块仿真5.3.1 时钟模块的激励信号testbench本设计验证功能,对时间不进行严格控制,为方便观看仿真结果,在测试文件中将延时调小了。testbench代码如下:timescale 1ps/1ps module user_test_clock; reg clk; reg rst_n; wire 7:0 hour; wire 7:0 min; wire 7:0 second; clock m ( .clk(clk), .rst_n(rst_n), .hour(hour), .min(min), .second(second) ); initial begin clk=0; while(1) #1 clk=clk; /给出时钟激励信号 end initial begin rst_n= 1; #100 rst_n = 0; /给出复位激励信号 #100 rst_n =1; end endmodule5.3.2 时钟仿真波形及分析时钟波形仿真结果如下图5.3所示: clk 表示时钟信号 rst_n 表示复位信号 second 表示秒计数 min 表示分计数 hour 表示小时计数 观察波形,当给出复位信号时,时间全部清零 当秒计数到59秒时,秒计数清零,同时分计数加一; 当分计数到59秒时,分计数清零,同时小时计数加一; 当小时计数到23秒时,小时计数清零;图5.3 时钟仿真波形图5.4 温度数据处理及空调电机仿真 设计中采用4位led灯来模拟空调电机的运转,led0表示空调电机处于待机状态;led2表示空调电机进行升温控制;led3表示空调进行降温控制;led1保留;以上数据位低电平有效。5.4.1 led模块激励信号testbench 本设计验证功能,对时间不进行严格控制,为方便观看仿真结果,在测试文件中将延时调小了。testbench代码如下:timescale 1ps/1ps module user_test_led; reg clk; reg rst_n; reg 15:0data; reg 23:0 t; reg 7:0 s_time; reg 7:0 s_tmp;wire 3:0 led ; led l ( .clk(clk), .rst_n(rst_n), .data(data), .t(t), .s_tmp(s_tmp), .s_time(s_time), .led(led) ); initial begin clk=0; while(1) #10 clk=clk; /给出时钟激励信号 end initial begin rst_n= 1; #200 rst_n = 0; /给出复位激励信号 #20 rst_n =1; end initial begin t=0; /初始化时间 s_time=0; /初始化设置时间 s_tmp=0; /初始化设置温度 data=0; /初始化温度 end initial begin #300 data15:0=16h0240;s_tmp7:0=8h25; /给出信号data和s_tmp #350 data=0; end initial begin #400 data15:0=16h0250;s_tmp7:0=8h25; /给出信号data和s_tmp #450 data=0; end initial begin #500 data15:0=16h0260;s_tmp7:0=8h25; /给出信号data和s_tmp #550 data=0; end initial begin #600 t23:0=24h002200; s_time7:0=8h22; #650 t=0; end endmodule 5.4.2 led模块仿真结果及分析 仿真结果如图5.4所示,clk表示时钟输入信号,rst_n表示复位信号,data表示实际温度数据,s_tmp表示设置的温度值,t表示实时时间,t_time表示设置的定时时间。根据仿真结果,可以得出以下结论: 1、设置温度(t_tmp)为25,当实时温度(data)为24,led结果为1011和1111交替变换,表示led2在闪烁,说明空调电机正在进行升温控制;2、设置温度为25(t_tmp),当实时温度(data)为25,led结果为1110,表示led0长亮,说明空调电机处于待机模式;3、设置温度为25(t_tmp),当实时温度为(data)为26,led结果为0111和1111交替变换,表示led3在闪烁,说明空调电机正在进行降温控制;4、设置定时时间(s_time)为22分,当实时时间(t)为22时, led结果为1111,表示所有的led灯都处于关闭状态,说明空调电机处于关机模式,停止工作;图5.4led模块波形仿真图6 实际运行结果及总结 6.1 配置管脚在quartus ii 11.0中通过pin planner配置好相应管脚。设计中对于ds18b20的数据位设计为上拉电阻,所以在ds18b20的数据位管脚配置时设置为上拉模式。未用引脚需要设定约束,否则会出现未知情况。set_location_assignmentpin_24-toresetset_location_assignmentpin_23-toclkset_location_assignmentpin_32-todqset_location_assignmentpin_89-tokey0set_location_assignmentpin_90-tokey1set_location_assignmentpin_91 -tokey2set_location_assignmentpin_25-tokey3set_location_assignmentpin_88-tokey4set_location_assignmentpin_70-toled0set_location_assignmentpin_71-toled1set_location_assignmentpin_72-toled2set_location_assignmentpin_73-toled3set_location_assignmentpin_84-tolcd1set_location_assignmentpin_85-tolcd2set_location_assignmentpin_98-tolcd3set_location_assignmentpin_99-tolcd4set_location_assignmentpin_100-tolcd5set_location_assignmentpin_101-tolcd6set_location_assignmentpin_103-tolcd7set_location_assignmentpin_104-tolcd8set_location_assignmentpin_105-tolcd9set_location_assignmentpin_106-tolcd10set_location_assignmentpin_110-tolcd11 6.2 烧录程序 通过jtag接口电路,使用altera的usb blaster程序下载器,通过计算机的usb接口可对altera的fpga/cpld以及配置芯片进行编程、调试等操作,对程序烧录的fpga里面。6.3运行结果分析 运行结果如下图6.1所示,分析结果如下: 1、lcd1602第一行显示实时温度,以及设置温度。lcd1602第二行显示实时时间以及定时时间。当设置温度和设置时间均为0时表示未设置相关操作,即不设置定时和温度。 2、当给外界环境进行升温或降温时,可以看到lcd1602的显示数值不断增大或减小,说明ds18b20工作正常。 3、当设定好设置温度时,如果外界环境温度低于设定温度时,led2不断闪烁,表明模拟空调电机正在进行升温操作。 4、当设定好设置温度时,如果外界环境温度高于设定温度时,led3不断闪烁,表明模拟空调电机正在进行降温操作。 5、当设定好设置温度时,如果外界温度和设定温度相等,led0长亮,表明模拟空调电机处于待机模式。 6、当设置好定时时间时,如果实时时间和定时时间相等,led灯全部熄灭,表明空调电机处于关机模式。 在实际的fpga开发板上的运行结果,跟在modelsim中运行完全一致,这也验证了软件程序设计的正确性。 同时通按键的加减来设置的温度和设置的定时都能够顺利实现,led能按设定要求经行闪烁,完成了对空调电机的模拟控制。图6.1 实际运行结果图致谢非常感谢各位老师在我大学的最后学习阶段毕业设计阶段给自己的指导,从最初的定题,到资料收集,到写作、修改,到论文定稿,给了我耐心的指导和无私的帮助,在此表示我诚挚的谢意。同时,感谢所有任课老师和所有同学在这四年来给自己的指导和帮助,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有的老师培养出越来越多的优秀人才,桃李满天下!通过这一阶段的努力,我的毕业论文基于fpga的空调控制系统设计终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。写作毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新的学习生活的开始。我将铭记我曾是一名理工学子,在今后的工作中把“穷究于理,成就于工”的优良传统发扬光大。感谢各位老师的批评指导!参考文献1 夏宇闻,verloghdl 数字系统设计教程,北京航空航天大学出版社。20092 杜慧敏,基于veriloghdl的fpga设计基础,西安电子科技大学出版社。20093 黄志伟.fpga系统设计与实践m.北京:清华大学出版社。20054 袁俊泉,孙敏琪,曹瑞.verilog hdl数字系统设计及其应用m.西安:西安电子出版社。20035 王金明.数字系统设计与verilog hdlm.北京:电子工业出版社。2011 附件 程序代码顶层模块veriloghdl代码:module uesr_test( clk, rst,dq,lcd_rs , lcd_rw , lcd_en , lcd_data, key_in ,led); input clk,rst ;/输入50mhz时钟inout dq; /温度数据总线input 3:0key_in; /按键输入 output 3:0 led; /led灯输出output lcd_rs; /lcd1602片选信号 output lcd_

温馨提示

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

评论

0/150

提交评论