0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于PC/104嵌入式计算机模块实现采集系统的设计

电子设计 来源:微计算机信息 作者:张征,赵建军,姚 2021-05-22 14:17 次阅读

作者:张征,赵建军,姚跃亭

1 引言

数据采集是信息处理的重要环节。在野外试验系统中,试验平台的姿态及运动状态信息测量对试验结果具有较大影响,因此,对试验平台的姿态信息进行实时采集具有现实意义。而且, 特别是对于导弹导引雷达等设备, 由于要求对现场信息实现实时测量和控制, 并且应用环境复杂,因而对数据采集系统的精度、便携性、可靠性与实时性具有较强要求。PC/104是嵌入式PC的机械电气标准,它的制定为嵌入式应用提供了标准的系统平台,它继承了IBM-PC的开放式总线结构的优点,为工程师提供了标准的、高可靠的、功能强大的、使用方便的系统组件。本文详细论述了基于PC/104平台的姿态数据、GPS定位信息采集系统的设计方案。

2 系统硬件设计

2.1 系统组成及功能

采集系统在硬件上主要由地面固定站和便携式流动站组成。固定站包括:嵌入式控制计算机、多种姿态传感器、固态硬盘和数传系统;流动站包括:便携式手持机和数传电台等组成。系统组成如图1所示。

基于PC/104嵌入式计算机模块实现采集系统的设计

图1 系统组成框图

地面固定站主要完成实时记录地面GPS接收机的定位及姿态信息;记录便携式流动站的GPS定位信息并进行实时显示[3][9];对地面设备进行参数装订和系统设置,实时监控地面设备的工作状态,实时显示地面站和流动站的相对空间位置和姿态数据并送给试验设备;实时记录试验数据,试验结束后进行数据处理分析;打印试验数据、图形、曲线及分析结果。其组成为:(1)GPS接收机;(2)无线传输设备;(3)电源模块;(4)控制计算机(地面固定站控制计算机);(5)试验设备;(6)平台姿态传感器等。

流动站主要完成实时记录并显示本站的GPS定位信息[1]、姿态信息,将所得到的数据通过无线数传电台传输给地面固定站进行处理。其组成为:(1)GPS接收机;(2)姿态传感器;(3)无线传输设备;(4)电源天线系统;(5)控制计算机(流动站手持机)等。

本系统主要用于精确测量试验设备载体和流动站的定位及姿态信息,通过无线数传设备进行通信,同时提供速度信息,导航信息,用以输出给试验设备。固定站和流动站无线传输采用半双工模式,速率为9600bps。

2.2固定站控制计算机设计

固定站系统组件中控制计算机是核心,经过分析,其外部数据输入/输出接口有:GPS数据串行RS232输出1路,平台姿态传感器串行输出1路,无线传输设备串行输出1路,试验设备USB接口输出1路。

在设计过程中按照便携式、模块化的思想,嵌入式计算机模块采用DiamondSystems公司的ATHENA模块,该模块有CPU子模块和数据获取子模块两部分组成,可以支持DOS、Linux、Windows 98/NT/XP/2000、Windows CE.Net、VxWork等操作系统,CPU子模块包括128位图形加速卡,128M板载内存,支持UDMA33硬盘、最大可以安装512M电子盘,4个全功能RS-232,2个UART,2个异步口,4个USB 1.1接口。模块尺寸4.175英寸×4.475英寸。完全能够满足设计要求,且具有端口备份。

2.3 其他部件的配置

除控制计算机外,其他部件包括:固定站GPS接收机、平台姿态传感器、无线传输设备和流动站手持机。

1、GPS接收机:固定站接收机选用NovAtel公司高性能双天线GPS接收机 BeelineTM 。该卡工作在L1频率,采用双GPS天线,通过原始观测量来获取基线的方位和俯仰角度,同时能得到主天线的三维位置和速度信息。数据率最高可达5Hz。流动站接收机选用Garmin25 LP GPS模块。

2、平台姿态传感器:在地面固定站和流动站的姿态传感器选用Crossbow公司出品的CXILT02E数字倾角传感器。该产品可提供360度范围的滚动角和180度范围的俯仰角。电源输入9~30VDC,采用RS232输出。

3、无线传输设备:采用Pacific Crest公司的PDL数传电台。该电台在低功率工作时,最大仅2W,传输波特率为4800~38400bps。

4、手持机:选用济南浪潮超越公司的巧金刚Ⅱ型加固手持式计算机,该机RISC CPU主频可达400MHz, 超高分辨率显示, 内置GPS模块,实现全球定位, 可提供应用软件开发系统,方便用户进行二次开发,支持Windows CE操作系统。

3 系统软件设计

在进行软件设计时,固定站系统软件设计采用了Borland公司的C++ Builder 6.0进行二次开发而成[5]。在设计过程中,利用交互编程技术使窗口、事件和消息等Windows操作系统的工作方式与底层硬件驱动程序相融合,使软件完全按事件驱动的模式来执行,并在软件中加强了容错能力设计,在最大限度上避免了操作人员人为或非正常因素造成的错误。

由于设计时采用手持机作为流动站的主控计算机,操作系统为Windows CE,因此,流动站软件设计采用EVC(Embedded Visual C++)作为开发工具。Windows CE是紧凑的、高效的和可升级的操作系统,被广泛应用在各种嵌入式产品中。EVC是Microsoft公司退出的开发WinCE应用程序的成熟、强大的工具,它和Visual C++开发工具具有一定的相似之处。

3.1 系统软件组成

整个软件系统包括固定站操控软件和流动站操控软件。如图2所示。

图2软件模块组成图

流动站操控软件主要完成通过串行接口接收手持机内部GPS接收机数据、外部姿态传感器数据,并将数据进行处理、存储、显示、打包下行发送等功能。总的来说在结构上主要分为:端口初始化模块;数据接收模块;数据处理模块;数据输出模块。在数据打包下行过程中,软件将接收的姿态传感器数据和GPS接收机数据自定义格式进行打包,一起输出给无线数传设备。

固定站操控软件完成Beeline接收机数据、平台姿态传感器数据和流动站通过数传设备输入的数据接收工作,经过处理后,将有效的姿态数据通过USB接口输出给试验设备使用。在结构上由以下功能模块组成:

初始化模块。

该模块在软件启动时,完成程序初始化,对各个端口的设置,包括串行口协议设定,USB接口初始化等。另外还要对固定站的Beeline GPS 接收机进行初始化设置,以使之按照要求输出有效数据。

数据接收模块。

数据接收模块包括固定站GPS数据接收子程序、流动站打包数据接收子程序和固定站平台姿态数据接收子程序。

数据处理模块

数据转换模块完成数据包的解包过程,并且根据流动站与固定站定位信息计算两者间距离及流动站以固定站为原点在空间直角坐标系中的方位角和俯仰角。

数据输出模块

数据输出主要用来将有效的姿态数据通过USB接口输出给受试设备。

3.2 软件设计难点分析

从图1中不难看出,无论是固定站还是流动站,对串口进行操作都是一个不可或缺的方面。固定站有3个串口操作,流动站需要3个串口操作。因此,设计过程中,统一采用YbCommDevice串口控件实现。通信参数可直接在属性中设定,在程序运行过程中也可通过输入界面进行多次更改。它支持任意格式的数据包收发,支持多种数据包协议,操作简单、实用,是一个较为实用的C++ Builder串口控件[4]。在实现时,按照协议统一的原则,设定串口数据格式为9600bps,1个起始位,8个数据位,1个停止位,无奇偶校验。

在软件的设计开发过程中发现包括GPS数据、传感器数据等各种数据包均有固定格式,因此, 数据包的格式分析是重要一环。

1.GPS输出格式分析:两型GPS接收机的定位信息格式为NMEA-0183格式。这一格式是较常用的一种数据通信标准,它是在0180和0182的基础上增加了GPS接收机输出内容而完成的。此格式直观、易处理的优点使得几乎所有的接收机及OEM板都采用了这一格式。典型输出的语句如下所示:

$ AABBB,ddd ……………………ddd,*hh

其各字段定义如下:

$:起始语句头;

AA:对话设备识别符;

BBB:语句名;

,:域分隔符;

ddd…ddd:发送的数据内容;

*:校验和符号;

hh:校验和;

:终止符(回车、换行)。

2.倾角传感器输出格式分析:倾角传感器数据包为6字节的定长数据包,数据格式如表1所示。数据头字节和最后的校验和字节用于通信同步,实际格式为ASCII码。具体定义如下:

表1:倾角传感器数据包格式

3.USB接口操作:在对USB进行操作的时候,必须要利用WinDDK将设备驱动程序进行编译,主要步骤为:得到设备的厂家标识和产品标识,利用驱动程序的GUID值获取设备的文件名, 用 CreateFile 函数打开设备,接着利用设备文件名和驱动程序里面的 Pipe 名打开 Pipe, 访问这个 Pipe 对应的 USB 端点,利用CreateFile 得到的设备句柄,从而通过 DeviceIoControl 函数实现设备规定的动作。需要注意的是厂家标识、产品标识和GUID值在驱动程序的“*.inf”文件里面就可找到,如果没有,则需要联系设备生产厂家了;Pipe 名和DeviceIoControl函数的参数需要参考驱动程序资料才能找到。

相关代码如下:

HANDLE hPipe = OpenDevPipe(“Pipe1”); //驱动程序里面的 Pipe 名, 对应访问某个端点的 I/O,需要与驱动一致

if(hPipe != INVALID_HANDLE_VALUE) //打开 Pipe 成功

{

WriteFile(hPipe, Buffer, BytesToWrite, &nBytesWritten, NULL); //把 Buffer 里面的字节写入 hPipe

CloseHandle(hPipe);

}

//使用 DeviceIoControl 访问 USB 设备

HANDLE hDevice = OpenDevice();

if(hDevice != INVALID_HANDLE_VALUE) //打开设备成功

{

if(DeviceIoControl(hDevice, IOCTL_READ_xxxx, &IOBlock, sizeof(IOBLOCK), &c, 1, &nBytes, NULL))

{

//操作成功,

}

CloseHandle(hDevice);

}

4 结束语

在系统设计中,以PC/104嵌入式计算机模块为核心,构建了由GPS接收机、无线数传设备、倾角传感器等设备组成的实时姿态数据采集系统,试验表明,系统能够实时、稳定、连续地提供固定站和流动站的姿态信息、定位信息以及两者的相对位置信息,从而能更好地掌握试验设备载体的运动状态,为得到精确的试验结论提供保障。

本文主要创新点在于以PC/104嵌入式计算机模块为核心,构建由GPS接收机、无线数传设备、倾角传感器等设备组成的实时姿态数据采集系统,分析了软件设计的难点及实现方法。在工程实践上具有实际意义。

责任编辑:gt

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

    关注

    2522

    文章

    47974

    浏览量

    739650
  • 嵌入式
    +关注

    关注

    4976

    文章

    18239

    浏览量

    287892
  • 计算机
    +关注

    关注

    19

    文章

    6630

    浏览量

    84359
收藏 人收藏

    评论

    相关推荐

    PC机与嵌入式计算机系统串行通讯系统该怎么设计?

    能力和丰富的软件资源,使得组成的系统功能更为强大。这样,为了提升系统的整体性能,必须实现PC机和嵌入式计算机之间的通讯。它们之间的通讯可以通
    发表于 08-13 08:10

    嵌入式计算机性能怎么评测?

    嵌入式计算机的设计不同于通用的计算机设计,它的设计过程较复杂。对于嵌人计算机的设计,是针对具体的应用问题,通过对问题的描述、建模,分解嵌入式
    发表于 09-23 06:34

    嵌入式计算机性能怎么评测?

    嵌入式计算机的设计不同于通用的计算机设计,它的设计过程较复杂。对于嵌人计算机的设计,是针对具体的应用问题,通过对问题的描述、建模,分解嵌入式
    发表于 03-09 07:35

    嵌入式计算机系统怎么降低功耗?

    绿色环保节能是全球化的热潮,而嵌入式计算机系统被广泛应用于便携和移动性较强的产品,低功耗设计不仅是绿色环保的要求,也是嵌入式计算机系统体积和质量的约束。随着市场对嵌入式计算机系统在体
    发表于 03-31 07:39

    435工业现场综合数据采集嵌入式计算机

    采集嵌入式计算机学习资料保存:435-工业现场综合数据采集嵌入式计算机
    发表于 12-29 06:25

    嵌入式系统是什么?嵌入式计算机系统有哪些特点?

    什么是嵌入式系统嵌入式微处理器有哪些特点?与通用型计算机系统相比,嵌入式计算机系统具有哪些特点?
    发表于 04-26 07:21

    什么是嵌入式计算机

    嵌入式计算机系统无处不在。如果你去过一家超级市场,并且注意到墙上有售货亭机,那么这些售货亭很有可能由嵌入式计算机供电。本文将介绍有关嵌入式PC计算
    发表于 10-27 08:05

    什么是嵌入式计算机

    什么是嵌入式计算机时间:2012-2-26顾名思义,嵌入式计算机嵌入在宿主系统中使用的计算机,如嵌入
    发表于 10-27 06:02

    嵌入式计算机系统概述

    嵌入式计算机系统概述:定义:以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统
    发表于 12-22 06:08

    嵌入式计算机与通用计算机有哪些不同之处

    从汽水自动售货机到汽车系统,几乎所有东西都可以在嵌入式计算机上运行。即使嵌入式计算机涵盖了广泛的专用系统,但它们之间也具有共同的特征,这些共同的特征在许多
    发表于 12-23 06:49

    嵌入式计算机的应用范围

    嵌入式计算机是硬化设备,因为它们的用例通常会在具有挑战性的恶劣环境条件下使用,例如极端温度,振动,冲击,灰尘和湿度。嵌入式计算机的类型多种多样,从坚固的工业箱式PC到平板PC,迷你
    发表于 12-23 07:17

    工业现场综合数据采集嵌入式计算机有何功能

    工业现场综合数据采集嵌入式计算机 一、产品概述 本产品为工业现场综合数据采集嵌入式计算机实现26路模拟量输入,8路开关量输入,6路编码器输
    发表于 12-23 06:07

    讨论几种类型的嵌入式计算机系统

    型的嵌入式PC今天,我们将讨论几种类型的嵌入式计算机系统,其中包括:坚固的工业PC,车载计算机,物联网网关,
    发表于 12-23 07:38

    嵌入式计算机PC/104 及其在轮胎硫化系统中的应用

    本文阐述了嵌入式计算机的优点, 介绍了PCö 104 嵌入式计算机模块的结构特点和它在嵌入式
    发表于 04-11 10:06 20次下载

    基于嵌入式计算机PC/104的某火箭弹自动测试仪

    为了解决某火箭弹的性能测试问题,介绍了应用嵌入式计算机PC/104 来设计火箭弹的自动测试仪,给出了该测试仪的硬件设计和软件设计。关键词:自动测试 PC/
    发表于 08-27 14:49 13次下载