




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆大学本科学生毕业设计(论文) 目录重庆大学本科学生毕业设计(论文) 基于FPGA高性能温控调速风扇系统设计学 生:李 尧学 号:20113329指导教师:潘银松助理指导老师:覃海洋专 业:光电信息工程重庆大学光电工程学院二O一五年六月Graduation Design(Thesis) of Chongqing UniversityBased on FPGA High Performance Fan Design of Temperature Control System Undergraduate: Li yaoSupervisor: Prof. Pan yinsongAssistant Supervisor : Qin haiyangMajor: Optoelectronic Information EngineeringCollege of Optoelectronic EngineeringChongqing UniversityJune 2015摘 要温控风扇在现代社会中的生产以及人们的日常生活中都有广泛的应用,如工业生产中大型机械散热系统中的风扇、现在笔记本电脑上广泛应用的智能CPU风扇等。在现阶段,温控风扇的设计已经有了一定的成效,可以使风扇根据环境温度的变化进行自动调速,当温度升高到一定时能自动启动风扇,当温度降到一定时能自动停止风扇的转动,实现智能控制。 随着FPGA在各个领域的广泛应用,许多用FPGA做控制核心的温度控制系统也应运而生。它使风扇根据环境温度的变化实现自动启停,使风扇转速随着环境温度的变化而变化,实现了风扇的智能调控。本设计采用ALTER公司Cyclone-V FPGA作为控制器,利用温度传感器DS18B20作为温度采集元件,并根据采集到的温度,经过高精度的调速算法,最终将用于调速的PWM脉冲信号传递给L298N电机驱动芯片以驱动并控制直流电机的转速。采用矩阵键盘作为控制系统的输入,可选择手动模式和自动模式,以及进行档位选择。手动模式下,可以人为选择风扇的档位与转速;自动模式下,根据温度的变化自动改变风扇电机的转速,同时在LED数码管显示当前的温度、所选的工作模式和档位。蜂鸣器用于提示按键成功,LED灯用于档位提示并方便使用者夜间操作。为了让风扇能够直接由220V直接供电,文中对电源进行了单独的设计,让其更具有使用价值。关键词:FPGA,温度控制,直流电机,PWM调速,电源设计AbstractThe fan controlled by temperature is widely used in modern society productions and peoples daily life, such as the fan of large-scale industrial production of mechanical cooling system and the CPU fan of the notebook computer which are now widely used. At present, the design of temperature control fan have a certain effect, which can make the fan speed automatically change according to the environment temperature. when the temperature rises to a certain one, it can automatically start the fan, when the temperature drops to a certain one, it can automatically stop the rotation of the fan, which achieves the intelligently control of the fan. As FPGA is widely used in various fields, many temperature control systems based on FPGA also emerge as the times require. It makes the fan according to the change of environment temperature realize the automatic starting and stopping and the fan speed varies with the temperature of the environment, which realizes the intelligent control of the fan. This design uses ALTER Cyclone-V FPGA as the controller, using the temperature sensor DS18B20 as the temperature acquisition device, and the collected temperature through the speed control algorithm with high precision will eventually be used to transmit PWM pulse signal to control L298N motor driver chip to drive and control the speed of DC motor. Using 4*4 matrix keyboard as the input of control system, you can choose manual mode and automatic mode, and make gears selection. In manual mode, you can stall speed and artificial selection of the fan; In the automatic mode, the fan motor speed can change automatically according to the change of temperature, at the same time ,it uses the LED digital tube to displays the current temperature, the working modes and the gears chosen. The buzzer prompts are used for key success proving, LED lights for shift reminder and which is convenient for users to operate at night. In order to let the fan can be powered directly by 220V, the power supply circuit is separately designed, which make it be more pragmatic value.Key words:FPGA, Temperature control, DC motor, PWM, Power design目录摘 要IAbstractII1 绪论11.1 引言11.2 发展现状与应用领域12 整体方案设计32.1 性能要求32.2 系统整体设计32.3 方案论证42.3.1 温度传感器的选择42.3.2 调速方式的选择52.3.3 显示方式的选择52.4 重点研究内容及实现途径63 硬件电路原理及设计73.1 FPGA73.2 Cyclone V- EP4CE6芯片73.2.1芯片简介73.2.2 EP4CE6开发板83.2.3 时钟部分和复位电路83.2.4内部电源电路93.2.5 I/O扩展电路103.3电源电路原理及设计103.4 L298N芯片113.4.1芯片介绍113.4.2实物模块图及其它参数133.5 DS18B20温度传感器及驱动电路143.5.1 DS18B20简介143.5.2 DS18B20主要特征及参数143.5.3 DS18B20的时序控制153.6 数码管显示电路163.7独立按键及蜂蜜器173.7.1独立按键173.7.2 蜂蜜器174 软件设计与仿真194.1整体工作流程图194.2 Verilog HDL语言与Quartus II开发平台204.2.1 Verilog HDL语言204.2.2 Quartus II开发平台214.3 程序各部分调试214.3.1 数码管显示部分的调试224.3.2 矩阵键盘输入部分的调试234.3.3 温度传感器测温程序的调试234.3.4 PWM调试程序的调试244.3.5 算法及整体程序的调试244.4 系统整体仿真254.5 实物装置图26结束语27致谢28参考文献29IV重庆大学本科学生毕业设计(论文) 1 绪论1 绪论1.1 引言生活中,我们经常会使用一些与温度有关的设备。比如,现在虽然不少城市家庭用上了空调,但在占中国大部分人口的农村地区依旧使用电风扇作为降温防暑设备,春夏(夏秋)交替时节,白天温度依旧很高,电风扇应高转速、大风量,使人感到清凉;到了晚上,气温降低,当人入睡后,应该逐步减小转速,以免使人感冒。虽然电风扇都有调节不同档位的功能,但必须要人手动换档,睡着了就无能为力了,而普遍采用的定时器关闭的做法,一方面是定时时间长短有限制,一般是一两个小时;另一方面可能在一两个小时后气温依旧没有降低很多,而风扇就关闭了,使人在睡梦中热醒而不得不起床重新打开风扇,增加定时器时间,非常麻烦,而且可能多次定时后最后一次定时时间太长,在温度降低以后风扇依旧继续吹风,使人感冒;第三方面是只有简单的到了定时时间就关闭风扇电源的单一功能,不能满足气温变化对风扇风速大小的不同要求。又比如在较大功率的电子产品散热方面,现在绝大多数都采用了风冷系统,利用风扇引起空气流动,带走热量,使电子产品不至于发热烧坏。要使电子产品保持较低的温度,必须用大功率、高转速、大风量的风扇,而风扇的噪音与其功率成正比。如果要低噪音,则要减小风扇转速,又会引起电子设备温度上升,不能两全其美。1.2 发展现状与应用领域当今社会已经完全进入了电子信息化,温度控制器在各行各业中已经得到了充分的利用。具有对温度进行实时监控的功能,以保证工业仪器,测量工具,农业种植的正常运作,它的最大特点是能实时监控周围温度的高低,并能同时控制电机运作来改变温度。它的广泛应用和普及给人们的日常生活带来了方便。简易温度监测控制器是利用嵌入式系统来完成的一个小型的控制系统。现阶段运用与国内大部分家庭,系统效率越来越高,成本也越来越低。其发展趋势可以根据其性质进行相应的改进可以运用与不同场合的温度监测控制,并带来大量的经济效益。它广泛应用于城市、农村、各种工业生产,在一定情况下亦适用于太阳能、锅炉及对温度敏感的产业的自动控制和温度报警,是实现无人值守的理想产品,市场极为广阔,需求量大。并且使用寿命长,适用范围广,安装极其容易。电风扇曾一度被认为是空调产品冲击下的淘汰品,其实并非如此,市场人士称,家用电风扇并没有随着空调的普及而淡出市场,近两年反而出现了市场销售复苏的态势。其主要原因:一是风扇和空调的降温效果不同空调有强大的制冷功能,可以快速有效地降低环境温度,但电风扇的风更温和,更加适合老人儿童和体质较弱的人使用;二是电风扇有价格优势,价格低廉而且相对省电,安装和使用都非常简单。尽管电风扇有其市场优势,但传统电风扇还是有许多地方应当进行改良的,最突出的缺点是它不能根据温度的变化适时调节风力大小,对于夜间温差大的地区,人们在夏夜使用电风扇时可能遇到这样的问题:当凌晨降温的时候电风扇依然在工作,可是人们因为熟睡而无法察觉,既浪费电资源又容易引起感冒,传统的机械定时器虽然能够控制电风扇在工作一定后关闭,但定时范围有限,且无法对温度变化灵活处理。鉴于以上方面的考虑,我们需要设计一种智能电风扇控制系统来解决这些问题。本设计的前景很广,可以在各大校园进行广泛推广,相信会获得众多大学生的欢迎,尤其是寝室未装空调的各大校园。27重庆大学本科学生毕业设计(论文) 3 硬件电路原理及设计2 整体方案设计2.1 性能要求要求设计的温控调速系统的性能指标如下: 温度分辨率:0.5; 可直接220V交流供电; 要求转速随温度调节的级数在50级以上; 风扇应有手动模式和自动模式,手动模式风扇转速由使用者选择风扇档位,自 动模式根据实时温度控制转速; 能够实时显示当前温度和风扇工作的状态; 对按键成功进行提示 能够夜间小范围照明2.2 系统整体设计本设计的整体思路是:以ALTER的Cyclone-V FPGA作为控制中心,在自动模式下,通过温度传感器DS18B20检测环境温度并直接输出数字温度信号给FPGA进行处理,通过高精度的控制算法计算,将用于调速的PWM信号传递给L298N驱动芯片,以控制电机的转速。在LED数码管上显示当前环境温度值、工作模式以及选择的档位。通过独立键盘输入,进行功能选择和档位选择,蜂鸣器判断按键成功与否。FPGA与电机的供电皆由电源电路独立供电。系统整体结构框图如图2.1所示:图2.1 系统整体结构框图模块功能描述 温度传感器模块:本实验中采用PT100铂电阻温度传感器进行测温,铂电阻的阻值与温度成正比,可以用电桥法将传感器的阻值变化量转化为电压信号,再将电压信号通过ADC0809进行转换,从而得到8位的数字温度信号 温度显示模块:根据PT100型铂热电阻分度表对温度传感器输出的8位数字信号进行译码,由于在本次设计中采用的是4位的数码管,所以将温度信号译为8位的BCD码,从而显示出当前的温度。 开关输入模块:电风扇设置有开关键、reset键和锁存键,开关键控制电机的通电状态,reset键可以使电机的档位回归为最低的档位,锁存键则是可以使电机的档位保存在当前的状态,不随温度的变化而发生变化。 FPGA控制模块:使用Verilog Hdl语言来实现整个电风扇的状态控制。根据开始工作时的温度来设定温度值的上下限。若温度超出了上下限,则进入相应的状态内,此时重新设定温度值的上下限。当温度低于一定的值时,则电风扇自动停止工作;而当温度高于这个值时,电风扇自动重新工作。当档位处于最高档位时,此时温度上升档位也不会发生变化。 电机控制模块和档位显示模块:根据电风扇所在的状态,输出不同占空比的PWM以及档位的显示信号。档位通过数码管来显示。将输出的PWM信号经过放大处理后输入到直流电机,从而控制电机的转动。2.3 方案论证本设计要实现风扇直流电机的温度控制,使风扇电机能根据环境温度的变化自动启停及改变转速,需要比较高的温度变化分辨率以及稳定可靠的换挡停机控制部件。2.3.1 温度传感器的选择在本设计中,温度传感器的选择有以下两种方案:方案一:采用热敏电阻作为检测温度的核心元件,并通过运算放大器放大,由于热敏电阻会随温度变化而变化,进而产生输出电压变化的微弱电压变化信号,再经模数转换芯片ADC0809将微弱电压变化信号转化为数字信号输入FPGA处理。方案二:采用数字式的集成温度传感器DS18B20作为温度检测的核心元件,由其检测并直接输出数字温度信号给FPGA进行处理。对于方案一,采用热敏电阻作为温度检测元件,有价格便宜,元件易购的优点,但热敏电阻对温度的细微变化不太敏感,在信号采集、放大以及转换的过程中还会产生失真和误差,并且由于热敏电阻的R-T关系的非线性,其自身电阻对温度的变化存在较大误差,虽然可以通过一定电路来修正,但这不仅将使电路变得更加复杂,而且在人体所处环境温度变化过程中难以检测到小的温度变化。故该方案不适合本系统。对于方案二,由于数字式集成温度传感器DS18B20的高度集成化,大大降低了外接放大转化等电路的误差因数,温度误差变得很小,并且由于其检测温度的原理与热敏电阻检测的原理有着本质的不同,使得其温度分辨力极高。温度值在器件内部转化成数字量直接输出,简化了系统程序设计,又由于该温度传感器采用先进的单总线技术,与FPGA的接口变得非常简洁,抗干扰能力强,因此该方案适用于本系统。2.3.2 调速方式的选择方案一:采用数模转换芯片DAC0832来控制,由FPGA根据当前环境温度值输出相应数字量到DAC0832中,再由DAC0832产生相应模拟信号控制晶闸管的导通角,从而通过无级调速电路实现风扇电机转速的自动调节。方案二:采用FPGA软件编程实现PWM(脉冲宽度调制)调速的方法。PWM是英文Pulse Width Modulation的缩写,它是按一定的规律改变脉冲序列的脉冲宽度,以调节输出量和波形的一种调节方式,在PWM驱动控制的调节系统中,最常用的是矩形波PWM信号,在控制时需要调节PWM波得占空比。占空比是指高电平持续时间在一个周期时间内的百分比。在控制电机的转速时,占空比越大,转速就越快,若全为高电平,占空比为100%时,转速达到最大。对于方案一,该方案能够实现对直流风扇电机的无级调速,速度变化灵敏,但是D/A转换芯片的价格较高,与其温控状态下无级调速功能相比性价比不高。对于方案二,相对于其他用硬件或者软硬件相结合的方法实现对电机进行调速而言,采用PWM 用纯软件的方法来实现调速过程,具有更大的灵活性,并可大大降低成本,能够充分发挥FPGA的功能,对于简单速度控制系统的实现提供了一种有效的途径,并且所输出的FPGA信号可直接提供给L298N芯片去驱动并控制24V直流电机。综合考虑选用方案二。2.3.3 显示方式的选择方案一:采用四位共阳数码管显示温度,动态扫描显示方式。方案二:采用液晶显示屏LCD显示温度对于方案一,该方案成本低廉,显示温度明确醒目,在夜间也能看见,功耗极低,显示驱动程序的编写也相对简单,这种显示方式得到广泛应用。不足的地方是扫描显示方式是使四个LED逐个点亮,因此会有闪烁,但是人眼的视觉暂留时间为20MS,当数码管扫描周期小于这个时间时人眼将感觉不到闪烁,因此可以通过增大扫描频率来消除闪烁感。对于方案二,液晶体显示屏具有显示字符优美,不但能显示数字还能显示字符甚至图形的优点,这是LED数码管无法比拟的。但是液晶显示模块价格昂贵,驱动程序复杂,从简单实用的原则考虑,本系统采用方案一2.4 重点研究内容及实现途径当档位处于最高档位时,此时温度上升档位也不会发生变化。同时设置了一个下限温度,当温度低于此下限温度时,电扇停止工作;而当温度超过此温度时电风扇又将重新启动。 面板(显示)、操作、规则本设计中通过数码管来显示测得的温度。电设置有开关键、reset 键和锁存键,开关键控制电机的通电状态,reset 键可以使电机的档位回归为最低的档位, 锁存键则是可以使电机的档位保存在当前的状态,不随温度的变化而发生变化。 输入、输出接口 本设计中输入为数字温度信号,输出的 PWM 控制波形。数字温度信号是通过温度传感器和模数转换器获得的。根据输入的数字温度信号,利用 FPGA 进行分析处理输出占空比可调的 PWM 来控制电机的转速。电源电路的设计,通过桥式整流电路并运用LM2575T实现交流转直流,将其输出的电压提供给L298N驱动以及对FPGA提供电源。3 硬件电路原理及设计3.1 FPGA FPGA是英文Field Programmable Gate Array的缩写,即现场可编程门阵列,它是在PAL、GAL、EPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个新概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输出输入模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。FPGA的基本特点主要有: 采用FPGA设计ASIC电路,用户不需要投片生产,就能得到合用的芯片。 FPGA可做其它全定制或半定制ASIC电路的中试样片。 FPGA内部有丰富的触发器和IO引脚。 FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小的器件之一。 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的使用非常灵活。FPGA有多种配置模式:并行主模式为一片FPGA加一片EPROM的方式;主从模式可以支持一片PROM编程多片FPGA;串行模式可以采用串行PROM编程FPGA;外设模式可以将FPGA作为微处理器的外设,由微处理器对其编程。3.2 Cyclone V- EP4CE6芯片3.2.1芯片简介 CycloneV是FPGA制造厂商ALTER下面的一个系列产品,其采用了TSMC的28-nm低功耗(28LP)工艺进行开发,满足了目前大批量低成本应用对最低功耗、最低成本,以及最优性能水平的需求。与前几代产品相比,该系列总功耗降低了40%,静态功耗降低了30%。CycloneVFPGA提供功耗最低的串行收发器,每通道在5Gbps时功耗只有88-mW,处理性能高达4,000-MIPS,而功耗不到1.8W。此外,该系列集成了丰富的硬核知识产权模块,例如,支持400MHzDDR3和PCI ExpressGen2硬核IP模块的多功能硬核存储器控制器等,帮助工程师降低系统成本和功耗,缩短设计时间,同时突出产品优势。为保护宝贵的IP投入,该系列还提供最全面的设计保护功能,包括支持易失和非易失密钥的256位高级加密标准(AES)。3.2.2 EP4CE6开发板在本次设计中,采用了EPRCE6-FPGA芯片,其采用了TSMC的28-nm低功耗(28LP)工艺进行开发,满足了目前大批量低成本应用对最低功耗、最低成本,以及最优性能水平的需求。支持400MHz DDR3和PCI Express Gen2硬核IP模块的多功能硬核存储器控制器等,帮助工程师降低系统成本和功耗,缩短设计时间,同时突出产品优势,同时,为了缩短设计周期,设计直接从网上购买了开发板,以保证设计的进度。开发板具体性能及参数如下: 采用EPCS4SI8N串行配置芯片,同时支持JTAG和AS模式; 采用50MHz 有源晶振,提供系统工作时钟; 采用电源芯片11173.3V,提供3.3V电压输出; 采用5V直流电源插座和USB供电方式,两种供电方式方便开发板的使用 采用自恢复保险丝、肖特基二极管的应用,大大提高了电路的可靠性和安全性;采用自锁按键电源开关;一个重新配置按键,为用户提供重新配置信号;JTAG下载接口,一般用于测试过程中,对应下载的文件是SOF文件,下载速度快,但是掉电程序丢失;AS下载接口,一般用于固化程序,对应下载的是POF文件,下载速度相对较慢,但是掉电程序不丢失,在日常学习的中建议使用JTAG方式;3.2.3 时钟部分和复位电路Altera FPGA开发板采用50M有源贴片时钟,提供芯片的主时钟,方便用户其他使用。提供一个全局复位按键,提供复位信号,时钟部分电源均经过了滤波处理,提高了电源的稳定性。Altera FPGA核心板中对这些时钟引脚进行了如下处理: CLK1作系统工作时钟,直接接入晶振. CLK2用作系统复位引脚,可以实现复位功能; CKL3、CLK4、CLK5、CLK6、CLK7已经引出,用户在使用时只能作为输入引脚;电路原理如图3.1所示。图3.1 时钟与复位电路原理图3.2.4内部电源电路电源部分是保证整个开发板系统正常工作最重要的部分。 Altera FPGA开发板外部采用输入直流5V电源和usb供电两种供电模式,经过AMS11173.3V 稳压后输出3.3V,3.3V主要用于给FPGA 所有I/O口,以及核心板存储器电路、串行配置器件、复位电路和LED指示灯等供电。 然后3.3V送给AMS11171.2V 稳压,提供FPGA的内核电压。pwr为电源工作指示灯,提供电源运行情况指示,D1为1N5822,高速肖特基二极管,防止电源接反;同时各电源输入及输出部分设计了高质量钽电容用作电源滤波处理,提高系统电源稳定性。电源部分的原理图如图3.2所示。图3.2 电源原理图3.2.5 I/O扩展电路 设计中所使用的这款EPRCE6-FPGA开发板所有剩余IO被全部引出,用户可以通过这些扩展IO的外接其他电路,方便快捷,既保证了通用性,又保证了实用性。Altera FPGA开发板I/O通过P1插座引出。 插座设置了VCC5V、3.3V、GND 电源,方便以后单独使用。 扩展I/O口的原理图如图3.3所示。 图3.3 扩展I/O原理图3.3电源电路原理及设计 设计中需要给FPGA提供3.3V直流电源,需要给L298N芯片提供24V驱动电源,使其能够驱动电机运转。 所以这就需要设计单独的电源电路,其能够将220V交流电压经过降压,整流变到所需的直流电压值。 电路如图3.4所示。图3.4 电源电路图采用开关电源进行电源设计,如图所示,首先将交流220V电压经过变压器降到较低的电压值。然后进行桥式整流电路对其进行整流,设计中用到LM2576稳压芯片来进行稳压输出,然后将其中的纹波滤掉,然后配置合适的电阻值,再次进行滤波,即可得到所需的电压值。LM2576系列是美国国家半导体公司生产的3A电流输出降压开关型集成稳压电路,它内含固定频率振荡器(52kHz)和基准稳压器(1.23V),并具 有完善的保护电路,包括电流限制及热关断电路等,利用该器件只需极少的外围器件便可构成高效稳压电路。 为了产生不同的输出电压,通常将比较器的负端接基准电压(1.23V),正端接分压电阻网络,这样可根据输出电压的不同选定不同的阻值,其中R1=1k(可调-ADJ时开路),R2分别为1.7 k(3.3V)、3.1 k(5V)、8.84 k(12V)、11.3 k(15V)和0(-ADJ),上述电阻依据型号不同已在芯片内部做了精确调整因而无需使用者考虑。将输出电压分压电阻网络的输出同内部基准稳压值 1.23V进行比较,若电压有偏差,则可用放大器控制内部振荡器的输出占空比从而使输出电压保持稳定。3.4 L298N芯片3.4.1芯片介绍L298是SGS(通标标准技术服务有限公司)公司的品,比较常见的是15脚Multiwatt封装的L298N,内部包含4通道逻辑驱动电路。是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机,其引脚排列如图3.5中所示。图3.5 芯片引脚图L298N的引脚9为LOGICSUPPLYVOLTAGEVss,即逻辑供应电压。引脚4为SUPPLY VOLTAGEVs,即驱动部分输入电压。Vss电压要求输入最小电压为4.5V,最大可达36V;Vs电压最大值也是36V,但经过实验,Vs电压应该比Vss电压高,否则有时会出现失控现象。它的引脚2,3,13,14为L298N芯片输入到电动机的输出端,其中引脚2和3能控制两相电机,对于直流电动机,即可控制一个电动机。同理,引脚13和14也可控制一个直流电动机。引脚6和11脚为电动机的使能接线脚。引脚5,7,10,12为单片机输入到L298N芯片的输入引脚。3.4.2逻辑功能及外接电路图EN A(B) IN1(IN3) IN2(IN4) 电机运行情况H H L 正转 H L H 反转H 同IN2(IN4) 同IN1(IN3) 快速停止L X X 停止控制使能引脚ENA或者ENB就可以实现PWM脉宽速度调整。其外接电路图如图3.6所示。图3.6 L298N电路原理图3.4.2实物模块图及其它参数 为了缩短开发周期,可直接购买相应的模块电路,其使用方便,性能可靠,如图3.7所示。图3.7 L298N模块实物图如图,设计中输出A对接驱动电机;逻辑输入对接FPGA的42,43引脚;通道A使能与FPGA的34引脚相对接,以实现PWM调试;设计用12V电风扇去模拟24电机,故让12供电与外围电源的12V输出对接。其具体的其它参数如下: 逻辑部分输入电压:67V 驱动部分输入电压Vs:4.846V 逻辑部分工作电流Iss:36mA 驱动部分工作电流Io:2A 最大耗散功率:25W(T=75) 控制信号输入电平:高电平:2.3VVinVs低电平:-0.3VVin1.5V 工作温度:-25130 驱动形式:双路大功率H桥驱动3.5 DS18B20温度传感器及驱动电路3.5.1 DS18B20简介DS18B20数字温度传感器,是采用美国DALLAS半导体公司生产的DS18B20可组网数字温度传感器芯片封装而成,它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供处理器处理,适用于各种狭小空间设备数字测温和控制领域。DALLAS最新单线数字温度传感器DS18B20简介新的一线器件体积更小、适用电压更宽、更经济 DALLAS 半导体公司的数字化温度传感器ds1820是世界上第一片支持 一线总线接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。3.5.2 DS18B20主要特征及参数DS18B20传感器的测量结果直接以数字信号的形式输出,以“一线总线”方式串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力;温度测量范围在-55+125之间,在-10+85时精度为0.5;可检测温度分辨率为912位,对应的可分辨温度分别为0.5,0.25,0.125,0.0625,可实现高精度测温;它单线接口的独特性,使它与微处理器连接时仅需一条端口线即可实现与微处理器的双向通信;支持多点组网功能,即多个DS18B20可以并联在唯一的三线上,实现组网多点测温的功能;工作电压范围宽,其范围在3.05.5V。DS18B20内部结构主要有四部分:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。其管脚有三个,其中DQ为数字信号端,GND为电源地,VDD为电源输入端。驱动电路原理图如图3.8所示。图3.8 DS18B20驱动电路原理图3.5.3 DS18B20的时序控制 由于DS18B20采用的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。想要实现温度的读取,必须在先完成ROM设定,否则记忆和控制功能将无法使用,主要操作有: 1 )读ROM, 2 )ROM匹配, 3 )搜索ROM, 4 )跳过ROM, 5 )报警检查。根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。综上,复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。实验组将FPGA的55引脚与DS18B20的单数据总线进行对接以进行通信。时序图如图3.9所示。图3.9 DS18B20时序控制图3.6 数码管显示电路 led数码管(LED Segment Displays)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母a,b,c,d,e,f,g,dp来表示。七段数码管显示电路如图所示,数码管是共阳极的,当位码驱动信号为 0 时,对应的数码管即可以被操作;当段码驱动信号为0时,对应的段码点亮。位码由于电流较大,采用了三极管驱动。段码部分采用电阻值相对较小的限流电阻,限流电阻阻值不宜过大,否则将影响数码管亮度。图3.10为数码管显示电路原理图。图3.10 数码管显示电路原理图LED数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据LED数码管的驱动方式的不同,可以分为静态式和动态式两类。本设计中采用动态扫描显示,两种显示方式的具体内容如下。静态显示:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要58=40根I/O端口来驱动,要知道FPGA的可用的I/O端口是极其有限的,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。动态显示:LED数码管动态显示是应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,CPU对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉“暂留”现象及发光二极管的“余辉效应”,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。3.7独立按键及蜂蜜器3.7.1独立按键 设计中的输入由按键产生,实现模式选择与档位选择。对于独立按键电路部分,如果输出低电平,则表示按键按下。电路中上拉电阻起到保护作用,原理图如图3.11所示。图3.11 独立按键电路原理图3.7.2 蜂蜜器 蜂鸣器主要是用于提示按键成功,便于使用者操作。蜂鸣器使用PNP三极管驱动控制,如果在BEEP输入一定频率脉冲时,蜂鸣器会响,通过FPGA编程可以改变输入频率从而改变蜂鸣器的响声,可以使蜂鸣器奏出美妙的音乐,原理图如图3.12所示。图3.12 蜂鸣器电路原理图重庆大学本科学生毕业设计(论文) 4 软件设计与仿真4 软件设计与仿真4.1整体工作流程图程序的设计采用自顶向下的方法进行设计,这样讲大大减少工作量,并且不易出错,同时也便于系统的调试,这样更将方便以后程序的升级或者移植。程序的整体流程图如图4.1所示。图4.1 程序整体流程图 如图,打开电源后,温度传感器开始实时监测周围环境温度,并通过数码管将其显示出来;然后不断判断看是否有按键输入按下,若没有继续等待判断,若有,则蜂鸣器进行按键成功提示;然后进一步判断所选择的模式,若选择的是自动模式,则风扇将根据环境温度进行自动调速,并点亮相应的档位提示灯,若选择的是手动模式,则根据所选择的档位进行风扇调速,并点亮相应的档位提示灯;最后将所选择的模式或者档位信息送数码管进行显示。需要注意的是,当风扇工作在自动模式时,若环境温度低于系统预设温度时,风扇将进入休眠状态,待环境温度再次高于系统预设温度时,风扇可被唤醒。4.2 Verilog HDL语言与Quartus II开发平台4.2.1 Verilog HDL语言 FPGA支持Verilog HDL和VHDL两种语言,相比之下,由于Verilog HDL语言的编程规则相似于C语言,所以比较适合初学者,所以本设计的程序采用Verilog HDL语言进行编写。 Verilog HDL是一种硬件描述语言(HDL:Hardware Description Language),以文本形式来描述数字系统硬件的结构和行为的语言,用它可以表示逻辑电路图、逻辑表达式,还可以表示数字逻辑系统所完成的逻辑功能。描述复杂的硬件电路,设计人员总是将复杂的功能划分为简单的功能,模块是提供每个简单功能的基本结构。设计人员可以采取“自顶向下”的思路,将复杂的功能模块划分为低层次的模块。这一步通常是由系统级的总设计师完成,而低层次的模块则由下一级的设计人员完成。自顶向下的设计方式有利于系统级别层次划分和管理,并提高了效率、降低了成本。“自底向上”方式是“自顶向下”方式的逆过程。使用Verilog描述硬件的基本设计单元是模块(module)。构建复杂的电子电路,主要是通过模块的相互连接调用来实现的。模块被包含在关键字module、endmodule之内。实际的电路元件。Verilog中的模块类似C语言中的函数,它能够提供输入、输出端口,可以实例调用其他模块,也可以被其他模块实例调用。模块中可以包括组合逻辑部分、过程时序部分。例如,四选一的多路选择器,就可以用模块进行描述。它具有两个位选输入信号、四个数据输入,一个输出端,在Verilog中可以表示为:module mux (out, select, in0, in1, in2, in3);output out;input 1:0 select;input in0, in1, in2, in3;/具体的寄存器传输级代码endmodule。设计人员可以使用一个顶层模块,通过实例调用上面这个模块的方式来进行测试。这个顶层模块常被称为“测试平台(Testbench)”。为了最大程度地对电路的逻辑进行功能验证,测试代码需要尽可能多地覆盖系统所涉及的语句、分支、条件、路径、触发、状态机状态,验证人员需要在测试平台里创建足够多的输入激励,并连接到被测模块的输入端,然后检测其输出端的表现是否符合预期(诸如SystemVerilog的硬件验证语言能够提供针对验证专门优化的数据结构,以随机测试的方式进行验证,这对于高度复杂的集成电路设计验证可以起到关键作用)。实例调用模块时,需要将端口的连接情况按照这个模块声明时的顺序排列。这个顶层模块由于不需要再被外界调用,因此没有输入输出端口:module tester;reg 1:0 SELECT;reg IN0, IN1, IN2, IN3;wire OUT;mux my_mux (OUT, SELECT, IN0, IN1, IN2, IN3); /实例调用mux模块,这个实例被命名为my_muxinitial /需要仿真的激励代码 begin endendmodule在这个测试平台模块里,设计人员可以设定仿真时的输入信号以及信号监视程序,然后观察仿真时的输出情况是否符合要求,这样就可以了解设计是否达到了预期。示例中的对模块进行实例引用时,按照原模块声明时的顺序罗列了输入变量。除此之外,还可以使用或者采用命名端口连接的方式。使用这种方式,端口的排列顺序可以与原模块声明时不同,甚至可以不连接某些端口:my_mux(.out(OUT), .select(SELECT), .in0(IN0), .in1(IN1), .in2(IN2), .in3(IN3);/使用命名端口连接,括号外面是模块
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学生职业发展与生涯规划的测试题及答案
- 2025年甘肃省民航机场集团劳务派遣工招聘45人笔试备考题库及答案详解1套
- 物资缺损增补管理制度
- 物资领用跟踪管理制度
- 特殊学校班级管理制度
- 特殊消防设备管理制度
- 特殊病人护理管理制度
- 特气侦测系统管理制度
- 特种纱线库存管理制度
- 犊牛产房安全管理制度
- T/CIE 209-2024儿童实物编程教育评价指南
- 塑料包装制品项目投资计划书
- 2025年入团考试常见问题及试题答案
- 2025浙江杭州市科创集团有限公司招聘10人笔试参考题库附带答案详解
- 水电安装施工合同范本7篇
- 院内卒中救治流程
- 长护工作述职报告
- 2025年人教版数学五年级下册期末测试卷(含答案)
- 培训导师培训课件
- 奶制品采购合同
- 深基坑土方开挖专项施工方案
评论
0/150
提交评论