TLC2543和AT89S52实现工业级数据采集监控系统

描述

论文重点介绍了基于采集芯片 TLC2543和USB接口芯片PDIUSBD12的数据采集监控系统的硬件和软件设计。此系统采用主从式结构,上位机软件采VC++.NET2005编写,对系统实现监控;下位机以AT89S52单片机为核心 , 通过A/D转换芯片TLC2543进行采集转换 ,最后将数据传送。上位机与下位机采用PDIUSBD12接口方式进行通信。

引言

随着现代电子技术的发展 ,单片机的可靠性和高性价比 ,使它成为控制系统、智能仪表和数据采集等各个领域发展的主流。在当今工业生产和科学研究的各行业中 ,经常会遇到利用微机控制,需要输入各种模拟信号的情况,这时需要进行 A/D转换。在某些实际项目中,为了采集某些模拟量而选用一些数据采集卡 ,其特点是:可扩展性差、安装麻烦、易受机箱内环境的干扰,在许多场合尤其是便携式应用场合不适用。USB是为解决计算机外设种类日益增加与有限的主板插槽和端口的矛盾,由 Intel、Microsoft、IBM及 NEC共同制定的微机总线接口规范。当前的计算机外部设备,都在追求高速度和高通用性,USB总线接口技术适用了这种要求,并以速度快、使用方便、成本低、可靠性高等优点,使外设向 USB过渡成为必然趋势。

1 系统体系结构

基于 AT89S52的数据采集系统的体系结构如图 1所示。系统的工作过程就是一个数据采集的过程 ,其中的每一步都需要不同组的支持。首先 ,温度和压力参数经传感器转换成模拟信号,模拟信号经过 A/D转换芯片 TLC2543变为单片机可识别的数字信号。单片机将数字信号进行处理之后,就可以送往 LED显示或者通过 USB接口发送给上位机 ,同时如果检测出现了异常,通过蜂鸣报警模块来加以警示。系统也可以通过按键来设定相关的操作。USB接口在主机需要的时候把接收到的数据发送给主机进行处理和显示,同样主机也可以通过USB口对下位机进行控制。

2.1 采集模块设计

TLC2543是一种开关电容结构的逐次逼近式 A/D转换器,片内提供转换时钟,12位或 8位串行数据输出。可采集 11路模拟输入电压 ,由片内多路开关选通,并采样保持。在本芯片工作温度(0℃ ~70℃)范围内 ,A/D转换时间 10微秒,具有单+5V电源工作的一大优点。通过对该芯片内数据输入寄存器的编程,可实现:仅输出转换的高 8位或 12位、输出二进制数的格扩展存储器 PDIUSBD12 USB通信式为无符号数或有符号数、是最高有效位( MSB)导前输出还是最低有效位( LSB)导前输出。采集模块电路如图 2所示。89S52单片机的 P1.0、P1.1与 P1.2作输出,其中 P1.0模拟片选,P1.1产生时钟输出 ,P1.2输出地址与控制信息。TLC2543C数据输出寄存器中的数据通过 P1.3输入单片机 ,转换结束信号通过 P1.4进入单片机并被查询。

2.2 USB接口电路设计

PDIUSBD12是飞利浦公司推出的一款高性价比的 USB固件,完全符合 USB 1.1的协议规范,自带并行接口,可与多种 MCU相结合。其硬件接口如图 3所示。另外,它还支持本地的 DMA传输,为微控制系统与 PC机进行大规模数据传输提供了解决方案。PDIUSBD12所具有的挂起低功耗功能,可以满足 USB电源管理的要求,可使其应用于使用总线供电的外部设备。此外,它集成了内部上拉电阻、连通指示等功能。AT89S52控制器与 PDIUSBD12通过 8位并行总线连接(采用地址总线与数据总线复用的方式),采用 MCU与 PDIUSBD12结合的形式实现 USB数据的高速传输,使系统变得形式灵活、编程简洁、成本低廉。

2.3  显示模块及存储器扩展设计系统的显示是使用 MAX7219实现的 8位稳定静态显示 ,MAX7219是串行共阴极数码管动态扫描显示驱动芯片,仅使用3线串行接口传送数据 ,可直接与单片机接口,用户还可以方便地修改其内部参数以实现多位 LED显示,因此可以方便地使用单片机的 USB口送出显示数据,并且其占用的时间少,方便编程及对信号的检测。

存储器扩展采用了 8片 8K的 6264芯片。他们通过地址所存芯片 74LS373和译码芯片 74LS138进行地址的所存和芯片的选择。采用 A0-A12作为它们的地址线 ,A13-A15作为 74LS138芯片的 3个引脚 ,用来与 8片 6264的选通信号相连。因此 ,第一片 6264的地址对应范围是:0000H-1FFFFH;第二片为 2000H-3FFFH,依次类推,第 7片 6264对应的地址范围是 E000-FFFFH。

3 软件部分设计

3.1 系统软件算法

采集系统的主要功能是采集各模拟量输入通道的数据 ,并将收到的信息进行存储。程序结构分为主程序和中断程序 ,其中包括初始化、信号的采集和数据处理显示输出。初始化包括定时器、终端系统、工作状态和 USB接口的初始化等。系统每隔 20ms采集一次信号 ,保证对信号有很好的跟随性。在下位机固件程序中 ,在设备接入主机后 ,首先对下位机进行系统初始化,然后进行 USB连接,被主机识别并能正常驱动,进入正常使用状态,等待数据传输。如果有 PC数据传输,则调用通讯模块接收数据,并将数据存入下位机存储器,然后调用读数据模块与显示模块进行显示;否则直接执行读数据模块并调用显示模块进行显示(显示上次存储的数据)。系统软件的流程图如图4所示。

3.2 基于 TLC2543的软件编程

将采集程序编成一个子摸块 ,由主程序访问。由主程序确定采集模拟通道、采集次数以及数据处理 ,并对子程序进行带参调用。由子程序完成查询式转换 ,首先查询转换结束信号 , 若转换结束则执行 I/O操作,并启动下一次转换 ,最后将转换结果作为出口参数返回到主程序。

本文的创新点是由TLC2543和AT89S52单片机组成的数据采集监控系统结构简单、接口方便、集成度高、可靠性强、功能丰富;其次,通过USB接口与PC机连接不仅使数据存储量大,而且更易于进行数据处理,经济简单, 采样数据精度较高 ,在实际应用中有较高的实用价值。设计TLC2543和AT89S52单片机组成的数据采集监控系统和 VC++.NET语言组成的上位机,在数据监测系统在传感器接收外界信号的同时对信号进行转换、采集、通信和图形显示输出, 实时反映传感器的信号变化和理解被测目标的新特性 , 是现场监控、信息预报的必要方法,在应用方面有很大的现实意义。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分