毕业论文-基于FPGA的空调控制器的设计._第1页
毕业论文-基于FPGA的空调控制器的设计._第2页
毕业论文-基于FPGA的空调控制器的设计._第3页
毕业论文-基于FPGA的空调控制器的设计._第4页
毕业论文-基于FPGA的空调控制器的设计._第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

1、 延延 边边 大大 学学二二一一年六月一一年六月学校代码:学校代码: 1018410184学学 号:号: 20740203082074020308本本 科科 毕毕 业业 论论 文文题题 目目 : 基于基于 FPGA 的空调控制器设计的空调控制器设计学学生生姓姓名名 : 傅傅 仁仁 壮壮学学 院院 : 工工 学学 院院专专 业业: 电电 子子 信信 息息 工工 程程年年 级级: 2 2 0 0 0 0 7 7 级级指指导导教教师师 : 某某 某某 某某 讲讲 师师延边大学本科毕业论文- 摘 要近几年来,随着中国科学技术的进步和人民生活水平的不断提高,各种产业在迅速发展,当然,空调业也包括其中,空

2、调在公共场所,专用场地和普通家庭等场所都广泛应用。但是随着空调数量的增加,相应的负面问题也随之出现,耗能的日益增加已成为我国部分地区能源及电力供需矛盾的主要原因之一,当务之急必须采取有效措施降低空调的能耗。同时,利用传统的方法调节室内温度也是存在很多缺陷的,如空调始终处于同一温度,无法随室温的变化而自动改变,造成能源的浪费以及给人们生活带来不便;室内的空气质量没有得到保证;运行时间太长导致空调的使用寿命缩短等。如何降低空调能耗,实现空调自动控制,利用空调改善室内温度,延长空调使用寿命已成为当前首要课题。本文介绍了空调控制器的设计,提出了一种采用现场可编程门阵列器件FPGA实现空调控制器的方法,

3、该设计采用A/D转换器,用于模拟环境温度、采用跑马灯程序,用于显示控制温度情况。首先,阐述了空调控制器的基本原理。其次,本文给出了用Verilog HDL语言实现高效率空调控制器的设计及在Quartus II中的仿真结果,并对仿真结果进行了分析、比较,确保了输出波形的精确度。最后给出了其在FPGA上的实现。同时,引入了A/D,故本设计可以根据不同的要求在不同规模的FPGA上加以实现。关键词:空调控制器;FPGA;Verilog HDL;Quartus II;A/D延边大学本科毕业论文- IAbstractIn recent years, With Chinas scientific and t

4、echnological progress and the improvement of peoples standard of living, all kinds of industries are developing rapidly, Of course, including the industry of air conditioning. Air- conditionings are widely used in many places, such as in public places, special field and ordinary families. However, w

5、ith the increasing number of air-conditioning, the corresponding negative issues appeared. Increasing energy consumption has become one of the major reasons for the contradiction between electricity supply and demand in parts of China. Its the top priority that we must take effective measures to red

6、uce the energy consumption of the air conditioning. Meanwhile, there are many defects in using the traditional method to adjust indoor temperature, because it is always at the same temperature, causing a waste of energy and bringing inconvenience to peoples life; the quality of indoor air couldnt be

7、 guaranteed; running time is too long, which leads to air conditionings using life shorten, etc. How to reduce the energy consumption of air conditioning, realize air conditioning can control automatic, use air conditioning to improve the indoor temperature, and prolong the air conditionings usage l

8、ife has become the first topic.This paper introduces a design of air-conditioning controller, proposing a method that uses FPGA devices to realize air-conditioning controlling. This design uses A/D converter, to simulate environmental temperature, and adopts scrolling program, to show the control ov

9、er temperature. Firstly, this paper expounds the basic principle of air-condition. Secondly, the paper presets Verilog HDL language with highly efficient design of the air-controller and the simulation results in Quartus II, and the simulation results are analyzed and compared, to ensure the accurac

10、y of output waveform. Finally, it gives the realizations of the FPGA. At the same time, it introduces the design A/D, according to different requirements in different scale on FPGA.Keywords: Air-Controller;FPGA;Verilog HDL;Quartus II;A/D延边大学本科毕业论文- II目 录摘 要 .IAbstract.II引 言.1第一章 绪论.21.1 课题背景.21.2 研究

11、目的及意义.21.3 国内外研究现状.31.4 主要研究内容.3第二章 空调的基本简介.52.1 空调基本原理.52.2 空调控制系统原理.52.2.1 空气温度调节.52.2.2 空气湿度调节.62.2.3 空气其他参数调节.6第三章 空调控制器的 Verilog HDL 设计 .73.1 Verilog HDL 简介.73.2 Quartus II 简介.73.3 空调控制器的 Verilog HDL 设计及仿真.83.3.1 空调控制器程序的设计及分析.83.3.2 空调控制器的时序仿真.17第四章 空调控制器的 FPGA 实现.194.1 FPGA 简介.194.2 FPGA 设计及验

12、证.20结 论.23参考文献.24谢 辞.25延边大学本科毕业论文- 0引 言近几十年来,随着中国科学技术进步,各行各业发生翻天覆地的变化,当今社会也随之是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路不是一成不变的产品,它本身也是在不断地进行更新换代以适应人们的需求。它由早期的电子管、晶体管、小中规模集成电路,发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定功能的专用集成电路。但是,随着微电子技术的发展,人们对集成电路提出更高的要求,因此竞争也越来越激烈,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,

13、而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD) ,其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD) 。利用PLD器件实现时,可以采用硬件乘加模块,从而使其运算速度比采用DSP器件快很多。因此基于FPGA的自编程实现方式成了空调控制器实现的首选1。本文主要介绍空调控制器的设计方案和基于FPGA的实现方法。在本次空调控制器设计中,温度数据是基于ADC0809芯片中完成的。在设计A/D采样控制器中,ADC0809是CMOS的8为A/D转换器,片内有8路模拟开关,可控制

14、8个模拟量中的一个进入转换器。转换时间约为100us,ADC0809含锁存控制的8路开光,输出由三态缓冲器控制,单5v电源供电。空调控制器接收到ADC0809转换过来的数据进行相关的处理,并且在LED中显示实验结果。同时可以用七段译码器程序替换流水灯程序,用数字44444444表示制热,22222222表示制冷,11111111表示初始状态。延边大学本科毕业论文- 1第一章 绪论1.1 课题背景过去很长一段时间以来,人们大多数采用单片机来实现空调控制器的设计,因为它具有成本较低的特点。但设计出来的控制器性能一般,并且普通单片机的集成度通常较低,例如 Intel 公司自己开发的 AT89S51

15、只有 128 个字节片的内数据存储器,32 根可编程 I/O 口线,5 个中断源。显然,我们要完成更为复杂的运算和控制功能,就不得不对外扩展,可是外部硬件电路具有延时等不可预知风险,这又迫使扩展牺牲整机性能为代价。而且这种设计方法具有局限性,受制于硬件电路,开发有一定的难度。而一些爱好者自己研发的空调专用芯片,大多数因技术上的限制,灵活性和寿命方面没有什么优势。FPGA 作为一种新兴的可编程技术,是进行原型设计最理想的载体,其准确的可测试性和目前已达到的深亚微米级工艺,能较好的解决传统设计方法中的诸多难题。其丰富的编程资源和灵活的编程特性,能将许多原体需要借助外部硬件实现的功能,转化为软件编程

16、来完成,使升级改进更为灵活。而且这种设计方法能在软件阶段就对设计做出准确的预测和评估,从而能极大的开发效率,有效避免前期的风险投资。现代先进的 FPGA 工艺技术,使得 FPGA 在功耗和价格方面大为降低。FPGA 也可以用来做模型机,因为在设计一个电路时,首选要确定线路,然后进行软件模拟及优化,以确定所设计电路的功能入性能。然而随着电路规模的不断增大,工作频率的不断提高,将会给电路引入许多分布参数的影响,而这在用软件模拟中很难反映出来,这时候就有必要做硬件仿真,由于 FPGA 具有非常灵活的可编程特性,所以就可以用来做硬件仿真的模型机了。有了该模型机就可以直观地测试其逻辑功能及性能指标2。研

17、究基于 FPGA 的空调控制器的设计有着重大的意义。1.2 研究目的及意义随着我国近几年来空调业得迅猛发展与空调的普遍应用,其能耗占我国总能耗的比重日益增大,已成为我国部分地区能源及电力供需矛盾的主要原因之一,而且由于空调回风等问题很难保证室内人员获得的新风质量。我国已成为世界上空调用延边大学本科毕业论文- 2户最多的国家,也是“空调病”发病率最多的国家。因此如何改善和提高空调系统运行效率,减少能耗,改善室内空气品质,已成为我国空调业发展的一个急需解决的问题 3 。对于电信业来说,随着市场经济的不断深入,各种规章制度的不断完善,市场的运作模式逐步与国际接轨,同时企业之间的竞争也越来越残酷。对于

18、中国电信怎样已经上市的大型电信企业,必须考虑以最小的成本投入创造最大的利润回报。在这样的形式下,节电降耗不仅符合我国的基本国情,又满足企业的生存发展策略。移动通信站的人工降温的,空气净化及其运行管理是电信维护部门的工作重点之一,现有的移动基站绝大多数依然采用空调降温的方法,投资大,运行时间长,占用了大量的运营成本4。本次用FPGA设计空调控制器对如何降低空调能耗,开发周期短,可移植性好,升级灵活等有重要意义。1.3 国内外研究现状目前,国内外空调控制器的实现方法有很多种:(1)基于 ARM7 的空调控制器的实现。这种方法的缺点是 PID 控制参数调整有一定的难度,并且应用程序不够完善5。(2)

19、用单片机来实现。单片机的接口性能比较良发好,容易实现人机接口。但是由于单片机集成度通常较低,系统设计比较复杂6。(3)基于嵌入式的 VRV 空调控制器的研究7。(4)利用特殊用途的芯片实现。这种方案的缺点是灵活性差,而且开发工具很不完善8。(5)用 FPGA 等可编程器件来设计空调控制器。由于 FPGA 产品的迅速发展,人们可以利用 Altera、Xilinx 等公司提供的产品,使用其相关开发工具和 VHDL 等硬件开发语言,通过软件编程用硬件实现特定的功能。这一方法由于具有通用性的特点并可以实现其他功能,因此目前都是有比较活跃的研究领域。1.4 主要研究内容本论文主要研究内容是:(1)空调控

20、制器的理论和结构延边大学本科毕业论文- 3空调控制系统,即利用计算机控制技术,将空调系统中各种信号(温度、湿度、压力、状态等),通过输入装置输入计算机,经相应程序运算处理,将处理后的信号经输出装置输出,进而控制相应的执行机构9。(2)空调控制器的设计方法FPGA技术的一个巨大优势,就是用自顶向下的设计思路,将设计化处理,为完成控制器的各项功能,设计划分为多个模块进行。(3)空调控制器的FPGA实现当今社会是数字化的社会,是数字集成电路广泛应用的社会。数字集成电路本身在不断地进行更新换代。它由早期的电子管、晶体管、小中规模集成电路,发展到超大规模集成电路(VLSIC,几万门以上)以及许多具有特定

21、功能的专用集成电路。但是,随着微电子技术的发展,设计与制造集成电路的任务已不完全由半导体厂商来独立承担。系统设计师们更愿意自己设计专用集成电路(ASIC)芯片,而且希望ASIC的设计周期尽可能短,最好是在实验室里就能设计出合适的ASIC芯片,并且立即投入实际应用之中,因而出现了现场可编程逻辑器件(FPLD) ,其中应用最广泛的当属现场可编程门阵列(FPGA)和复杂可编程逻辑器件(CPLD) 。利用PLD器件实现时,可以采用硬件乘加模块,从而使其运算速度比采用DSP器件快很多。因此基于FPGA的自编程实现方式成了空调控制器实现的首选。本文主要介绍空调控制器的设计方案和基于FPGA的实现方法。延边

22、大学本科毕业论文- 4第二章 空调的基本简介2.1 空调基本原理空调在作制冷运行时,低温低压的制冷剂气体被压缩机吸入后加压变成高温高压的制冷剂气体,高温高压的制冷剂气体在室外换热器中发热(通过冷凝器冷凝)变成中温高压的液体(热量通过室外循环空气带走) ,中温高压的液体在经过节流部件节流降压后变为低温低压的气体(室内空气经过换热器表面被冷却降温,达到使室内温度下降的目的) ,低温低压的制冷剂气体再被压缩机吸入,如此循环。空调在制热运行时,低温低压的制冷剂气体被压缩机吸入后加压变成高温高压的制冷剂气体,高温高压的制冷气体在室内换热器中放热变成中温高压的液体(室内空气经过换热器表面被加热,达到使室内

23、温度升高的目的),中温高压的液体再经过节流部分节流降压后变为低温低压的液体,低温低压的液体在换热器中吸热蒸发后变为低温低压的气体(室外空气经过换热器表面被冷却降温) ,低温低压的气体再被压缩机机吸收,如此循环。2.2 空调控制系统原理空调控制系统,即利用计算控制技术,将空调系统中各种信号(温度,湿度,压力状态等),通过输入装置输入计算机,经相应程序运算处理,将处理后的信号经过输出装置输出,进而控制相应的执行机构。空气调节的简称就是空调。它的主要作用是对空气的温度、湿度、洁净度和空气流速等参数进行调节创造一个使人感到很舒适的室内(大气)环境;或者是满足生产工艺过程,实验过程的需求。为了实现这一功

24、能,空气调节所依靠的技术手段只要是通风换气,具体地说,就是加工和处理一定的空气进入室内,使室内大气环境满足要求。对空气处理过程包括加温(降温),加湿(除湿),净化等,即常说的热湿处理。空气调节主要包括温度调节和湿度调节10。2.2.1 空气温度调节通过空调可以调节室内的温度,保证我们有一个舒适的生活环境。不过,我们在冬季(夏季)使用空调的时候,温度并不是调的越高(低)越好。这是因为一个合延边大学本科毕业论文- 5理的房间温度应使人既感到舒适,又有利于健康。所以说,合理调节空调温度对于消费者来说也是很重要的。空调房间合理的温度在夏天应为 2628,冬天应在1820。2.2.2 空气湿度调节人应生

25、活在一个湿度相对适宜的环境里,如果空气相对湿度过高或者是过低都将使人感到不舒适,甚至引起疾病。正常情况下,冬季相对湿度在 45%55%之间,夏季在 55%65%之间,人在此环境下生活才适应。但是我们得结合温度综合考虑,如果温度变化在正常范围内,那么相对湿度即时便在 45%75%的范围内变化,人们也是能适应的。2.2.3 空气其他参数调节除了常规的空气温度、湿度调节以外,在特殊的场合,空调系统还实现控制质量、空气压力等调节。舒适空调要保证一定的新风量,否则人们会感到不舒服;在对空间洁净度有要求的场合,如精密生产加工车间、生物医药制品间等特殊的高洁净度场合,需要正压调节,以免不满足要求的空气进入而

26、损害洁净间的清洁度;对产生有害气体的有害有毒物品生产车间,污染物处理间或是病毒经空气传染的严重传染病隔离病房等场合,须采用负压调节以免有毒,有害气体泄漏造成空气的污染和破坏11。延边大学本科毕业论文- 6第三章 空调控制器的 Verilog HDL 设计3.1 Verilog HDL 简介硬件描述语言(HDL: Hardware Description Language)是硬件设计人员和 EDA工具之间的界面,它主要用于从算法级、门级到开关级的多种抽象设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和完整的电子数字系统之间。硬件描述语言的主要功能是编写设计文件,建立电子系统

27、行为级的仿真模型,然后利用高性能的计算机对用数字 Verilog HDL 建模的复杂数字逻辑进行仿真,之后再对它进行自动综合以生成符合要求且在电路结构上可以实现的数字逻辑网表(Netlist),然后根据网络表和适合某种工艺的器件自动生成具体电路,最后生成该工艺条件下具体电路的延时模型。仿真验证无误后用于制造 ASIC 芯片或写入 FPGA和 CPLD 中。系统能够按层次描述,并可在相同描述中显式地进行时序建模。Verilog HDL 是一种以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。Verilog HDL 和 VH

28、DL 是目前世界上最流行的两种硬件描述语言,都是在 20 世纪80 年代中期开发出来的,前者由 Gateway Design Automation 公司(该公司于 1989年被 Cadence 公司收购)开发,两种 HDL 均为 IEEE 标准12。Verilog HDL 语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制;提供编程语言接口(PLI) ,通过该接口可以在模拟,验证期间从设计外部访问设计,包括模拟的具体控制和运行。支持多个设计层次的混合层次建模;最重要的是 Verilog HDL语言与 C 语言很相似,从 C

29、语言中继承多种操作符和结构,其核心子集非常易于学习和使用,而这对大多数建模应用来说已经足够。由于 HDL 语言本身是专门面向硬件与系统设计的,这样的安排可以使学习者同时获得设计实际电路的经验。3.2 Quartus II 简介Quartus II 是 Altera 的新一代集成开发软件,使用 Quartus II 可完成从设计输入、综合配置、仿真到编程下载整个的设计过程,Quartus II 也可以直接调用 Synplify Pro、Leonardo Spectrum 以及 ModelSim 等第三方 EDA 工具来完成设计任务的综合延边大学本科毕业论文- 7和仿真。此外,Quartus II

30、 与 MATLAB 和 DSPBuilder 结合可以进行基于 FPGA的 DSP 系统开发,方便而快捷;Quartus II 还可以与 SOPC Builder 结合,实现SOPC 系统的开发。Quartus II 可以在 XP、Linux 以及 Unix 上使用,除了可以使用 Tcl 脚本完成设计流程外,提供了完善的用户图形界面设计方式。具有运行速度快,界面统一,功能集中,易学易用等特点。Quartus II 支持 Altera 的 IP 核,包含了 LPM/Mega Function 宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方EDA 工具的良

31、好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方 EDA工具13。此外,Quartus II 通过和 DSP Builder 工具与 Matlab/Simulink 相结合,可以方便地实现各种 DSP 应用系统;支持 Altera 的片上可编程系统(SOPC)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。Maxplus II 作为 Altera 的上一代 PLD 设计软件,由于其出色的易用性而得到了广泛的应用。目前 Altera 已经停止了对 Maxplus II 的更新支持,Quartus II 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。A

32、ltera 在 Quartus II 中包含了许多诸如 SignalTap II、Chip Editor 和 RTL Viewer 的设计辅助工具,集成了 SOPC 和HardCopy 设计流程,并且继承了 Maxplus II 友好的图形界面及简便的使用方法。Altera Quartus II 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。Altera 的 Quartus II 可编程逻辑软件属于第四代 PLD 开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于 Internet 的协作设计。Quartus 平台与 Cad

33、ence、Exemplar Logic、 Mentor Graphics、Synopsys 和 Synplicity 等 EDA 供应商的开发工具相兼容。改进了软件的 Logic Lock 模块设计功能,增添 了 FastFit 编译选项,推进了网络编辑性能,而且提升了调试能力。支持 MAX7000/MAX3000 等乘积项器件14。3.3 空调控制器的 Verilog HDL 设计及仿真3.3.1 空调控制器程序的设计及分析空调机的工作过程如下:空调分为单冷空调和冷暖两用空调,工作原理是一样的,空调一般使用的制冷延边大学本科毕业论文- 8剂是氟利昂。 氟利昂的特性是:由气态变为液态时,释放大

34、量的热量。而由液态转变为气态时,会吸收大量的热量。空调就是据此原理而设计的。 压缩机将气态的制冷剂压缩为高温高压的液态制冷剂,所以室外机吹出来的是热风。然后到毛细管,进入蒸发器(室内机) ,由于制冷剂从毛细管到达蒸发器后空间突然增大,压力减小,液态的制冷剂就会汽化,变成气态低温的制冷剂,从而吸收大量的热量,蒸发器就会变冷,室内机的风扇将室内的空气从蒸发器中吹过,所以室内机吹出来的就是冷风;空气中的水蒸汽遇到冷的蒸发器后就会凝结成水滴,顺着水管流出去,这就是空调会出水的原因。接通电源后,用户通过按键设定温度(默认为25)并指定工作模式(手动/自动) ,空调机开始运行。当温度高于设定温度,且超过允

35、许误差范围时,压缩机开始运行,环境温度随压缩机运行而下降。当环境温度降到设定温度附近,且进入允许误差范围之内时,压缩机停止运行。当环境温度低于设定温度,且超过允许误差范围时,加热装置开始运行,环境温度随加热装置运行而上升。当环境温度到达设定温度附近,且进入允许误差范围之内时,加热装置停止运行。压缩机和加热器周而复始的运行,保证环境温度控制在设定的温度范围之内。本设计的Verilog HDL程序由一个主程序模块和四个子程序模块组成,其中主程序如下:modul air-condition(clk,reset,temp_Setkey,Auto_switch,temp_Test,to_hot,to_c

36、ool, temp_Set);input clk,reset;input1:0temp_Setkey;input2:0Auto_switch;input5:0temp_Test;output reg to_hot,to_cool;output reg5:0temp_Set;parameter s0=2b00,s1=2b01,s2=2b10;reg1:0current_state,next_state;wire5:0temp_H,temp_L;wire test_H,test_L;延边大学本科毕业论文- 9reg w1,w2,w3,w4;always (posedge clk,posedge r

37、eset)beginif(reset)temp_Set=25;else begin w1=temp_Setkey0; w2=w1; w3=temp_Setkey1; w4=w3; if(w1&w2=0)&(w1=1)temp_Set=temp_Set+1; else if(w3&w4=0)&(w3=1)temp_Settemp_H)?1:0, test_L=(temp_Testtemp_L)?1:0;always (posedge reset,posedge clk) begin if(reset)current_state=s0; else current_s

38、tate=next_state; endalways (Auto_switch,current_state,test_H,test_L) begin if(Auto_switch2=1) begin if(Auto_switch0=1) begin to_hot=0; to_cool=0;延边大学本科毕业论文- 10 end else if(Auto_switch1=1) begin to_hot=1; to_cool=0; end else begin to_hot=0; to_cool=1; end endelse begin case(current_state) s0: begin t

39、o_hot=0; to_cool=0; if(test_H=1&test_L=0) next_state=s1; else if(test_H=0&test_L=1) next_state=s2; else next_state=s0; end s1: begin to_hot=0; to_cool=1; if(test_H=0&test_L=0) next_state=s0;延边大学本科毕业论文- 11 else if(test_H=0&test_L=1) next_state=s2; else next_state=s1; end s2: begin to_

40、hot=1; to_cool=0; if(test_H=0&test_L=0) next_state=s0; else if(test_H=1& test_L=0) next_state=s1; else next_state=s2; end default:next_state=s0; endcase end endendmodule主程序里调用了三个子程序,分别是 A/D 采样控制电路、跑马灯程序,之后是7 段显示器程序设计。在设计 A/D 采样控制器中,ADC0809 是 CMOS 的 8 为 A/D 转换器,片内有 8路模拟开关,可控制 8 个模拟量中的一个进入转换器。

41、转换时间约为100us,ADC0809 含锁存控制的 8 路开光,输出由三态缓冲器控制,单 5v 电源供电。START 是转换启动信号,高电平有效。ALE 是 3 位通道选择地址信号(ADDC、ADDB、ADDA)的锁存信号。当模拟量送至某一输入端(如 IN1 或 IN2等)时,由 3 位地址信号选择,而地址信号有 ALE 锁存。EOC 是转换状态信号,转换开始后 EOC 为低电平,当启动转换约 100us 后,EOC 由负变正,以示转换结束。在 EOC 的上升沿后,若使输出使能信号 OE 为高电平,则控制打开三态缓冲期,把转换好的 8 为数据结果输至数据总线,至此 ADC0809 的一次结束

42、。下面分别给延边大学本科毕业论文- 12ADC0809 采样的控制状态图和主要程序。如下图 3.1 为控制 ADC0809 采样的状态图。 对 0809 初始化 由 LOCK 信号锁存 转换好的数据 启动 A/D 转换 对采样周期中等待 OE=“1”数据输出有效 EOC=“1”,转换结束 EOC=“0”,正在转换 图 3.1 控制 ADC0809 采样的状态图主要程序如下: module ADCINT_v(D,CLK,EOC,ALE,START,OE,ADDA,LOCK0,Q);input7:0D;input CLK;input EOC;output reg ALE;output reg ST

43、ART;output reg OE;output ADDA;output LOCK0;output 7:0Q;parameter st0=3b000, st1=3b001,St0St1St4 St3 St2延边大学本科毕业论文- 13 st2=3b010, st3=3b011,st4=3b100;reg2:0current_state,next_state;reg7:0REGL;reg LOCK;assign ADDA=1b1;assign Q=REGL,LOCK0=LOCK;always (current_state,EOC)begin:COM case(current_state) st0

44、: begin ALE=1b0;START=1B0;LOCK=1B0;OE=1b0; next_state=st1; end st1: begin ALE=1b1;START=1b1;LOCK=1b0;OE=1b0; next_state=st2; end st2: begin ALE=1b0;START=1b0;LOCK=1b0;OE=1b0; if(EOC=1)next_state=st3; else next_state=st2; end st3: begin ALE=1b0;START=1b0;LOCK=1b1;OE=1b1; next_state=st4;延边大学本科毕业论文- 14

45、 end st4: begin ALE=1b0;START=1b0;LOCK=1b1;OE=1b1; next_state=st0; end default: next_state=st0; endcase endalways (posedge CLK) begin:REG current_state=next_state; endalways (posedge LOCK) begin:LATCH1 REGL=D; endendmodule为了模拟电机转动还得用一个简单的跑马灯程序作为子模块,其输入端口为rst、clk、sel1.0,输出端口为 led7.0,其中 sel 用于模块选择,led

46、 用于控制 8 个LED 灯。该子程序的 Verilog HDL 编程如下:module maomadeng (clk,led,to_hot,to_cool,rst);input rst,clk;input to_hot,to_cool;output 7:0led;reg 7:0 led;reg2:0cnt1;reg2:0cnt2;always (posedge clk)延边大学本科毕业论文- 15begin if(rst) begin cnt1=0;cnt2=0;end else case (to_hot,to_cool) 2b01: begin if(cnt1=0)led=8b000000

47、01; else led=led1; cnt1=cnt1+1; end 2b10: begin if(cnt2=0) led=8b10000000; else led1; cnt2=cnt2+1; end 2b11: begin led=8b00000000; end default:led=8b01010101; endcaseendendmodule七段显示器程序:module paomadeng(bcd,leds);input 3:0bcd;output reg 1:7leds;always (bcd)case (bcd) 0:leds=7b1111110;延边大学本科毕业论文- 16

48、1:leds=7b0110000; 2:leds=7b1101101; 3:leds=7b1111001; 4:leds=7b0110011; 5:leds=7b1011011; 6:leds=7b1011111; 7:leds=7b1110000; 8:leds=7b1111111; 9:leds=7b1111011; 4b1010:leds=7b1110111; 4b1011:leds=7b0011111; 4b1100:leds=7b1001110; 4b1101:leds=7b0111101; 4b1110:leds=7b1001111; 4b1111:leds=7b1000111;

49、default :leds=7bx; endcaseendmodule3.3.2 空调控制器的时序仿真本设计的 Verilog HDL 编程在 Quartus II 中的仿真结果如下所示:延边大学本科毕业论文- 17图 3.2 空调控制器在 Quartus II 中的时序仿真结果如图 3.2 所示,当环境温度高于设定温度时,且在手动模式下,开始按temp_Setkey0键制冷,每按一次减少一度;如果想停止设置可以按 Auto_switch0键,电机停转;当设定温度在 19 度时,如果感觉到冷,可以按 temp_Setkey1键,每按一次增加一度。如果想让空调进入自动控制温度状态可以设置 Aut

50、o_switch2等于 0。空调控制器的模块图如下所示:图 3.3 空调控制器的模块图此模块包括四个子模块,分别位 A/D 转换模块,用于模拟环境温度,在设计A/D 采样控制器中,ADC0809 是 CMOS 的 8 为 A/D 转换器,片内有 8 路模拟开关,可控制 8 个模拟量中的一个进入转换器。转换时间约为 100us,ADC0809 含锁存控制的 8 路开光,输出由三态缓冲器控制,单 5v 电源供电。START 是转换启动信号,高电平有效。ALE 是 3 位通道选择地址信号(ADDC、ADDB、ADDA)的锁存信号。当模拟量送至某一输入端(如 IN1 或 IN2 等)时,由 3 位地址

51、信号选择,而地址信号有 ALE 锁存。EOC 是转换状态信号,转换开始后 EOC 为低电平,当启动转换约 100us 后,EOC 由负变正,以示转换结束。在 EOC 的上升沿后,若使输出使能信号 OE 为高电平,则控制打开三态缓冲期,把转换好的 8 为数据结果输至数据总线,至此 ADC0809 的一次结束;起初设计采用流水灯模块,用于模拟电机运转,流水灯从右往左亮表示制冷,从左往右亮表示制热,全亮表示温度适中;为了使效延边大学本科毕业论文- 18果更加明显,也可以用七段显示器模块代替流水灯模块(如图 3.3) ,右下角的模块就是一个 7 段译码器模块,显示器为 11111111 表示温度适中,

52、22222222 表示制冷,44444444 表示制热;主模块,控制整个空调控制器。第四章 空调控制器的 FPGA 实现4.1 FPGA 简介FPGA(FieldProgrammable Gate Array) ,即现场可编程门阵列,它是在PAL、GAL、CPLD 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(VerilogHDL 或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 FPGA 上进行测试,是现代 IC 设计验证的技术主流

53、。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如 AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的 FPGA 里面,这些可编辑的元件里也包含记忆元件例如触发器(Flipflop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把 FPGA 内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品 FPGA 的逻辑块和连接可以按照设计者而改变,所以 FPGA 可以完成所需要的逻辑功能。FPGA 采用了逻辑单元阵列 LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块 CLB(Confi

54、gurable Logic Block)、输出输入模块 IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA 的基本特点主要有:(1) 采用 FPGA 设计 ASIC 电路,用户不需要投片生产就能得到合用的芯片;(2) FPGA 可做其他全定制或半定制 ASIC 电路的试样片;(3) FPGA 内部有丰富的触发器和 IO 引脚;(4) FPGA 是 ASIC 电路中设计周期最短、开发费用最低、风险最小的器件之一;延边大学本科毕业论文- 19(5) FPGA 采用高速 CHMOS 工艺,功耗低,可以与 CMOS、TTL 电平兼容。可以说,FPGA

55、 芯片是小批量系统提高系统集成度和可靠性的最佳选择之一。目前 FPGA 的品种很多,有 XILINX 的 XC 系列、TI 公司的 TPC 系列、ALTERA 公司的 FIEX 系列等。FPGA 是由存放在片内 RAM 中的程序来设置其工作状态的。因此,工作时需要对片内的 RAM 进行编程。用户可以根据不同的配置模式采用不同的编程方式。加电时,FPGA 芯片将 EPROM 中的数据读入片内编程 RAM 中,配置完成后,FPGA进入工作状态。掉电后,FPGA 恢复成白片,内部逻辑关系消失。因此,FPGA 能够反复使用。FPGA 的编程不需专用的 FPGA 编程器,只需用通用的EPROM、PROM

56、 编程器即可。当需要修改 FPGA 功能时,只需换一片 EPROM 即可。这样,同一片 FPGA、不同的编程数据,可以产生不同的电路功能。因此,FPGA的使用非常灵活。4.2 FPGA 设计及验证下图为使用 FPGA 验证结果的使用流程:基于 Verilog HDL 编程运用 Quartus two 时序仿真FPGA 设计及验证逻辑分析仪延边大学本科毕业论文- 20图 4.1 FPGA 验证结果流程图FPGA 是一种门电路可以高达上百万,时钟频率可达几百兆的可编程逻辑器件。在数字信号处理领域中 FPGA 技术得到了广泛应用。本设计将使用 FPGA 进行最终仿真。FPGA 设计环境为:图 4.2

57、 实践 FPGA 的测试环境图 4.3 空调控制器在 Quartus II 中的时序仿真结果上图为模块生成后得到的时序仿真图。由图可知,当输入温度信号为 30 度时得延边大学本科毕业论文- 21到了如上图所示的仿真结果。当把本设计程序下载到 FPGA 中并通过逻辑分析仪后,得出的结果如图 4.4,图 4.5,图 4.6 所示。可以看出,逻辑分析仪中的仿真结果与Quartus II 中的仿真结果完全相同,证明了本设计的正确性。开机复位:温度调节要注意居住和工作在外界的温差不宜过大,把环境温度调节到所要求的范围内。本次设计开机复位为 25 度(图 4.4) 。图 4.4 在逻辑分析仪中开机复位的仿

58、真结果制冷:当环境温度过高,需要空调制冷来营造一个舒适的环境,这时可以按temp_Setkey1键,每按一次空调显示温度为降低一度,按到 19 度时,如果感觉舒适可以停止操作(图 4.4) 。图 4.5 在逻辑分析中制冷的仿真结果制热:在室内温度为 19 度一段时间后,如果感觉稍微有点凉,那可以直接按temp_Setkey0,同理,每按一次温度升高一度(图 4.6) 。延边大学本科毕业论文- 22图 4.6 在逻辑分析仪中制热的仿真结果结 论本文首先介绍了国内外空调控制器的发展现状和有关空调控制器的理论,以此为依据设计了空调控制器。空调控制器设计包括对环境温度和电机正反运转以及制冷制热控制的设

59、计,电机运转状态可以采用流水灯来指示,即正转时流水灯运动方向从左向右;反转时流水灯从右向左;停转时流水灯熄灭。温度控制可以采用 A/D采样模块实现,程序实现也是很简单的。本文通过 Verilog HDL 来设计空调控制器,且能下载到 FPGA 上成功的验证,优点是其能够在较短的时间内设计出高标准的产品。相对于速度慢,专用性强,编程难的普通设计方法,还是有较大的优势的。并通过功能仿真和时序仿真来验证空调控制器。并且本设计中根据外界温度自动控制室内温度,起到节能的作用。FPGA 技术的引入,使得设计摆脱了硬件电路的束缚,只需将更多的精力致力与软件的设计和优化上,从而极大地提高了设计效率。本设计从任务提出到最终完成硬件测试仅历时两个多月,这一定程度上也证明了在空调控制器的设计中引入现代 FPGA 技术的可行和巨大潜力。随着 FPGA 技术及其制作工艺的不断进步将FPGA 技术融入该类

温馨提示

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

评论

0/150

提交评论