微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于串行接口方式单片机通用数据采集系统设计

基于串行接口方式单片机通用数据采集系统设计

时间:03-21 来源:互联网 点击:

1 引言

在传统微机化的数据采集系统中,均是以总线方式来扩展各功能部件,如A/D转换器、程序存储器、数据存储器、日历/时钟器件、显示器件及微型打印机等,由三总线方式构成的数据采集系统,突出的问题是由于总线引出,易受干扰,造成系统的可靠性降低,同时也带来了布线密度高,占用电路板空间大,外围元件较多,时序复杂等问题。近年来随着片内具有FLASH存储器的非总线型单片机及具有串行接口的外围器件的推出,使得设计出基于串行接口方式的数据采集系统成为可能。

2 硬件结构

基于串行接口方式的单片机通用数据采集系统硬件系统框图如图1所示。


图1 串行接口方式单片机数据采集系统框图

本系统根据实际采集数据的需要,分别设计了模拟量采集接口电路、开关量采集接口电路、数字量采集接口电路及频率量采集接口电路,基本涵盖了各种数据信息的采集。为了将采集的信息保存下来,扩展了一片容量为64K字节的E2PROM AT24C512,为实现数据的定时采集和按时间日期保存数据而扩展了一片实时时钟日历芯片SD2001E,为便于输入各种数据而扩展了键盘接口管理器件 SK5278,为便于实时显示采集的数据及人机交互而扩展了中文液晶图文显示器OCMJ4X8C,为便于将采集的数据打印输出而扩展了MP-A16-8型汉字微型打印机,为便于将采集的数据传送给上位计算机进行数据的处理分析而使用MAX232扩展了RS-232接口,下面对上述各串行接口器件予以介绍。

2.1 模拟数转换器TLC2543

TLC2543是具有11个模拟量输入通道,12位分辨率的A/D转换器,因而本系统最多可实现11路模拟量的采集任务,为了保证测量结果的准确性,该器件具有3路内置自测试方式,可分别测试REF+高基准电压值,REF-低基准电压值和REF+/2值,该器件的模拟量输入范围为REF+-REF-,一般模拟量的变化范围为0-5V,但为了能满足一些传感器输出的非标准电压值的数据采集任务,这里利用了TLC2543的基准电压设定功能,设计了模拟量输入范围设定调整电路,采用电阻分压的方式设定采集基准电压值。其中R1和RP1用于设定满度电压值,调整RP1可使满度电压值在1/2VDD-VDD之间变化,R2和RP2用于设定零值电压,调整RP2可使零基准电压在0-1/2 VDD之间变化,RP1和RP2应采用多圈精密电位器。TLC2543的基准电压设定功能,使得本系统可满足各种非0-5V标准输出的传感器数据采集任务,TLC2543与单片机的接口采用4线SPI串行接口,三个控制输入端分别为“CS”(片选)输入/输出时钟(CLK)及地址输入端“DI”,片内的 14通道多路器可以选择11个输入端的任何一个或3个内部自测电压中的一个且采样保持是自动完成的,转换结束后“EOC”输出变高,转换结果由三态输出端 “DO”输出,AT89C52单片机与TLC2543的硬件接口电路如图2所示。

2.2 I/O扩展器GM8164

为了实现开关量采集及开关量输出控制的功能,这里使用了一片具有大量I/O扩展功能的串行芯片GM8164,该器件的主要特点如下:


图2 单片机与TLC2543的硬件接口电路

⑴扩展I/O口数量众多,可提供32位数据输入口和40位数据输出口;
⑵同时提供8个开漏输出口,方便电平转换和驱动;
⑶可达1MHz的全速率同步串行接口,非常方便与通用MCU接口;
⑷可多个芯片级联,扩展I/O口的数量;

使用GM8164可使本系统实现最多32个开关量的数据采集任务,同时可提供40个开关量控制输出功能。

2.3 高精度实时时钟/日历SD2001E

实时时钟器件使用了具有I2C总线接口的实时时钟器件SD2001E,该器件将实时时钟所需的电池、晶振、电源管理等电路全部集成在了芯片内部。在系统掉电的情况下也可保证时钟的运行。该芯片无需任何的外围元件,就可构成一个高精度的实时时钟日历,且可为系统提供32k byte擦写次数达100亿次的非易失性SRAM,该器件的主要性能指标如下:
⑴年、月、日、星期、时、分、秒的BCD码输入/输出;
⑵I2C总线接口(包括实时时钟部分和SRAM部分);
⑶自动日历到2099年(包括闰年自动换算功能);
⑷内置高精度晶振,精度≤±5ppm,即一个月内,走时误差不超过13秒(25℃);

钟走时时间超过10年以上;

2.4 串行E2PROM AT24C512

由于SD2001E为系统提供了容量达32k字节的非易失性数据存储器,已能够满足一般数据采集系统的需要,如采集系统的数据存储量较大时,可在扩展一片容量为64k字节的E2PROM AT24C512。由于该器件的擦写寿命有限,故在使用时可将数据先写入SD2001E片内NVRAM,当NVRAM写满后再将数据存入到 AT24C512中,这样可使AT24C512的读写频率大为降低,从而大大延长了该存储

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top