1引言
导弹研制过程中需要进行必要的导弹飞行试验。在导弹飞行试验中,对导弹的性能进行测试,记录下重要的工作状况测量数据,作为评估导弹的各种技术、战术指标的依据。为了研究导弹的飞行状态,国内更多的是采用遥测设备,对导弹进行遥测,但是由于飞行速度快,空气电离干扰等因素,并未能对其内部工作状况参数进行很好的测量。例如,导弹在发射筒中时,信号受到屏蔽或多径效应影响严重;当潜艇水下发射导弹时,导弹出水前无法发射电波,这些情况下必须采取特殊措施。而弹载固态存储器完全去除了这些缺点,它能准确的测量导弹飞行时,内部的工作参数,待回收后便可将Flash中数据读出,此测试方法可靠性高,具有鲜明的特色。
本文针对导弹在弹射试验过程中对各种参数的测试需求,设计了一种弹载固态存储器。该固态存储器可以对振动、噪声、温度、热流、角速率等多种参数进行测试,并且具有独立的供电模块,不需外部提供电源。该固态存储器还具有体积小、抗冲击过载能力强、测试精度高、存储的数据断电不丢失等特点,可用于实时、可靠地采集和存储导弹发射与飞行试验过程中的各种状态参数。
2固态存储器的总体方案设计
固态存储器由信号采集模块、数据采集模块、电源变换模块、数据收发模块、读数接口模块及中央控制模块6部分组成,如图1所示。图1 存储器组成框图
根据系统需要,本方案采用XCR3128加上MSP430FG4618作为中央控制模块,利用485接口实现存储器与单元测试台的通信。固态存储器完成各路模拟信号的调理、跟随、采集编码、存储;完成6自由度传感器输出的RS-422信号电平转换、串并转换、编码、存储;完成记录数据的发送和接收单元测试台的控制命令;完成外部输入电源的隔离转换。
3系统的模块化设计
(1)信号采集模块
缓变采集:缓变信号经MSP430F1611采集,其格式如表1和表2所示。每轮循采集1次通道就增加一帧计数(4字节),识别码2字节。这些数据写入4kB的FIFO中,每当FIFO的数据写满2KB的容量时,中央控制模块就将一次读走2KB的数据,读取速度10M。
表1 格式一
通道1~通道45
(90字节)
|
帧计数
(采用4字节)
|
识别码
EB90
|
记录1200s,采样频率100Hz,共需轮采1200×100×12/8=1.8×字节。共需18位计数器,采用4字节。
速变采集:速变信号经模拟开关后,通过AD7492进行A/D变换,数据写入外部8位FIFO。
表2 格式二
通道1~通道13
(26字节)
|
帧计数
(采用4字节)
|
识别码
EB90
|
记录1200s,采样频率50kHz,共需轮采1200×50×1000×12/8=8×字节。共需27位计数器,采用4字节。
(2)数据采集模块
RS422变换存储:将接收到的RS422数据以8位形式写入4kB的FIFO中,每当FIFO的数据写满2KB的容量时,中央控制模块就将一次读走2KB的数据,读取速度10M。
(3)电源变换模块
通过DC-DC电源模块WRB2409P3W,将电压从高变低,并隔离。采用可以通过大电容和小电容的合理搭配有效去掉纹波。隔离电源及滤波电路如图2所示。
图2 隔离电源及滤波电路
(4)数据收发模块与读数接口模块
存储器的高速读数接口为并行数据接口。为了能够高速传输5m,采用将并行数据经串行编码器转换成LVDS形式的信号,为了传输到较远距离,采用高速驱动器将其转换成高电平差分信号传输。
(5)中央控模块
存储器收到开启信号后,顺序执行“擦除”和“开始记录”两个动作,单片机通过给Flash写擦除命令,然后逐块擦除。加地址后,为了判断Flash是否正常,要进行下一块的坏块判断。如果为坏块,则跳过该块擦除,防止以后无法识别该块是否为坏块。不是坏块则继续擦除,直到整片擦除完毕。进行记录就要判断写三个FIFO中的哪一个,这里要进行选择,选择的根据是FIFO芯片的半满标志位。FIFO可以进行编程,在4K内按照指定大小提供标志位改变,设计中采用先记录2k内容,然后进行判断标志位,在读取FIFO的时间内,写入的内容然保留在FIFO内,不至于导致FIFO满而数据丢失的现象。根据标志位知道具体是哪个FIFO满,因为速变的采样频率非常高,所以绝大部分都是速变FIFO满,程序设计的时候也选择优先满足速变FIFO数据的读取,这样更有利于合理分配时间资源。单片机控制数据从FIFO内读出,经过CPLD端口进入Flash。这过程中,单片机和CPLD同时控制Flash的使能,以及命令的写入,控制两片Flash的选择。不同的FIFO数据对应Flash内的不同地址部分,这样才能在最后读取处理数据的时候,将不同部分的数据分开,得到有用的参数。经过计算擦除时间大概为20s。
通过软件编程,使得固态存储器自带20ms的防干扰措施,即若启动存储信号脉宽小于20ms,系统将不启动记录,等待下一次启动存储信号到来。软件编程使得产品在上电后只能接收一次启动存储信号,若要想重新记录必须重新上电。以防止因为干扰重新启动,重新写入数据,导致数据被覆盖。固态存储器一次上电过程中,在记录过程中和记录结束后,不能擦除数据。同时,防止短时间内断电、上电,要求固态存储器在上电2s后才能接收、响应启动存储信号。单片机与CPLD配合如图3所示。
图3 单片机与CPLD配合控制
4关键技术
(1)可编程FIFO的使用
IDT72V241为可编程的FIFO,将4K量程编程为2K使用,这样当数据达到2K的时候就会来一个标志位,使得单片机可以识别,并进行从FIFO向Flash写的操作,这个过程中数据不会丢失,能够继续向FIFO中写入。由于读走的速度很快,所以实现了在记录数据的同时,将数据写入了存储设备,保证了数据的连续,不丢失数据点。
配置IDT72V241的可编程标志的时候要在RESET的时候,将编程控制位LDn置低,写使能WEN为低,使他们有效,然后连续输入4个字节,分别配置空补偿低8位(ELSB),空补偿高8位(EMSB),满补偿低8位(FLSB),满补偿高8位(FMSB)。图4给出了初始化FIFO补偿时序图。
图4 初始化FIFO补偿时序图
(2)将Flash划分为多区域使用
数据存储中,将数据分成不同的三个部分,通过改变存储地址,将不同的信号分别存入Flash的不同位置,这样可以根据读数的地址范围,知道自己要读取的是什么数据内容。图5 Flash分区域使用
调用同样的加地址函数,分别存取FIFO1、FIFO2和FIFO3的数据,将他们分别存储在不同区域。区域0x0000-0x7A0区域的就是存储速变参数的区域,因为采样速率比较快,所以需要占很大的Flash空间;区域0x07A0-0x07C0为缓变参数存储区域;0x07C0-0x0800是存储RS-422的数据空间。使用同一片Flash存储了不同参数,减少了Flash芯片的个数使用,简化了电路,
提高了可靠性。图5给出了Flash分区域使用。
5结束语
本文介绍的弹载固态存储器,能对多种传感器信号进行采集存储,并且采用模块化设计,本身具有体积小、自给供电、低功耗、通用性强等特点。能完成导弹发射前的状态在线实时监测和远程数据读取,并记录试验弹发射与飞行过程中的状态参数。该固态存储器已成功应用于弹射试验弹上数据测试中,经测试证明,该固态存储器工作正常,性能稳定,达到设计要求。
作者简介
敖妙(1983-)男硕士研究生,就读于中北大学,研究方向为动态测试与智能仪器。
参考文献
[1]秦龙.MSP430单片机C语言应用程序设计实例精讲[M].北京:电子工业出版社2006,257-265.
[2]沈建华.MSP430系列16位超低功耗单片机原理与应用[M].北京:清华大学出版社。2008:1-447.
[3]侯伯亨,顾新.VHDL硬件描述语言与数字逻辑电路设计[M].北京:清华大学出版社,2008:1-447.
[4]王玲,焦新泉,甄国涌等.弹载数据记录器的设计与应用[J].飞航导弹,2010(4).
[5]原彦飞,尤文斌,李新娥等.运用NAND闪存的负延时存储测试系统[J].仪器仪表学报,2006(6).
[6]黄默,龙腾.多路高速数据采集系统设计与实现[J].弹箭与制导学报,2004(4).
共0条 [查看全部] 网友评论