第14卷第3期
华中师范大学研究生学报
Vol.14No.3HuazhongNormalUniversityJournalofPostgraduates
2007年10月October2007
基于FPGA的温度检测和PWM风冷系统
的设计与实现
伍建军,杨滢,黄伟
(中国地质大学研究生院,武汉430074)
摘要:本文介绍了一种基于FPGA的温度测量仪和PWM风冷系统。采用集成温度传感器
MAX6577作为温度检测元件,以PWM脉宽调制方式控制直流电机的转速来实现降温。测温范围为0℃~100℃,分辨率为1℃,测温时间为1秒。整个电路采用Altera公司Cyclone系列FPGA芯片进行系统设计和
实现,可以方便地实现温度的测量和降温处理。
关键词:FPGA;PWM;直流电机;温度测量中图分类号:TN407
文献标识码:A
温度测量被广泛应用于工农业生产和人们的日常生活。在众多的测温系统中,测温元件常常选用热敏电阻、半导体测温二极管以及集成模拟温度传感器(如AD590)等器件,因其互换性差、温漂和非线性误差较大,整个测温系统的测量误差也随之增大;同时,由于中间环节较多,系统抗干扰性能往往也不理想。而用MAX6577作为温度传感器可在保证测温准确度的前提下,简化设计,降低成本。FPGA,即现场可编程门阵列,具有体系结构和逻辑单元灵活、集成度高以及适用范围宽等特点。与门阵列等其它ASIC相比,它又具有设计开发周期短、设计制造成本低、开发工具先进、标准产品无需测试、质量稳定以及可实时在线检验等优点,因此被广泛应用于产品的原型设计和产品生产之中。
计数器的计数值小于设定值时输出高电平,当计数值大于设定值时输出低电平。采用数字比较器不必外接
D\A转换器和模拟比较器。FPGA外部连线减少,电路
更简单。其主要由三部分组成:PWM脉宽调制信号产生模块,工作控制模块,有功率放大电路和H桥组成
的功率驱动电路。
图1PWM信号产生的框图
在FPGA内部,产生PWM信号的过程如图1。
1.2MAX6577测温原理
微功耗MAX6577是MAXIM公司推出的低成本、
新型数字温度传感器。其主要特点如下:
可实现温度/频率变换,频率正比于绝对温度;1、
采用单引脚频率输出,只占用一个I/0口;2、
测温范围为-40—+125℃;3、
典型误差为土0.8℃,最大为±4、4.5℃;不用外接其它元件;5、
电源电压为2.7V-5.5V;6、
典型电源电流为1401μ7、A;采用小型6脚SOT23封装。8、
通电源后,MAX6577即可处于自发工作状态,输出占空比为1:1的方波,但方波的频率受环境温度的调制,具体表达式为:
1.基本原理
1.1PWM(脉冲宽度调制PulseWidthModula-tion)原理
脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种技术,广泛应用在测量、通信和功率控制与变换等领域。
脉冲宽度调制波通常由一列占空比不同的矩形脉冲构成,其占空比与信号的瞬时采样值成比例。该系统有一个比较器和一个周期为Ts的锯齿波发生器组成。语音信号如果大于锯齿波信号,比较器输出正常数A,否则输出0。因此,比较器输出一列下降沿调制的脉冲宽度调制波。在FPGA中用数字比较器代替模拟比较器,数字比较器的一端接设定值计数器输出,另一端接递增(锯齿波)的计数器的输出,当线性
T=f-273.15K
K作者简介:伍建军(1979-),男,浙江台州人,中国地质大学(武汉)研究生院2005级硕士研究生,研究方向为嵌入式系统设计。
147
其中,T为环境温度(℃);f为输出频率(HZ);K为输出系数(K/Hz);K为开氏温度。输出系数k由引脚
结合上述原理,设计了直流电机驱动电路如图4:
TSl、TS0接VDD或GND设定,MAX6577的频率输出
为推挽输出,在5V电源情况下,该输出符合TIL电平标准,可直接与FPGA芯片管脚连接。MAX6577作为温度传感器可在保证测温准确度的前提下,简化设计,降低成本。
2.系统硬件电路设计
统的硬件电路主要包括五部分:FPGA电路设计,液晶显示驱动电路设计,温度传感器电路设计,转速信号处理电路设计,直流电机驱动电路设计,如图2所示。
图4
PWM驱动电路图
该电路是H桥驱动电路演化的PWM脉宽调制的直流电机功率驱动电路。直流电机驱动电路使用最广泛的就是H型全桥式电路,这种驱动电路可以很方
图2
硬件整体框图
便实现直流电机的四象限运行,分别对应正转、正转制动、反转、反转制动。
2.1FPGA电路设计
本系统采用Altera公司的EP1C3T144C8芯片。Altera的FPGA器件采用钢铝布线的先进CMOS技
术,具有非常低的功耗和相当高的速度,而且采用连续式互连结构,提供快速、连续的信号延时。
PWM驱动电路图中MOTORA和MOTORB分
别接直流电机的两端;MOTORP接驱动电压;DCMO-
EP1C3T144是Cyclone系列中的一员,共有2910逻辑单元,59904RAMbits,1个PLLs,最多有104个用户I/O,资源非常丰富,能满足本系统设计的需要。
2.2直流电机驱动电路设计
全桥式驱动电路的4只开关管都工作在斩波状态,S1、S2为一组,S3、S4为另一组,两组的状态互补,一组导通则另一组必须关断。当S1、S2导通时,S3、S4
关断,电机两端加正向电压,可以实现电机的正转或反转制动;当S3、S4导通时,S1、S2关断,电机两端为反向电压,电机反转或正转制动。4个续流二极管用于消除电击所产生的反向电动势,避免该反向电动势反向击穿晶体管。它的基本原理图如图3所示。
TORA接经FPGA脉宽调制后的脉冲信号,经Q4放
大后,使Q2、Q6导通,DCMOTORB接低电平,Q3、Q5、Q7关断,这样等于给直流电机两端加正向电压,实现电机的正转。送到DCMOTORA脉冲信号的占空比不
同,即高电平持续时间的不同,三极管导通的时间也不同,这样就可以实现直流电机转速的调整。
2.3温度测量电路设计
由MAX6577芯片结构可知,将管脚TS0接高电平,TS1接地时,公式T=f/k-273.15K中K等于1,所以此时输出温度T=F-273.15,温度与频率成正比。只要在设定内的时间测量出传感器输出的频率,就可以计算出相应的温度值。温度频率管脚的输出符合TIL电平标准,可直接与FPGA芯片管脚连接。芯片电源供电大小为5.0伏。
2.4转速信号处理电路的设计
该电路从DCMotorSpeed端接收转速传感器的具有干扰信号的脉冲信号,通过Q8三极管的信号放大后,用两个施密特触发器进行波形整形后送出规则的方波,以满足FPGA的转速接收测量。测速传感器采用霍尔传感器。霍尔转速传感器采用霍尔效应,当金属齿经过霍尔传感器前端时,引起磁场变化,霍尔元件检测到磁场变化,并转换成一个交变电信号,再通过转速信号处理电路对该信号进行放大、整形,输出良好的矩形脉冲信号。
图3
H桥驱动电路图
148图7温控模块结构框图
各端口定义如下:
图5
转速信号处理电路图
CLK:标准输入时钟1HZ,每两个时钟周期进行
一次频率测量。
2.5LCD显示电路的设计
本系统使用1602字符型液晶显示屏。
液晶模块内带标准字库,内部的字符发生存储器(CGROM)已经存储了192个5×7点阵字符,32个5×
RST:全局复位信号。由外部按键产生。C_EN:频率计数器使能信号,是一个1秒脉宽的
周期信号,在上升沿时刻使能频率计数器开始对输入信号的频率测量。
10点阵字符。另外还有字符生成RAM(CGRAM)512
字节,供用户自定义字符。这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址
C_CLR:计数器清零信号,每次测量前对计数模
块复位,清零前次测量结果。
LOAD:使能温度寄存器锁存数据。
软件编译和仿真后得到的波形如下图:
41H中的点阵字符图形显示出来,我们就能看到字母“A”。1602液晶模块内部的控制器共有11条控制指
令,它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。
3.系统软件仿真与实现
FPGA是整个系统的核心,主要实现在一定时间
内对温度传感器的频率脉冲信号进行计数,并且转化为相应的温度值显示在液晶显示屏上,并控制产生不同占空比的脉冲信号输出。同时控制直流电机转速的变化,对转速传感器在规定时间内产生的脉冲信号进行计数,转化为相应的转速值显示在液晶显示屏上。
图8温控模块波形图
由频率测量的基本原理及上图可知,一个脉宽为
1秒的计数使能信号作为待测信号,输入频率相同的
允许计数的控制信号。一秒计数后,产生一个计数值锁存的锁存信号,随后再产生一个计数复位信号,为下一个测频计数周期做准备。
3.2PWM输出模块的设计
该模块的主要作用是根据温度值的高位来判断输出不同占空比的脉冲信号。共有十种不同的占空比设定,即可以产生十级变速。不同的占空比输出,直流电机的转速也不同。
结构框图如下:
图6整体结构框图
图9
该系统由八个模块组成,分别是:1、分频模块;2、温度测量控制模块;3、温度计数模块;4、温度寄存模转速测量模块;6、转速寄存模块;7,PWM输出块;5、
模块;8、LCD显示驱动模块。笔者在QuartusII软件上分别进行了仿真与实现,由于篇幅有限,只选取三个重要模块进行阐述。
PWM输出寄存模块结构框图
各端口定义如下:
CLK:标准输入时钟1HZ,每两个时钟周期进行
一次频率测量。
3.1温度测量控制模块
RST:全局复位信号。由外部按键产生。
SC:转速控制信号输入,由温度寄存器T_OUT2
输入。
该模块主要作用是产生测温所需要的各种控制信号,为单位时间内测量温度做准备。
结构框图如下:
PW1:经调制后的脉冲输出。PW2:经调制后的脉冲输出。
149
软件编译和仿真后得到的波形如下图:
图10PWM输出寄存模块波形图
SC=0011(3)时,PW1以30%占空比输出。SC=1000(8)时,PW1以80%占空比输出。PW2始终输出
低电平,保证电机的正转使温度降温。
3.3转速测量模块的设计
图12转速测量模块波形图
模块的主要作用是测量直流电机的转速。通过标准时钟CLKS计算在一分钟内转速传感器输入脉冲信号的个数,计算得出直流电机的转速,采用三个异步BCD码十进制计数器来实现0—999范围的计数。结构框图如下:
仿真的周期设定Clks=10ns,s_pul=6ns。一个60秒计数周期后,sout=60H10=6I100。
4.结束语
采用集成温度传感器MAX6577作为温度检测元件,以PWM脉宽调制方式控制直流电机的转速来降温,实现了一种温度测量仪和PWM风冷系统,测温范围控制在0℃~100℃范围之内,分辨率为1℃,测温时间为1秒。整个电路采用FPGA芯片进行系统设计和实现,利用FPGA的高集成度和高可靠性,实现了温度的测量和降温处理,能够方便地应用在日常生活中的不
图11转速测量模块结构框图
同场合。因此,该系统具有一定的推广和应用价值。
参
考
文
献
各端口定义如下:
CLKS:标准输入时钟1HZ,由全局时钟经分频后
得到。
C-EN:异步BCD码十进制计数器的全局使能信
号,控制计数器的工作情况。
RST:异步BCD码十进制计数器的复位清零信
号,为下一分钟转速计数准备。
S_PUL:转速脉冲信号的输入,由转速传感器产
生,上升沿有效。
SOUT1,SOUT2,SOUT3:转速计数值个位,十位,百位输出,采用BCD码输出,经寄存器的译码处理后
送给液晶显示屏。
LOAD:使能转速寄存器锁存数据。
[1]常晓明.Verilog-HDL工程实践入门[M].北京:北京航空航
天大学出版社,2005.
[2]褚振勇,FPGA设计及应用[M].西安:西安电子科技大学出
版社,2002.
—原理图与PCB设计[M],[3]谷数忠,ProtelDXP实用教程——
北京:电子工业出版社,2003.
[4]王冠,Verilog-HDL与数字电路设计[M].北京:机械工业出
版社,2006.
[5]潘勇,基于FPGA的直流电机脉宽调制控制[J].广西科学院
学报,2005,(4):17.
[6]王彦,基于FPGA的LCD驱动程序设计,真空电子技术,
2004,(6):45.
[7]MAXIM,MAX6577TemperraturSensorsdataenchiridion2000.[8]Altera,CycloneDeviceHandbook(AllSections).
DesignofTemperatureMeasurementandthePWMAirCoolingSystemBasedonFPGAWUJian-jun,YANGYing,HUANGWei
(GraduateSchool,ChinaUniversityofGeosciences,Wuhan,430074,China)
Abstract:ThepaperintroducesatemperaturemeasuringapparatusandthePWMforced-aircoolingsystembasedonFPGA(FieldProgrammableGateArray).AdoptingintegrationtemperaturesensorMAX6577astemperaturecheckingorgan,andusingPWM(PulseWidthModulation)controllingrotationspeedoftheDCmotortolowerthetemperature.Themeasuringrangebeing0℃~100℃,theresolvingpower1℃,thetimeformeasuring1second,thedesignandimplementofthewholecircuitryadoptstheFPGAchipofCycloneseriesfromAlteraCompany,whichcanmeasureandlowertemperatureconveniently.Keywords:FPGAnPWMnDCmotorntemperaturemeasure
指导教师
王广君
责任编辑
于
颖
150