新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于SOC的高精度红外测温系统设计

基于SOC的高精度红外测温系统设计

作者:时间:2009-12-18来源:网络收藏

在本中采用第二种滤波电路,因为集成运放的开环电压增益和输入阻抗均很高,输出阻抗又低,所以有源滤波电路有一定的电压放大和缓冲作用,滤波效果好,提高了传感器信号的准确度。

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 级微处理器特性本所采用的是 级 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界面上显示。



评论


相关推荐

技术专区

关闭