实数集范例6篇

实数集范文1

1OPC接口技术。OPC(OLEforProcessControl——用于过程控制的OLE)定义了应用Microsoft操作系统在基于PC的客户机之间交换自动化实时数据的方法。OPC技术基于COM/DCOM,COM透过一组一组的接口提供服务,所有COM组件的使用者必须透过这些接口来访问组件提供的功能。OPC客户和OPC服务器进行数据交互可以采取同步方式或异步方式。同步方式每一次读数据时读取该组中的所有项,得到返回的数据后在采集周期内再次发出读取申请,得不到数据就不结束此进程;异步通讯方式中,客户端把关心的数据点通知Server,并且提供一个回调函数,只有关心的数据发生变化时,OPC服务器才调用其回调函数,通知客户端做相应的处理。在前期实时数据采集中,大部分通讯方式采用异步方式,在后期的测试中发现几个站队数据采集不上的现象。分析原因后发现,工控机的OPCServer版本比较低,同时,数采通讯的优先级别要远远低于工控机本身数据处理的优先级,在有大量的系统运算时,就会出现服务缓慢或中断的现象。南一、一大队杏V-I原稳、杏三浅冷、六大队深冷都出现了这种现象,如果改成同步通讯方式,不断地发出读取申请,又会增加工控机和数采机的负荷,针对此问题,研发了单组同步通讯方式,它是同步通讯方式中的一个特例,这种方式把原数据组中数据项重新分成若干组,采取少量多次的方式采集,以牺牲部分采集效率为前提,既保证数据采集不中断,又极大的减小了工控机和前置机的负荷。

2DDE接口技术。DDE是一种动态数据交换机制(DynamicDataExchange,DDE)。使用DDE通讯需要两个Windows应用程序,其中一个作为服务器处理信息,另外一个作为客户机从服务器获得信息。客户机应用程序向当前所激活的服务器应用程序发送一条消息请求信息,服务器应用程序根据该信息作出应答,使用共享的内存在应用程序之间进行数据交换。数采前置机将通过以上几种接口方式从工控机(Server端)采集到数据写入实时数据库,形成基础数据,创建生产信息数据仓库,再通过数据整合,形成可供各层面人需要的生产信息。

3web。采集的各种数据被分门别类的存储到数据库中,通过将各个装置的流程、重要装置、关键参数控制点、重要数据进行合理布局,做成高仿真的工艺流程图,并将流程图中的数据与实时数据库中的数据源相关联,每隔固定周期刷新一次,使得生产人员可以在网络中的多个终端实时监测生产过程。目前,我们公司范围内的任何单位的终端,为了防止公司的生产数据泄密,我们给不同单位加了一定的访问权限。

二、存在问题及运行效果

目前,生产指挥系统的实时数据采集系统还存在一定问题:工控机对外通讯服务版本低。在前置机和工控机的通讯服务方式中,DDE是微软早期开发支持的一种通讯技术,由于现在微软转而支持OPC接口技术,而使DDE处于一个停滞不前的发展状态,导致目前DDE通讯速度要明显低于OPC。DDE的服务机制也比较脆弱,在生产指挥系统中813、BENTLY等系统都使用DDE服务,导致在这部分的数据采集中更容易出现问题;在实施力控系统数据采集的时候,由于技术人员很了解力控软件的开发过程,将力控的系统服务进行了升级改动,使对外通讯能力达到数采的基本要求,才保障通讯的正常进行,所以,技术相对落后的力控系统对数据采集以及以后的采集能力的升级也是一种制约;目前OPC技术比较成熟,但我们装置中工控机的控制系统大都是90年代左右的产品,OPCSever的技术也已经大大落后,我们不得不采用一些小的技术措施,在不影响工控机本身的数据处理速度的前提下,降低它系统资源的需求量,以满足数采需求。鉴于以上几种情况,建议将生产装置中的控制系统进行升级或改造,保证系统对大量系统运算处理更迅速,对异常事件反应更及时。

人工录入部分数据量大。系统中有人工录入机32台,人工数据录入点1202个,要求每小时录入的数据是854个,每八小时和二十四小时录入的是348个,从一定程度上加重了岗位人员的劳动强度,建议在检修改造中将这些点进行改造,加装能够远传的二次表,实现自动采集,以减少劳动强度,避免人工录入误差。从总体上来说,实时数据采集系统在生产中发挥的作用还是有目共睹的。

实数集范文2

关键词:企业资源计划系统 数据收集

1前言

中国石油炼油与化工企业资源计划系统(ERP)是中国石油信息技术总体规划中的一个重要组成部分,我作为内部顾问参与炼化ERP大连石化项目实施工作,所在的采购与库存(MM)模块数据收集工作由我来负责,数据工作看似简单,其实则不然,是一项长期而复杂的工作,是ERP系统上线的基石。

“三分技术,七分数据”,是我从事ERP实施工作近一年来,多次听到的一句话。顾名思义,从这句话就可以看出在ERP实施过程中,数据收集工作是多么的重要。炼化ERP大连石化业务以化工为主,存在大量二级分厂,业务分为核内、外两部分,主数据量庞大,是本次推广企业中数据量第二大的企业。在工作过程中,我深深地体会到数据收集在项目实施过程中的重要性。在此,我就结合自己近一年来的切身体会,谈谈对ERP实施过程中数据收集工作的认识。

数据收集工作的意义

2.1什么是数据收集

数据收集是项目实施过程中一个工作环节,是对研究对象进行量分析的主要手段。对于ERP系统MM物资模块来说,数据收集工作是把企业原物资系统中杂乱无序、不规范的数据提取出并加以整理,最终通过MDM项目组的检查,重新赋予新的SAP编码,保证数据可以安全地在ERP系统中使用。

2.2 数据收集工作的重要性

要充分认识数据收集工作的重要性。数据收集的全面与否,直接影响到系统能否顺利上线;数据收集的高质与否,直接关系到上线后业务数据是否准确。“三分技术,七分数据”不是一句空话,要求我们在日常工作中要以精益求精的态度来对待数据收集工作。数据收集工作不但要在项目实施计划中有个时间表,而且在周例会上、双周计划中都应以专栏的形式体现出来,对于某些重要数据的收集,要有严格的流程保证,具体任务应精确到具体的工作日。加强对数据收集工作的认识,以耐心负责的态度来对待数据收集工作,不断地完善所收集的数据,方能保证ERP的顺利上线,方能保证各种业务的顺利实现,方能切实提高企业的信息化水平。

3数据收集工作方法

在ERP实施过程中,数据量是巨大的,数据的变更也是经常的,这就要求我们在收集数据时,必须有计划、有规则、有步骤,切实探索出一种既能保证数据的准确性,又能减少不必要的工作量的数据收集方法。在收集第一版数据时,应力求数据的全面,但在收集第一版数据时,往往是项目工作刚开展不久,用户对ERP还不太了解,在这个时候,如何能保证数据收集的质量呢,这就要求数据收集人员一定要加强和用户的沟通,使用户能顺利的提供出符合要求的数据,在第一版数据初稿收集上来以后,接下来最重要的一项工作就是要和用户反复确认哪些数据在用、哪些数据停用、哪些已删除。同时结合自己对ERP系统的了解,提出一些改进建议,形成一版既全面又大体符合ERP系统要求的数据,形成第一版数据终稿。等流程确认已经结束,系统配置接近尾声时,就到了收集第二版数据的时候,此时用户对系统的了解已比较深入,结合第一版数据终稿,用户已能提出许多合理化建议,在这个阶段,一定要加强数据的备份与更新,使数据始终与项目进度同步,与业务需求吻合,形成全面准确的第二版数据。伴随着集成测试的结束,项目上线日期已日益临近,这时需要再次和用户确认第二版数据是否准确,是否能全面满足业务需求,是否在合适的冗余范围内,根据确认结果,要整理出一版全面精确合理的数据,既第三版数据。在项目进展的不同阶段,数据收集工作有不同的侧重点,这就要求我们要不断改进工作方法,以更加完美的方法来保证所收集的数据的数量与质量。

4及时做好数据工作的总结

实数集范文3

摘 要:当前,信息技术不断发展,并被广泛应用到林业数据采集工作中来。林业数据采集系统的建立对林业业务管理水平的提高意义重大。因此,林业主管部门应重视这一系统的研究和开发,并设计出更加专业和完善的林业数据采集系统。重点对林业数据采集系统的设计方式进行详细分析研究,旨在为林业数据采集系统的实现提供参考。

关键词:林业数据;采集统计;设计探讨

如何实现快速、准确地采集林业数据成为当前林业管理部门亟需解决的问题。通过设计出专业的林业数据采集系统,满足现代林业发展的需求已成为必然趋势。

1 林业数据采集系统的设计方式

1.1 林业数据采集系统流程分析

数据流程图能更加简明地将林业数据采集系统的流程呈现给用户查看,便于用户理解。下面主要分析系统顶层数据流程以及林权操作数据流程:①顶层数据流程。该流程主要是对系统总体进行描述,但是每一个模块中的数据走向有着明显的差异性。用户只需登录到林权子系统以及营造林子系统中,就能对林业数据的采集以及规划工作进行相应地设计与制作。②林权操作数据流程。林业数据采集系统的应用范围比较广泛,其可以在营造林以及林权管理等多个业务项目中进行使用。通过野外采集过程中所得到的数据,设计成实时的规划设计图,并关联到本地的服务器,最终实现林权操作[1]。

1.2 系统功能设计

林业数据采集系统设计的目的就是为了满足林业的需求,实现规划、设计地图等操作,同时将其与相关的申请表联系,最终成为专业的设计软件。林业数据采集系统会对地图以及申请表的相关信息进行管理,其主要内容包括地图规划设计、录入申请表以及关联图表等内容。通过详细地分析林业数据采集系统的相关需求,根据林业发展的实际情况以及当前的技术发展水平,系统性地设计林业数据采集系统。

1.3 数据库具体设计

数据库设计应遵循相关原则,考虑到数据库命名的规范性,保证数据的一致性和完整性以及扩展性。同时,结合林业数据采集系统的相关要求,在林业数据采集系统中设计13张属性数据表格,主要包括符号表、操作日志表、乡镇表、村表、户表、系统用户表格以及申请表格等。以概念结构的E-B图形将相应的数据表格创设出来,每张表格都要确定字段名、数据长度、类型能否为空。这些数据为实现林业数据采集系统的相关功能奠定了基础。

1.4 林业数据采集系统的关键技术

1.4.1 林业规划设计图的绘制工作

以ArcGIS Engine l0为基础,对林业数据采集系统进行二次开发,其中最为主要的一种操作是在地图图层中进行林业规划图形绘制,属性点以及边界点属于林业规划图绘制的两个主要项目。因为ArcGIS Enginel0不能完全地实现林业规划设计过程中对于属性点的绘制相关需求,因此,需要在原来系统的基础上进行相应的改造与更进,只有这样才能保证设计出来的林业数据采集系统与林业的实际需要相符合,要想实现这一目的,需要完成以下几个方面的工作:首先,要在shp文件中确定的图层位置上将属性点确定下来,然后将属性点绘制出来,同时还要给予这个属性点相应的编号是否能进行修改以及提交等3个属性;其次,在图层上定义一个能够加载的要素,并在要素上赋予这个绘制成的点,将要素加载在图层上;最后,将featureMain对象释放出来,加载到图层文件上,最终完成相应的属性点的绘制工作[2]。

1.4.2 数据校验流程

林业数据相应的设计图绘制好后生成相应的地块信息,然后需要打包数据,并在上传数据前对已经设置的地块信息进行核查,这一系列过程就属于数据校验工作流程。通过数据校验工作的开展,对已经生成的地块内的属性点个数进行核对,保证其个数与申请表的相关要求相符合。已经存在的林业数据采集系统会在实际工作过程中将这种功能忽略掉。在本次研究中,主要是借助判断语句处理pointFeatures。首先,需要处理地块的属性,确定地块内部是否存在着属性点,存在的属性点数量有多少;其次,要处理的地块是否与申请表相关联,对地块和申请表的关联状况进行检查,最终实现检验数据的目标[3]。

2 林业数据采集系统的实现

在本次研究中,需要对林业数据采集的实际需求进行综合性的考虑,借助各种数据完成林业数据采集系统的设计,最终设计并开发出相应的系统,达到系统应用自动化更新、图表操作、处理数据以及系统管理的目的。设计出来的林业数据采集系统能够有效地开展地块规划操作工作,同时和申请表相关联,并提供两种模式的登录方式。另外,这种系统还建立了规划造林以及造林设计的功能,有利于进一步提高林业工作人员的工作质量与效率。

3 结语

综上所述,设计出合理的林业数据采集系统能提升林业数据采集工作的准确性。为了进一步提升我国林业数据采集工作的质量与水平,相关人员需要加大开发力度,进一步深入研究并不断完善该系统,为林业数据采集系统的实现奠定坚实基础。

参考文献:

实数集范文4

关键词:LabVIEW;NI Scope;虚拟仪器;实时数据采集

中图分类号:TN274文献标识码:B

文章编号:1004-373X(2009)20-178-03

Design of Real-time Data Acquisition System Based on NI Scope

LIAO Jing,ZHOU Weixing,LIAO Huan

(School of Physics & Telecommunication Engineering,South China Normal University,Guangzhou,510006,China)

Abstract:In order to display the result of real-time data acquisition,combining to the idea of virtual instrument by using the virtual instrument of the development software LabVIEW,the real-time data acquisition system can be built quickly by using IVI device driver NI Scope and the queue for synchronizing control.The result indicates that the system can preferably realize and display the real-time data acquisition from analog input signal,data memory and so on.Especially by using the graphics programming language,the system can simplify codes,more convenient to operate with friendly interface and strong scalability.

Keywords:LabVIEW;NI Scope;virtual instrument;real-time data acquisition

0 引 言

虚拟仪器的概念最早是由美国国家仪器公司(National Instrument)提出来的,经过十几年的发展,目前正沿着总线与驱动程序标准化、硬件、软件模块化、编程平台图像化和硬件模块即插即用方向发展。随着计算机技术和网络技术的飞速发展,虚拟仪器将在数据采集、自动测试和测量仪器领域得到广泛应用,拟仪器技术十分符合国际上流行的“硬件软件化”的发展趋势,尤其是在高校科研和工业生产领域中发展前景非常广阔。

1 虚拟仪器概述

1.1 虚拟仪器简介

虚拟仪器核心技术思想是“软件即是仪器”,在通用的集成硬件平台上,结合高性能的模块化硬件和高效灵活的软件使本来需要硬件实现的技术软件化。一般当标准化硬件平台确定后,通过标准的仪器驱动软件可实现模块化的硬件(如GPIB,VXI,DAQ板等)之间的通信、定时应用等需求;而灵活高效的开发应用软件能创建完全自定义的用户界面和系统,实现传统仪器中由硬件完成的仪器功能。虚拟仪器技术的优势在于仪器性能的改进和功能扩展只需用户选择适合其应用要求的硬件模块以及更新相关软件程序设计,即可重新配置现有系统,增加程序可复用性,大大缩短整个系统开发换代周期,降低成本,方便实现多种功能。

1.2 虚拟仪器构成

虚拟仪器一般由通用仪器硬件平台和应用软件组成,如图1所示。

图1 虚拟仪器结构图

虚拟仪器硬件平台主要有两部分,分别是用于集成的硬件平台和模块化I/O接口设备。虚拟仪器的软件部分包括应用软件和I/O驱动软件两部分,应用软件包含实现虚拟面板功能的前面板的软件程序和定义测试功能的流程图软件程序,如LabVIEW等;I/O接口仪器驱动程序用来完成特定外部硬件设备的扩展、驱动和通信,可以由虚拟仪器开发环境提供。只有同时拥有高效的软件、模块化I/O硬件和用于集成的软硬件平台这三大组成部分,才能充分发挥虚拟仪器技术性能高、扩展性强、开发时间少以及出色的集成这四大优势。

1.3 图形化编程语言LabVIEW

LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一种用图标代替文本行创建应用程序的图形化编程语言,采用数据流编程方式,程序框图中节点之间的数据流向决定了程序的执行顺序,用图表表示函数,用连线表示数据流方向。LabVIEW程序称为虚拟仪器(Virtual Instrument,VI)程序。一个最基本的VI由前面板(Panel)、框图程序(Diagram Program)和图标/连接端口(Icon /Terminal)三部分组成。LabVIEW为虚拟仪器设计者提供了一个便捷、轻松的设计环境,不仅能轻松方便地完成与各种软硬件的连接,还提供强大的后续数据处理能力,交互式的测量工具和更高层的系统管理软件工具。LabVIEW能够支持串行接口、GPIB,VXI,PXI等标准总线和多种数据采集板,以驱动不同仪器公司的仪器,用户可以高效、快速地编写出相应的应用程序,自行设计仪器驱动程序,完成诸如数据采集、数据处理、数据显示以及仪器控制和通信等多种功能。在较高性价比的条件下,降低系统开发和维护费用,缩短技术更新周期。

2 系统结构设计

该系统使用NI公司PXI-1042Q机箱和NI PXI-5122高速数字化仪模块组建数据采集硬件平台。PXI(PCI Extensions for Instrumentation),它的主要优势在于利用了已经验证的,符合工业标准的技术,在高速的Compact PCI总线基础之上,加入类似VXI所具有的定时、触发和同步功能。PXI作为一种专为工业数据采集与自动化应用高性能模块化硬件平台,具有开放式架构,内有高端的定时和触发总线,结合模块化的I/O硬件和相应的测试测量开发软件,便可以较好地完成数据采集任务。

2.1 系统硬件部分

PXI-5122高速数字化仪是硬件部分的核心,可直接插入PXI-1042Q机箱插槽中,属于内置式驱动。通过LabVIEW嵌入的驱动函数可配置其触发方式,如即时触发、软件触发、数字触发等,还可配置采样速率,采样记录长度等。PXI-5122提供双输入通道,每个通道最高100 MS/s实时采样率,分辨率14 b,采用交叉采样方式的采样率可提高到200 MS/s,带有去噪和100 MHz抗混叠滤波器,具有动态范围大、板上采样存储器容量大等特点。这里配置为单通道即时触发模式,以便实现实时的连续采样。根据采样定理,设置的最小采样速率至少是被采样信号频率的两倍。数据采集系统示意图如图2所示。

图2 PXI数据采集系统结构图

2.2 系统软件部分

系统软件部分主要由标准I/O模块驱动,采用队列同步控制和数据显示三大部分组成。系统程序流程图如图3所示。

图3 队列同步控制程序流程图

首先通过NI,Scope示波器驱动来完成PXI-5122的配置和初始化,将此部分放置到由单个while循环控制的独立线程中便可以实现连续数据采集。被采集的数据被放入队列中,队列允许多个任务同时访问,其他独立线程的模块可同时并行地从中读取数据,实时完成各自的功能,如数据存储、数据显示等。

2.2.1 I/O驱动模块

NI Scope示波器驱动是NI公司提供的八类可互换的虚拟仪器IVI(Interchangeable Virtual Instrument)规范驱动之一,由于IVI规范驱动是基于虚拟仪器软件架构VISA(Virtual Instrument Software Architecture),可以实现程序与硬件接口的不相关。此外,NI Scope提供了规范和标准API函数和DAQ驱动程序库,它将仪器的功能完整封装,让用户更快更容易地开发系统。成功安装NI Scope示波器驱动后,在LabVIEW程序框图中,打开“函数”菜单下,打开“测量I/O”可以看到“NI Scope”工具包,选择初始化、水平方向设置、竖直方向设置、通道设置、触发方式设置等函数,自定义NI PXI-5122驱动程序。该系统设置偏移量为零,即时触发采样模式,采样记录数值默认为1,采样频率和采样记录长度由输入控件控制,采样的通道名称默认为“channel 0”,实现连续采样。NI PXI-5122驱动程序具体如图4所示。

2.2.2 同步技术

系统各模块分别由单个循环控制,并且各循环之间相互独立,每一个循环都有一个独立的线程独自运行,构成了一个包含多个并行任务虚拟仪器系统。各个循环之间也有数据交流,相互关联,为了实现在同一个程序中处理好各循环或并行任务之间的同步或通信,则需要使用同步控制技术。系统选用队列(Queue)技术来控制这些循环可以避免对设备的访问冲突。

图4 PXI-5122驱动程序示意图

队列结构是一种先进先出的结构。队列可以保证有序的数据传递,避免竞争或冲突。一般当多个用户需要使用同一个资源时,就可以通过队列来对多个用户进行排队处理;同时,也允许多个用户访问一个队列,这样就可以加快队列的处理速度。

同样,在程序框图中打开“函数”,选择“编程”中的“同步”,可看待“队列”函数包。通过“获取队列引用”先建立一个队列,可设置队列名称,元素类型,队列大小等属性。图5中显示数据采集循环,数据存储循环,数据显示循环共同使用一个队列,即数据循环中使用“元素入队列”函数将采集数据不断地存放到队列中,数据存储和数据显示循环使用“元素出队列”函数从队列中不断地读取数据,实现了系统实时采集和存储的功能。若某个模块的任务运行过快或过慢,队列可以起到缓存作用,进行约束或补偿,不会导致数据丢失或重复读取。

2.2.3 数据存储

高速数据流文件TDM Streaming文件以流文件形式存储数据,读写速度比较快,适合用来存储海量数据,常用于实时系统。TDMS文件除了可以存储信号数据外,还可以为每个信号添加附加信息:文件、组、通道等。通过TDMS文件操作函数可对被采集的信号进行快速的读,写,属性设置及提取,管理简单;在写操作后可以调用TDMS File Viewer VI函数,打开TDMS文件浏览器,查看数据和属性值。TDMS的写操作如图5所示。

图5 TDMS文件写操作程序示意图

3 实验结果

数据采集系统前面板如图6所示,根据所设计的数据采集系统,分别进行了数据采集、数据输入,数据存储及波形显示等实验。数据保存在以.tdms为后缀名的波形文件中。图6所示为对频率10 kHz,幅度为0.5 V的模拟正弦波信号使用单通道采样,输入的采样频率为1 MHz,实际采样频率为1 MHz。经过实际验证,对三角波,方波等合理采样,结果比较满意。

图6 数据采集系统前面板

4 结 语

该数据采集系统实际是用于对中波段范围内调幅信号的实时采集,方便对采集后的数据直接进行各种数学分析。一方面可将结果直观的显示在前面板上,另一方面也可同时将数据进行存储,以供日后分析使用。此外,由于LabVIEW是一个功能强大的虚拟仪器编译环境,简化编程过程,尤其是使用IVI驱动程序,极大地简化代码,用户不需要关心仪器底层是如何通信,只需要关注任务本身,给予系统更多的灵活性。以后只需要根据实际功能要求,修改相应的软件编程即可进行系统拓展。整个数据采集系统在实际使用中方便活,不受具体线路的限制。

参考文献

[1]杨乐平,李海涛,肖相生,等.LabVIEW 程序设计与应用[M].北京:电子工业出版社,2001.

[2]Walter Tuttlebee.软件无线电技术与实现[M].北京:电子工业出版社,2004.

[3]姜宇柏,游思晴.软件无线电原理与工程应用[M].北京:机械工业出版社,2006.

[4]周浩敏,王睿.测试信号处理技术[M].北京:北京航空航天大学出版社,2004.

[5]Emmanuel C Ifeachor,Barrie W Jervis.数字信号处理实践方法[M].北京:电子工业出版社,2003.

[6]陈锡辉,张银鸿.LabVIEW 8.20程序设计从入门到精通[M].北京:清华大学出版社,2007.

[7]杨乐平,李海涛,赵勇,等.LabVIEW高级程序设计[M].北京:清华大学出版社,2003.

[8]John G Ackenhusen.实时信号处理[M].北京:电子工业出版社,2002.

[9]姚素芬,赵建强,冯超琼.基于LabVIEW传感器实验平台的开发[A].第三届全国信息获取与处理学术会议论文集[C].2005.

[10]臧观建,刘正平.基于LabVIEW的联合时频分析[J].华东交通大学学报,2007,24(4):121-124.

实数集范文5

关键词:高速数据采集系统;ARM;模/数转换器;数据处理

中图分类号:TM714 文献标识码:B

文章编号:1004-373X(2008)11-140-03

Design of High Speed Data Acquisition System Based on ARM9

CHENG Yankui,LI Ying

(Communication and Control Engineer Institute,Southern Yangtze University,Wuxi,214122,China)

Abstract:Along with technology of radar,communication,telemetry and remote sensing development,the implementation of data acquisition system requires rigorous requests on speed,precision,data storage and so forth.All the questions referred above needed tobe solved in the high speed data acquisition system.Based on the ARM9 structure of the high speed data acquisition system,the key techniques,including the analog signal adjusting circuit,clock circuit,data storage and transmission,anti-interference and so on,are analyzed in detail.And the corresponding measures are discussed.

Keywords:high speed data acquisition system;ARM;analog/digital converter;data processing

1 引 言

在科研、生产和人们的日常生活中,模拟量的测量和控制是很常见的。为了对温度、压力、流量、速度、位移等物理量进行测量和控制,通过传感器把上述物理量转换成能模拟物理量的电信号,即模拟电信号,将模拟电信号经过处理并转换成计算机能识别的数字量,送入计算机,这就是数据采集[1]。

数据采集的主要问题是采集速度和精度。采集速度主要与采样频率、A/D转换速度等因素有关,采集精度主要与A/D转换器的位数有关。高速数据采集系统的设计需要解决系统在速度、精度、数据存储等方面的矛盾。

2 数据采集系统的结构

本文介绍的数据采集系统采用Samsung公司的S3C2410微处理器。数据采集系统按照功能可分为以下几个部分:模拟信号调理电路,模数转换器,数据采集和存储,时钟电路和系统时序及逻辑电路,如图1所示。

3 数据采集系统关键技术分析

3.1 系统时钟电路设计

时钟信号的稳定性决定了采样系统的性能。相位噪声和相位抖动是反映时钟稳定性的的两个主要指标。其中相位噪声描述时钟信号的频谱纯度,相位抖动直接影响时钟的过零点。通常高速的AD采样系统采用三种时钟源:锁相环、晶振、模拟混频器[2]。由于锁相环一旦失去基准频率,输出频率会立刻跳回振荡器本身的频率,此外当进行频率调整的时候,输出频率会产生抖动,频差越大,抖动会越大,不利与高速AD采样系统。模拟混频器速度慢,只适合在低频的条件下工作。因此,在高速电路的设计中,一般选择高频晶振作为时钟源。

图1 数据采集系统结构图

在高速AD采样系统中,取样时钟的稳定性与信噪比的性能密切相关。任何时钟信号噪声及时钟信号相位抖动都会影响采样系统的精度,时钟信号相位抖动对模数转换信噪比(SNR)的影响,可通过公式计算:

И

SNR=-10log10[(2πfs•Δclk)2+(1.52N)2+(52N)2]

И

其中:fs为采样时钟频率,N为模数转换器位数,Δclk为时钟信号相位抖动量。

3.2 模数转换器的选择

ADC的选择除了要考虑数据输出电平,接口方式,控制时序,参考源,带宽等因素外,最重要的是根据设计需求计算动态指标:信噪比,采样率,满度范围等,从而可以得到ADC的位数、最高时钟频率、模拟输入范围等参数,既可选择所需要的ADC。本设计根据要求:采样频率20 MHz,实时采样20 Msps,转换位数12位,选择了美国AD公司的AD9224芯片。

3.3 模拟信号调理电路设计

被采样的信号经过模拟信号调理电路的低噪声放大,滤波等预处理后,进入输入通道。由于高速数据采集系统的输入信号多为高频信号,需要进行阻抗匹配和前置放大。因此可以选择高速低噪声信号前置放大器和信号变压器。

信号前置放大器的优势是放大系数可变,信号输入的动态范围大,还可以配置成有源滤波器,但是放大器的最高工作频率和工作带宽必须满足系统的需要,以避免信号失真。

信号变压器的性能指标要优于信号放大器,而且信号失真小。但是信号变压器的信号放大系数固定,输入信号的幅度受到限制。

3.4 硬双缓冲实现连续采集存储

在高速的数据采集过程中,要求数据存储和S3C2410读数据同时进行,在相关文献中提出了一种基于软件系统双缓冲模式的存储技术,但是经过分析发现其在解决连续存储和读数的同时也降低了微处理器的性能[3]。在本设计中提出的基于硬件的双缓冲模式可以很好地解决这个矛盾,其工作原理如图2所示。

图2 硬双缓冲实现数据连续存储

图中序号1~6代表工作流程,采集数据经CPLD控制首先由FIFO写入存储器1,当存储器1数据写满后,产生硬件中断信号,该信号有两个作用:通知微处理器系统数据已经准备好,由微处理器从存储器1取回数据放入缓冲区;通知CPLD控制逻辑关闭FIFO与存储器1之间的数据通道,同时开启FIFO与存储器2之间的数据通道,后续数据得以连续无间断的存入存储器1。此时,存储器1的数据正被微控制器读出,当存储器2数据就绪后,同样产生硬件中断信号。如此交替循环就可以实现采集数据长时间连续无断点存储。

3.5 多路同步采集存储时序分析

要完成多路信号的同时存储且数据连续无间断点、无差错,对时序逻辑的设计提出了较高的要求,本文采用的CPLD器件,利用其在结构、密度、功能、速度和性能上的特点,并配合在线可编程(ISP)技术,实现了精确的时序控制,大大减少线路的噪声和功耗[4]。

对多路信号同时锁存,若不允许丢失数据,必须在单个采集时钟周期内把多通道锁存的数据存入同一存储器中。假设同步采样频率为fs,通道数量为m,每个通道的存储时间为tn(n=1,2,3,…,m),则有 t1+t2+t3+…+tm=1/fs,既所有通道存储时间之和为采样周期。

假设t1=t2=…=tm=T,则各通道存储时间相同的条件为:

И

T=1fs×m

И

从实际角度出发,在一个采集时钟周期内还有其他的时间消耗,如保持时间和转换时间等,假设其他时间消耗为ta,则:

И

T=1/fs-tam

И

如果fs的占空比为1∶1,根据ADC实际工作时的情况,可以近似认为ta=1/(2*fs),既在一个采集周期中只有半周期的时间可供存储数据,则单个通道的存储时间:

И

T=12×fs×m

И

根据上面的设计可以实现单采样周期内多路数据存储。

3.6 系统抗干扰设计

高速数据采集系统在抗干扰方面的问题远远大于中低速系统,例如信号连线上的延迟、反射、串扰、器件内部过度干扰和热噪声,电源干扰,地噪声等。轻则影响运算放大器、AD转换器等模拟器件的精度,严重时系统将无法正常工作。因此在高速数据采集系统设计中,整个系统的采集精度主要取决于系统的抗干扰设计。在电路设计初期和制板阶段就必须采取各种措施,以减小或者消除可能的干扰源。本文主要从以下几个方面进行考虑:

(1) 电源设计方面

根据高速电路设计理论,AD采集系统中的电源应当采用线性电源,以避免开关电源引入噪声。为了降低电源阻抗,减小噪声对电源的干扰,通常采用电源层设计,尽可能增大电源面积。在设计每个芯片的供电电路时,在每个芯片的电源附近并联去耦电容和旁路电容。去耦电容为芯片提供局域化的直流。旁路电容可以消除高频辐射噪声和抑制高频干扰。

(2) 接地技术方面

高速数据采集系统的模拟地和数字地应严格分开,最后单点共地。共地点通常选择在ADC芯片管脚所需电流最大的位置,这样可以使大电流对地回流最近,以避免对模拟电路的干扰,提高系统的采集精度。

模拟地和数字地可以通过磁珠连接,由于磁珠的高频阻抗大,而直流电阻为零,能够滤除高频电流减少地线上的高频噪声。

4 结 语

高速数据采集系统一直是测控领域内研究的热点,本文就基于ARM9的高速数据采集系统的结构,详细讨论了系统时钟电路设计、模数转换器的选择、模拟信号调理电路的设计、硬双缓冲实现连续采集存储、多路同步采集存储的时序分析,系统抗干扰设计等关键技术。经实践证明,该设计方案效率是很高的。

参 考 文 献

[1]郭虹,艾延廷,盛元生.数据采集与处理\[M\].北京:航空工业出版社,1999.

[2]张卫杰,侯孝民.高速大容量数据采集系统设计与实现\[J\].电子测量与仪器学报,2005,19(4):51-55.

[3]杨坤德,赵亚梅,马远良.高速大容量多通道数据采集系统设计\[J\].数据采集与处理,2002,17(4):455-458.

[4]宋万杰,罗丰,吴顺君.CPLD技术及其应用[M].西安:西安电子科技大学出版社,1999.

[5]Roland E B.锁相环设计、仿真与应用[M].北京:清华大学出版社,2003.

作者简介

程言奎 男,1980年出生,硕士研究生。主要研究方向为数字信号处理,当前课题主要是基于ARM9的高速数据采集系统的研究。

实数集范文6

在ColdFire上嵌入uClinux操作系统是一项比较成熟的技术,般应用在手持设备、家庭网关、工业控制中。但在数据采集应用中使用这项技术却不是很常见,原因是uClinux不是实时操作系统,而数据采集应用对数据采集的实时性要求很高。本文介绍如何利用在ColdFire上嵌入uClinux操作系统的方法来实现数据的采集和传输。

1 硬件平台

任何嵌入式应用系统都离不开具体的硬件平台,这里先介绍一下系统采用的硬件平台。图1所示即为硬件结构的示意图。其中,SPM是数据处理模块,它控制前端的A/D变换,根据设定的采集周期将A/D变换后的数据保存在其内部的RAM中;同时发出一个中断信号。ColdFire 5307 xBoard是基于Motorola公司高性能嵌入式32位处理器ColdFire 5307自行开发的嵌入式应用开发板。其硬件配置包括:

ColdFire5307 90MHz 32位处理器;16M SDRAM;2M Flash ROM;10Mbps以太网接口;两个UART串口;两个64针的地址和数据总线接口。

ISC(图像控制工作站)和IDS(图像数据工作站)是两个工作站,用来对系统实现控制,对图像数据实现处理。XBoard和工作站处在同一个以太网上,该以太网上还配有其它的设备。uClinux所要实现的功能是实时地将SPM上采集的数据通过以太网传到IDS上,同时接收来自ICS的命令以对SPM进行控制。

2 SPM和xBoard之间的连接

uClinux需要读取SPM中的RAM,所以最好是把SPM中的RAM作为uClinux的内存地址的一部分。SPM和xBoard上MCF5307之间的硬件连接如图2所示。

SPM中RAM的地址线、数据线和控制线直接连到CPU的总线上。除了硬件上的连接之外,还需要设置MCF5307的寄存器,为SPM上的RAM分配内存空间。XBoard在加电时首先运行debug程序,所以在debug中进行寄存器的设置是比较合适的。在debug源代码中的sysinit.c文件里的mcf5307_cs_init函数中加上下面的语句:

MCF5307_WR_CS_CSAR5(imm,0xa000); SPM的地址从0xa0000000开始

MCF5307_WR_CS_CSCR5(imm,0x3d40); 采用8位的读方式

MCF5307_WR_CS_CSMR5(imm,0x01FF0001); 空间大小为1M

将SPM控制的引脚和MCF5307的并口引脚相连,这产对SPM的控制就只需设置并口的相应位了。

3 uClinux下的实时性

uClinux并不是一个实时操作系统(RTOS),如何使用uClinux完成有实时性要求的数据采集是需要考虑的问题。由于应用中只一个实时的任务——从SPM中读取数据,所以采用中断的方式来对数据采集完的信号提供实时响应。下面的代码用来向uClinux注册IRQ7中断处理程序:result=request_irq(ECM_IRQ,ecm_interrupt,0,“ecm”,NULL);

在中断处理程序中,先关闭中断,因为中断嵌套在这里是没有意义的,还有一个重要的原因是SPM中断信号的低电平持续时间比较长。CPU是利用低电平来标志断信号的,所以CPU可能在SPM的一个中断信号中检测到多次中断。关闭中断后,从SPM的RAM中读取数据。由于SPM和xBoard之间的连接已得到保证,SPM的内部RAM成为uClinux的内存空间的一部分,所以读的工作是很简单的,只是将数据从一个地址读到另外一个地址,读完数据后打开中断。读数据之间发生的中断都会被忽略。读数据块的大小为4096字节,读完所有的数据需要2ms。所以在采集周期低于2ms的情况下,系统无法正常工作。不过这个指标低于应用的要求。

4 数据的临时存放

xBoard上并没有大的存储设备,所以uClinux采集的数据必须及时地传送出去。以太网上通过交换机连接着多个设备,在网络繁忙的时候并不能保证数据会被及时地传出去。解决这个问题的方法是开辟一个缓冲区,将暂时无法传出去的数据放在缓冲区中。

由于没有MMU的支持,uClinux不能提供内存保护机制,进程可以随意读取任何内存地址。这样,在带来方便的同时也增加了一些麻烦。方便的一面表现在可以在进程中开辟缓冲区,在内核中用同样的地址使用缓冲区;不利的一方面表现在开辟动态内存必须十分小心,不能和其它进程发生重叠。

在进程中开辟了50个数据缓冲片,这些缓冲片通过三个双向链表维持形成缓冲区。所有的缓冲片被挂在一个称为list的双向链表中,退出进程的时候,应该将这些动态内存释放。同时,将存有有效数据(即尚未被发送出去的数据)的缓冲片放在称为dirty的双向链表中,将可以使用的缓冲片放在称为clean的双向链表中。中断处理程序每次从clean链表中取得一个缓冲片,存入数据后放到dirty链表中;相反,发送进程每次从dirty队列中取一个缓冲片,发送其保存的数据,然后把它放到clean链表中。这样可以在一定程序上为网络速度的稳定提供缓冲。

5 uClinux上运行任务的分析

在uClinux上运行了三个任务:读取采集数据、通过以太网发送数据、接收和执行来自ICS的命令。其中的读取采集数据任务对实时性有要求,把它用中断处理程序来实现,而其它的两个任务则通过用户进程来实现。通过以太网发送数据的任务和读取采集数据的任务其享一个缓冲区,通过ioclt函数在它们它们传递缓冲区双向链表的地址。所以还需要为SPM注册一个驱动程序,这也是在uClinux操作中比较特别的进程和内核通信的方法。同时,把对SPM的设置和查询等操作也包装在这个驱动程序里同,这些操作都是通过ioctl函数向程提供接口。注册驱动程序的函数是: