弹上信息处理器闭环模飞系统的研制*
2012-01-01庞业勇刘德龙王晓龙彭喜元
庞业勇,刘德龙,王晓龙,彭喜元
(哈尔滨工业大学自动化测试与控制研究所,黑龙江哈尔滨 150080)
0 引言
导弹的“模飞”测试是利用惯性测量组合(包括加速度计和陀螺)模拟弹载信息处理系统真实飞行时的输出信号,从而实现对加速度和角速度的模拟[1]。由于模拟飞行测试是在地面实验室条件下完成的,因此其具有安全、可靠、可多次重复、不受气候气象条件和场地空间限制等优点,特别是可以无风险地对弹载信息处理系统进行故障测试[2]。
目前“模飞”系统普遍采用的设计方法是通过电缆与弹载信息处理系统相连,模拟飞行时各个设备与弹载信息处理器的信息交互过程。测试过程中模飞系统向弹载信息处理系统实时发送模拟飞行控制信号,弹载信息处理系统据此完成飞行时的各状态控制,从而实现弹载信息处理系统所有硬件同路和功能模块工作状态正确性检查。检查项目包括硬件连接、电气接口连接、功能模块、设备组合、软件流程、系统整体性能等功能的检查,同时检查整个软件系统工作的正确性和稳定性。
随着导弹向小型化、精确化、软件化和智能化方向发展,弹载信息处理系统性能也不断发展,在弹载信息处理系统研制过程中的闭环模飞测试是一项十分重要的工作,贯穿整个研制过程。本文针对研制体积轻便于运输、运行可靠、易于操作、闭环实时测试性能较好的模飞系统展开相关设计工作。
1 闭环模飞系统总体方案设计
如图1所示,闭环模飞系统工作平台为便携式计算机和测试计算机,通过AC-DC电源模块为弹载信息处理系统供电,便携计算机的功能模块A、功能模块B、功能模块C、功能模块D、功能模块E设备插入便携机的PCI插槽,功能模块F设备插入测试计算机中的PCI插槽,按时序和帧格式约定与弹载信息处理系统进行数据和控制量的通讯,并在通用计算机上进行数据和控制量的保存与显示,其结构如图1所示。闭环模飞系统采用PCI总线作为I/O总线,PCI总线具有较高的传输速率(理论传输速度可以达到132 MByte/s),支持32位处理器,支持DMA,即插即用等优势[3]。PCI总线为在测试系统中应用便携式计算机和测试计算机以实现测试系统轻小化提供了很好的途径。
供电系统为弹载信息处理系统提供+27 V电源供电,输出3路电源,采用同一电源按照时序为不同部件提供电源。
通讯模块A,硬件电路采用同步半双工穿行RS-485接口,传输速率为2 Mbit/s,采用FPGA作为主控制器实现HDLC通讯协议,控制功能模块A向弹上信息处理器发送控制命令,接受弹上信息处理器回送的应答命令和相关参数,并对应答命令进行处理,对下传数据进行处理,在特定时间内再送给弹载信息处理系统。
图1 闭环模飞系统组成框图Fig.1 Block diagram of closed loop flight system
数据采集模块B,采用FPGA+AD芯片模式,在此模块上加入遥测量部分。在FPGA内实现AD控制逻辑,实现4路舵指令的接收并在液晶数码显示器上显示,遥测量部分实现弹载信息处理系统敏感元件组合的温度补偿和误差补偿。
输入输出开关量模块C,采用FPGA+集成芯片模式,实现弹载信息处理系统所有I/O脉冲开关量进行模拟和测试,并对内部计算机组合输出的备份点火进行测试。
1553B模块D,符合GJB289A-1997数字式时分指令响应型多路传输数据总线标准,实现总线控制器(BC)和总线监视器(MT)功能,此时弹上信息处理器实现远程终端(RT)功能。
数据传输模块E和F用于数据通信,硬件电路采用LVDS接口,传送速率为100 Mbit/s,采用FPGA作为主控制器实现UART通讯协议,实现便携式计算机和测试计算机之间的通讯,用来传输实现闭环模飞测试的控制命令实现闭环模飞的测试和系统下传的用于显示在测试计算机上的数据。
为了保证便携式计算机对模飞系统输入输出数据处理在闭环系统的高实时性,在便携式计算机内采用VxWorks实时操作系统,并且各个功能模块均采用PCI总线DMA方式实现控制计算机与各个功能模块之间的高速数据交互。
2 闭环模飞系统硬件电路设计
根据闭环模飞系统设计需求,其硬件电路主要应包括PCI总线接口电路、RS-485通讯接口电路、LVDS通讯接口电路、1553B通讯接口电路、数据采集电路、存储电路和输入输出开关量电路几个部分组成。
在闭环模飞系统设计中,各个PCI总线功能模块设备均采用IP核在FPGA内部实现PCI总线控制器的功能。IP核采用ALTERA公司Quartus II提供的PCI Components核,它支持PCI双地址周期,地址空间高达4 GB;2个独立的DMA通道;本地总线采用的工作模式为C模式,支持非复用的32位局部总线操作。另外,还能通过PCI的DMA方式实现计算机与闭环模飞系统各个功能模块之间的高速数据传输。DMA读写速度均可达到100 Mbyte/s,这为闭环模飞系统实现实时高效地数据处理、存储和处理结果显示提供了有效地保证。
2.1 RS-485串行通讯接口电路
闭环模飞系统中,RS-485串行通讯接口电路设计如图2所示。RS-485串行通讯接口电路包括隔离电路,实现通讯接口和内部电器接口的隔离;DC-DC转换器,实现为通讯接口和内部的功能电路提供所需的隔离供电电源;RS-485电气接口芯片驱动电路,实现TTL逻辑电平和RS-485电平之间的转换。
图2 RS-485串行通讯接口电路原理框图Fig.2 RS -485 serial communication circuit diagram
RS-485串行通讯接口电路设计中采用IL485作为RS-485接口的电平转换芯片。该芯片内部集成磁耦,隔离电压2 500 V(1min),最快传输速率为35 Mbit/s,能够很好地满足设计需求分析中提到的2 Mbit/s的串行通讯速率。此外,在RS-485串行通讯接口电路的设计中为了抑制电路中的信号反射,采用在通讯线缆的开始端和末端各并接一个120 Ω的电阻。另外,在RS-485串行通讯接口电路的设计中还采用了总线偏置方案对RS-485通讯接口进行失效保护,即在差分传输线上各增加一个l kΩ电阻,将差分正端信号上拉到电源,将差分负端信号下拉到信号地,使总线在空闲或开路时稳定[4]。
2.2 LVDS高速串行通讯接口电路
数据传输模块是为测试计算机与便携式机箱通讯所设计的特殊通讯接口,为了保证通讯的高速和实时性,通讯接口的选择是至关重要的,这里采用LVDS(low voltage differential signal)通讯接口,LVDS最初应用于视频信号传输,并逐渐成为工业标准,单路数据传输速度可达655 Mbit/s,理论上,在一个无衰耗的传输线上,LVDS的最高传输速率可达1.932 Gbit/s[5]。
本测试系统采用多路并行的LVDS接口实现测试计算机与专用测试接口的数据交互,同时采用专用传输 LVDS信号的电缆和接口,可以实现90 Mbyte/s数据传输的技术指标。LVDS数据传输与控制模块在硬件实现上分为PCI接口、数据传输逻辑控制、片上缓存、LVDS驱动接口电路几个部分,如图3所示。
图3 LVDS数据传输与控制模块原理框图Fig.3 LVDS data transmission and control module
2.3 1553B 通讯接口
1553B总线是在20世纪70年代末为适应飞机的发展由美国提出的飞机内部电子系统联网的标准,由于它的高可靠性和灵活性,使其在航空航天以及军事工业中得到广泛的应用[6]。
1553B总线具有高的可靠性和较好的实时性,对于一些数据通信种类多、数据量大、实时性要求较高、网络节点少的系统,1553B总线比现有的绝大多数总线更具有性能优势。
本设计中采用外购1553B板卡实现设计需求中的1553B通讯。外购板卡为Alta公司的多通道PCI-1553B板卡,其主要特性有:具有双冗余MIL-STD-1553的通道;双通道(BC/MT或RT/MT)或者全部功能(BC/RT/MT)等。
2.4 数据采集接口
测试系统数据采集接口包括信号隔离电路信号采集电路。信号隔离电路实现被测模拟信号和ADC采样信号的隔离,输入信号在差分端接入,AD202实现输入信号、电源、输出信号三者相互隔离,在输出端重现输入信号。
数据采集电路采用AD7864,该芯片典型功耗为90 mW,积分非线性误差为±1 LSB,最大满量程误差为±0.024%,在-40~85℃的温度范围内具有12位分辨率,最高采样率可达500 000次/s,具有4个模拟通道,输入电压范围为-5~5 V,0~10 V和-10~10 V 3种可选。整个数据采集系统框图如图4所示。
图4 数据采集接口电路原理框图Fig.4 Data acquisition module function diagram
2.5 存储电路设计
闭环模飞系统的所有功能板卡都要通过存储电路实现对接受数据和发送数据的存储。在本次设计中采用SDRAM作为存储器。SDRAM是利用场效应管的栅极对其衬底间的分布电容来保存信息,以电容端电压的高低来表示“1”和“0”。它具有功耗低,集成度高,存储容量大,工作速度较快,价格较低等优点。
2.6 开关量I/O电路设计
PCI总线开关量模块在硬件设计上包括PCI总线接口电路、开关量输入电路、开关量输出电路,如图5所示。
图5 开关量接口电路框图Fig.5 IO function interface circuit diagram
在光耦的正输入端加一个限流电阻,将外部信号的输入接口与内部电气接口进行隔离,增强其内部抗干扰能力。输出开关量采用FPGA控制其输出时序,然后通过大功率达灵顿管MCl413将FPGA输出的信号进行放大,使输出开关量能够产生足够大的驱动电流,其中MCl413的输出端与电源之间要接一个上拉电阻。
3 闭环模飞系统软件的设计与实现
测试系统软件设计方面,采用WinDriver开发测试计算机PCI设备的驱动程序,在便携式计算机内VxWorks提供了对PCI设备的驱动程序,从而实现对PCI总线功能模块设备的操作。便携式计算机内部各部分功能模块的功能软件和测试计算机模飞系统的综合测试软件分别采用Tornado和VC++作为开发平台,设计模飞系统的操作界面而实现对模飞系统与弹载信息处理系统交互信息的处理、存储和显示,完成对弹载信息处理系统控制软件的验证。
3.1 驱动层软件设计
闭环模飞系统的驱动层软件包含Windows操作系统驱动和VxWorks系统驱动两部分。Windows操作系统下的驱动开发使用WinDriver工具,极大的简化了驱动程序的编制[7],驱动程序包括设备的初始化、端口操作、内存操作、DMA传输和中断管理[8]。这些功能共同实现了设备插入后上电枚举初始化;配置PCI设备所需的内存、输入输出和中断等资源;处理用户控制代码,包括控制PCI设备启动,停止,寄存器读写;处理其他的PNP(plug-andplay)事件。特别地,VxWorks操作系统下,驱动层软件要完成系统上电之后对各PCI功能模块的初始化操作,检测个功能板卡是否存在,并将各板卡的状态信息返回给测试计算机进行打印输出。
3.2 专用测试接口装置软件设计
专用测试接口装置的功能软件采用风河公司Tornado2.2作为开发环境,其包括各模块自检功能软件和实现各个模块功能操作软件。自检功能软件完成各个模块的自检并返回自检结果。自检功能软件实现对专用接口组合即便携式计算机内部的全部PCI板卡进行硬件上的检查,在便携式计算机的显示屏上显示已有板卡和缺少的板卡的名字,并显示已有板卡的设备号和版本号,用于确定各个模块是正确的。
各模块的功能操作软件是实现各个功能模块功能的启动,其中包括AD采样的开始、结束和数据的传送,实现4路舵指令的采集,显示在便携式计算机前面板的LCD上;遥测量的发送;1553B的BC和MT;2路RS-485总线的发送和接收,实现对弹上信息处理系统的数据交互;输入输出开关量控制是否正常,其包括开关最输出控制、开关量接收显示和开关量周期接收。开关量输出控制程序实现单周期工作模式下开关量的输出控制。开关量接收显示程序实现在单周期工作模式下开关最的输入显示。开关量周期接收程序是以一定周期读取周期输入的开关量,并显示接收开关量的波形。
3.3 测试计算机软件设计
闭环模飞系统测试计算机软件采用Visual C++作为开发环境,通过调用驱动程序的动态链接库,实现对闭环模飞系统各部分的任务调度。
测试软件主要实现控制命令的发送和应答信息的接收,实现各个功能模块自检的启动和发送文件的加载,接收数据的读取、存储和处理,开关量的输入输出控制,读取接收开关量、处理及显示。其中,RS-485模块2路总线进行数据的发送和接收,系统软件采用定时查询的方式,以规定的周期按顺序对各个功能模块的接收缓冲进行查询,采用DMA方式对接收缓冲中的数据进行读取。并在数据的读取过程中对读取的数据进行处理、存储和显示。
系统软件主要完成对6种测试模式的流程控制,如图6所示,闭环模飞系统的系统软件在点火发射流程测试中,首先通过控制继电器接通供电1,然后立即通过1553B板卡的BC通道获取自检结果和武器类型码。确定自检结果和武器类型码正确后开始接通供电2,并通知导弹供电2已经启动和断开供电1。在供电2起作用后,1553B再读回其他设备的自检结果,若自检结果正确,则往弹上信息处理器装订测试所需要的参数并发出模拟要测量来测定导弹的真实工作状态,接收和检测PCM码流,之后接通弹上电池并告知弾上处理器,待弹上信息处理器确认后断开供电2,并有1553B取回激活结果,根据结果进入模拟飞行测试模式,在模拟完一次发射流程后,弹上信息处理器发出脱落信号,软件检测之后结束整个测试流程。
图6 闭环模飞系统软件流程图Fig.6 Software flow of the closed loop system
4 闭环模飞系统功能验证
闭环模飞系统与弹上信息处理器进行频繁的大数据量数据交互,实现对弹上信息处理器控制软件正确性的验证,因此其通讯误码率是否满足指标要求是衡量闭环模飞系统可靠性的重要指标。
在误码率的测试中,利用已检定的通讯测试模块发送器对闭环模飞系统中通讯模块接收口进行误码率测试,利用通讯测试模块的接收器对闭环模飞系统中通讯模块的发送接口进行误码率测试。误码率测试大多采用统计的方法,即在大量通讯的基础上以错误码数与总通讯码数的比值作为误码率的值[9]。误码率测试中采用计算机产生一个固定的伪随机序列,其位数为512,即64字节。表1给出了不同置信度及不同误码数时的总通讯码数经验值[10]。其中,E为测到的误码数,N为传输的总比特数,R为给定的误码率值,CL为置信度。
测试系统中通讯板卡的误码率为10-6,即R=10-6,取 CL=99%,E=2,所以通讯总比特数 N=8.4×106bits,即在通讯总比特数为8.4 ×106时,若错误的比特数不大于3个,通讯卡的误码率优于10-6的置信度是99%。这样经过反复多次测试均满足要求,证明模块通讯稳定,满足闭环模飞系统规定的误码率指标。
表190 %,95%,99%置信度时NR数Table 1 NR number with 90%,95%,99%confidence
闭环模飞系统中第2个重要的指标是舵偏角的指示精度是否满足要求,在测试过程中模拟多路电压输入,进行多组数据的采集和记录,精度满足了0.1°的要求。
闭环模飞系统的第3个重要技术指标是输出开关量的脉宽是否满足要求。首先,利用开关量功能软件输出一个高电平脉宽为2.5 ms,峰值为12 V的开关量。然后,通过示波器测量该输出开关量的实际脉宽为(2.5+0.000 01)ms,输出高电平的电压值为11.98 V,证明该设计满足要求。
5 结束语
本文根据弹上信息处理器的实际测试需求,综合应用VxWorks实时操作系统技术、基于FPGA的可编程片上系统技术,实现了基于多个PCI总线功能模块的实时闭环模飞系统。模飞系统软件功能齐全、性能可靠,能够对弹上信息处理器的工作状态进行正确性检查,并能配合弹上信息处理器完成模拟飞行地面试验。其硬件系统运行稳定,能满足弹上信息处理器不同研制阶段的测试需求。模块化的PCI插卡式设计模式,有较高的通用性,为后续开发通用化的弹上信息处理器模飞系统提供了基础。
[1] 鲜永.模型号导弹模飞测试方法研究[J].飞行力学,2000,18(3):54-58.
[2] 张毅刚,彭宇,刘大同,等.小卫星星载计算机便携式实时“模飞”系统设计[J].仪器仪表学报,2009,30(6):294-298.
[3] 魏平,赵可.仪器与自动化测试系统总线[J].国外电子测量技术,2004,23(3):2-4.
[4] 张欣,李爱军.RS485电路的匹配和保护型设计研究[J].计算机仿真,2007,37(5):80-82.
[5] Alan V Oppenheim,Alan S Willsky,Hamid S.Signals &Systems[M].Second Edition.New Jersey:Prentice Hall,1997:102 -123.
[6] 高志强,苗克坚,张雯璐.弹载计算机1553B总线测试模块设计[J].计算机测量与控制,2008,16(9):1280-1283.
[7] 武安河,周利莉.Windows设备驱动程序(VxD与WDM)开发实务[M].北京:电子工业出版社,2001.
[8] 张增辉,沈激,陈子瑜,等.基于WinDriver工具的PCI卡驱动程序开发[J].核电子学与探测技术,2006,26(3):367-369.
[9] 王宏,宋晓峰.数字通讯系统中的误码率的区问估计[J].现代电子技术,2006,23(1):46-48.
[10] Owen Golden,Eric Starkoff.Developing Synthetic Instrument with COTS Technology[C].Autotescon,2006:32-37.