首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

一种卫星定位组件测试软件的设计与实现

作者:张保祥 冯玉洁 来源:现代电子技术


  摘要:卫星定位组件作为一门较新项目,同时作为对可靠性要求至高的高科技武器产品中的重要组件,在保证产品的可靠性方面,需要构建高覆盖面的组件测试方法,通过充分测试暴露产品问题才能更好地提高产品的性能,保证可靠性。卫星定位组件测试软件利用串口技术能够实时接收解调组件的输出数据,直观显示所有定位数据信息,为组件开发者判断组件的工作状态提供依据,同时软件要有数据存储和二次计算的能力,处理能力能够覆盖组件所有测试参数。
  关键词:卫星定位; 串口; 数据处理; 软件设计
  中图分类号:TN91134文献标识码:A文章编号:1004373X(2012)04006203
  
  Design and implementation of testing software for satellite position component
  ZHANG Baoxiang, FENG Yujie
  (China Airborne Missile Academy, Luoyang 471009, China)
  
  Abstract: Satellite position component as a new project is important for hightech weapons which have high reliability. Therefore, it is very necessary to find a testing way with a wide coverage area to ensure the reliability to products. Only by fully exposing the latent problems of the products can the performance be improved. The software for satellite position components can receive the realtime output data of demodulation assembly through serial ports and intuitively display all the location data information. Meanwhile, the mentioned software should has capability of data storage and secondary calculations, and its processing capacity shoule involve all the testing parameters of the components.
  Keywords: satellite position; serial port; data processing; software design
  
  
  收稿日期:201110110引言
  本文介绍设计的软件用于某卫星定位组件的输出数据地面检测,利用串口技术能够实时接收组件发送的串行数据流数据,拥有数据包解调、显示、存储,对结束数据具有二次计算分析能力,能覆盖卫星定位分组件工作状态测试所需的所有测试参数内容。按接口技术要求命名该软件为卫星定位组件实时422数据处理软件,其软件采用图形化用户界面,具有以下特点:
  (1) 功能区域划分清楚。界面分为信息输入区、功能操作区、数据显示区、状态提示区等分区,一目了然;
  (2) 操作简单。功能操作区采用“一键实现功能”设计,易于上手;
  (3) 信息显示直观。在数据显示区域针对不同参数的不同特点选用适当的显示方式,如:卫星信噪比信息采用数值显示与柱状变化条相结合的显示方式,CEP采用曲线显示;
  (4) 附加功能便利用户。实时422数据处理软件初始化时直接读取配置文件中记录的历史GPS基准值、数据文件存储路径等信息,避免每次运行时用户都要重复设置。
  1软件设计与实现
  为了满足各项功能需求,将软件划分为若干功能模块,其软件模块结构如图1所示。
  图1软件模块结构图各模块间关系及数据处理流程如图2所示。卫星定位组件实时422数据处理软件分为外部接口和内部接口两部分。
  1.1外部接口
  实时422数据处理软件的外部接口分为数据采集模块和储存输出模块两部分。
  图2软件处理流程图1.1.1422数据采集模块
  硬件连接方式:将计算机串口与卫星定位组件接口连接。
  软件采集模块:配置串口,遵从422通信协议,通过串口通信控件实现串口接收数据的功能。软件使用事件驱动法设计程序,在捕获到所需事件后,判断事件属性若为“收到指定字节数据”,接收缓冲区数据进行后续处理;判断事件属性若发生错误,清空缓冲区。
  1.1.2422存储输出模块
  422存储输出模块以数据解调模块输出的解调数据为输入,有2种输出文件,一种是二进制文件,后缀为.dat;另一种是文本文件,后缀为.txt。用户在采集状态下使用“存储”功能时,软件自动以当前时间为依据生成文件名(用户可自定义前缀),同时建立二进制文件与文本文件。二进制文件将接收到的十六进制卫星定位数据包不经任何处理整帧写入文件,用于保留卫星定位组件发送数据的原始状态。文本文件则把解调好的数据包参数值按如图3所示的格式进行排列,以行为单位写入文本文件,用于事后的数据处理。
  图3422文本文件存储格式图3中:“>GPS”一行按顺序存储GPS数据包中的所有参数数据,XXXX代表解调出的参数数值;“>Sta”一行存储卫星状态数据包中的参数数据,No代表卫星号,XX代表对应卫星的信噪比。
  1.2内部接口
  实时422数据处理软件的内部接口主要是卫星定位数据包解调模块和二次计算分析模块。其中数据包解调模块以数据采集接口的接收缓冲区数据为输入/输出的解调数据传给数据刷新显示模块及存储输出模块,进行界面刷新显示和文本文件写入存储。
  1.2.1数据包解调模块
  数据包解调模块要自动辨别接收到数据中包含的卫星定位数据包,某卫星定位组件输出的4种帧格式数据包为:GPS数据包、卫星状态数据包、GLN数据包、BDGLN数据包。数据包结构如下所示:
  数据包
  起始标志数据包
  类型数据CRC校验码数据包
  结束标志
  四种数据包中“数据”一项所含数据结构各不相同。且“数据包类型”一项填充不同值作为4种帧格式的判断标志,因此下文统称其为帧标志。帧标志定义如表1所示。
  表1帧标志类型定义数据项数据项名称BYTE类型备注0pack_type0BYTE数据包类型
  根据处理要求及卫星定位数据包特点,解调模块处理流程如图4所示。
  图4422数据解调模块处理流程在接收缓冲区的数据中逐字节判断出帧头位置,记录当前指针位置,再取出帧标志判断出待处理数据包类型,按此数据包包长取出帧头位置后对应长度数据,传入此包的解调函数进行处理,处理完成后更新指针位置,若当前指针位置小于缓冲区,循环做上述操作。针对4种不同数据结构的数据包,软件设计4个解调函数分别实现对应数据包的解调。
  1.2.2二次计算分析模块
  二次计算分析模块主要功能是根据输入数据文件中的GPS信息计算所有包含参数的均值、方差、以及CEP。圆概率误差CEP(Circular Error Probable) 是在以真实位置为圆心的圆内,偏离圆心概率为50%的二维点位离散分布度量。模块的输入为422数据文本文件,输出为计算出的CEP以及δH,δLat,δlon,δX,δY,δZ值,并将其写入报告文件。软件分两种方法计算CEP,一种是由软件先读取数据做预处理,计算出X,Y,Z均值作为GPS基准值,然后逐行读取数据与基准值做运算最终算出CEP值,另一种是由用户输入GPS基准值计算CEP值。计算CEP的数据处理流程如图5所示。
  图5计算CEP处理流程2实施效果
  软件从卫星定位组件原理样机阶段即开始使用,应用于组件原理样机、工程样机两个阶段产品的内场交付测试、跑车试验数据分析、抗干扰试验数据分析中,在组件研发时的问题暴露、组件交付试验、数据分析报告的编写等方面发挥了它应有的作用。实时422数据处理软件界面效果图如图6所示。
  3结语
  本文在卫星定位组件测试需求的基础上,完成了软件的设计和程序的编写、调试,实现了基于422接口的测试软件。软件使用FIFO数据结构实现实时100 s内定位数据CEP计算,提高软件效率达50%,满足实时性要求。FIFO优化设计,在占用内存资源相同的情况下,提高了算法的运算效率,大大降低了运算时延。对卫星定位组件输出数据的采集、存储、计算分析等功能都可在本软件内一键实现,操作简单快捷、参数显示直观。
  图6实时422数据处理软件界面效果图参考文献
  [1]李现勇.Visual C++串口通信技术与工程实践[M].北京:人民邮电出版社,2002.
  [2]FORD William, TOPP William. Data structure with C++[M].刘卫东,译.北京:清华大学出版社,1998.
  [3]谭浩强.C语言程序设计[M].北京:清华大学出版社,2001.
  [4]管建和,夏军宝.Windows程序设计[M].北京:人民邮电出版社,2002.
  [5]官章全,韩云君,李罡.Visual C++ 6.0 高级编程范例[M].北京:电子工业出版社,2000.
  [6]吴晓进,吴燕,程琳娜.卫星定位导航技术及应用跟踪研究[M].北京:信息产业部电子行业情报工作管理办公室,2007.
  [7]李征航,黄劲松.GPS测量与数据处理[M].武汉:武汉大学出版社,2005.
  [8]李聪玲.液氧/煤油发动机试验控制系统软件架构与设计\[J\].火箭推进,2009,35(2):4653.
  [9]于海磊,陈锋,郑勤生,等.低温推进剂液位监测系统设计\[J\].火箭推进,2010,36(3):5457.
  [10]左玲.北斗无源定位系统及其卡尔曼滤波分析\[J\].电子科技, 2010(12):4951.