祝军生,方志耕,冯敏洁,樊雪晨,王 鹏
(1.南京航空航天大学 经济与管理学院,南京 211106;2.中国航天科工集团八五一一研究所,南京 210007;3.北京宇航系统工程研究所,北京 100076;4.北京航天测控技术有限公司,北京 100043)
转台作为某型伺服系统的核心,承担着作为伺服系统转动结构的重要功能[1-2]。作为伺服系统的核心组成部件,转台的转动速度、转动加速度、随动精度、控制分辨率等指标影响着整个伺服系统的性能[3-5]。
对转台性能指标的测试主要使用光学方法与人工测量结合的方法[6-7],这种传统方法在测试时产生数据量庞大且处理繁琐[8-9]。在实际测试中,精度偏低,且因使用多种测量仪器,系统误差巨大。因此有必要研制该型转台自动测试设备,来提升转台在研发阶段进行测试的效率。
该设备选用技术成熟的PXIe总线架构,具有高开放性、可热插拔、高可靠性、高密度的特性[10];其高开放性极大地便利了开发测试人员进行设备调试,并提高了设备的可扩展性[11];其可持热插拔的特性支持板卡采用热插拔的方式进行更换,提高了系统可维修性[12];其高可靠性体现在PXIe总线具有良好的抗震性,可提高设备克服转台振动的能力[13];其高密度的结构符合IEEE1101的3U标准,保证了系统良好的兼容性。
综上,结合对转台指标的测试需求,采用PXIe总线模块化设备构建自动测试设备。
转台安装于伺服系统底部,功能是接收伺服系统向转台控制箱发送控制指令,并解析指令进行相应转动动作。该型转台为两轴转台,转台转动范围为:方位角[0,360°),俯仰角[0,90°]。转台详细指标要求见表1。
表1 转台指标
以转台速度与加速度测试为例,传统方法使用秒表记录转台转动360°所用时间,利用此时间算出实际速度值;使用上位机软件读取转台速度,导入电子表格中,绘制速度时间图像,根据图像斜率得到转动加速度。以转台随动精度测试为例(测试示意图见图1),在距离转台20米的墙上固定好标靶,在转台上固定好激光笔,记录下此时的方位角度值作为初始角;打开激光笔,在标靶上将当前激光点位置标记为零位点,手动将转台方位角度值增加10°,到位后再将转台方位转回记录的初始角,测量激光笔的偏移量,小于34.9 mm,则方位指向精度小于0.1°。使用传统方法试验数据如表2[14-16]。
图1 随动精度测试连接示意图
根据转动范围,该型转台可进行扇扫和圆周扫,扇扫从静止位置开始转动,经历从加速运动到匀速运动再到减速运动,并减速至0达到目标位置的过程;而圆周扫从静止位置开始转动,加速运动到额定速度后进行匀速扫描。因此针对转台的性能测试主要检测转台转动的速度、加速度、随动精度、控制分辨率等指标[17-19]。
针对转台测试需求,自动测试系统采用基于PXIe总线的模块化测试架构,自动测试系统采用PXIe总线与实时操作系统组合,硬件资源包括基于龙芯CPU的国产化处理器的控制器模块、数字IO模块、RS422总线通信模块、网络通信模块、PXIe总线信号背板模块、信号调理板模块、背板转接板、固态硬盘、AC/DC直流电源模块及单机设备机箱(含前后面板器件及指示灯驱动电路)等。系统结构如图2所示。
软件设计方面,自动测控软件运行于龙芯CPU主控制器上,通过PXIe总线仪器驱动控制各PXIe总线测试模块。当实际开展转台测试工作时,自动测控软件按照软件配置文件中预设流程控制各测试模块,采集测试信号;将捕获测试信号进行处理,分析数据并将结果保存为文件入转台自动测试设备硬盘内,由测试人员读取测试文件后对被测设备状态做出评估和诊断。通过计算机图形界面与测试人员进行交互,方便开发人员实时了解转台参数。
结合转台测试需求,转台自动测试设备硬件主要包括惯性仪表、控制电源、PXIe测控设备三部分组成,组成结构如图3所示。
图3 硬件组成图
惯性仪表采用FPGA、三轴加表与三轴陀螺结合的方案(惯性仪表结构如图4所示)[20],可向外输出俯仰角、航向角等角度数据;输出速度、加速度等运动数据。
图4 惯性仪表结构图
下面给出处理算法。
1)FPGA板卡采集加表、陀螺0.5 ms脉冲,并进行温度补偿与安装误差补偿;对补偿后的数据进行九阶滤波,滤除抖动噪声。
2)计算三轴线加速度、三轴角加速度:
(1)将连续10组0.5 ms三轴角度增量和分别按X轴、Y轴、Z轴进行累加,得到X轴、Y轴、Z轴5 ms角度增量和,将5 ms角度增量除以采样周期0.005,得到三轴角速率;
(2)将连续5组1 ms速度增量和分别按X轴、Y轴、Z轴进行累加,得到X轴、Y轴、Z轴5 ms速度增量和,将速度增量和除以采样周期0.005,得到三轴线加速度。
3)圆锥补偿计算:
旋转矢量的计算采用优化五子样圆锥补偿算法,每个姿态更新周期包含2个圆锥补偿周期。
输入:陀螺角增量输入。
输出:圆锥误差补偿量。
4)四元数更新计算:
根据姿态矩阵双速更新的思想,载体相对导航系的姿态变化可以看作是载体坐标系相对惯性系的姿态变化与导航坐标系相对惯性系的变化的合成作用,因此,姿态矩阵的更新分为两步完成:首先求出m时刻载体系相对m-1时刻导航系的姿态,再求出m时刻载体系相对m时刻导航系的姿态。上述过程可以用四元数的连乘形式表示如下:
(1)
(2)
(3)
一般不考虑导航系相对惯性系的圆锥误差,其旋转矢量就表示为:
(4)
取东北天地理坐标系为导航坐标系,有
(5)
(6)
输入:
①t时刻圆锥补偿以后的陀螺输出:
(7)
②t时刻平台指令角速率:
(8)
③t-1时刻姿态四元数qn。
处理:
1)将t时刻圆锥补偿以后的陀螺输出表示成四元数:
(9)
其中:
2)将t时刻平台指令角速率表示成四元数:
(10)
其中:
输出:当前时刻的姿态四元数。
4)四元数姿态矩阵转化:
处理:
(11)
输出:规范化以后的姿态四元数Q=[q0q1q2q3]T。
姿态矩阵提取:
处理:
(12)
5)姿态航向解算:
处理:
(13)
输出:航向角ψ。
6)比力变换计算:
处理:
(14)
输出:导航坐标系的比力fn。
7)速度计算:
其中:
(15)
输出:导航坐标系的Vn。
采用其数据输出精度比待测转台精度高一位,即可满足转台测试指标要求(见表2)。该仪表通过RS422串口与PXIe测试设备连接进行数据交互,输出频率为100 Hz,满足测试设备数据频率需求。
控制电源选用技术成熟的货架产品,可提供多路电源输出。用于向转台自动测试设备和惯性仪器输出直流电压;向被测转台输出交流380 V电压。
3.3.1 基于龙芯3A控制器模块
自动测试设备控制器模块设计采用龙芯3A的解决方案,是以龙芯3A处理器为核心的、符合PXIe工业标准的嵌入式计算机平台。该模块具有完整的计算机功能,集成网络、串口等功能。
龙芯3A计算机模块可作为独立的计算机模块使用,使用时与标准PXIe主模块兼容,支持VxWorks6.7操作系统和RT-Linux操作系统。
3.3.2 RS422串口通信模块设计
RS422串口通信模块是基于PXIe总线的4路隔离串行通信接口模块。基于异步通信模块实现串行通信的设计,实现了100%国产化。RS422串口通信模块主要基于UART模块来实现串行通信。主要由UART模块、电平转换模块、RS422隔离收发模块、电源管理、PXIe总线、FPGA等电路组成。RS422串口通信模块的原理如图5所示。
图5 RS422模块原理框图
图6 网络模块
图7 数字量IO模块原理框图
3.3.3 网络通信模块
网络模块主要包括以太网控制器、网络变压器和相关的控制电路。
为保障数据传输的安全可靠,对主板上的双网口进行绑定,将两个以太网口在系统中映射为同一个IP地址及MAC地址,从而通过检测双网口通断实现实时切换。
3.3.4 数字量IO模块设计
数字IO模块输出TTL电平信号,用于测试设备前面板信号指示灯控制,同时采集来自串口通信切换模块的状态回采信号用于控制器模块对设备隔离状态自检回采。控制器模块通过数字IO模块驱动程序控制指示灯驱动电路实现面板指示灯状态控制。数字量IO模块主要用于产生64路I/O输入输出,可8路一组独立控制。可通过设置其内部寄存器来改变I/O方向,当作为输出I/O时,通过写内部寄存器设置I/O值,当作为输入I/O时,可读取相应的端口地址。
3.3.5 PXIe机箱设计
自动测控组合的整体机箱结构采用19英寸上架式结构,高度4U,深度500 mm。其机箱内部主要由PXIe背板、信号调理背板、背板转接板以及AC/DC供电模块组成。
PXIe背板安装在机箱内部的机笼上,将控制器、422串口通信模块、1553B总线通信模块、数字IO模块以及RC模块安装在机笼内,分别与PXIe背板进行连接,实现嵌入式控制器与各个模块之间的数据通信;
信号调理背板安装在机笼上实现隔离调理模块的供电以及信号转接功能;背板转接板与PXIe背板、信号调理背板相连接,实现PXIe各模块、隔离调理模块输入信号、输出信号之间的转接功能,并且将PXIe模块以及信号调理模块输出到机箱外的信号进行统一规划,以便于机箱内部线缆走线;AC/DC供电模块用于实现对机箱内部PXIe模块的供电。
1)PXIe总线背板:PXIe总线背板使用3U高7槽的PXIe背板,在此基础上为了便于AC/DC供电模块的安装以及维修,PXIe背板增加AC/DC供电模块的插槽,AC/DC供电模块直接与PXIe背板连接。
2)信号调理背板:信号调理背板主要用于实现对隔离调理模块的统一供电,同时将隔离调理模块的信号直接转接到背板转接板上,信号调理模块为标准的3U6槽的背板。
3)背板转接板:背板转接板与PXIe背板、信号调理背板相连接,实现PXIe各模块、信号调理模块输入信号、输出信号之间的转接功能,并且将PXIe模块以及隔离调理模块输出到机箱外的信号进行统一规划,以便于机箱内部线缆走线。背板转接板按照功能分配主要具有两类信号,其中一种信号为总线通信类信号,将PXIe模块J2输出的信号通过背板转接板直接输出至机箱对外接口信号(如RS422通信接口、以太网接口、USB接口等);另外一种信号为转接信号,将PXIe功能模块(数字IO模块等)J2输出的信号通过背板转接板转接到信号调理模块背板上,通过隔离调理模块进行隔离变换等调理电路处理后输出到背板转接板的输出接口,输出到设备后面板的连接器上。
4)AC/DC供电模块:自动测试设备由220 V市电供电,通过AC/DC供电模块转换成+3.3 VDC,向PXIe背板总线和调理模块的继电器、光耦电路供电。
结合转台测试需求,自动测试软件配置项包括自动测试软件、BSP支持包、各PXIe板卡中的固件驱动程序三部分。
自动测试软件运行环境为嵌入式实时操作系统,硬件驱动兼容VxWorks6.7系统及RT-Linux系统自主剪裁设计的实时操作系统。
软件从架构层分为硬件驱动层、驱动二次封装层、业务实现层和业务流程层。每层之间采用模块化设计,模块之间尽量减少其耦合性,上下层之前存在调用关系。软件架构如图8所示。
图8 软件架构图
图9 IO类封装统一对外接口逻辑
1)硬件驱动层:硬件驱动层包括龙芯CPU主控器模块及自动测试设备配套的自研国产化PXIe总线硬件产品的各类驱动。主要的驱动包括龙芯控制器驱动、数模块驱动、RS422总线通信模块驱动等。驱动接口提供参数配置功能,模块驱动设计符合标准。
2)驱动二次封装层:驱动二次封装层是为PXIe总线硬件资源与应用层系统软件构建统一接口,该层的设计与硬件设备的耦合性较小,通过调用底层驱动,对业务实现层提供数据和规范的操作接口,如果底层驱动函数修改和更新,更新调用方法即可,而对于业务实现层不产生影响,实现层级之间的高内聚/低耦合特性。其中包括了数字量IO模块的统一调用API、RS422总线通信模块通用API、本机状态信息统一API以及日志相关的API,大致可以分为串口类设备、IO类设备、总线类设备等。
该部分主要包含二次封装接口设计、配置信息脚本设计、脚本文件执行引擎组成,通过设备分类设计统一接口定义,实现设备动态增减等,详细如下描述,例如DIO模块说明:
(1)二次封装接口设计:IO类封装统一对外接口采用如下管理方式,对外开发amc_device_find()、amc_device_init()、amc_device_write()、amc_device_read()……等,实现隐藏接口实现细节,设备可动态删减,提高驱动可复用性以及灵活剪裁能力。
(2)配置信息脚本设计:DIO模块核心功能是数字量通道输出以及回采功能,关键参数板卡号、通道名称、所属板卡组号、所属板卡通道号、输出值等信息组成,脚本化如下所示:
(3)脚本文件执行引擎:执行引擎所在执行链路如图10所示。
图10 执行链路示意图
图11 后端网络指令接收逻辑示意
执行引擎实现调用者输入到硬件具体输出通道映射实现,主要分为两步,第一步从配置脚本获取所配置关于指令、硬件板卡信息;第二步,通过指令名称、类型以及板卡信息映射执行。
3)业务实现层:业务实现层是系统主要功能实现层,包括系统的初始化自检、网络接收、指令处理执行、数据采集处理、组播回传数据、应用故障诊断实现等。
软件初始化过程中会完成系统自检,同时按照系统的配置文件,对软件运行的配置参数和网络相关的参数进行配置和注册。初始化完成之后,开始启动关键任务,包括网络接收、组播回传数据等任务。
通过分层设计,可能极高的提升代码的复用性和阅读性,模块之间的耦合性减少,后期进行代码升级和改动也会相对容易一些,最重要的是在分层设计的架构下,软件的架构清晰,业务重叠少。可以很好地开展系统的总体测试和单元测试,能够很好地提升软件的可靠性。
4.2.1 初始化及上电自检
系统启动后,前端测控软件在系统环境加载完成后启动对本机状态开机自检流程。自检流程包括:硬件板卡资源初始化自检、软件应用任务配置状态自检等。自检结果输出信号链路包括本地自检存盘、本地调试接口输出。
4.2.2 网络指令接收
初始化及自检流程结束后,应用软件根据本机配置网络参数状态,并开启网络指令接收任务。启动接收任务后,依据通讯协议规定的数据帧解析方法、校验方法对网络指令进行解析,并将处理之后的指令存储到指令缓存区当中。任务执行过程中循环查询指令区指令接收状态、指令识别状态并反馈执行结果状态。
4.2.3 指令处理
指令处理模块从指令缓存区获取指令执行,按照通信协议要求,参照配置文件参数项完成指令数据解析分类,并依据实际传输指令或控制指令(RS422指令等)不同指令类型处理指令组帧业务操作。
指令执行按照单步执行和本地状态配置流程执行两类,自动流程会启动一个临时任务,同时创建堆栈,记录自动流程的执行状况,执行结果,并将堆栈数据及时更新到同步寄存器中。运行过程中所有错误都会写入故障信息缓存。
4.2.3.1 指令识别
指令识别依据指令配置信息进行映射,其中指令配置信息主要包含协议标号、编号号、指令类型、指令名称以及延时位,脚本化如下所示:
4.2.3.2 单点类控制
单点类控制依托IO类设备、422类设备以及总线类设备驱动管理模块实现。
4.2.3.3 自动流程执行
1)自动流程可配置:根据系统实际特点,明确输入、判断条件、执行机构,设计流程框架,并基于xml格式文件实现流程配置。
2)自动流程执行:后端发送自动流程启动与停止指令控制前端软件自动流程状态,自动流程启动后,将自动解析与执行配置文件流程。
3)自动流程单步调试:后端可发送网络指令实现前端软件自动流程断点执行。
4.2.4 数据采集
数据采集功能包括数据量I/O控制、RS422总线数据收发控制、惯性仪表输出数据、转台输出数据以及本机状态监测信息的采集。
4.2.5 转台控制
自动测试设备通过RS422接口和网络接口与转台控制箱连接,向转台控制箱发送符合转台控制协议的指令,可在上位机控制转台运行,完成扇扫和圆周扫等转台动作。
4.2.6 数据处理
数据处理功能可将惯性仪表输出数据(仪表当前俯仰角和方位角)和转台输出数据(转台当前运行参数)。当测试转台指标时,将测试数据保存,通过图形界面软件将数据自动处理成图表形式,方便设备调试人员掌握转台运行情况。
以速度指标测试为例(其他指标同理),将转台航向角度值为横坐标,以转台速度为纵坐标绘制图像,如图12所示;并将人工测试数据叠加至自动测试角度-速度图像中。由图可得,人工测试只能对固定航向角度值处速度进行测量,自动化测试可得到连续变化的速度曲线;自动化测试与人工测试结果相近,误差在可接受范围内,证明自动化测试在精度方面可替代人工测试,优化后的转台实时性自动化方案取得良好效果。与人工测试相比,自动化测试结果直观,数据处理方便,可看出速度等指标连续变化趋势,可作为测试人员对转台进行测试时的数据指标依据。
图12 自动化测试与人工测试结果对比图
转台自动测试设备采用PXIe总线架构,实现了控制转
台与测试转台指标同步进行的功能,使转台数据与惯性仪表数据在时间上能够对齐,能够实时反应转台运行状态,数据可参考性得到极大的提升。该型设备自动化测试应用场景可推广至其他转台测试等具有大数据量处理需求的场景,形成通用型测试工具,具有较高实用意义。