SOC的高精度红外测温系统的设计原理归总

时间:2012-07-09来源:网络

2.3 AD转换电路

TLC2543 是 12位开关电容逐次逼近模数转换器。其设置方法如下:DATA INPUT端串行输入的 8位数据,它规定了 TLC2543要转换的模拟量通道、转换后的输出数据长度、输出数据的格式。其中高4位(D7~ D4)决定通道号。对于0通道至l0通道,该4位分别为 0000~IOIOH,当为 1011~1101时,用于对 TLC2543的自检,当为 1110时 ,TLC2543进入休眠状态。低 4位决定输出数据长度及格式。其中 D3、D2决定输出数据长度,0l表示输出数据长度为 8位,11表示输出数据长度为 16位 ,其他为 12位 。D1决定输出数据是高位先送出 ,还是低位先送出,为 0表示高位先送出。D0决定输出数据是单极性(二 进 制 )还是双极性(2的补码),若为单极性,该位为0,反之为1。当片选 cs从高到低的时候,开始一次工作周期,此时 EOC为高,输入数据寄存器被置为 0,输出数据寄存器的内容是随机的。开始时,片选 CS为高,I/OCLOCK、DATAINPUT被禁止,DATAOU呈高阻状态,EOC为高。使变低,I/OCLOCK、DATAINPUT使能,DATAOU脱离高阻状态 。12个时钟信号从 I/OCLOCK端依次加入,随着时钟信号的加入,控制字从 DATAINPUT一位一位地在时钟信号的上升沿时被送入TLC2543(高位先送入),同时上一周期转换的A/D数据,即输出数据寄存器中的数据从 DATAOUT一位一位地移出。TLC2543收到第 4个时钟信号后,通道号也已收到,此时TLC2543开始对选定通道的模拟量进行采样,并保持到第 12个时钟的下降沿。在第 12个时钟下降沿,EOC变低,开始对本次采样的模拟量进行A/D转换,转换时间约需lOt1s,转换完成后 EOC变高,转换的数据在输出数据寄存器中,待下一个工作周期输出。该芯片与微处理器接口的时候只需占用四个 IO口,其 12个时钟的工作时序看参考相关手册。

2.4 SOC级微处理器特性本系统所采用的是 SOC级 STC系列单片机,指令代码完全兼容传统 51单片机,工作频率可达48HZ,本设计中使用的微处理器为 6时钟周期,故其工作频率相当于普通 51单片机的96MHZ,为本系统提供了速度保证。另外,本设计选用的 STC89C58RD含有 32K的程序存储区,并在内部扩展了 32K的数据 FLASH存储器,从而使本设计能方便的扩展相关功能,如参数的记忆功能等。该微处理器还支持 IAP与ISP,不需专用的编程器,通过普通串口即可调试程序。抗干扰也是选用该单片机的理由之一,本设计主要应用于对工业设备进行温度监控,故抗干扰十分重要。

3.系统软件设计

红外线温度检测系统的软件设计主要有如下几个主要模块:初始化模块pI/O口查询模块pAD转化模块p数据处理模块p数据纠正模块p显示驱动模块等。另外还一个中断程序处理模块:0外部中断,主要用于参数设定。

软件设计流程如图 3所示。

整个程序采用 c51编写,初始化模块主要是初始化各路报警信号,将发射率等参数设定成默认的值并显示。主程序不断通过 I/O口查询模块扫描 AD转换模块送过来的 12位数字信号,本程序中采用的是 SPI总线的通信方式,串行的接口方式节约了大量 IO口。接受过来的数字信号通过数据处理模块处理之后按查表的方式得出温度值,把该温度值经过数据纠正模块纠正后送显示模块显示,并将数据传给上位机界面进行显示,从而完成了一路温度测量。在程序的运行过程中,随时可以对发射率,报警值等参数进行设定。当功能键按下的时候触发单片机的 0外部中断,在中断程序中对参数设定按键进行扫描,并将结果存储起来。每路测温结束后系统通过 RS485将温度值传送给上位机,在 VB界面上显示。

对于一个测量系统,其精度和准确度是非常重要的。虽然本设计选用 12位AD,给本设计的高精度奠定了基础,但是由于传感器,AD等电子器件自身不可避免的误差和外界的干扰,测量结果难免会有些偏差。因此和研究其他仪器仪表一样,在本设计中,也进行了大量实验,通过对实验数据的处理,进一步提高了准确度。采用的主要方法是曲线拟合的最小二乘法。现将其原理介绍如下:

在函数的最佳平方逼近中,函数 f(x)∈C[a,b],如果 f(x)只在一组离散点集{xi,i=0,1,…,m}上给定,那么我们就需要对实验数据{(xi,yi),i=0,1,…,m}进行曲线拟合,其中,yi= f(xi)。若要求函数 y=S ((*)x)与所给数据{(xi,yi),i=0,1,…,m}拟合,则误差δi= S *(x)-yi。设Φ 1(x),Φ2(x),…, Φn(x)是C[a,b]上线性无关函数族,在Φ =span{Φ1(x),Φ2(x),…, Φ n(x)}中找一函数S ((*)x),使其误差平方和最小即可。因为实验数据量很大,故在实际运算中,可以借助MATLAB等数学工具,通过调用或者编写相关函数来完成曲线拟合,最后选择适当的结果输出。

1 2

关键词: SOC 高精度 红外测温 系统

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版