引言
随着现代工业的发展,各种生产流程中对温度指标的要求越来越高。为了在不同的工业环境中实现对温度的检测和控制,人们利用不同的传感器,研制出了种类各异的温度检(监)测仪器,以适应于不同的场合。就温度传感器而言,有热电偶(S,B,K,T,E,J,N,R,Wre5-26 等),热电阻(Cu50,Cu100,Pt100 等),热敏电阻以及近些年出现的数字式温度传感器(如DS18B20)等。在这众多的温度传感器中铂电阻最稳定,测温范围也宽(-200℃~+640℃)。铂电阻是用高纯度的铂制成的温度传感器,它不像一般的热敏电阻的输出有很大的非线性,因此是非常受欢迎的温度传感器。在本温度循环监测仪中,我们利用Pt100 作为测温传感器,并用PHILIPS 公司推出的功能强大的51LPC 系列单片机作为主控CPU,并结合串行11 路12 位A/D 来完成多路温度循环监测,做出的仪器体积小巧,功耗低,具有参数设置、超限报警、数据保存曲线恢复及联网等诸多功能。
硬件设计
硬件结构如图1 所示。
本系统采用PHILIPS 公司的51LPC 系列单片机P87LPC764 作为主控CPU,来完成多路温度巡检;采用了11 路串行A/D 转换器件TLV2543,分辨率达12bit;采用128×64 中文点阵液晶显示器,实现了多级菜单设计,界面友好且功耗低;小键盘采用了4 键模式,与显示器结合,可以完成有关参数的设置;采用了充电电池和外部电源两种供电方式,在外部电源突然断电的情况下,能实现电源的热切换;I2C 总线上挂接PCF8563 时钟芯片,给整个系统提供时间基准,并巧妙地利用其秒信号作为中断触发信号,能将CPU 从低功耗状态唤醒;I2C总线上挂接串行E2PROM 芯片CSI24WC256,具有32K 字节的存储空间,既可完成设定参数和所测数据的实时存储,从而为温度的曲线恢复提供基础,也可作为编程空间的一种有效扩充;采用了继电器的常开和常闭触点来实现信号报警,给用户以极大的方便,而且可以用来控制加热器、空调等反馈装置,从而完成闭环控制系统该,该功能在电池供电时自动屏蔽掉,以节约电能;具有串行接口,能完成上、下位机的信息交换,可方便构成集散测控系统;上、下位机采用了研华协议,并采用组态软件来完成数据显示和曲线显示,编程简单直观。
软件设计
系统要完成的功能较多,除了要正确采集温度外,还要完成各项参数的设置,并送液晶屏幕显示等等。因此,软件设计采用了模块化技术,以使程序结构清晰,修改简单,可读性强。整个软件可分为如下的模块,即显示模块、键盘处理模块、串行通信模块、数据存储模
块、数据采集处理模块和主程序模块等。
主程序流程图见图2。其设计思想是这样的:系统上电后,首先进行初始化和自检,自检完毕,屏幕出现自检结果,此时系统处于等待状态,一旦用户按下“确定”键,系统将进入主工作界面,接着使能各级中断,然后程序置位IDL,使系统进入低功耗模式,CPU 将由中断唤醒。
本设计中主要使用了下面三种中断方式:
(1)外部中断1 处理程序流程图见图3,主要思想是:根据设定的采样间隔,完成数据的采集和处理,然后根据采样数据进行报警越限的判断、串行发送数据的更新,并送屏幕显示。
(2)键盘中断处理程序流程图见4。在中断处理程序中,首先清除键盘中断标志位,接着读取键值并判断是否为“设置”键,如果为“设置”键,进入设置状态,否则返回。
(3)串行中断程序流程图见图5,主要完成的任务是:接收上位机发送的命令。
技术要点
(1)低功耗设计
本仪器的低功耗设计贯穿整个设计的方方面面。首先是CPU 的选择上,51LPC 系列的CPU具有较宽的操作电压(2.7~6.0V),而其晶振也分为高、中、低三档,并且可以选择内部晶振,在选择合适的电压和晶振的情况下,其功耗可以降到微安级(如工作电压为3.3V,工作频率为20~100kHz 时,功耗范围为9~44μA[1]);由于可以选择内部晶振和内部复位,其外围器件减少,功耗自然可以降低;即使使用了较高的晶振频率,由于CPU 内部有一个特殊功能寄存器DIVM 可以对时钟分频,从而达到节电目的.
由于P87LPC764 还具有空闲和掉电两种省电模式。本设计中用到了空闲模式,在初始化和自检过后,仪器进入空闲模式,并设计了两个中断对其唤醒,一个中断为键盘中断,另一个为时钟中断,时钟中断信号来自于PCF8563。中断发生事处理中断,中断处理完毕又进入空闲状态。
在显示方式上采用了128×64 点阵的OCMJ 中文模块系列液晶图文显示器,它内含 GB2312 16*16 点阵国标一级简体汉字和ASCII8*8 及8*16 点阵英文字库,用户输入区位码或ASCII 码即可实现文本显示。众所周知,液晶显示采用的是被动显示,与主动发光的器件相比,其正常的耗电量是极低的。
在其他元器件的选用上,尽量采用低功耗器件,例如时钟芯片PCF8563,其典型值为0.25μA(VDD=3.0V,Tamb=25oC);而存储芯片CSI24WC256 是一个256K 串行CMOS 的E²PROM,只有8 个管脚的小封装结构比同类的并行芯片耗电量降低;而逻辑器件一律采用CMOS 器件。
(2)双电源供电与热切换
该模块主要是为整个系统提供电源支持,采用的是双电源供电模式。在图6 中,外部供电电源VDD 电压为6V。BT1 外接4 节1.2V 的充电电池。在外部VDD 供电时,VDD 通过D1 和D2 对外部整个系统供电,同时经过R7 和D3 为BT1 提供约25mA 的充电电流;当外部VDD 掉电后,P1.5 口线被拉低,系统将自动切换进入内部供电状态,由充电电池BT1 通过D4 为整个系统供电,屏幕上会自动进行“外部供电”与“内部供电”显示字样的转换。这种双电源供电模式,实现了供电电源的热切换,从而保证了温度采集的连续性,并通过关闭液晶背光电源和报警状态等一些耗电的操作,延长了电池使用寿命。
注:二极管D1、D2、D3 的压降为0.7V,D4 为0.3V;
(3)I2C 总线接口、串口与温度曲线恢复
要实现温度的曲线恢复,必须具备两个条件:一个是要有严格按时间存储的有效数据;另一个是具有将数据调出的硬件接口与协议。在本系统中,第一个条件是由具有I2C 总线接口的芯片PCF8563(时钟保证)和CSI24WC256(数据存储)来保证的;第二个条件是该系统具有RS-232 接口及相应的协议来完成的。
I2C 总线是PHILIPS 公司推出的芯片间串行数据传输总线,2 根线(SDA、SCL)即可实现完善的全双工同步数据传送,能够十分方便地构成多机系统和外围器件扩展系统。I2C 器件是把I2C 的协议植入器件的I/O 接口,使用时器件直接挂到I2C 总线上,这一特点给设计应用系统带来了极大的便利。I2C 器件无须片选信号,是否选中是由主器件发出的I2C 从地址决定的,而I2C 器件的从地址是由I2C 总线委员会实行统一发配。PHILIPS 公司在其产品P87LPC764 中集成了I2C 总线接口,可以和所有具有I2C 总线接口的其他元器件方便相连,这对于只具有20 管脚的CPU 的系统扩展提供了方便。在该系统中,时钟芯片PCF8563 和CSI24WC256 都是具有I2C 总线接口的芯片,并使用了周立功公司提供的I2C 软件包,故其编程非常简单。
时钟芯片PCF8563
PCF8563 是PHILIPS 公司推出的一款工业级的内含I²C 总线接口功能的具有极低功耗的多功能时钟/日历芯片。它具有多种报警功能、定时器功能、时钟输出功能以及中断功能,它的两线制I²C 总线通讯方式,使外围电路极其简洁,实用。
PCF8563 的特性:
宽电压范围1.0~5.5V,复位电压标准值Vlow=0.9V;
超低功耗:典型值为0.25μA,VDD=3.0V,Tamb=25oC;
可编程时钟输出频率为:32/768KHz、1024Hz、32Hz、1Hz;
四种报警功能和定时器功能;
内含复位电路、振荡器电容和掉电检测电路;
开漏中断输出;
400kHzI2C 总线(VDD=1.8-5.5V)。其从地址:读0A3H,写0A2H。
电路在系统中的连接方式如图7 所示。
图中,32.768K 的晶振是标准晶振,作为芯片定时基准;SCL 和SDA 分别与P87LPC764的对应脚连接,而其第7 脚CLKOUT 经过初始化设置使其输出频率为1Hz 的时钟作为中断触发条件,可以唤醒低功耗状态,经判断后进入温度采集、判断、显示、存储等处理。
CSI24WC256
该芯片是一个256K 串行CMOS 的E²PROM。内部含有32768 个字节。CATALYST 公司的先进CMOS 技术实际上减少了器件的功耗。CSI24WC256 有一个64 字节的页写缓冲器。该芯片与CPU 的连接非常简单,如图8 所示。
该芯片在系统中具有两大功能:首先是对于系统运行过程中的一些重要数据,如采样时间,显示方式等参数进行存储,而在每次上电时都会调出这些参数,并根据这些参数运行程序;其次是所测温度值的存储,由于I²C 总线同时挂接时钟芯片PCF8563,将采样时间和采样数据对应存储,这些存储的数据可以通过串口被上位机调用,从而可以实现温度曲线恢复功能。
串行接口
为实现系统与上位机之间的串行通信,在硬件结构上采用了单电源转换芯片ICL232,ICL232 是一个双组驱动/接收器,它内含一个电容性电压发生器,可在单5V 电源供电时提供EIA/TIA-232-E 电平,如图9 所示。该芯片的第2 脚输出大约+9V 左右的电压,该条件在基准电压的获取上将使用。
(4)模数转换模块
由于P87LPC764 管脚少,无总线系统,若采用并行的A/D 转换显然是不合适的;考虑温度是缓变量,同时兼顾兼顾接口方便和转换精度,在本系统中采用了具有11 路模拟输入接口,分辨率为12 位,接口方式为串行的逐次逼近式模数转换器TLV2543。TLV2543 和微处理器之间只有4 根I/O 口线连接,即图中网络标号为/CS、CLK、DTAI 和DTAO 的4 个管脚分别与CPU 的P0.2、P0.3、P0.5 和P0.6 相连,这对提高P87LPC767 管脚的利用率非常重要。
TLV2543 各管脚定义如下:
▪AIN0~AIN10 (1~9,11,12):11 路模拟信号输入端
▪ /CS (15): 片选端
▪ DATA INPUT (17): 串行数据输入端
▪ DATA OUT (16): 三态串行输出端,用于A/D 转换结果输出
▪ EOC (19): 转换结束端
▪ GND (10): 地
▪ I/O CLOCK (18): 输入、输出时钟端
▪ REF+端 (14): 正基准电压端
▪ REF-端 (13): 负基准电压端
▪ VCC 端 (20): 正电源端
(5)“窃电”技术与基准电源的获得
要提高A/D 的转换精度,必须为TLV2543 提供精密的基准电压,为了达到这一目的,不增加硬件成本的同时,成功运用了“窃电”技术。由于单电源芯片ICL232 内部具有泵压电路,在其第2 脚输出了稳定的+9V 左右的电压,利用该电压,与TL431 组成了精密的稳压电路,其输出的+5V 电压为TLV2543 模数转换器提供了可靠的基准电压,从而在最大程度上保证了模数转换器的转换精度,这样既充分利用了系统本身的资源,又没有增加额外器件。实践证明,由于TLV2543 转换时基准所需电流极小,不会影响正常的串口通信。
TL431 的输出电压由它两端外接的两个电阻决定的,计算公式为:
V0=(1+R2/R3)Vref=(1+1K/1K)×2.5V=5V (公式1)
图11 中的R2 和R3 均为阻值为1K 的高精度、低温漂电阻,TL431 的第1 脚输出电压标准的2.5V 电压,即为公式1 中的Vref =2.5V。