系统的工作原理如图1所示。传感器将温度(物理量)转化为电量(电压),然后通过差分放大模块将信号先放大再保持处理,接着将两路模拟信号(电压)送至ADμC812的P1.0、P1.1管脚进行内部A/D转换器采样得到相应的数据,最后通过芯片内部处理由LED串行显示模块将具体值显示出来并发送给上位机。
其中串行通信(RS-232)既可以保证上位机与ADμC812主芯片之间数据通信的顺利进行,又可以作为ADμC812芯片的下载工具的数据线,这为程序的在线调试提供了便利。
由于设计中主要用到了A/D、串行通信等模块,所以采用ADμC812作为主控制芯片,它主要担负以下3种功能:
(1)采样各通道的模拟量并进行相关运算。(2)实时数据LED显示。(3)检测通信口状态,接到通信 握手信号时与计算机进行通信。
2ADμC812的主要性能特点
由美国模拟器件公司推出的ADμC812单片机,其内部包含了高精度的8通道12位模数转换器(ADC),2通道12位数模转换器(DAC)以及可编程的8位(与8051单片机兼容)微控制器单元(MCU)。另外,片内有8KB闪速/电擦除程序存储器、640单元闪速/电擦除数据存储器、256个单元数据SRAM(支持可编程)。
MCU支持的功能包括看门狗定时器、电源监视器以及ADC DMA功能。为多处理器接口和I/O扩展提供了32条可编程的I/O线、与I2C兼容的串行接口、SPI串行接口和标准UART串行接口I/O。
MCU内核和模拟转换器两者均有正常、空闲以及掉电工作模式,它提供了适合于低功率应用的、灵活的电源管理方案。器件包括在工业温度范围内用3V和5V电压工作的两种规格,有52引脚、塑料四方形扁平封装形式(POTP)可供使用。
3系统硬件电路设计
硬件设计的模块大致可以分为温度信号传感,信号的处理,采样保持,LED实时显示,单片机采样控制及与计算机之间的通信等。
温度检测电路是整个系统最基本的一个模块,它主要检测所测环境的温度和为后续电路提供处理信号。通过温度传感器铂电阻,将温度变化信号转变成相应电压变化。该电压值大小在一定的温度范围内随温度变化的函数关系近似为线性,它的变化幅度大约为0.388Ω/℃。
为了提高整个系统的性能和可靠性,把ADμC812的数字地接在一起、模拟地接在一起,然后共地,以此减小外界的干扰信号对芯片正常工作的影响。用MAX813L作为主芯片的复位之用,更好的保证系统稳定运行。图2所示的电路可以保证ADμC812在上电时正常复位,掉电时正常关闭,在非完全掉电和电源低落时也能给出正常、合适的响应。
ADμC812的UART串行接口是全双工的,它可以同时发送和接收数据。串行网络的物理接口由引脚RxD(P3.0)和TxD(P3.1)提供。图3是利用这两个引脚设计的RS-232接口电路,可实现上位机与ADμC812的串行通信。
RxD和TxD通过RS-232收发器(ADM202芯片)连接到9线D型连接器上;收发器能够产生串行接口通信所需电平,从而允许D型连接器直接与上位机串行接口相连。由于此电路中所采用的收发器是ADM202芯片,它内部没有集成ESD保护电路,所以需要外接0.1μF的电容构成外部保护电路。
4系统软件设计
在系统软件设计中,主要分为两部分:一是ADμC812的单片机程序,主要承担终端的信号采集处理,把有关数据传送至计算机,以实现计算机信息集中处理与控制;二是计算机上的上位机程序,以实现有效的协调、管理和控制各终端运行(如图4所示)。
本系统中,计算机和ADμC812模块之间的通信距离比较近,所以采用RS-232标准的串行数据通信协议。考虑到终端选择的同比性,这里主要研究了两路信号采集工作,即选择了两路终端。
(1)主程序框图
开机初始化(堆栈指针设置,A/D采样控制寄存器设置初始化,数据实时显示清零等),ADμC812等待上位机发送启动采集数据的命令和选择终端采集通道,一旦握手信号建立,系统便开始进入预定状态,采集外界信号;若握手不成功则通过串行口通知计算机发送命令失败。主程序的流程图如图5所示。
(2)上位机软件设计
使用高级语言Delphi7通过调用API函数与单片机ADμC812通信。由于没有使用硬件握手联机,所以在上位机里,每1s读取一次串口缓冲区的数据;在读取数据前先发送命令给单片机,让单片机开始数据采 样,然后再发送让单片机传递数据的命令,同时计算机便开始接收,这样实现了两者之间的同步。上位机程序的流程图如图6所示。
5测试结果
根据测试得到的部分实验数据如下:实验数据验证说明,本系统的设计不管在单、双通道采样控制,还是在实时处理显示精度上,都取得了理想的效果。