基于FPGA的温度测控器设计
2017-05-13陈海需张艳山
陈海需,张艳山
(黄淮学院 机电工程学院,河南 驻马店463000)
基于FPGA的温度测控器设计
陈海需,张艳山
(黄淮学院 机电工程学院,河南 驻马店463000)
基于提高实际工业生产、生活中温度检测控制实时性与快速性,以可编程器件(CPLD/FPGA)芯片EP1C3T144C8和硬件描述语言VHDL平台,设计一个温度测控系统,通过对感测值进行与输入基准值的比较控制调节机制,系统采用自上而下、模块化的编程思路设计了键盘扫描电路、AD转换、数据处理等模块,并通过QuartusⅡ仿真实验,验证了温度测控系统的动态响应的正确性与快速性。
FPGA;温度测控器;VHDL;模块设计;状态机
利用数字系统处理模拟信号的情况变得更加普遍,随着新一代FPGA[1]芯片工艺和设计方法的进步及新的应用领域和市场需求的变化,EDA技术也有突飞猛进的发展。温度在工业、农业生产中都是非常重要的控制参数[2-4],其实时性、准确性、动态响应能力是大家所关注的。相比较于单片机大量的指令周期[5],PLC的功耗、体积与操作限制[6],利用FPGA体积小、设计灵活、响应速度快、抗干扰能力强的硬件电路特性,采用了 FPGA 芯片EP1C3T144C8来控制A/D转换器ADC0809对温度信号进行检测和控制。
1 系统总体设计方案
系统设计包括硬件部分设计和软件部分设计,硬件部分:温度传感器AD590检测温度,模数转换器ADC0809转换数据,键盘(4×3)输入预定温度值,发光二极管显示控制机制,数码管显示预定温度值和检测温度值。软件部分则是利用VHDL语言编程来实现整个功能,如图1所示。
图1 系统总体功能框图
2 硬件电路设计
2.1 集成温度传感器AD590
AD590温度传感器[7]是美国模拟器件公司生产的单片集成两端感温电流源,测温范围为-55~+150℃,电源电压范围为4~30 V。其输出电流是以绝对温度零度(-273℃)为基准,每增加1℃,它会增加1 μA输出电流,因此在室温 25℃时,其输出电流 Iout=(273+25)=298 μA。AD590实际应用电路如图2所示,电压跟随器使其输出电压V2等于输入电压V,保证电流I不分流。使用齐纳二极管作为稳压元件,再利用可变电阻分压,将其输出电压V1调整至2.73 V,再利用差动放大器使输出Vo和温度成线性关系。
图2 AD590应用电路
2.2 模数转换ADC0809
ADC0809[8]是采样频率为8位的、逐次逼近型模-数转换器件,其内部有一个8通道多路开关,允许8路模拟量分时输入,共用一个A/D转换器进行转换,设计中ADC0809需要把温度传感器AD590感测的温度值模拟信号转换成8位二进制数字量,其输入输出对应关系如表1所示。
表1 模拟电压信号与数字量的对应关系
系统采用4*3非编码矩阵式键盘输入预定温度值,并与感测温度值进行比较,然后判断执行何种控制机制(加热、保持或制冷)。数码显示电路采用共阴极数码管静态显示方式,直接与FPGA管脚相连接,来显示感测温度值和基准温度值。系统硬件电路连接如图3所示。
图3 系统硬件电路连接图
3 VHDL编程设计
3.1 键盘扫描电路模块
键盘扫描电路[9]如图4所示,由分频器电路,键盘扫描计数器电路,键盘按键检测电路,键盘编码电路,按键编码电路等组成。
电路共有2个输入项(时钟脉冲:clock,键盘的列输入:col),3个输出项(键盘的行输出:row,扫描频率:scan_f,按键值:butt_code)。首先将3.686 MHz输入信号分频成1 kHz,此频率作为键盘扫描的频率,计数器的计数值输出到按键检测电路,检测使用者是否按下键盘,并输出到键盘编码电路对键盘数值编码,当使用者按下键盘时,按键检测电路的key_pressed将为0,并输出到计数器使计数停止,然后输出按键编码。其顶层实体部分VHDL文件为:
图4 键盘扫描电路原理
3.2 AD转换模块
ADC0809转换[10]有3个输入项(clk:时钟脉冲,d:转换数据输入,eoc:转换允许使能),最主要的输出项是q:数据输出。adda为‘1’,说明选通IN0通道,eoc为‘0’时,数据转换开始,为‘1’时,数据转换结束,输出项start为‘1’时,表明转换正在进行。对照表1,功能仿真图如图5所示。
图5 ADC0809仿真图
3.3 数据处理模块
经ADC0809转换输出的是8位二进制量,为了方便后续的输出,应该将输出电压表示成12位的BCD码形式,设计思想是先将8位二进制数分高4位和低4位分别转换,再分别将高低四位转换后的12位代码通过进位运算,最后得到12位的BCD码供七段译码器进行译码。仿真结果如下图6所示。
当由 ADC0809的 d[7..0]收到的数据时00011001时,对照表1,高四位0001为0.32 V,第四位1001为0.18V,所以最后的输出结果是0.32 V+ 0.18 V=0.5 V。对应的 BCD码形式为 0000 0011 0010+0000 0001 1000=0000 0101 0000。
图6 数据处理模块仿真
4 系统仿真实验
通过对各个子功能模块得连接得到系统总原理图,在设计过程中采用了混合输入方法,即分模块采用VHDL语言输入法[11],并生成器件(.bsf文件),顶层实体时采用原理图输入法,调用工程中的器件,连接即可。顶层原理图如图7所示。其仿真图如图8所示。
系统共有6个输入项(clk,clock:时钟脉冲,col:按键列输入,d:ADC0809数据输入端,eoc:允许转换使能端,start: 寄存器寄存允许端),9个输出项(data_out0,data_out1,data_out2:预定值输出,data_out3 data_out4 data_out5:检测值输出,dg:制冷机制(绿灯),gr:加热机制(红灯),gy:保持机制(黄灯))由图8可以看出,该温度测控器系统功能原理上得以实现。
5 结束语
设计实现了一种基于可编程器件FPGA和VHDL编程的智能温度控制系统,可应用与室温控制[12-15]等精度要求不高,温差不会太悬殊的场合。在温度检测电路中,ADC0809有8路模拟输入口,而且AD590允许较长的传输距离,所以系统可扩展出利用多个传感器实现多点温度控制测量。同样,在上述设计基础上,还可以实现对压力,或压力,温度同时测控的测控系统。
[1]杨海钢,孙嘉斌,王慰.FPGA器件设计技术发展综述[J].电子与信息学报,2010,32(3):715-727.
[2]边琳.时滞温度控制系统控制方法的研究 [D].长春:吉林大学,2012.
[3]金凯鹏,胡即明.基于模糊PID算法远程温度控制系统的实现[J].微计算机信息,2014(34):34-38.
[4]杨万能,秦付军.基于PLC的网络温度监控系统的研究[J].西华大学学报:自然科学版,2014,6:72-77.
[5]吕俊亚.一种基于单片机的温度控制系统设计与实现[J].计算机仿真,2012,29(7):230-233.
[6]马丽萍.基于PLC的干燥箱温度控制系统[J].轻工机械,2011,29(4):51-53.
[7]刘振全.集成温度传感器AD590及其应用 [J].传感器世界,2013(3):35-37.
[8]王志亮,李光辉.基于Verilog HDL的ADC0809采样控制器设计[J].信息技术,2015(12):151-153.
[9]杨晓慧,杨旭.FPGA系统设计与实例 [M].北京:人民邮电出版社,2010.
[10]廖超平.EDA技术与VHDL实用教程[M].北京:高等教育出版社,2013.
[11]赵世霞,杨丰,刘揭生.VHDL与微机接口设计[M].北京:清华大学出版社,2010,7.
[12]陈 菁,张小溪.基于单片机的小型恒温箱设计[J].现代电子技术,2014,37(22):101-104.
[13]柏承宇.一种基于PLC的智能温度控制系统设计[J].机械设计与制造工程,2015,44(11):48-50.
[14]程林中,岳靖,王梅花.基于模糊-PID控制的井下温度控制系统研究 [J].牡丹江师范学院学报:自然科学版,2015,93(4):20-22.
[15]陈杰,杨俊峰,徐洪波.一种反应釜温度模糊控制器的设计与实现[J].计算机与现代化,2015,236(4):87-89.
Design on temperature measurement and control device based on FPGA
CHEN Hai-xu,ZHANG Yan-shan
(College of Mechanical and Electrical Engineering Huanghuai University,Zhumadian 463000,China)
In order to improve the real-time and rapidity of temperature control in industrial production and daily life.Designed a temperature measurement and control device on the Platform of programmable devices EP1C3T144C8 and VHDL,compared the practical temperature to reference temperature to control the regulation mechanism,the whole system used top to down,and modular programming mentality,and designed keyboard scan circuit,AD transformation module,data processing module,etc. then the simulation result verified the correctness of control system by QuartusⅡ.
FPGA;temperature measurement and control device;VHDL;module design;state machine
图7 系统总原理图
图8 系统总原理图仿真
TP273;TN7
A
1674-6236(2017)09-0027-04
2016-09-12稿件编号:201609123
国家自然科学基金项目(61404057);河南省科技攻关项目(162102110129)
陈海需(1987—),男,河南南阳人,硕士研究生,讲师。研究方向:电子电路、自动控制。