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 个阶段:自动调零,输入信号积分,标准信号反积分,积分器归零。
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。
在实际应用中,监测的对象为玻璃熔炉的温度,采用热电偶将信号采集到变送器。作为温度变送器还必须要考虑环境温度的影响。其次,还要考虑到器件的温度漂移,必须在后期 得到的数据对这两个干扰量进行处理才能得到真实的温度值。因此在模拟量的输入部分有三个量需要采集,通过多路模拟开关隔离,再将信号送给运算放大器后进行 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 次采样值进行脉冲 滤波,或可以结合其他滤波方法一起例如一阶滤波方法对数据进行处理,送显,控制,这样能使测量更准确,显示更稳定。为保证生产的持续稳定进行提供有力保障。