基于Windows CE的便携式数据采集与处理系统

发布者:吾道明亮最新更新时间:2010-03-17 来源: 微计算机信息关键字:便携设计  平板电脑  数据采集与处理  WindowsCE  embedded  VC++6.0 手机看文章 扫描二维码
随时随地手机看文章

      目前,一些发达国家的工业设备运行监测和管理已日趋信息化和专业化,但国内这方面尚存在许多问题。有些企业出于投资规模和经济效益的考虑,尚未引进现代化的检测设备和管理手段,依旧使用传统的人工巡检和记录模式。即使一些大型企业已配备了较先进的监测系统和监测仪器,但是由于具体操作人员的素质和责任心等方面的问题,并未使其发挥应有的作用,且导致近年来国内设备运行故障频繁发生。因此研制和开发过程装备智能诊断系统是十分必要的。整个系统的设计思想是:系统主机对设备运行状况进行分析并发出任务指令;巡检人员按任务指令要求利用巡检仪采集并存储数据,然后将采集好的数据发送到主机;主机再根据巡检仪输入的数据分析设备的运行状态并发出下一次的任务指令。如此循环以达到保证设备安全运行的目的。本文介绍针对巡检仪提出的一种基于Windows CE的数据采集与处理系统,并给出了硬件设计和软件设计。

  选择Window CE(以下简称CE)作为软件运行平台,这主要是基于它的特点[1]考虑的。CE是多线程、多任务、完全抢占式的32位嵌入式操作系统。新的内核服务,例如嵌套式的中断、更好的线程响应、新增的任务特性、信号量等,使得它能对事件和中断立即响应,能够满足数据采集中苛刻的实时性要求。它支持的多线程使得数据采集和显示处理等能够同时进行。它具有强大的存储和文件处理能力,能够满足数据存储的需要。它对通信及网络的支持,使得它与系统主机的通信变得更加容易。

1 系统的硬件结构

  系统硬件的主要组成如图1所示。

  TPC-650是为CE或其他高级操作系统设计的硬件平台。它适合于各种工业应用,包括工业自动化、自动化生产线、精密加工、生产过程控制、环境控制、终端信息系统、娱乐管理系统等。它具有高质量的6.4“VGA TFT/5.7”QVGA STN液晶显示器、Intel Pentium 266 MMX微处理器、10/100 Base-T网口、二个串口(RS-232,RS-232/422/485)、一个快闪卡插槽、一个外部16位PC/104模块扩展槽和触摸屏。它的核心是微型X86 CPU,但它在图形显示和网络通信方面的性能更优。

  PCM-3718H是一个高效的多通道数据采集模块,插在TPC-650的PC-104插槽。它支持12位的A/D转换和数字输入/输出,能够实现DMA方式的单/多通道的A/D转换。其DMA转换的采样频率可达100kHz。它具有灵活的触发选择,包括软件触发、实时同步触发和外部脉冲触发。

  PCLD-880是通用螺丝端子板,能提供方便的信号接线,并能与数据采集卡的20芯扁平电缆相连。它还带有一个DB-37接口,可以支持带有DB-37的数据采集控制卡。它是能在恶劣的环境下实现可靠连接的工业端子块。

      本系统的主要工作过程是用位移/速度/加速度传感器提取模拟电压信号,经过PCLD-880,输入到PCM-3718H。通过软件编程控制PCM-3718H数据采集模块,对模拟电压信号进行采样,完成A/D转换和数据的存储及处理。

2  软件设计

2.1 应用程序执行数据采集的工作过程

  首先,从上位机下载任务文件,打开任务文件,在用户界面上显示为任务列表。操作人员将信息钮只读器与设备上的信息钮贴合,程序自动从任务表中找到匹配项,进行数据采集。每采集完一个设备,该设备号从任务列表中自动删除。

  采集开始的同时会显示三种曲线:实时曲线、平均值曲线和FFT曲线。操作人员根据平均值曲线的平稳程度决定是否将采集到的数据存储起来。实时曲线可以反应所测物理量的真实变化情况。FFT曲线体现所测物理量的频域特征。采集完成后,向上位机发送数据。

2.2 多线程的数据采集

  因为需要在较短的时间内完成数据采集、分析、图形显示和数据存储等任务,所以采用多线程模型利用多个线程分别完成各项任务。

  本系统充分利用CE 操作系统的多线程特点将不同的任务分布到各个线程中,使各个任务同步而协调地进行。主线程负责创建用户界面、接收消息等工作。为了保证数据采集不被其他线程中断,专门开辟一个优先级较高的线程来采集数据。各个线程(数据采集线程、数据动态显示线程和数据存储线程)中所要完成的工作并行进行。线程间的通信通过消息响应函数PostMessage 和CEvent对象来实现。

  数据采集线程和显示线程之间的同步通过使用线程同步对象Critical Section来实现。它能够保证在同一时间只有一个线程访问数据缓冲区。当采集线程向缓冲区中写数据时,采集线程拥有Critical Section,显示线程就不能够访问缓冲区;只有当采集线程将Critical Section对象释放之后,显示线程获得了Critical Section对象,进而才能读取缓冲区中的数据。这就保证了显示线程读到正确的数据。数据存储线程、采集线程及显示线程三者之间的同步也是如此。

2.3 软件模块关系和各个模块的功能

  系统各软件模块关系如图2所示。

 

2.3.1 通信模块

  通信模块负责本系统与上位机之间的通信,包括从上位机下载文件和向上位机传送采集的数据。使用CSocket类建立TPC-650上的客户端和桌面PC上的服务器程序。用CSocket类与CSocketFile和CArchive类一起使用来完成数据的发送和接收。在程序运行时,为了“听”由客户端程序发出的连接请求,服务器程序首先运行。下面是建立服务器和客户端通信程序的步骤。

  (1)构造一个CSocket类对象。使用BOOL Create(UINT nSocketPort=0,int nSocketType=SOCK_STREAM,LPCTSTR lpszSocketAddress=NULL)函数。在服务器程序中使用该函数时,要指定nSocketPort值。

  (2)客户端CSocket调用CAsynCSocket∷Connect函数连接服务器Csocket。服务器端用CAsynCSocket∷Listen函数“听”客户端发送的连接消息。调用CAsynCSocket∷Accept函数接收客户端发送的消息。注意,virtual BOOL Accept(CAsynCSocket& rConnectedSocket,SOCKADDR*lpSockAddr=NULL,int*lpSockAddrLen=NULL)函数需要一个新的rConnectedSocket作为参数。因此在接收之前,要先构造一个新的CSocket类。

  (3)构造一个CSocketFile类对象,它与CSocket类对象相关联。

  (4)构造一个CArchive类对象,它与CSocketFile对象相关联。

  (5)使用CArchive类对象在服务器和客户端之间传递数据。

  系统程序中有二部分要用到客户端和服务器之间的通信。一是从上位机即桌面PC上下载任务文件;二是向上位机发送采集的数据。

  在TPC-650上运行的客户端程序主要完成:(1)连接服务器;(2)向服务器发送采集到的数据;(3)向服务器发送请求,要求服务器发送任务文件,并将任务文件存储起来。

  在桌面PC上运行的服务器程序主要完成:(1)接收由客户端程序发来的文件并存储在新的文件中;(2)应客户端请求向客户端发送文件。

2.3.2 任务表模块

  任务表模块负责任务表的生成。有三种生成方式,(1)从上位机下载任务文件并直接在用户界面上生成任务表。(2)打开任务文件库中的任务文件。(3)手动编辑任务表。任务表由二列构成:第一列是设备号,每个设备都有四个点要采集,每个点有水平和垂直二个方向的值,所以一台设备要采集八组数据。当一个设备的八组数据都采集完之后,该设备从列表中消失。为了让巡检人员能够清晰区分正在采集的项、采集完成的项和未被采集的项,可用不同的颜色来区分。用红色表示正在采集的设备和正在采集的位号,用蓝色表示已经采集过的位号。

2.3.3 数据采集模块

  数据采集模块要完成一系列任务,包括设置采集参数、采集数据、对数据进行处理并输送给图形显示模块和数据的存储等。利用PCM-3718H的驱动进行数据采集部分的编程。

  数据采集:在进行数据采集时首先对数据采集板进行初始化配置;然后打开设备,获得设备的特征参数;为ADDMA转换分配数据缓冲区;开始ADDMA转换,即数据采集。采集模块用到的主要函数如下:

  DRV_DeviceOpen(dwDeviceNum,(LONG far*)&DriverHandle)              //打开设备
    DRV_DeviceGetFeatures(DriverHandle,(LPT_DeviceGetFea-tures)&ptDevFeatures))                   //获得设备特征参数
  DRV_AllocateDMABuffer(DriverHandle,(LPT_AllocateDMA-Buffer)&ptAllocateDMABuffer))       //为ADDMA转换分配缓冲区
  DRV_FAIDmaStart(DriverHandle,(LPT_FAIDmaStart)&ptFA-IDmaStart)) //开始采集

  数据存储[2]:用VC++ MFC在Windows上开发程序时,数据库可用ODBC(开放数据互连)或DAO(数据访问对象)等数据库引擎来访问。CE既不支持ODBC,也不支持DAO。CE中的数据库不是功能完全的数据库系统,而只是一些结构化存储数据的集合。表与表之间不存在关系数据库中那样的关联。对数据库进行封装的操作封装于CCeDBDatabase、CCeDBRecord、CCeDBProp、CCeDBEnum四个类中,它们是CE所特有的。在CE中实现数据库很简单,它只有一个层次并且最多可以有四种排序和索引,但它却可以作为一个强有力的工具来组织不太复杂的数据。因此用CE中的数据库来存储采集的数据十分方便。

2.3.4 图形显示模块

  图形显示模块包括三个部分:时实曲线、平均值曲线和FFT曲线。绘制曲线中遇到的主要问题就是显示线程与采集和存储线程之间的同步问题(前面已经说明,此处不再赘述)。

2.3.5 巡检地图

  在TPC-650中存储全厂所有设备的位置、名称信息,形成一张设备地图。根据每天的任务表和这张设备地图,自动生成每次要巡检的设备地图。该地图上表明设备的名称、方位,并给出最优的巡检顺序。这样既节省巡检人员的时间又可以做到不漏检。

  巡检地图示意图如图3所示。

 


  用星形表示正在巡检的设备,粗线箭头指向下一个要巡检的设备,未巡检的设备用方形表示,路径用细线表示,巡检完成的设备用圆形表示。当地图上所有点都变为圆形时说明采集任务已完成。

3  软件开发环境的设置

  系统软件在另一台普通PC上开发,其配置如图4所示。除了要安装CE软件开发包,还要安装SDK for TPCx86 VC/VB及Advantech Device Driver2.0。执行数据采集的硬件PCM-3718H需要用软件驱动,即具有“量身定做”的函数。因此程序要下载到硬件平台上进行调试,而不能在开发用的PC上的仿真环境下调试。

 

4  结束语

  使用embedded Visual C++开发基于CE的数据采集和处理系统是该领域里的新尝试。利用CE支持多线程、数据库、通信及实时性等特点开发出的数据采集和处理系统具有界面友好、性能可靠、采集速度快、软件可扩展等优点。目前该系统已投入使用并取得良好的效果。

关键字:便携设计  平板电脑  数据采集与处理  WindowsCE  embedded  VC++6.0 引用地址:基于Windows CE的便携式数据采集与处理系统

上一篇:基于NiosII的嵌入式网络通信系统
下一篇:基于ARM和μC/OS-II的无线数据采集系统设计

推荐阅读最新更新时间:2024-05-02 21:01

本土厂商如何打造差异化平板电脑
    为赢得市场,平板电脑厂商往往喜欢将硬件配置如处理核的数量作为卖点,不过随着高端配置进入门槛降低,未来的产品竞争更需要在用户体验改善和差异化品牌建立上下功夫。 周来平 三星在2012年7月Galaxy SIII智能手机发布之初用“Human Nature”来引导客户,树立了Andriod高端旗舰品牌形象,销售量很快突破三千万;魅族在MX2发布会上也弱化硬件参数的宣传,让用户“忘记参数”;而OPPO Find 5给自己的标签是“浪漫主义设计”。显然,喊出这样口号的厂商已经意识到配置战争即将过时,产品的竞争必须寻找新的推销点。 国内大部分厂商在过去两三年中一直把硬件配置当作主推的卖点。在硬件处理能力未满足用户流畅体验的时候,配
[手机便携]
便携式B超电源的设计
  便携式B超系统内部使用的 电源 比较复杂,外部适配器和电池的电源必须经过DC/DC转换,以转换成系统需要的电压。为了降低电源上的无用消耗,提高电池使用效率,系统主板、B超控制板、液晶显示器以及键盘的电源采用开关电源供电。    便携B超电源的整体设计   图1为便携B超电源的整体设计方框图。便携B超电源输入电压有两种:一是电源适配器输入,电压为18V,二是电池输入,电压为14.4V。要求实现两种电压之间的热切换,并在切换电压时不影响系统工作,即提供外电和电池供电无延时热切换功能。需要输出 12V、5V、3.3V、 48V等几种电压,具体指标为12V/2.5A、-12V/0.5A、5V/4A、3.3V/3A、+48V
[电源管理]
<font color='red'>便携</font>式B超电源的<font color='red'>设计</font>
Windows CE下基于TSC2101的音频系统设计
Windows CE是一个开放的、可裁剪的、32位的实时嵌入式操作系统。它具有可靠性好、实时性高、内核体积小的特点,所以被广泛用于各种嵌入式智能设备的开发,其应用涉及工业控制、信息家电、移动通信、汽车电子、个人电子消费品等各个领域,是当今应用最多、增长最快的嵌入式操作系统。而在这些嵌入式应用中,音频模块成为了大多数产品不可或缺的一部份。本文针对Windows CE操作系统,构造了基于Intel Xscale PXA272和TSC2101音频芯片的音频系统,并简要介绍了其实现方法。 音频系统的硬件实现 本设计中的音频驱动采用Unified Audio模型实现,基于Intel Xscale PXA272处理器和TI 的TSC210
[嵌入式]
如何设计便携式应用的电池
不仅是便携式娱乐设备和手持产品采用电池供电应用,此类应用在绿色产品中也有用武之地,例如光伏(PhotoVoltaic,PV)应用和电动车(ElectricalVehicle,EV)等。除了安全性、成本和尺寸外,将电池的运行时间最大化并延长其使用寿命,对于电池供电应用的系统设计来说也是极其重要的。随着用于驱动便携式应用的电池技术不断增多,需要选择合适的方法来对可充电电池进行放电和充电。本文首先回顾适用于便携式应用的一般电池策略,然后将讨论采用当今集成解决方案的电源管理和电池管理电路设计。 主要的电池技术 电池技术可简单地分为两类:不可充电型和可充电型。不可充电电池在使用一次后即废弃,称为一次性电池。碱性电池是最常见的家用一次
[嵌入式]
平板电脑制造商去哪儿?做无人机
    全球最大的电子产品采购展———环球资源春季电子展日前开幕,无人机成为展会最大亮点:20余家无人机企业参展,其中来自广深两地的无人机企业占到半数。   环球资源电子组总裁黄谭伟接受南都记者采访时称,今年全球无人机市场销量预计可达42 .5万台,同比增长65%,市场潜力巨大。而中国是世界上最大的无人机生产基地,“今年1月美国C E S展上展出的无人机品牌里面,大约一半来自于中国。”   卖家:追赶无人机潮   顺丰启动国内首家无人机快递;深圳龙岗区开始采用无人机巡航执法,查证违章建筑;帮助汪峰求婚成功上头条的大疆科技正展开新一轮融资,公司估值高达100亿美元……凡此种种,让众多企业杀入无人机领域。   南都记者在
[手机便携]
便携式车载逆变器的设计
  随着经济水平的提高,汽车正逐渐成为人们的日常交通工具。然而,人们随身携带的电子产品,比如手机,却不能使用汽车上的电源。因此,开发一款经济实用的车载逆变器就成为一种需求。我们采用集成脉宽调制芯片SG3525A为主控芯片,以CD4020B计数器及与非门电路构成分频分相电路并配以保护电路,实现了逆变器的脉宽调制。其在逆变电源工作时的持续输出功率为100W,并具有输出过流保护及输入欠压保护等功能,可实现电源逆变、电压稳定、欠压保护及过流保护等功能。   系统基本原理   本逆变器输入端为汽车蓄电池(+12V,4.5Ah),输出端为工频方波电压(50Hz,220V)。其系统主电路和控制电路框图如图1所示,采用了典型的二级变换
[电源管理]
<font color='red'>便携</font>式车载逆变器的<font color='red'>设计</font>
基于ADS1293及单片机控制的便携式低功耗心电信号采集系统设计
心电信号是一种由心肌收缩而产生,并可提供心脏生理功能变化信息的生物电信号,将测量电极放在身体的不同部位,把不同体表的电位差变化记录下来,就得到了心电图(ElectroCardioGram,ECG)。由于易于检测且直观性较好,在临床医学中得到较为广泛的应用)。然而传统心电信号采集设备体积较大,不便于实时获取心电信号。因此研究便携式、低功耗的心电信号采集系统有重要意义。本文以低功耗模拟前端ADS1293为基础,结合MSP430系列低功耗单片机设计了一种可用于超低功耗和微型化的心电信号采集系统。   1系统硬件设计   心电信号采集系统主要由信号采集前端ADS1293和MSP430单片机控制电路组成。工作原理如下:电极提取的人体心
[医疗电子]
基于ADS1293及单片机控制的<font color='red'>便携</font>式低功耗心电信号采集系统<font color='red'>设计</font>
便携式远程心电监护仪的原理设计实例
  HHCE(Home Health Care Engineering)这门学科正随着人类对健康的重视和远程医疗的发展而逐渐走进人们的生活。它提倡的是一种“在家就医,自我保健,远程诊断”的理念,把高科技与医疗结合起来。HHCE的出现符合21世纪社会老龄化、医疗费用日益高涨以及人们生活健康质量高要求的趋势,同时可实现医疗资源共享,提高边远地区的医疗水平,因此具有特别旺盛的生命力。HHCE系统提供一种对于家庭、社区医疗、出诊医生有效便捷的医疗监测解决方案,具有心电信号监测功能的监测器是HHCE系统的重要组成部分。就国内而言,该类产品的研究也属于刚起步阶段,远程网络也只是简单的完成数据库医疗数据的存储和传输,还没有真 正完成将网络与医
[医疗电子]
<font color='red'>便携</font>式远程心电监护仪的原理<font color='red'>与</font><font color='red'>设计</font>实例
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved