微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 远程数据采集与交互系统设计

远程数据采集与交互系统设计

时间:04-17 来源:互联网 点击:

  在科学技术发展过程中,资源信息的共享对科学研究水平的提高具有重要的意义。目前,在一些企业、高等院校和科研机构中,由于管理体制与设备使用机制的局限性,大型实验仪器的使用率极为有限,造成了大量的资源浪费现象。如果针对大型实验仪器使用远程控制实验,一方面用户可以在任何时间,任何地点通过网络进行实验,有利于用户合理地安排自己的学习、工作计划,而不再受时间和地点的约束;另一方面则可以提高实验室资源的利用率。因此,构建大型实验仪器共享平台是符合科学技术发展要求的。

  1 远程实验系统总体方案设计

  1.1 系统的功能及需求分析

  对大型实验共享平台而言,由于构建的是一种新型的实验仪器资源共享平台,希望能从各种不同设备中获取其各自的实验数据或结果,以平台通用的格式来传输和存储数据,便于进入平台的各个用户共享这些实验数据或结果。

  通常实验仪器由于功能的不同、生产厂商的不同,使得获取数据的方式、数据的存储格式等均不相同,各种实验仪器基本上采用的都是自己专用的数据采集装置,不能满足大型实验共享平台的要求。因此,在构建大型实验仪器共享平台中,如何完成平台中各种不同设备数据信息的采集及处理是实现远程数据交流与共享的关键。

  1.2 系统总体结构

  根据需求分析,远程实验系统结构如图1所示。

  
图一

  在实验室本地,利用FPGA体积小,速度快,内部延时小,可自由编程,灵活性高等优点,以FPGA为核心辅以A/D转换器等设备,设计出可提供多种接口的数据采集箱。数据采集箱接口多样化,便于同各种不同型号的实验仪器相联,并且数据采集箱可以转发简单的控制指令(如:启动、停止)。数据采集箱采集到的数据,在FPGA中完成数据格式化过程(将数据按照约定编码成统一的格式)后,暂存到缓存中,然后经传输线路将格式化的数据发送到服务器端存储到数据库中永久保存。数据库中数据主要按时间段存储,时间段的划分由实验用户设置决定,可以用一次完整实验过程来划分时间段,也可以用同一个实验分割成几个时间片段来存储数据,这样有利于日后数据比较分析。

  在异地,用户可以使用PC机通过互联网登录到服务器,发出控制指令或将数据库中的实验数据下载到客户端。用户即可以用表格的形式显示数据,也可以将数据导入到Matlab中,利用Matlab强大的绘图和分析功能,对实验数据进行更为高效的分析。

  2 基于FPGA的数据采集箱设计

  数据采集箱主要完成对实验数据进行采集和初步处理的功能。数据采集箱可采集的数据种类包括温度、电压、电流、转速等。为了达到"万能"数据采集效果,数据采集箱还提供了多种接口,不仅提供了高效、方便的USB接口,也提供了工业通用的RS 232接口、IDE接口。数据采集箱有温度传感器、电流传感器、旋转编码器、霍尔传感器、A/D等外部器件,如果由普通的单片机实现,需要很多的扩展芯片,而且单片机的时序性强,它很难同时实现这些功能,或者以降低系统精度作为代价。所以,在数据采集箱中采用FPGA芯片来并发处理系统的各位部分信号,这样不仅可减少PCB板的面积,增加抗干扰能力,同时也减少了成本。数据采集箱结构如图2所示。

  
图二

  数据采集箱的核心:XC2VP30是工业级Virtex-II Pro FPGA器件之一,逻辑单元Slice有13 696个,RAM为2 448 Kb,136个18×1乘法器以及8个数字时钟管理模块和644个用户I/O端口,以及2个工作在350+MH4,基于FPGA开发平台的BLDCM模糊PI控制器IBM PowerPC 405 RISC处理器和8个3.125 Gb/s RocketIO收发器,能提供多达120 Gb/s全双工数据传输。Xilinx的FPGA是基于SRAM工艺,因此它们是易失的,数据采集箱采用3块FLASH XCF04S ISP PROM来存储FPGA的配置文件。

  电流采集利用ADS807完成。ADS807是带采样/保持的高速12位A/D转换器,采用流水线技术并行处理模拟量。数据采集箱中通过电流传感器采集到电流值,然后通过ADS807将其转换为12位数字信号传送给FPGA。为了降低噪声的影响,采用了平均滤波方法对A/D输出进行滤波。基于大型实验平台的特殊性,本设计采用两个独立工作的转换器构成两通道的模式。

  为了得到高精度的速度信号,FPGA对E6B2CWZ6C增量式旋转编码器的A相脉冲信号进行采集,被测对象每旋转一周,A相将发出1 000个脉冲信号。

由于各种设备、接口的传输数率不相同,在FPGA内部为每一种设备或接口开辟独立的缓冲区。FPGA对读入的数据,先编码,依据读入设备,添加设备编号和接收时间;然后将读取数据放入缓冲区;当缓冲区满,接收

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

网站地图

Top