基于FPGA SOPC的温度控制系统设计
2018-01-26王佳宁于存江程子轩
王佳宁 于存江 程子轩
摘 要:本文介绍了一种基于FPGA/SOPC和温度传感器DS18B20的硬件电路温度控制方法。利用DS18B20采集数字信号,采用FPGA芯片进行数据处理,并通过处理后的数据对继电器进行控制,从而实现对温度的实时调控。本设计利用Verilog HDL在开发环境下进行硬件电路的设计。最后利用MODELSIM软件进行模拟仿真试验,在0℃~55℃范围内,测量误差为±1℃,从而实现硬件电路的温度控制。
关键词:FPGA SOPC DS18B20 温度控制
中图分类号:TN47 文献标识码:A 文章编号:1672-3791(2018)07(c)-0020-02
现今,电子元器件在工业领域当中得到了非常广泛的应用,但是其应用效果和作用在不同的温度环境下的表现也有较大差距。那么,如何更好地发挥元件的功能,就需要提高整个元件的稳定性,也要保持元件的最佳工作温度。在这里,温度控制链路就起着非常重要的作用。然而,普通的温控系统对温度采集和数据处理间存在很多不平衡的缺点,如何解决温度采集和处理数据的实时性和精确性,就需要合理的设计方案。综合考虑,本设计是一种在FPGA上实现SOPC温度采集和监测控制系统。
SOPC(System On a Programmable Chip)即可编程片上系统,它将CPU、ROM、RAM、I/O端口和DSP集成到一个FPGA芯片中。SOPC的设计灵活开放,可以软硬件剪裁、扩展、升级、并具有可编程功能。
1 系统总体方案设计
温度控制系统的设计包括以下几个部分:FPGA、DS18B20、MAX232、报警模块、继电器模块和1602LCD等。整个温度控制系统使用传感器采集数据,并输出显示,再经过DA转换来控制继电器,通过MAX232串口转换后,可以准确地进行实时温度显示,并实现系统温度的控制。总体设计流程图如图1所示。
系统设计采用基于NiosII软件的SOPC设计方案,通过NIOSII实现系统的软核实现,并完成了MCU的中央处理和控制功能。
基于硬件描述语言,通过MCU的软核处理,对温度传感器进行初始化工作。温度传感器采集到实时模拟量经过转换和处理,传输到液晶显示屏1602中进行显示,并且控制固态继电器工作。并通过报警系统进行测量越界警报在器件选择上,采用大容量的FPGA芯片,可以有以下选型,如采用Altera公司的Stratix、CycloneⅡ等FPGA芯片。本系统采用CycloneⅡ系列,型号为EP2C8Q208C8的芯片。该芯片包含多达8千个逻辑单元,可以满足该系统的高性价比的需求。
2 温度的采集和显示
DS18B20数字温度传感器被广泛使用。它具有体积小,硬件开销低,抗干扰能力强,精度高等特点。并且因为它具有多点联网功能,多个传感器收集的数据可以同时并联。
2.1 温度采集模块
DS18B20由单总线进行初始化。在初始化过程中,确定是否成功检测到传感器。如果检测成功,则执行延迟函数并将数据线使能拉高以完成传感器的初始化;若检测不成功则复位。DS18B20经过CRC认证验证,读取采集的模拟量和数据转换。
2.2 温度显示模块
在LCD显示模块中,使用两行液晶显示器1602。温度传感器DS18B20初始化后,序列号识别由1602执行。初始化完成后,LCD可以实时显示采样的温度以及温度监测范围,并可以通过继电器控制温度。
3 数据处理和仿真
由于DS18B20的特性,收集后输出数字信号,那么在数据??处理过程中,对所有数字信号进行处理,但MCU需要通过模拟信号量对继电器进行控制,即数字信号需要通过DA转换为模拟信号量进行处理。因此该系统使用具有多通道多路DA转换芯片tlc5620。
利用modelsim软件,对设计系统进行软件仿真.得到仿真结果如图2所示。
如图2所示,ds是温度控制信号,clk_relay信号是继电器控制信号。继电器在温度控制部分的输出为0时,启动工作,并实现整个系统的温度控制功能。从图中可知,温度的输出信号决定着继电器工作状态,该信号并不是周期性的输出,而是随温度的变化而规律变化。通过控制继电器可以调节温度,最终实现了对整个系统的温度控制。
4 结语
通过仿真软件的验证,说明该系统设计符合要求,设计温度范围为0℃~50℃,控制精度达到±0.1℃。最后,利用AD设计软件实现PCB电路圖的绘制和加工,实现整个温控系统的软硬件设计。
表1中的数据表明,测量精度可以达到±0.1°C,温度最大误差达到1.4°C。温度控制系统可以满足高精度可控要求。
参考文献
[1] 黄超.基于单片机的温度控制系统的研究[J].民营科技,2017(3):4.
[2] 孙祥.鱼缸温度自动调控方法与装置[D].华东交通大学,2015.
[3] 王春侠.基于FPGA的温度控制系统设计与实现[J].陕西理工学报:自科版,2011,27(2):15-19.
[4] 吴晓燕.一种基于AT89C51智能化温度监控系统的设计[J].科技信息,2009(32):511-512.
[5] 阮翔.基于单片机的温度控制系统的研究[J].信息系统工程,2015(5):15.
[6] 刘朝纯,戚国强,陈红伟,等.FPGA在温、湿度监控系统中的应用[J].东北农业大学学报,2008,39(12):96-98.