引言
在智能仪表设计中,经常用到A/D转换器。在常用的A/D转换中,7135应用最为广泛,它具有41/2位A/D转换精度,抗干扰能力强,价格低廉,主要用于检测参数的测量显示,在智能仪器仪表中,常利用其A/D转换特性,与单片机串行连接,通过简单的人机界面实现对A/D转换数据的智能控制。本文以PIC单片机与ICL7135的实际工程应用为例,介绍一款智能温度控制仪表在温度变送器中的应用。
1 PIC单片机
PIC系列8位CMOS单片机具有独特的RISC结构,数据总线和指令总线分离的哈佛总线(Harvard)结构,使指令具有单字长的特性,且允许指令码的位数可多于8位的数据位数,这与传统的采用CISC结构的8位单片机相比,可以达到2:1的代码压缩,速度提高4倍。
PIC有优越开发环境、彻底的保密性、PIC以保密熔丝来保护代码,用户在烧入代码后熔断熔丝,别人再也无法读出,除非恢复熔丝、自带看门狗定时器,可以用来提高程序运行的可靠性。在本工程项目中选用了PIC中档单片机PIC16F62x,内部含有2K flash、224字节SRAM、128字节EEPROM、16个I/O口、1个CCP捕获通道、2个比较器通道、2个8位1个16位定时器、具有UART功能。
2 7135 A/D转换原理
7135采用高阻抗差分输入方式,总失调电压小于10μV,其A/D转换器采用双积分式,共分4个阶段:自动调零,输入信号积分,标准信号反积分,积分器归零。其当个转换过程如图1所示。
由图1可以看出,7135在对输入信号进行积分时,其BUSY信号线由低向高跳变并一直保持高电平,直到标准信号反积分结束时才跳变到低电平。在此过程中,对输入信号的积分一般保持10001个时钟脉冲,而在满量程的情况下,反相标准积分值为20001(当Vin="2Vref"时),对于不同的模拟量输入,7135反向标准积分脉冲数不同,BUSY信号的高电平宽度也不同,且反向积分脉冲数正比于输入信号幅度,与测量结果有一一对应关系。在转换过程中,7135提供一输入信号极性判断引脚POL,当输入(Vin+-Vin-)为正值时,POL信号为高电 平,(Vin+-Vin-)为负值时,POL信号为低电平。
3 7135与PIC单片机的串行连接
由7135的转换原理可知,可以通过脉冲计数的方式获得测量的结果,且只需要3条控制线CLK,BUSY,POL。Microchip推出的PIC系列单片机具有驱动能力大,抗干扰能力强,价格适中等优点。其推出的PIC16F6X系列,有2~4K FLASH内存,1个16位定时器,2个CCP比较/捕捉模块,多于22个I/O,唯一的遗憾是没有符合7135的采样时钟。考虑到仪表需要通信及隔离模拟变送输出,采用16M晶振,利用16位定时器T1作为7135的同步计数脉冲,BUSY接于CCP1引脚,工作于捕捉方式,用于测量脉冲宽度;而7135的CLK时钟,则利用CPU的晶振接于高速反相器,再经分频取出。考虑到采样速度及对50Hz电源的抗干扰影响,以及温度变量的惯性大的特点,取CLK="250kHz",采样速度约为4次/min。系统硬件联接如图2:
在实际应用中,监测的对象为玻璃熔炉的温度,采用热电偶将信号采集到变送器。作为温度变送器还必须要考虑环境温度的影响。其次,还要考虑到器件的温度漂移,必须在后期得到的数据对这两个干扰量进行处理才能得到真实的温度值。因此在模拟量的输入部分有三个量需要采集,通过多路模拟开关隔离,再将信号送给运算放大器后进行A/D转换。在A/D转换部分,由于ICL7135本身没有自带的参考电压,因此设计中必须配以精确的参考电压源。
实际应用中采用的是TL431可调电压基准,应用中达到了生产要求,效果良好。在变送器的输出部分则需加以隔离并且MAX485的输出端接以上,下拉电阻。
4 A/D转换结果的计算处理
定时器T1的时钟和7135的时钟不是同一个输入,T1的时钟为系统时钟的1:128分,而7135的CLK为125KHz,为CPU引脚输出的方波脉冲。7135的BUSY脚接CPU具有电平中断功能的引脚,这样当BUSY为高时便开始计入脉冲数,直到一次转换完毕。对热电偶通道所测得的数据根据其电压—温度特性表进行处理后得到其温度值,对温度飘移则视POLARITY的极性而定,若为正则将其用热电偶温度值减去,否则则加。环境温度直接相加。温度数据处理完毕等待上位机发送指令上传即可。
5 软件设计
系统软件的设计中含有以下几个处理模块:初始化及主程序模块,中断处理模块,数据处理及传送控制输出模块。其中中断处理模块包括通讯中断,捕捉中断处理。数据处理及传送控制输出模块则包括温度对象的数据处理,串行通讯的接收与发送控制。以下简要介绍主程序运行流程与7135电平中断处理。程序流程如下:
在A/D转换过程中,因为BUSY脚上升沿时开始脉冲计数,下降沿是计数即完毕,所得结果存放在CCP寄存器中,它是分CCPR1H与CCPR1L高、低两个字节共16位寄存器。将CCPR1H左移4位加上CCPR1L再减去10001,即为A/D转换脉冲的计数值。将转换后的数据按前述方法由软件进行进一步处理。对采样数据的处理过程中,可取对每4次或8次采样值进行脉冲滤波,或可以结合其他滤波方法一起例如一阶滤波方法对数据进行处理,送显,控制,这样能使测量更准确,显示更稳定。为保证生产的持续稳定进行提供有力保障。
6 结束语
此温度变送器的工作环境相当恶劣,静电干扰非常大,在调试过程中甚至出现了芯片被静电激穿烧坏的现象,在串行通信的前端加光耦隔离并对MAX485芯片A、B分别上拉到电源和下拉到地起到了良好的保护作用,在长时间的使用期间此变送器无论是在稳定性、精度、 实时性还是安全性上都表现良好,满足了实际生产的需要。
本文作者创新点是以PIC单片机与ICL7135的实际工程应用为例,详细阐述PIC单片机与ICL7135将检测到的温度进行转换处理后通过串行口传送给上位机,应用于高精度的温度检测仪表中,介绍了一款智能温度控制仪表在温度变送器中的应用。对于实际生产有重要的借鉴意义。项目经济效大约50万元;数据来源主要是通过脉冲计数的方式获得测量的结果;研究方法:利用含有初始化及主程序模块、中断处理模块、数据处理及传送控制输出模块的设计软件来模拟实验研究,其中中断处理模块包括通讯中断,捕捉中断处理。数据处理及传送控制输出模块则包括温度对象的数据处理,串行通讯的接收与发送控制。
来源:微计算机信息