一种工业级数据采集监控系统的设计与实现
2009-09-03 来源:微计算机信息
引言
随着现代电子技术的发展 ,单片机的可靠性和高性价比 ,使它成为控制系统、智能仪表和数据采集等各个领域发展的主流。在当今工业生产和科学研究的各行业中 ,经常会遇到利用微机控制,需要输入各种模拟信号的情况,这时需要进行 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语言组成的上位机,在数据监测系统在传感器接收外界信号的同时对信号进行转换、采集、通信和图形显示输出, 实时反映传感器的信号变化和理解被测目标的新特性 , 是现场监控、信息预报的必要方法,在应用方面有很大的现实意义。
- CGD和QORVO将彻底改变电机控制解决方案
- 博世与清华大学续签人工智能研究合作协议 共同推进工业领域人工智能发展
- 兆易创新MCU新品重磅揭幕,以多元产品和方案深度解锁工业应用场景
- 当AI遇上边缘计算,研华以Edge AI推进嵌入式产业变革
- 研华科技:投身Edge AI创新,驱动智能未来
- 英飞凌推出全球首款非接触式支付卡技术SECORA™ Pay Green,最多减少100%的塑料垃圾
- 凝心聚力推动创新转型,清洁能源时代下特高压领域谱写更多可能性
- 恩智浦开展技术日巡回研讨会,全维赋能大众市场创新发展
- ACM6754 24V/4.8A三相无感无刷直流BLDC电机驱动芯片方案
- 罗克韦尔自动化亮相第七届进博会,三大引擎链动可持续未来