




已阅读5页,还剩64页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于FPGA的空调控制系统设计作者姓名专业名称电子科学与技术摘要近几年来,随着中国科学技术的进步和人民生活水平的不断提高,各种产业在迅速发展,当然,空调业也包括其中,空调在公共场所,专用场地和普通家庭等场所都广泛应用。但是随着空调数量的增加,相应的负面问题也随之出现,耗能的日益增加已成为我国部分地区能源及电力供需矛盾的主要原因之一,当务之急必须采取有效措施降低空调的能耗。如何降低空调能耗,实现空调自动控制,利用空调改善室内温度,延长空调使用寿命已成为当前首要课题。本文介绍了空调控制器的设计,提出了一种采用现场可编程门阵列器件FPGA实现空调控制器的方法,该设计采用采用ALTERA公司高性价比FPGA,CYCLONEIV系列EP4CE6E22C8做主控制器,使用高精度的温度传感器DS18B20采集环境温度,LCD1602用于显示控制温度情况,并用按键调节控制温度和定时,LED灯模拟空调电机状态,本设计给出了用VERILOGHDL语言实现高效率空调控制器的设计,最后给出了其在FPGA硬件上实现关键词空调控制器FPGACYCLONEIVVERILOGHDLABSTRACTINRECENTYEARS,WITHTHECONTINUOUSIMPROVEMENTOFSCIENTIFICANDTECHNOLOGICALPROGRESSANDTHECHINESEPEOPLESLIVINGSTANDARDS,THERAPIDDEVELOPMENTOFVARIOUSINDUSTRIESINTHECOURSE,WHICHALSOINCLUDESTHEAIRCONDITIONINGINDUSTRY,AIRCONDITIONERSAREWIDELYUSEDINPUBLICPLACES,SPECIALVENUESANDORDINARYFAMILIESANDOTHERPLACESHOWEVER,WITHTHEINCREASINGNUMBEROFAIRCONDITIONING,THECORRESPONDINGNEGATIVEISSUESAPPEARED,INCREASINGENERGYCONSUMPTIONHASBECOMEONEOFTHEENERGYANDELECTRICITYSUPPLYANDDEMANDINSOMEAREASOFTHEMAINREASONS,ITISIMPERATIVETOTAKEEFFECTIVEMEASURESTOREDUCETHEENERGYCONSUMPTIONOFAIRCONDITIONINGHOWTOREDUCEAIRCONDITIONINGENERGYCONSUMPTIONFORAIRCONDITIONINGAUTOMATICCONTROL,THEUSEOFAIRCONDITIONINGTOIMPROVETHEINDOORTEMPERATUREANDPROLONGTHELIFEOFAIRCONDITIONINGHASBECOMEAPRIORITYISSUETHISPAPERDESCRIBESTHEDESIGNOFAIRCONDITIONINGCONTROLLERPRESENTSAMETHODUSINGFIELDPROGRAMMABLEGATEARRAYDEVICEFPGACONTROLLERFORAIRCONDITIONING,WHICHISDESIGNEDUSINGALTERASHIGHCOSTFPGA,CYCLONEIVSERIESEP4CE6E22C8MASTERCONTROLLER,USINGHIGHPRECISIONTEMPERATURECOLLECTINGTHEAMBIENTTEMPERATURESENSORDS18B20,LCD1602DISPLAYCONTROLFORTEMPERATURECONDITIONS,WITHTHETEMPERATUREANDTIMINGADJUSTMENTCONTROLBUTTONS,LEDLIGHTSSIMULATEAIRCONDITIONEDMOTORSTATE,THISDESIGNGIVESTHEVERILOGHDLLANGUAGEUSEDTOACHIEVEHIGHEFFICIENCYAIRCONDITIONINGCONTROLLERDESIGN,FINALLYITSIMPLEMENTATIONINFPGAHARDWAREKEYWORDSAIRCONDITIONINGCONTROLLER,FPGA,CYCLONEIV,VERILOGHDL目录摘要IABSTRACTII目录III前言11FPGA的概述211FPGA的特点212本设计中使用的FPGA具有的特点32系统方案论证与确定421方案的选择4方案14方案2522方案论证与确定63硬件电路设计731硬件整体结构及原理732电源部分833时钟电路934按键电路935温度传感器DS18B20的特点936DS18B20的测温原理1037程序下载124软件设计1341顶层结构框图1442DS18B20的状态机框图1543LCD1602的状态机框图175MODELSIM仿真及仿真1951MODELSIM介绍1952书写TESTBENCH激励信号2053时钟模块仿真20531时钟模块的激励信号TESTBENCH20532时钟仿真波形及分析2254温度数据处理及空调电机仿真23541LED模块激励信号TESTBENCH23542LED模块仿真结果及分析256实际运行结果及总结2661配置管脚2662烧录程序2763运行结果分析27致谢29参考文献30附件程序代码31顶层模块VERILOGHDL代码31DS18B20模块VERILOGHDL代码33LCD1602模块VERILOGHDL代码48CLOCK模块VERILOGHDL代码55按键模块VERILOGHDL代码57LED模块VERILOGHDL代码59前言本论文主要任务是设计基于FPGA的空调控制系统的设计。本课题的设计采用了温度传感器DS18B20作为前端温度采集,采用ALTERA公司高性价比FPGACYCLONEIV系列EP4CE6E22C8做主控制器。控制器部分在QUARTUSII平台使用VERILOGHDL语言编写,主体程序采用了状态机作为主要控制方式。并使用MODELSIM进行软件功能仿真,排除设计错误,提高软件设计效率。硬件主要有五大模块温度设置模块、定时模块、LCD显示模块、分频模块、FPGA控制器模块。最后实现使用FPGA比较设置温度与测量所得温度,并发出指令给空调电机执行部分,使用LED灯模拟,根据按键设置温度实现升温或降温,当设定温度与测量温度相等时,不执行调节温度功能。另外要能根据输入数据的变化和温度传感器测量得到的温度同步变化LCD上显示。该课题的研究将有助于采用FPGA的系列产品的开发。同时可以大大缩短FPGA的开发时间。另外,由于模块的易用性,也将使得更多的采用FPGA产品应用于温控领域,为行业和我们的生活带来新的变化。1FPGA的概述11FPGA的特点FPGA(FIELDPROGRAMMABLEGATEARRAY),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(VERILOGHDL或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(FLIPFLOP)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把FPGA内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品FPGA的逻辑块和连接可以按照设计者而改变,所以FPGA可以完成所需要的逻辑功能。FPGA采用了逻辑单元阵列LCA(LOGICCELLARRAY)这样一个概念,内部包括可配置逻辑模块CLB(CONFIGURABLELOGICBLOCK)、输出输入模块IOB(INPUTOUTPUTBLOCK)和内部连线(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的使用非常灵活。12本设计中使用的FPGA具有的特点1ALTERA新的CYCLONEIVFPGA器件系列扩展了CYCLONE系列EP4CE6E22C8,成本最低,功耗最低的FPGA。2具有6272个逻辑单元(LE)。350MHZ时钟输入。4高达270KBITS嵌入式存储器。515个嵌入式18X18乘法器。62通用PLL锁相环。78个用户I/O块,提供91个I/0口。2系统方案论证与确定21方案的选择目前大多数的的空调温度控制系统都采用了以单片机作为控制器的设计,但是随着可编程逻辑器件的发展,家用电器的控制部分也越来越多地使用可编程逻辑器件来实现,所以下面提供了以单片机和可编程逻辑器件(FPGA)为核心控制器件的2个方案进行选择。方案1该方案采用的是AT89C51单片机为核心控制器件,用它来处理各个单元电路的工作以及检测其运行情况。首先通过温度传感器对空气进行温度采集,将采集的温度信号作A/D转换,使其模拟信号转变成数字信号,然后输给单片机,再由单片机控制显示,并比较采集的温度与设定的温度是否一致,然后驱动空调机的加热或降温循环对空气进行处理,从而模拟实现空调温度控制单元的工作情况,本设计中我们采用的是AD590温度传感器,通过温度系统采集电路采集相关温度数值,再由AD0809组成的A/D转换电路进行转换,最终的到数字信号,将其直接输给单片机,然后由单片机机根据内部程序判断,执行相关控制程序,驱动个单元电路的工作。其方框图如图21所示方案2该方案以FPGA为核心控制器件,采用数字温度传感器DS18B20进行温度采集,将采集到的温度数字直接以数字信号传输给FPGA控制器,控制器通过比较采集的温度和用户设定的温度来做出发送降温还是加热的控制信号给空调机。同时通过FPGA芯片还可以实现定时和控制显示,使用LCD1602将传感器测量到的温度,设定的温度、定时时长都显示出来。其方框图如下图22所示FPGA控制器DS18B20LCD1602空调电机按键输入AT89C51控制器ADC0809A/D转换器数码管显示空调电机AD950温度传感器图21方案一按键输入22方案论证与确定通过比较两个方案,方案1采用单片机为核心控制器件,该方案的优点是容易控制,系统原理比较简单,电路可靠,容易实现控制目的。但是该方案中的温度测量电路,译码电路复杂,容易产生误差和由电路复杂而导致的设备使用寿命低等一系列问题。方案2采用的是以FPGA为核心控制器件,同时温度传感器采用的是高精度的数字温度传感器DS18B20,通过该传感器采集的温度信息不需要经过信号放大和A/D转换直接以数字信号的形式传递给控制芯片,使得电路的连接大大的简化了,减小了电路复杂所带来的误差等问题。而且FPGA芯片所具有的可编程修改的特点以及其强大的逻辑功能都是单片机难以达到的,这样不但给设计过程中带来一系列的便利,而且在空调的功能日趋人性化和智能话的发展趋势下,以FPGA为控制器件的设计无疑更加具有市场竞争力。所以同过上面的对两个方案的比较论证,本次设计采用方案2来实现。图22方案二3硬件电路设计31硬件整体结构及原理硬件电路主要包括电源电路、石英晶振、温度传感器、FPGA控制器、LCD1602显示、按键组成。本设计采用ALTERA公司高性价比FPGA,CYCLONEIV系列EP4CE6E22C8做主控制器,温度传感器采用高精度数字温度传感器DS18B20。整个电路的工作原理是由50MHZ石英晶振FPGA提供时钟信号,数字式温度传感器DS18B20将采集的温度信息以数字信号的形式直接传递给FPGA芯片,用户也可通过按钮根据需要自己设定温度值。采集温度和设定温度都送给FPGA控制器,控制器通过对两个温度值的比较做出判断,当测量温度大于设定温度时就想空调的电机发出制冷的控制信号;当测量温度小于设定温度时,则发出一加热的控制信号;当两者相等时则不制冷也不加热。通过执行机构工作状态的转换来达到改变环境温度的目的。同时,FPGA还可以对设定温度进行定时,并将定时的时间、测量温度和设定温度的值通过LCD1602显示出来。整个硬件的框图如图31所示FPGA控制器DS18B20LED灯闪烁仿真空调电机机LCD1602电源管理50MHZ时钟输入按键输入JTAG下载图31硬件框图32电源部分使用DC/DC电源芯片AMS1117系列的111733V、111725V、111712V,分别给FPGA提供33VI/0口电压,25V辅助电压和12V内核电压。AMS1117是一个正向低压降稳压器,在1A电流下压降为12V。固定输出电压为15V、18V、25V、285V、30V、33V、50V和可调版本,具有1的精度。AMS1117内部集成过热保护和限流电路。其电路原理图如图32所示U11AMS11172V5VIN3GND1VOUT2U12AMS11171V2VIN3GND1VOUT2U13AMS11173V3VIN3GND1VOUT2D4LEDR121KU4USBVBUS1D2D3GND4VCC_INC510UF/16VC601UF/16VD51N40012211VCC_3V3C710UF/16VC801UF/16VC910UF/16VC1001UF/16VC1110UF/16VC1201UF/16VC1310UF/16VC1401UF/16VVCC_2V5VCC_3V3VCC_1V2C1510UF/16VC1601UF/16V图32电源电路33时钟电路为系统提供50MHZ的稳定时钟,如图33所示。U2XTALEN1VCC4GND2CLK3VCC_3V3R1333RCLOCK_INC310UF/16V图33时钟电路34按键电路通过一个10K的上拉电阻使I/O保持确定状态,如图35所示。R210KR310KR410KR510KVCC_3V3K1KEY1234K2KEY1234K3KEY1234K4KEY1234K3K2K1K4VCC_3V3VCC_3V3VCC_3V3图35按键电路35温度传感器DS18B20的特点DS18B20是美国DALLS公司生产的单线数字温度传感器。它具有微型化、低功耗、高性能、抗干拢能力强、易配微处理器等优点。特别适合于构成多点温度测控系统。可直接将温度转化成串行数字信号供微机处理,而且每片DS18B20都有唯一的产品号并可存入其ROM中。以便在构成大型温度测控系统时在单线上挂接任意多个DS18B20芯片。DS18B20的性能特点如下(1)独特的单线接口引脚进行通信;(2)多个DS18B20可以并联在唯一的三线上,实现多点组网功能;(3)无须外部器件;(4)可以通过数据线供电,电压范围3055V;(5)零待机功耗;(6)温度以9或12位数字读出;(7)用户可定义的非易失性温度报警设置;报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。36DS18B20的测温原理经过单线接口访问DS18B20的协议如下1、初始化2、ROM操作3、RAM存贮器操作4、处理数据每次访问单总线器件,必须严格遵守这个协议(即操作序列),如果出现序列混乱,则单总线器件不会响应主机。但是,这个准则对于搜索ROM命令和报警搜索命令例外,在执行两者中任何一条命令之后,主机不能执行其后的功能命令,必须返回至第一步。初始化基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成。应答脉冲使主机知道总线上有从机设备且准备就绪。ROM操作在主机检测到应答脉冲后,就可以发出ROM命令。这些命令与各个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从机设备时,指定操作某个从机设备。这些命令还允许主机能够检测到总线上有多少个从机设备以及其设备类型,或者有没有设备处于报警状态。从机设备可能支持5种ROM命令(实际情况与具体型号有关),每种命令长度为8位。主机在发出存贮器操作命令之前,必须送出合适的ROMRAM存贮器操作在主机发出ROM命令,以访问某个指定的DS18B20,接着就可以发出DS18B20支持的某个存贮器操作命令。数据处理数据处理是当主机通过前三步的通信,在从机上得到了需要的数据,再进行进一步处理的环节,这部分根据用户的需要而定。电路原理图如图36图36温度传感器电路37程序下载通过JTAG接口电路,使用ALTERA的USBBLASTER程序下载器,通过计算机的USB接口可对ALTERA的FPGA/CPLD以及配置芯片进行编程、调试等操作,对程序烧录的FPGA里面。TCKTMSTDOJ1HEADER5X224681013579VCC_3V3TDIR810KR910KR1010KR1110KVCC_3V3图36程序下载电路4软件设计在QUARTUSII110平台使用VERILOGHDL语言编写,主体程序采用了状态机作为主要控制方式。程序中主要使用了状态机对DS18B20进行了时序控制,通过一些命令使DS18B20采集获得温度值传送到FPGA控制器。最后将数据送给LCD显示电路进行显示,从而可以实时地观察到温度变化,同时LED闪烁进行模拟空调电机运作。编写好VERILGHDL代码后,在MODELSIM65平台上进行前仿真。同时通过MODELSIM书写TESTBENCH,经行RTL级功能仿真。主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。可综合FPGA代码是用RTL级代码语言描述的,其输入为RTL级代码与TESTBENCH。在设计的最初阶段发现问题,可节省大量的精力41顶层结构框图软件设计分为六大模块,顶层模块,DS18B20模块,时钟分频模块,按键输入模块,LCD1602模块,LED模块。如图41所示图41顶层结构框图42DS18B20的状态机框图DS18B20模块采用状态机方法设计,然而DS18B20对时序要求比较严格,所以设计中不得不使用非常多的状态来解决这一问题。设计中采用格雷码来进行状态机编码,使用格雷码每个相邻的状态切换只有一个BIT的信号跳变,其DS18B20的状态机框图如图42所示。/格雷码状态机PARAMETERS005H00PARAMETERS05H01PARAMETERS15H03PARAMETERS25H02PARAMETERS35H06PARAMETERS45H07PARAMETERS55H05PARAMETERS65H04PARAMETERS75H0CPARAMETERWRITE05H0DPARAMETERWRITE15H0FPARAMETERWRITE005H0EPARAMETERWRITE015H0APARAMETERREAD05H0BPARAMETERREAD15H09PARAMETERREAD25H08PARAMETERREAD35H18图42DS18B20的状态机框图43LCD1602的状态机框图要实现LCD1602的显示,程序设计同样采用状态机的设计方法,鉴于状态机的个数并不多,这里采用独热码编码机制。使用独热码,状态机中为每一种状态分配一个触发器。只有一个触发器当前设置为高位,其余均设置为低位。其状态机框图如图43所示。/独热码状态机编码/PARAMETERIDLE10B000000000,/初始状态,下一个状态为CLEARCLEAR10B000000001,/清屏SET_FUNCTION10B000000010,/功能设置8位数据接口/2行显示/58点阵字符SWITCH_MODE10B000000100,/显示开关控制开显示,光标和闪烁关闭SET_MODE10B000001000,/输入方式设置数据读写操作后,地址自动加一/画面不动SHIFT10B000010000,/光标、画面位移设置光标向左平移一个字符位(光标显示是关闭的,所以实际上设置是看不出效果的)SET_DDRAM110B000100000,/设置DDRAM的地址第一行起始为0X00(注意输出时DB7一定要为1)SET_DDRAM210B001000000,/设置DDRAM的地址第二行为0X40(注意输出时DB7一定要为1)WRITE_RAM110B010000000,/数据写入DDRAM相应的地址WRITE_RAM210B100000000/数据写入DDRAM相应的地址图43LCD1602的状态机框图5MODELSIM仿真及仿真51MODELSIM介绍MODELSIM是业界最优秀的HDL语言仿真器。它提供最友好的调试环境,是唯一的单内核支持VHDL和VERILOG混合仿真的仿真器。是作FPGA/ASIC设计的RTL级和门级电路仿真的首选。它采用直接优化的编译技术、TCL/TK技术、和单一内核仿真技术,编译仿真速度快,编译的代码与平台无关,便于保护IP核,个性化的图形界面和用户接口,为用户加快调错提供强有力的手段。全面支持VHDL和VERILOG语言的IEEE标准,支持C/C功能调用和调试。主要特点RTL和门级优化,本地编译结构,编译仿真速度快;单内核VHDL和VERILOG混合仿真;源代码模版和助手,项目管理;集成了性能分析、波形比较、代码覆盖等功能;数据流CHASEX;SIGNALSPY;C和TCL/TK接口,C调试。它支持VERILOG、VHDL以及他们的混合仿真,它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可以在DATAFLOW窗口查看某一单元或模块的输入输出的连续变化等,比QUARTUS自带的仿真器功能强大的多,是目前业界最通用的仿真器之一。52书写TESTBENCH激励信号TESTBENCH是一种验证的手段。首先,任何设计都是会有输入输出的。但是在软环境中没有激励输入,也不会对你设计的输出正确性进行评估。那么此时便有一种,模拟实际环境的输入激励和输出校验的一种“虚拟平台”的产生。在这个平台上你可以对你的设计从软件层面上进行分析和校验,这个就是TESTBENCH的含义。53时钟模块仿真531时钟模块的激励信号TESTBENCH本设计验证功能,对时间不进行严格控制,为方便观看仿真结果,在测试文件中将延时调小了。TESTBENCH代码如下TIMESCALE1PS/1PSMODULEUSER_TEST_CLOCKREGCLKREGRST_NWIRE70HOURWIRE70MINWIRE70SECONDCLOCKMCLKCLK,RST_NRST_N,HOURHOUR,MINMIN,SECONDSECONDINITIALBEGINCLK0WHILE11CLKCLK/给出时钟激励信号ENDINITIALBEGINRST_N1100RST_N0/给出复位激励信号100RST_N1ENDENDMODULE532时钟仿真波形及分析时钟波形仿真结果如下图53所示CLK表示时钟信号RST_N表示复位信号SECOND表示秒计数MIN表示分计数HOUR表示小时计数观察波形,当给出复位信号时,时间全部清零当秒计数到59秒时,秒计数清零,同时分计数加一;当分计数到59秒时,分计数清零,同时小时计数加一;当小时计数到23秒时,小时计数清零;图53时钟仿真波形图54温度数据处理及空调电机仿真设计中采用4位LED灯来模拟空调电机的运转,LED0表示空调电机处于待机状态;LED2表示空调电机进行升温控制;LED3表示空调进行降温控制;LED1保留;以上数据位低电平有效。541LED模块激励信号TESTBENCH本设计验证功能,对时间不进行严格控制,为方便观看仿真结果,在测试文件中将延时调小了。TESTBENCH代码如下TIMESCALE1PS/1PSMODULEUSER_TEST_LEDREGCLKREGRST_NREG150DATAREG230TREG70S_TIMEREG70S_TMPWIRE30LEDLEDLCLKCLK,RST_NRST_N,DATADATA,TT,S_TMPS_TMP,S_TIMES_TIME,LEDLEDINITIALBEGINCLK0WHILE110CLKCLK/给出时钟激励信号ENDINITIALBEGINRST_N1200RST_N0/给出复位激励信号20RST_N1ENDINITIALBEGINT0/初始化时间S_TIME0/初始化设置时间S_TMP0/初始化设置温度DATA0/初始化温度ENDINITIALBEGIN300DATA15016H0240S_TMP708H25/给出信号DATA和S_TMP350DATA0ENDINITIALBEGIN400DATA15016H0250S_TMP708H25/给出信号DATA和S_TMP450DATA0ENDINITIALBEGIN500DATA15016H0260S_TMP708H25/给出信号DATA和S_TMP550DATA0ENDINITIALBEGIN600T23024H002200S_TIME708H22650T0ENDENDMODULE542LED模块仿真结果及分析仿真结果如图54所示,CLK表示时钟输入信号,RST_N表示复位信号,DATA表示实际温度数据,S_TMP表示设置的温度值,T表示实时时间,T_TIME表示设置的定时时间。根据仿真结果,可以得出以下结论1、设置温度T_TMP为25,当实时温度DATA为24,LED结果为1011和1111交替变换,表示LED2在闪烁,说明空调电机正在进行升温控制;2、设置温度为25T_TMP,当实时温度DATA为25,LED结果为1110,表示LED0长亮,说明空调电机处于待机模式;3、设置温度为25T_TMP,当实时温度为DATA为26,LED结果为0111和1111交替变换,表示LED3在闪烁,说明空调电机正在进行降温控制;4、设置定时时间S_TIME为22分,当实时时间T为22时,LED结果为1111,表示所有的LED灯都处于关闭状态,说明空调电机处于关机模式,停止工作;图54LED模块波形仿真图6实际运行结果及总结61配置管脚在QUARTUSII110中通过PINPLANNER配置好相应管脚。设计中对于DS18B20的数据位设计为上拉电阻,所以在DS18B20的数据位管脚配置时设置为上拉模式。未用引脚需要设定约束,否则会出现未知情况。SET_LOCATION_ASSIGNMENTPIN_24TORESETSET_LOCATION_ASSIGNMENTPIN_23TOCLKSET_LOCATION_ASSIGNMENTPIN_32TODQSET_LOCATION_ASSIGNMENTPIN_89TOKEY0SET_LOCATION_ASSIGNMENTPIN_90TOKEY1SET_LOCATION_ASSIGNMENTPIN_91TOKEY2SET_LOCATION_ASSIGNMENTPIN_25TOKEY3SET_LOCATION_ASSIGNMENTPIN_88TOKEY4SET_LOCATION_ASSIGNMENTPIN_70TOLED0SET_LOCATION_ASSIGNMENTPIN_71TOLED1SET_LOCATION_ASSIGNMENTPIN_72TOLED2SET_LOCATION_ASSIGNMENTPIN_73TOLED3SET_LOCATION_ASSIGNMENTPIN_84TOLCD1SET_LOCATION_ASSIGNMENTPIN_85TOLCD2SET_LOCATION_ASSIGNMENTPIN_98TOLCD3SET_LOCATION_ASSIGNMENTPIN_99TOLCD4SET_LOCATION_ASSIGNMENTPIN_100TOLCD5SET_LOCATION_ASSIGNMENTPIN_101TOLCD6SET_LOCATION_ASSIGNMENTPIN_103TOLCD7SET_LOCATION_ASSIGNMENTPIN_104TOLCD8SET_LOCATION_ASSIGNMENTPIN_105TOLCD9SET_LOCATION_ASSIGNMENTPIN_106TOLCD10SET_LOCATION_ASSIGNMENTPIN_110TOLCD1162烧录程序通过JTAG接口电路,使用ALTERA的USBBLASTER程序下载器,通过计算机的USB接口可对ALTERA的FPGA/CPLD以及配置芯片进行编程、调试等操作,对程序烧录的FPGA里面。63运行结果分析运行结果如下图61所示,分析结果如下1、LCD1602第一行显示实时温度,以及设置温度。LCD1602第二行显示实时时间以及定时时间。当设置温度和设置时间均为0时表示未设置相关操作,即不设置定时和温度。2、当给外界环境进行升温或降温时,可以看到LCD1602的显示数值不断增大或减小,说明DS18B20工作正常。3、当设定好设置温度时,如果外界环境温度低于设定温度时,LED2不断闪烁,表明模拟空调电机正在进行升温操作。4、当设定好设置温度时,如果外界环境温度高于设定温度时,LED3不断闪烁,表明模拟空调电机正在进行降温操作。5、当设定好设置温度时,如果外界温度和设定温度相等,LED0长亮,表明模拟空调电机处于待机模式。6、当设置好定时时间时,如果实时时间和定时时间相等,LED灯全部熄灭,表明空调电机处于关机模式。在实际的FPGA开发板上的运行结果,跟在MODELSIM中运行完全一致,这也验证了软件程序设计的正确性。同时通按键的加减来设置的温度和设置的定时都能够顺利实现,LED能按设定要求经行闪烁,完成了对空调电机的模拟控制。图61实际运行结果图致谢非常感谢各位老师在我大学的最后学习阶段毕业设计阶段给自己的指导,从最初的定题,到资料收集,到写作、修改,到论文定稿,给了我耐心的指导和无私的帮助,在此表示我诚挚的谢意。同时,感谢所有任课老师和所有同学在这四年来给自己的指导和帮助,是他们教会了我专业知识,教会了我如何学习,教会了我如何做人。正是由于他们,我才能在各方面取得显著的进步,在此向他们表示我由衷的谢意,并祝所有的老师培养出越来越多的优秀人才,桃李满天下通过这一阶段的努力,我的毕业论文基于FPGA的空调控制系统设计终于完成了,这意味着大学生活即将结束。在大学阶段,我在学习上和思想上都受益非浅,这除了自身的努力外,与各位老师、同学和朋友的关心、支持和鼓励是分不开的。写作毕业论文是一次再系统学习的过程,毕业论文的完成,同样也意味着新的学习生活的开始。我将铭记我曾是一名理工学子,在今后的工作中把“穷究于理,成就于工”的优良传统发扬光大。感谢各位老师的批评指导参考文献1夏宇闻,VERLOGHDL数字系统设计教程,北京航空航天大学出版社。20092杜慧敏,基于VERILOGHDL的FPGA设计基础,西安电子科技大学出版社。20093黄志伟FPGA系统设计与实践M北京清华大学出版社。20054袁俊泉,孙敏琪,曹瑞VERILOGHDL数字系统设计及其应用M西安西安电子出版社。20035王金明数字系统设计与VERILOGHDLM北京电子工业出版社。2011附件程序代码顶层模块VERILOGHDL代码MODULEUESR_TESTCLK,RST,DQ,LCD_RS,LCD_RW,LCD_EN,LCD_DATA,KEY_IN,LEDINPUTCLK,RST/输入50MHZ时钟INOUTDQ/温度数据总线INPUT30KEY_IN/按键输入OUTPUT30LED/LED灯输出OUTPUTLCD_RS/LCD1602片选信号OUTPUTLCD_RW/LCD1602读写信号OUTPUTLCD_EN/LCD1602使能信号OUTPUT70LCD_DATA/LCD1602数据位WIRE30KEY_VALUEWIRE150TEMPERATUREWIRE230TIMEDWIRE70SET_TMPWIRE70SET_TIMEDS18B20Q1/DS18B20模块CLKCLK,/RST_NRST,ONE_WIREDQ,TEMPERATURETEMPERATUREKEY_SCANK0SYS_CLKCLK,/按键扫描模块SYS_RSTNRST,KEY_INKEY_IN,KEY_VALUEKEY_VALUE,CLOCKC0CLKCLK,/时钟分频计时模块TIMEDTIMEDLCD1602S0/LCD显示模块SYS_CLKCLK,SYS_RSTNRST,LCD_RSLCD_RS,LCD_RWLCD_RW,LCD_ENLCD_EN,LCD_DATALCD_DATA,DISPLAY_DATATEMPERATURE,DISPLAY_TIMETIMED,SET_TEMPKEY_VALUE,SET_TIMESET_TIME,SET_TMPSET_TMPLEDD0/LED闪烁模块CLKCLK,SYS_RSTNRST,LEDLED,DATATEMPERATURE,TTIMED,S_TIMESET_TIME,S_TMPSET_TMPENDMODULEDS18B20模块VERILOGHDL代码MODULEDS18B20INPUTCLK,/50MHZ时钟/INPUTRST_N,/异步复位INOUTONE_WIRE,/ONEWIRE总线OUTPUT150TEMPERATURE/输出温度值REGRST_NREG190COUNTALWAYSPOSEDGECLKBEGINIFCOUNT1MHZ开始/REG50CNT/计数子ALWAYSPOSEDGECLK,NEGEDGERST_NIFRST_NCNT1MHZ结束/延时模块的使用/延时模块开始/REG190CNT_1US/1US延时计数子REGCNT_1US_CLEAR/请1US延时计数子ALWAYSPOSEDGECLK_1USIFCNT_1US_CLEARCNT_1US4/小数点后一位/ASSIGNTEMPERATURE74T_BUF7410T_BUF7410T_BUF74/ASSIGNTEMPERATURE118T_BUF7410T_BUF1181T_BUF118/十位ASSIGNTEMPERATURE74T_BUF11410/个位ASSIGNTEMPERATURE118T_BUF114100/10/十位ASSIGNTEMPERATURE1512TEMPERATURE_BUF1210/正负位,0正1负ENDMODULELCD1602模块VERILOGHDL代码MODULELCD1602SYS_CLK,SYS_RSTN,LCD_RS,LCD_RW,LCD_EN,LCD_DATA,DISPLAY_DATA,DISPLAY_TIME,SET_TEMP,SET_TMP,SET_TIMEINPUT150DISPLAY_DATAINPUT230DISPLAY_TIMEINPUT30SET_TEMP/输入输出信号定义INPUTSYS_CLK/系统时钟输入INPUTSYS_RSTN/系统复位信号,低电平有效OUTPUTLCD_RS/LCD的寄存器选择输出信号OUTPUTLCD_RW/LCD的读、写操作选择输出信号OUTPUTLCD_EN/LCD使能信号OUTPUT70LCD_DATA/LCD的数据总线(不进行读操作,故为输出)OUTPUT70SET_TMPOUTPUT70SET_TIME/寄存器定义REGLCD_RSREGCLK_DIVREG170DELAY_CNTREG70LCD_DATAREG50CHAR_CNTREG70DATA_DISPREG90STATEREG70SET_TIMEREG70SET_TMPPARAMETERIDLE10B000000000,/初始状态,下一个状态为CLEARCLEAR10B000000001,/清屏SET_FUNCTION10B000000010,/功能设置8位数据接口/2行显示/58点阵字符SWITCH_MODE10B000000100,/显示开关控制开显示,光标和闪烁关闭SET_MODE10B000001000,/输入方式设置数据读写操作后,地址自动加一/画面不动SHIFT10B000010000,/光标、画面位移设置光标向左平移一个字符位(光标显示是关闭的,所以实际上设置是看不出效果的)SET_DDRAM110B000100000,/设置DDRAM的地址第一行起始为0X00(注意输出时DB7一定要为1)SET_DDRAM210B001000000,/设置DDRAM的地址第二行为0X40(注意输出时DB7一定要为1)WRITE_RAM110B010000000,/数据写入DDRAM相应的地址WRITE_RAM210B100000000/数据写入DDRAM相应的地址ASSIGNLCD_RW1B0/没有读操作,R/W信号始终为低电平ASSIGNLCD_ENCLK_DIV/E信号出现高电平以及下降沿的时刻与LCD时钟相同/时钟分频ALWAYSPOSEDGESYS_CLKORNEGEDGESYS_RSTNBEGINIFSYS_RSTNBEGINDELAY_CNT4H9BEGINSET_TMP304H0SET_TMP74SET_TMP741B1IFSET_TMP744H9SET_TMP740ENDENDIFSET_TEMP4H2BEGINSET_TMP30SET_TMP301B1IFSET_TMP304HFBEGINSET_TMP304H9SET_TMP74SET_TMP741B1IFSET_TMP744HFSET_TMP749ENDENDIFSET_TEMP4H3BEGINSET_TIME30SET_TIME301B1IFSET_TIME304H9BEGINSET_TIME304H0SET_TIME74SET_TIME741B1IFSET_TIME744H9SET_TIME740ENDENDIFSET_TEMP4H4BEGINSET_TIME30SET_TIME301B1IFSET_TIME304HFBEGINSET_TIME304H9SET_TIME74SET_TIME741B1IFSET_TIME744HFSET_TIME749ENDENDENDENDMODULECLOCK模块VERILOGHDL代码MODULECLOCKCLK,RST_N,TIMEDINPUTCLKINPUTRST_NOUTPUT230TIMEDREG230TIMED/存放时间数据REGCLK1/1HZ分频REG310COUNT/COUNTFOR1S1HZALWAYSPOSEDGECLK/50MHZ1HZBEGINIFCOUNT32D25000000BEGINCLK10LED2LED2ELSELED21B1ENDELSELED21B1ENDENDALWAYSPOSEDGECLK2,NEGEDGERST_NBEGINIFRST_NLED31ELSEBEGINIFT158S_TMP70ELSELED31B1ENDELSELED31B1ENDENDENDMODULE您好,为你提供优秀的毕业论文参考资料,请您删除以下内容,O_O谢谢ANATIONALSURVEYWASRECENTLYLAUNCHEDTOEVALUATETHEEYEHEALTHOFCHINESECHILDRENANDTEENAGERSONJUNE6,CHINASANNUALNATIONALDAYFOREYECARE,THECHINAYOUTHDEVELOPMENTSERVICECENTERANDZHEJIANGMEDICINE,ALEADINGLISTEDCHINESEPHARMACEUTICALCOMPANY,JOINTLYANNOUNCEDTHEKICKOFFOFTHESURVEYINABOUTONEMONTH,AQUESTIONNAIRECOMPILEDBYTOPEYECAREMEDICALEXPERTSINCHINAWILLBEDISTRIBUTEDTHROUGHMULTIPLEONLINEPARTNERS,INCLUDINGHEALTHSOHUCOM,ASWELLASTHROUGHOFFLINESURVEYEVENTSHELDINUNIVERSITIES,MIDDLESCHOOLSANDPRIMARYSCHOOLSACROSSTHECOUNTRYAREPORTWILLBERELEASEDBASEDONTHESURVEYSTATISTICSANDANALYSIS,ANDMOSTIMPORTANTLY,GUIDELINESFORPARENTSANDYOUTHONHOWTOCAREFORTHEEYESANDPREVENTMYOPIAAGROWINGPROBLEMINCHINASDIGITIZEDSOCIETY,WILLALSOBEATTACHEDONTHEREPORT“MYOPIAISNOTONLYADISEASETHATMAKESPEOPLESEETHINGSBLURRILY,BUTALSOLEADSTOSEVERECOMPLICATIONS,SUCHASGLAUCOMAINCREASEDPRESSUREWITHINTHEEYEBALL,ANDCANCAUSEBLINDNESS,“SAIDZHOUYUEHUA,ANESTABLISHEDEYECARES
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高频氧疗参数设置课件
- 集安市2025-2026学年八年级上学期语文期中测试试卷
- 高速铁路客流调查课件
- 电解池原理及其应用
- 电视机原理课件
- 电芯极化知识培训总结
- 高血压课件教学
- 电脑系统硬件知识培训课件
- 电脑知识培训方案课件
- 江西省鹰潭市2024-2025学年高一下学期期末考试 英语试卷
- 《Photoshop图像处理》课件-第一讲 认识PS
- 深度学习教学改进丛书 深度学习:走向核心素养(理论普及读本)
- 大众Polo 2014款说明书
- 人民医院整形外科临床技术操作规范2023版
- 新媒体运营全套PPT完整教学课件
- DB65T 3993-2017旱寒区冬油菜复播油葵栽培技术规程
- 脚手架搭拆施工方案
- 出境竹木草制品自检自控计划书(2021年报海关)
- 汽车风窗刮水器机构设计
- 重庆某广场高边坡喷锚支护施工方案(脚手架设计)
- 压力容器材料
评论
0/150
提交评论