基于串行接口方式单片机通用数据采集系统设计
发布时间:2008/5/26 0:00:00 访问次数:2401
    
     摘要:介绍了一种基于串行接口方式的单片机通用数据采集系统,该系统以at89c52单片机为核心,从数据的采集、存储与上位机的通信到数据的显示、打印输出全部采用串行接口器件,从而降低了布线密度,提高了系统可靠性。文中对系统的硬件组成结构予以详细介绍,并给出了软件流程。
    关键词:串行接口方式 单片机 数据采集系统 硬件电路
     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总线接口
    
     摘要:介绍了一种基于串行接口方式的单片机通用数据采集系统,该系统以at89c52单片机为核心,从数据的采集、存储与上位机的通信到数据的显示、打印输出全部采用串行接口器件,从而降低了布线密度,提高了系统可靠性。文中对系统的硬件组成结构予以详细介绍,并给出了软件流程。
    关键词:串行接口方式 单片机 数据采集系统 硬件电路
     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总线接口
上一篇:传感器接口电路的抗干扰设计