当前位置:首页 > 智能硬件 > 智能硬件
[导读]本文详细论述了基于PC/104平台的姿态数据、GPS定位信息采集系统的设计方案。

1 引言

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

2 系统硬件设计

2.1 系统组成及功能

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

    系统组成框图

          

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

$ AABBB,ddd ……………………ddd,*hh<CR><LF>

其各字段定义如下:

$:起始语句头;

AA:对话设备识别符;

BBB:语句名;

,:域分隔符;

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

*:校验和符号;

hh:校验和;

<CR><LF>:终止符(回车、换行)。

    2.倾角传感器输出格式分析[8]:倾角传感器数据包为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接收机、无线数传设备、倾角传感器等设备组成的实时姿态数据采集系统,分析了软件设计的难点及实现方法。在工程实践上具有实际意义。

参考文献:
[1] 王惠南.GPS导航原理与应用[M].科学出版社,2003.8
[2] 彭树生. 3mm接收机的PC104数据采集与控制电路设计[M].微计算机信息(测控仪表自动化),2003.NO.11 P.36-38
[3] 刘基余.GPS卫星导航定位原理与方法[M].科学出版社,2003.8
[4] 范逸之等.C++ Builder与RS-232串行通信控制[M].清华大学出版社,2002.6
[5] 陈灿煌.C++ Builder 6彻底研究[M].中国铁道出版社,2003.1
[6] Beeline GPS Receiver User’s Mannual[S].Novatel Company.
[7] Garmin25 LP GPS Receiver User’s Mannual[S].Novatel Company.
[8] CXTILT02E_02EC User’s Mannual[S].CrossBow Technology,INC
[9] Jeffrey S, Yoaz B et al. Micro GPS: On-Orbit demonstration of a new approach to GPS for space applications[J]. Navigation, ION, 2000, 47(2)

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭