基于FPGA软核的参数可变的压力测试系统设计
扫描二维码
随时随地手机看文章
爆炸冲击波压力测试是对常规武器系统杀伤力评价的有效技术手段,可为武器的威力对比,性能评估提供重要的依据。为了获取整体信息,往往需要在测试现场布设数目较多的测试装置。由冲击波超压经验公式分析,超压峰值随着弹药的当量和测点距爆心的距离产生十分显著的变化。在实际测试中,要求测试系统根据实验对象和测试环境合理设置参数。传统的测试系统设计中,为了完成不同的测试任务,往往需要重新设计PCB电路。而设计新的系统不仅花费较大工作量和成本,并且开发周期长。另外,倘若测试系统需要完善和升级时,则难度较大。
本文根据不同环境下的冲击波压力测试需求,设计了可配置的FPGA软核,在硬件电路的基础上,通过移植可配置的软核,在较短的开发周期内,设计出测试参数可变的测试系统。解决了传统测试系统的开发周期长、成本高、电路可复用性差等问题。对测试系统进行了实验验证后,应用到静爆测试中,有效获得了压力数据。结果表明,系统具有很高的可靠性。
1 系统组成
由于测试环境恶劣并且爆炸存在极大的破坏性,极易造成测试系统的损坏。为了提高了系统的存活率和智能化,采用存储测试技术,将传感器及其调理电路、采集存储电路、电源等集成一体,构成一个可独立工作的微小系统。将其植入爆炸现场,完成冲击波信号采集与存储,实验完成后回收测试系统,由计算机回读数据并再现测试信息。测试系统总体组成如图1所示,硬件由ICP压力传感器、调理电路(程控放大器、运算放大器、低通滤波器)、AD转换器、FPGA、SDRAM存储器及USB芯片等组成。软件设计主要包括FPGA软核和上位机。上位机采用LabVIEW设计,具有良好的人机交互界面,实现测试参数设置与回读,数据读取与显示的功能。
本文研究重点是设计出满足不同测试环境下的压力测试系统可移植、可复用的软核。通过调用所需要的功能控制软核,配合周围电路,完成冲击波压力测试。
2 软核设计
FPGA具有可静态重复编程和可动态系统重构的优点,因此可通过编程来达到修改硬件功能的目的。软核设计是通过反复验证的、具有特殊功能的宏模块,可使这些编程数据进行移植和修改。只要对FPGA内部的逻辑模块和I/O模块进行配置后,即可实现相应的电路功能。同一FPGA输入配置好的软核,便可完成压力测试的逻辑功能。软核设计包括有:数据采集模块软核、参数设置模块软核、数据存储模块软核、USB通信模块软核。
2.1 数据采集模块软核
时钟是同步电路系统设计的关键,系统采用了数字时钟管理单元(DCM)管理和控制时钟信号,以提供优质的时钟信号源。由于每次实验准备的时间不同,而触发具有随机性,有可能在准备期间因现场干扰造成系统误触发,导致测试失败。为了提高系统可靠性和降低系统功耗,设计了定时和参数可变的功能。测试系统在现场布置好后,根据离弹药爆破时刻设置定时长度。在定时时间内系统处于低功耗模式并且只有内部计数器在工作,其他模块不工作。当定时结束后,唤醒系统,加载事先设置好的测试参数,进入待触发模式,等待冲击波信号的到来,完成数据的采集与存储。数据采集模块工作流程图如图2所示。
2.2 参数设置软核设计
冲击波超压随弹药当量和距爆心的距离变化而变化,实验前需根据布点的位置及测试对象,合理设置测试参数。主要包括:定时时长,触发电平、放大倍数、采样频率、存储长度、负延时。参数设置模块原理图如图3所示,可通过上位机利用USB接口设置参数。
首先设定了一个合理的触发电平值,当AD芯片采样所得的电平值大于预设值时,则满足触发条件,否则不触发。冲击波信号一旦到来,此时给采集控制模块一个信号以完成采集。然后根据测试环境预测测点的压力大小,以选择合理的放大倍数。模块提供了1M,2M等不同采样频率,以完成不同测试任务。为了实现能观测信号来之前的一段信息,设置了负延时,其大小决定了触发前存储的长度。另外,也可对数据存储长度进行设置。以容纳完整的信号为原则,对存储长度、负延时进行合理的设置,以确保冲击波压力信号的完整性和连续性。
2.3 数据存储软核设计
爆炸冲击波具有初值高、衰减快、持续时间短等特点,其测试是一个瞬态过程。为了有效地捕抓冲击波压力信号,选用PCB公司的ICP压电压力传感器,其响应时间小于1 us,同时存储器采用存取速度快的SDRAM。在AD采集完成后,不停地将数据循环存储到SDRAM中,同时原数据将会不断被新数据刷新覆盖,当达到设定的存储长度后会停止覆盖,以存储有用的数据。数据存储模块原理设计如图4所示。
2.4 USB通信模块软核及其时序仿真
测试系统与上位机的通信是系统设计的关键环节。USB总线具有传输速度快、即插即用等优点。但复杂的USB传输协议和驱动,很大程度上限制了系统的设计与开发。为此,USB芯片选用FT245R,其内部集成了USB协议,完成并行数据与串行数据的双向转换。系统的参数设置和数据读取是通过上位机完成的,上位机将相应的控制命令以串行数据存储在FT245R的内部接收FIFO中;而FPGA的回读信号和数据则以8位并行数据存储在发送FIFO中。通过通信模块软核控制FT245R,实现数据的传输。
为了验证通信软核功能的正确性,利用Modelsim SE对其进行了时序仿真,如图5所示。先进行读操作,图中高亮的data_usb的前4个bytes数据,表示上位机从FPGA中回读的4个参数;然后进行写操作,图中data_usb的中间4个bytes数据表示上位机对FPGA设置的4个参数;而data_usb的最后2个bytes数据则表示上位机设置的2个命令。从时序图可得,rxf和rd、txe和wr的时序,与FT245R芯片读时序和写时序完全相符,说明该模块设计正确,功能满足要求。
3 系统性能验证
为了验证采用软核设计压力测试系统的准确性和可靠性,进行了信号采集试验。首先利用Agilenl公司的33521A信号发生器,产生频率为1 kHz、幅值为2 V的正弦信号,如图6所示。然后设置测试系统的参数,具体包括放大倍数:1倍,触发电平:1172,采样频率:1 M,负延时:64 k,存储长度:1 M。设置完成后,测试系统对正弦波信号进行采集。利用上位机通过USB接口读取采集数据,并将数据及测试信息进行显示,如图7所示。
由图可知:正弦信号实际频率为1.000 0 kHz、幅值为2.018 V,而采集到的波形频率为0.999kHz、幅值为2.012 V,测试误差为0.297%,满足设计要求,验证了测试系统的准确性。另外,图7右下方回读的测试信息与之前设置的参数一致,进一步验证了参数设置功能的正确性。
4 弹药静爆试验
将20 kg的某裸装弹药架高1.5 m进行静爆实验,根据测试要求并尽可能保护测试系统,将设计好的2套测试系统分别埋设于在同一直线上距爆心7.5 m、15 m处。根据经验公式,计算的冲击波超压峰值理论值分别为0.148 3 MPa,0.038 8 MPa。设置好合理的参数后,让其均处于定时状态,实验人员安全撤离后按时进行爆破。实验完成后,回读数据。测试系统在7.5 m、15 m处测的冲击波超压峰值为0.139 2 MPa,0.034 3 MPa,接近理论值,实测压力曲线如图8所示。多次实验表明测试系统可靠、稳定。
5 结论
针对不同环境下的冲击波压力测试,设计了可配置的FPGA软核,实现对周围硬件电路的控制,完成了瞬态冲击波压力信号的采集。根据不同测试条件,可对软核进行重新配置,实现系统快速设计,提高了电路复用性。测试系统在多次实弹测试实验中得到了应用,其稳定性、可靠性得到了验证,并能有效获取数据。