基于FPGA控制的温度检测无线发射接收系统
扫描二维码
随时随地手机看文章
摘要:本文介绍基于FPGA控制的温度检测无线发射接收系统。本系统采甩EPlKl000C208-3作为控制核心,系统比较温度是否超出人体最佳温度范围,如果过高则发出降温信号,如果过低则发出升温信号;得出需要加温还是降温的信号后通过无线将信号发射到接收电路,接收电路接收到编码过的信号后对信号解码,最终再得到加温还是降温信号,再将此信号加上驱动放大后则可以驱动步进电机等(本设计用发光二极管代替步进电机)。本设计应用了FPGA技术、温度传感技术、无线发射和接收技术,具有集成度高,测量数据精度高、性价比高等特点。具有较强的实用价值和广阔的市场前景。
O 前言
随着社会节能环保意识的增强,人们越来越重视能源的利用效率。传统的暖气控制都是利用锅炉烧出蒸汽或热水,通过管道输送到建筑物内的散热器中,散出热量,使室温增高。但是这种设备控制中心和客户端不在同一个地方,这样就存在着一种控制中心不了解客户的情况。存在着暖气开得过大或者过小,从而导致客户温度过低或过高而浪费了能源!
以前大多温度控制系统都是用单片机控制的,但是随着FPGA的迅速发展,应用也越来越广。本人将设计出一套由FPGA独立控制的、智能化的远程温度控制系统。由一个放置于客户端的温度采集系统采集到客户端温度(可排除工程中热损失),当大于或小于人体最佳温度区时发出报警信号,由控制端去控制是应该加温还是降温,从而达到节能的作用。
1 数字温度传感技术
1.1 数字温度传感器原理
数字温度传感器LM75A是一个使用了内置带隙温度传感器和∑-△模数转换技术的温度-数字转换器。简化框图如图1所示。
它也是一个温度检测器,可提供一个过热检测输出。LM75A包含许多数据寄存器:配置寄存器(Conf),用来存储器件的某些配置,如器件的工作模式、OS工作模式、OS极性和0S故障队列等;温度寄存器(Temp),用来存储读取的数字温度,器件通过2线的串行I2C总线接口与控制器通信。 LM75A还包含一个开漏输出(OS),当温度超过编程限制的值时该输出有效。LM75A有3个可选的逻辑地址管脚,使得同一总线上可同时连接8个器件而不发生地址冲突。
LM75A可配置成不同的工作条件。它可设置成在正常工作模式下周期性地对环境温度进行监控或进入关断模式来将器件功耗降至最低。OS输出有2 种可选的工作模式:OS比较器模式和OS中断模式。OS输出可选择高电平或低电平有效。故障队列和设定点限制可编程,为了激活OS输出,故障队列定义了许多连续的故障。
温度寄存器通常存放着一个11位的二进制数的补码,用来实现0.125℃的精度。这个高精度在需要精确地测量温度偏移或超出限制范围的应用中非常有用。
正常工作模式下,当器件上电时,OS工作在比较器模式,温度阈值为80℃,滞后75℃,这时,LM75A就可用作一个具有以上预定义温度设定点的独立的温度控制器。
1.2 温度传感器控制原理
如果将温度传感器设定为正常工作模式,那么首先要向配置寄存器写入控制字告诉器件的工作模式。写配置寄存器时序如图2所示。
写配置寄存器首先要选择器件的地址,即A0-A2设置与硬件地址A0-A2一样。然后是写入配置寄存器地址指针,配置寄存器指针为”0000-000l”。等待器件应答一个SCL周期,再写入工作模式控制字。如果设置在正常工作模式下,OS设置为比较输出,那么配置数据字应写入”00000000”。
写入配置寄存器控制字”00000000”后温度传感器工作在正常工作模式下,即每一段时间温度传感器将温度转换成数字信号存放在温度寄存器里,所以只需要将温度寄存器的数据读出再加以计算即可以得到温度数据。读取温度寄存器的时序如图3所示。
读取温度寄存器时首先是选中器件,地址信号应该与硬件设置地址一致。第二段是选择温度寄存器,温度寄存器指针地址P1-P0写入”0-0”,表示下次操作的默认寄存器为器件的温度寄存器。重新起始后再次选中器件并读取温度寄存器的十六位的温度数据,并将十六位的数据的有效数据前十一位提取出,即可得到有效的温度数据。将温度数据与预设的温度比较后得出升温或降温信号,连接到无线发射模块的KEYl、KEY2上发射到接收端。接收端接收到信号后再经过放大后便可驱动步进电机等。