基于429板卡在卫星定位组件测试中的应用
2011-01-24张保祥冯玉洁
张保祥,冯玉洁
(中国空空导弹研究院 河南 洛阳 471009)
软件利用429板卡结合串口技术[1]实时接收解调组件的输出数据,直观显示所有定位数据信息,为组件开发者判断组件的工作状态提供依据,同时软件要有数据存储和二次计算的能力,处理能力能够覆盖组件所有测试参数。按功能要求将本软件分为2个部分,分别为卫星定位[2]组件实时429数据处理软件和429事后数据分析软件。软件具有通用化强,支持扩展,版本上下兼容等特点。
1 件设计与实现
为了满足各项功能需求,将软件划分为若干功能模块,其软件模块结构如图1所示。
图1 软件模块结构图Fig.1 Structure figure of software module
各模块间关系及数据处理流程如图2所示。卫星定位组件实时429数据处理软件分为外部接口和内部接口两部分。
图2 软件处理流程图Fig.2 Flow chart of software process
1.1 外部接口
实时429数据处理软件的外部接口分为数据采集模块和储存输出模块两部分。
硬件连接:将429板卡安装到计算机上并与某卫星定位组件连接。
软件接口:通过调用429板卡底层驱动,将配置信息:位速率、校验码、接收缓冲区等传递给硬件,并且接收硬件返回的相关信息。配置信息用户可以修改。
1.1.1 429数据采集模块
软件采集模块:采集模块负责接收卫星定位组件发送的数据,通过不断查询硬件缓冲区的内容,来读取硬件缓冲区中的数据到内存。
1.1.2 429存储输出模块
此模块负责将内存中的数据根据用户的选择记录到文件中,文件形式根据用户选择采用二进制文件或文本文件;同时,将数据包解调模块接出的信息根据用户的需要存储到文件中。
1.2 内部接口
1.2.1 数据包解调模块
数据包解调模块将要完成的功能是将内存中接收的数据首先进行数据包的识别,找到数据包正确的包头后,使用解包算法将数据中需要用到的信息解析出来。解析出的信息一方面实时显示到界面上,一方面根据用户的需要存入文件中。
1.2.2 参数刷新显示模块
429接收软件需要在界面上实时显示若干重要信息,这些重要信息包括导弹在 3个方向的速度 (Vx,Vy,Vz)、 经度Lon、纬度 Lat、高度 Alt等。
此信息的提取是经由数据包解调模块来完成的,每解调完一个数据包后,将解调出的信息送入到显示缓冲区中;同时,界面显示控件[3]每间隔固定的时间将会查询一次显示缓冲区,将显示缓冲区中的数据读出,分批次显示在界面上;同时将显示缓冲区清空,等待下一个数据包的到来。
1.2.3 429事后数据分析软件
429事后分析软件的主要功能有:丢帧检查、二次计算分析模块。其模块划分也主要分为这两部分。
1.2.3.1 丢帧检查
丢帧检查模块的主要功能是根据接收数据中的GPS时间是否连续,判断卫星定位组件发送的数据是否有丢帧,如有丢帧现象,将其丢帧的开始GPS[4]时间及结束GPS时间、期间共丢失多长时间数据等信息记录入报告文件,最终输出。丢帧检查模块的主要判断依据是包含在GPS数据包中的GPS时间信息,如相邻两伪据帧的GPS时间间隔大于500 ms则判断为有丢帧。
1.2.3.2 二次计算分析模块
二次计算分析模块主要功能是根据输入数据文件中的GPS信息计算所有包含参数的均值、方差、以及CEP。圆概率误差[5]CEP(Circular Error Probable)是在以真实位置为圆心的圆内,偏离圆心概率为50%的二维点位离散分布度量。模块的输入为429数据文件,输出为计算出的CEP以及δH、δLat、δlon、δX、δY、δZ值,并将其写入报告文件。 软件分两种方法计算CEP,一种是由软件先读取数据做预处理[6],计算出X、Y、Z均值作为GPS基准值,然后逐行读取数据与基准值做运算最终算出CEP值,另一种是由用户输入GPS基准值计算CEP值。计算CEP的数据处理流程如图3所示。
图3 计算CEP处理流程Fig.3 Calculate CEP process flow
2 实施效果
本软件从卫星定位组件原理样机阶段即开始使用,应用于组件原理样机、工程样机两个阶段产品的内场交付测试、跑车试验数据分析、抗干扰试验数据分析中,在组件研发时的问题暴露、组件交付试验、数据分析报告的编写等方面发挥了它应有的作用。加快组件研制进度,节省卫星定位组件开发及试验成本,提高交付的卫星定位组件可靠性,创造了一定的经济效益和社会效益。实时429数据处理软件界面效果图如图4所示,429事后数据分析软件效果如图5所示。
图4 实时429数据处理软件界面效果图Fig.4 Effect figure of real time 429 data process software interface
图5 429事后数据分析软件界面效果图Fig.5 Effect figure of afterwards data analyse software interface
3 结 论
在卫星定位组件测试需求的基础上,完成了软件的设计和程序的编写、调试,实现了基于429板卡的测试软件。软件具有实时观察组件输出的定位数据是否正确来判断组件工作状态,也可以将输出数据存储[7]下来进行二次数据计算,根据计算结果判断组件工作精度。软件使用FIFO数据结构实现实时100 s内定位数据CEP计算,提高软件效率达50%,满足实时性要求。FIFO优化设计,在占用内存资源相同的情况下,提高了算法的运算效率,大大降低了运算时延。对卫星定位组件输出数据的采集、存储、计算分析等功能都可在本软件内实现,操作简单快捷、参数显示直观。
[1]李现勇.Visual C++串口通信技术与工程实践[M].北京:人民邮电出版社,2002.
[2]李征航,黄劲松.GPS测量与数据处理[M].武汉:武汉大学出版社,2005.
[3]官章全,韩云君,李罡.Visual C++6.0高级编程范例[M].北京:电子工业出版社,2000.
[4]吴晓进,吴燕,程琳娜.卫星定位导航技术及应用跟踪研究[M].北京:信息产业部电子行业情报工作管理办公室,2007.
[5]William Ford.William Topp.Data structure with C++[M].刘卫东,译.北京:清华大学出版社,1998.
[6]谭浩强.C语言程序设计[M].北京:清华大学出版社,2001.
[7]管建和,夏军宝.Windows程序设计[M].北京:人民邮电出版社,2002.