(中国人民解放军92941部队 45分队,辽宁 葫芦岛 125000)
1553B总线技术是指令/响应方式异步操作和双余度设计,具有可靠性高、传输率较高、技术成熟、实时性好等优点。近些年来在靶场飞行武器试验任务中,遥测系统愈来愈多引入了1553B总线技术,与传统遥测数据帧结构相比较,1553B总线数据帧结构更为复杂,数据处理更加困难,遥测数据处理系统增加总线参数解析功能时,为避免对传统数据帧处理方法做较大程度的修改,从而影响系统总体结构和流程,必须寻找总线数据帧与传统数据帧之间的共性,保持他们数据处理方法和流程的一致。如何从各型纷繁复杂、不断变化的遥测帧结构中实现各类参数解析,是遥测事后数据处理的一个重要难题。
自1553B总线技术得到应用以来,出现了一些相关数据处理方法:文献[1]介绍了四种常见1553B总线数据的架构和特点,提出了基于总线数据架构特点的三步走消息解析方法;文献[2]通过创建简单实用的1553B ICD信息文件,对1553B总线不同的数据处理任务采用差异化处理策略;文献[3]针对传统1553B总线消息解析软件只适用于特定总线终端、可扩展性差的问题,提出了一种通用的总线消息解析软件模型。以上方法对于1553B总线数据的参数解析都有一定的参考和应用价值。当前,靶场能够完成多种型号武器系统的遥测数据处理任务,已经积累形成了一整套固定的处理模式和流程,为避免对原系统做较大程度的修改,本文提出将1553B总线与传统遥测数据帧参数解析方法和流程相结合统一,从而在不影响系统构架和稳定性情况下,增加系统的总线数据参数解析功能。
1553B总线的应用标准是国军标GJB289A-97《数字式时分制指令/响应型多路传输数据总线》,该标准详细规定了总线的工作原理和总线上信息流及要采用的电气和功能格式。标准中规定数据总线上的信息流由消息组成。其中,字格式包括指令字、状态字、数据字三种类型,如图1。字的定义是一个信息序列,共20位时,其中16位有效位(图中4~19位)。消息的定义是指包括一个指令字、一个状态字、若干个数据字及状态响应间隔在内的传输序列[4-5]。
图1 字格式
由此可见,1553B总线是以消息为单位进行编码和传输,每条消息一般包含指令字、数据字和状态字。指令字位于消息起始部分,其内容规定了消息传输的目标地址及数据字长度,指令字可以唯一确定消息的类型;数据字内含所要传输的数据,由应用层根据接口控制文档中的规定进行编码,是主要的待解析对象;状态字代表消息应答,参与传输过程控制。
在飞行武器系统中,1553B总线与传统遥测帧相比,不仅采用率高、占用波道多、数据量大,而且其数据结构比传统的副帧和特殊副帧更加复杂。主要体现在两个方面:
1)消息类型和遥测参数多。1553B总线采用消息实现遥测参数的存储,消息类型的数量大,少则五六十个,多则几百余个,每个消息中都存储着不同种类和数量的遥测参数,总线数据存储的遥测参数数量可达几千个,而传统副帧和特殊副帧类型的数量大约十个左右,遥测参数数量仅几百个;
2)参数解析繁琐。在1553B总线数据中,由于其架构设计,相同类型的消息数据并不是连接在一起的,实现遥测参数解析时,首先需要对消息头进行解析,从而判断其类型和消息长度,再根据消息库查找该类型消息存储的遥测参数种类和数量,而传统副帧和特殊副帧不需要解析帧头,相同类型的数据帧之间也没有其它类型数据帧。
靶场遥测数据处理的任务是依据工业部门提供的遥测大纲、遥测数据处理要求、遥测参数表等资料,研究遥测参数的解算方法,编制相应的数据处理软件,完成飞行试验记录的原始测量数据处理,将各种遥测参数还原成物理量值并提供数据处理结果报告。多年来,先后完成了数十种飞行武器系统试验的遥测数据处理任务,遥测数据处理系统针对传统各种遥测帧结构已经形成一种成熟、通用、固定的处理流程和方法[6-7],其简要流程如图2所示。
图2 遥测数据处理系统简要流程
其中,“参数配置”是指在飞行试验准备阶段,完成数据处理软件的研制或修改,采用数据库(Oracle、SQL 、Access等)或配置文件(Xml、Excel、Txt等)的形式,实现待处理遥测参数的信息配置,在系统运行时进行调用。“数据规范化”是指在飞行试验结束后,接收各测量站的原始遥测数据,进行质量检查,具体包括剔除坏帧和无效帧,完成数据选优或对接,形成一个优质数据源。“数据子帧化”是指将遥测数据中的副帧、特殊副帧等各类复杂数据帧,经过帧结构拆分和重组,转化成具有标准帧结构的数据帧,便于后期统一处理。“参数解析”是依据配置文件或数据库中的参数信息,将各种遥测参数从相应的数据帧中提取解算出来,还原成实际的物理量值。“报告生成”是实现遥测参数的曲线绘图和电子报告自动生成,并将数据处理结果和报告提交至分析和决策部门。
面对多种型号飞行武器系统遥测帧结构存在差异的问题,目前遥测数据处理系统的做法是:定义标准帧结构,将遥测数据中的副帧、特殊副帧等复杂帧通过帧结构转换软件,在“数据子帧化”过程中统一转换为标准帧结构,由此当需要增加新的帧结构时,只需要完成参数配置的录入和帧结构转换软件的调整修改,而其他过程不再需要进行改动,就能实现参数解析和数据处理。遥测数据处理系统增加1553B总线数据的参数解析功能时,为避免对传统遥测帧的处理方法做较大程度修改,从而影响系统总体结构和流程,必须寻找总线数据帧与传统数据帧之间的共性,研究帧结构转换方法,将总线数据转换为标准帧结构,确保总线数据的处理方法和流程与原系统的一致性。
依据遥测数据处理流程和1553B总线参数解析思路分析,进一步研究总线参数的解析方法,即如何实现总线数据帧向标准帧结构的转换,具体内容包括:标准帧结构的定义、消息库的建立、配置文件的生成、总线数据帧提取、以及消息提取和数据重组等,最后再采用与传统数据帧相同的方法实现遥测参数解析。
靶场试验包括了舰空类、反舰类等多型飞行武器系统,各型武器系统的遥测帧结构复杂多样,遥测数据处理系统为适应靶场多型武器,在总结各类帧结构和处理方法基础上,自定义了标准帧结构,目的是将各种遥测帧转换为统一的标准帧结构,方便后续的参数解析工作,鉴于遥测子帧的典型性以及为减少数据帧结构转换的工作量,将标准帧结构定义为与子帧相同的格式,在帧结构转换时,只需将副帧和特殊副帧等数据帧进行转换,省去子帧转换标准帧的过程,标准帧结构定义如图3所示。
图3 标准帧结构
图中,每一行代表一个数据帧,每个数据帧由时间码、帧头、帧数据三部分组成。子帧的标准帧结构就是其本身,其时间码由遥测地面站在数据帧接收时添加,帧头为武器遥测帧的同步码(例如:0xEB90)。对于副帧和特殊副帧等其他数据帧的标准帧结构来说,时间码是帧头所在子帧对应的时间,帧头为每种数据帧各自的起始帧头(例如:0x55AA),帧数据则是从子帧相应波道中提取合并得到的帧数据,由于同一类型数据帧的长度和所含遥测参数是固定的,因此在标准帧结构中,每个数据帧的长度和内容也是固定不变的[8-9]。
1553B总线数据中包含多种消息,每种消息包括各自的消息头和消息数据,消息头可以用来区分消息类型,消息数据中包括需要解析的遥测参数。在遥测参数解析过程中为区分各种类型消息,建立了消息库,库中记录各种消息信息,具体内容包括:消息的标号、名称、传输类型、数据字字数、标识码等。数据处理系统在解析消息时,先依据消息字格式(见图1)对消息头进行解析,再通过与消息库比对,从而判断其类型归属。
传统遥测数据帧将各类遥测参数以数据库或配置文件的形式实现参数的信息配置,具体信息内容包括:参数的代号、名称、单位、校准系数、计算公式、归属帧文件、参数类型、波道位置等。其中,“归属帧文件”是指参数归属的数据帧,该数据帧可以是子帧,或是经过转化的标准数据帧;“波道位置”是指该参数在标准数据帧中的排序位置,系统在进行遥测参数解析时读取调用配置文件,可以实现参数的解析。
为解析消息中的遥测参数,也采用上述相同方法完成每个遥测参数的信息配置,其中“归属帧文件”是参数归属的消息,“波道位置”指参数在消息中的排序位置。由此可采用传统遥测参数配置方法实现总线消息中全部遥测参数的配置问题,为后续消息数据统一解析提供支持。
3.3.1 1553B总线数据帧提取
飞行武器系统遥测帧中的1553B总线数据一般记录在遥测全帧中,每个遥测全帧中包括一个总线数据帧,设遥测子帧长为X字节,每个遥测全帧由Y个子帧构成,遥测全帧共计X*Y字节,在遥测全帧中总线采样次数为H。总线数据帧具体提取方法是:首先读取一个X*Y字节的遥测全帧,将全帧中第一子帧时间码作为总线数据帧的时间码;再读取H个采样值,构成一个长度为H的总线数据帧,每个总线数据帧包括了多种消息;最后再读取下一个遥测全帧经提取构成下一个总线数据帧,直至结束。生成的总线数据帧如图4。
图4 1553B总线数据帧结构
1553B总线数据帧与传统数据帧的主要区别在于,总线数据帧中消息位置不是固定的,需要读取消息头加以区分辨别,因此总线数据帧包括的遥测参数具有不确定性;而传统数据帧中遥测参数种类、数量、位置是固定不变的。由此可知,若使1553B总线数据帧与传统数据帧处理方法保持一致,必须进一步拆分和重组,考虑到同类消息中遥测参数是固定的,可将消息提取出来按种类重新组合,形成与标准帧结构相同的数据帧。
3.3.2 消息提取与数据重组
从1553B总线数据帧中提取时间码和每个消息,依据消息库判断消息的种类,按照消息种类形成多个消息帧结构,图5代表其中一个消息帧结构。图中每行为一个消息帧,即“时间码+消息(消息头+消息数据)”,由于都是同一种消息,所以每个消息帧的长度和参数是固定的,与标准帧结构一致,可以视为传统数据帧[10-12]。
图5 消息帧结构
具体转换方法是:首先,依据消息库新建与消息种类数量相同的消息文件,每个消息文件均以消息名称命名,用以保存此类消息。读取一帧1553B总线数据,将定位指针P移至时间码后并赋值P=0,提取消息头依据消息字格式定义,是位时的4~19位,按照指令字解析可判断其消息种类,并解析出消息标号,通过消息标号判断该消息是否存在于消息库中。若库中包括此消息,则依据数据字字数,读取相应消息数据,将时间码、消息头、消息数据一起保存至相应的消息文件,构成消息文件中的一帧数据;然后定位指针加上消息头的步长M和消息的数据字字数N,即P=P+M+N;若消息头与消息列表无法匹配,则将定位指针加上一个字节的步长,继续上述读取消息头的步骤,直至该帧总线数据结束,再读取下一帧总线数据,继续上述步骤直至总线数据文件结束。经过上述步骤,可以将总线数据帧文件转化为多个消息文件,与传统的副帧、特殊副帧格式相统一。
图6 消息提取和数据重组流程
3.3.3 参数解析
通过消息提取和数据重组,消息帧结构转换为与传统数据帧具有相同的结构,因此可以采用传统数据帧参数解析方法实现消息的参数解析。读取配置文件中遥测参数的信息,由“归属帧文件”、“波道位置”确定参数归属的数据帧以及在数据帧中的位置,由“校准系数”、“计算公式”和“参数类型”实现参数的物理量值解算,计算公式为:Y=校准系数*X,Y代表解算后的物理量值,X代表原始测量值。再将数据帧对应的时间码换算成飞行时间,由此可解算出参数的时间历程曲线。
由上述1553B总线参数解析方法可知,在原系统基础上增加总线解析功能时,需要增加消息库内容,基于配置文件完成消息中遥测参数的信息配置,再编制数据帧转换软件,实现总线数据帧转换为标准帧结构的功能,而系统其它部分功能包括数据规范化、参数解析、报告生成等不需要再进行调整修改,便于系统维护和升级。
以靶场某型飞行武器系统的遥测1553B总线数据为例,采用上述方法进行遥测参数解析。遥测子帧长32字节,遥测全帧为32*72字节,即每72个子帧构成1个全帧。总线数据在每个遥测全帧中采样210次,总线数据共包括31种消息,依据飞行武器系统的遥测大纲、数据处理要求和参数表,构建消息库见表1,采用Access数据库保存为MessageDB.mdb文件。
表1 消息库
在配置文件中完成所有消息的遥测参数配置。以表中第3个消息“位置反馈消息”为例,共包括1个状态字和6个遥测参数,消息具体内容见表2。
表2 位置反馈消息数据
将上表中遥测参数信息录入Excel配置文件ParaConfig.xlsx中,以消息标号作为归属帧文件,如图7。
图7 遥测参数配置
提取每个遥测全帧的时间码和210个总线数据的采样点,构成1553B总线数据帧二进制文件,文件名称为1553B.dat,该数据帧文件中包含多个消息。为实现消息提取,新建31个消息二进制数据文件,以每种消息的消息标号作为文件名,例如,“位置反馈消息”的消息文件为RT1_08-BC.dat。在1553B.dat总线数据帧文件中读取消息头进行解析,如果消息为消息库中的RT1_08-BC,则将消息头和消息数据连同时间码写入RT1_08-BC.dat消息文件,该文件的帧结构符合标准帧结构要求。再对配置文件ParaConfig.xlsx中“位置反馈消息”6个遥测参数逐一进行解析,生成6个以参数代号命名的文本数据文件。例如解析参数“偏航指令电流”时,读取RT1_08-BC.dat消息数据帧中的第13、14波道,以2字节无符号整型存储,并按照公式Y=0.000762939*X完成解析,生成数据文件为Iyad.txt,数据文件内容如图8,第1列为飞行时间,第2列为对应的参数物理量值;参数时间历程曲线见图9,其中,横轴为飞行时间,纵轴为物理量值。
图8 参数数据文件
图9 参数时间历程曲线
面对飞行武器系统中1553B总线数据的遥测参数解析问题,文中在介绍总线数据结构特点和传统遥测帧处理流程和方法基础上,构建了消息库,提出利用自定义的标准帧结构,将总线消息数据转换为标准帧结构的方法,实现与传统遥测帧参数解析方法相统一,使遥测数据处理系统在不改变原有系统框架和流程情况下,能够完成总线数据的参数解析功能。通过靶场实际飞行试验应用证明,该方法准确有效,提升了系统的可扩展性和可维护性,对于其他飞行武器系统1553B总线数据遥测参数解析任务具有重要的参考价值。