0 引 言
目标靶毁伤参数测试是评价武器系统性能的有效手段, 武器系统在研制、 改进、 定型以及验收等环节均需要进行毁伤参数测试, 以评估武器系统对预定目标的摧毁程度
[1‐2]。武器毁伤威力主要来源于爆炸产生的高温、 破片以及冲击波, 其中爆炸冲击波作为爆炸毁伤在中远距离上的主要伤害来源是毁伤威力测试的重中之重
[3]。因此, 对冲击波超压的精准测量有助于改善武器火力打击能力, 保证武器系统的可靠性, 发挥武器系统技战术性能。
目前, 实现冲击波超压测试主要采用国外主控芯片实现动态测试存储。翟永
[4]基于Microchip公司16F877A型ARM微处理器和Xilinx公司XCR3128型复杂可编程逻辑器件(Complex Programmable Logic Device, CPLD)架构, 将GPS技术引入冲击波存储测试中, 统一了分布式测试中各测试系统之间的时间基准, 解决了分布式测试中时间不同步问题。韩峰
[5]于2018年采用Xilinx公司Spartan-6系列芯片提出了冲击波存储测试系统多参数程控技术, 提高了存储测试系统的灵活性。李冒金等
[6]于2022年采用Xilinx公司ZYNQ-7000系列芯片设计了适用于动爆冲击波超压测试场合的测试系统, 为大威力新型压制型武器的动态毁伤评估提供理论支撑。冲击波超压测试技术通过不断的发展与完善已日益成熟
[7], 但绝大多数系统均基于国外主控芯片开发, 存在核心部件自主化低, 进口依赖性高, 安全性差等问题
[8]。因此, 在关键领域打造安全自主可控的国产化替代产品显得尤为重要。
针对上述问题, 本文设计了基于国产化平台的冲击波超压测试系统, 该系统的硬件架构及软件逻辑的实现均基于国产芯片, 设备能够实现对复杂工作环境下弹丸冲击波超压数据进行实时采集、 存储与传输, 在确保测试系统性能的前提下, 为动态数据采集提供了一种切实可行的解决方案, 是对关键测试设备的一次良好的国产化设计实践。
1 总体方案设计
冲击波超压测试系统主要用于在常规毁伤武器目标靶毁伤参数测试过程中对冲击波信号的采集、 存储、 实时数据处理反馈, 并在测试结束后将测量数据通过上位机进行显示, 实现连续冲击波毁伤威力测试及毁伤参数数据积累
[9-10]。系统总体设计结构框图如
图 1 所示。
系统总体架构以紫光同创公司的PGC7KD型CPLD和兆易创新公司的GD32F4070ZIT6型ARM为核心进行设计。其中CPLD作为采集逻辑核心不仅控制ADC采集由ICP型传感器调理电路转换输出的电压信号, 还通过EXMC总线接收由ARM主控单元发送的特殊指令, 将指令解析后进行触发信号检测。未触发时, 系统以低采样率进行工作, 数据通过SDIO接口传输至eMMC中进行负延时循环存储。当CPLD控制电路采集到触发检测逻辑输出的内/外触发信号时, 控制A/D转换电路进行高速采集, 从而完整地采集超压信号
[11]。ARM微处理器作为整个系统的控制核心, 用于实现eMMC采样数据存储、 以太网UDP协议
[12]数据通信等功能。数据经EXMC总线传输至eMMC存储单元中, 通过UDP(User Datagram Protocol)通信模块实现了与上位机的数据与信息交互。最终完成对冲击波超压信号的图形化实时显示。
2 CPLD设计
本设计选用紫光同创Compact系列PGC7KD_LPG144型CPLD产品作为主控芯片。相较于其他采样控制方案, CPLD更适合完成逻辑控制, 此举不仅节省了大量诸如LUTs、 寄存器、 时钟和布线资源等, 提升了产品的拓展性与兼容性, 还具有低功耗、 低延迟、 高速率等特点, 广泛应用于消费电子、 通信、 汽车电子、 数字电视等领域。PGC7KD_LPG144型芯片采用尺寸为22 mm×22 mm的微型封装工艺, 逻辑资源数可达7 104个等效LUT4, 其中还包括9 KB存储空间的DRM(Data Resource Management), 多样的片上时钟资源以及144个多功能的用户I/O资源, 同时集成了SPI, I2C和定时器/计数器等硬核。综合考虑, 选择该型号CPLD不仅满足系统实际设计需求, 还能有效节约成本, 减小系统体积。
CPLD在整个系统设计中起到桥接作用, 不仅要对经AD模块转换出的数字信号进行处理、 反馈, 还需要通过EXMC外设接口将数据传输至ARM主控板, 并对ARM下达的指令进行解析, 从而实现对AD转换器、 内外触发以及数据传输相应逻辑控制, CPLD内部功能模块划分如
图 2 所示。
CPLD逻辑设计由AD控制器、 EXMC解码器、 内外触发控制器、 状态控制器以及由IP核构建的4 KB简单双端口DRM构成。系统上电时, 触发阈值及条件通过EXMC解码器写入内外触发控制器对应的寄存器中, 当收到采样指令后, AD控制器依时序控制ADC外设进行数据的采集转换, 数据存储到双端口DRM中的同时与内外触发控制器中设定的阈值进行比较, 若触发发生, 触发控制器会将当前AD控制器所给的DRM存储位置记录并写入状态控制器中对应寄存器中, 同时反馈给AD控制器, 改变ADC的采样速率, 直至达到该轮采样最大次数或触发消失。
AD控制器每轮对双端口DRM的读写都会告知内/外触发控制器所读写的位置, 对于2 K存储区域, 该值的最大值为127, 当触发控制器检测到AD控制器所给的值为127时, 说明此时2 K数据区域已存满, 触发控制器会给状态控制器相应寄存器特定位置写固定值, 当状态控制器检测到寄存器中特定值发生改变时, 会给出一个特定脉宽的脉冲信号, 该信号会被单片机中断引脚所捕获, 用于产生中断告知单片机读取第一块数据, 与此同时CPLD开始对第2个区域执行写入操作。
3 EXMC接口逻辑设计
CPLD控制板与ARM主控板间数据传输通过GD32F407内置的外部存储控制器EXMC实现。GD32系列微控制器可通过EXMC接口将AMBA协议转换为专用的片外存储器通信协议, 以此访问包括SRAM、 ROM、 NOR Flash、 NAND Flash、 PC Card和SDRAM等各种片外存储器。同时, 用户还可以调整相关的时间参数来提高通信效率。EXMC的结构框架如
图 3 所示, 其访问空间被划分为多个Bank(块), 每个块支持特定的存储器类型。CPLD与ARM进行通讯时, CPLD被视为BANK1中的一段内存, 通过扩展出的数据/地址/控制/三总线来实现数据读写操作。
EXMC接口时序配置为异步访问时序, 通过地址映射技术对数据传输地址进行编码, 无需软件来模拟外部存储芯片的读写时序, 使得CPLD实现对数据的读写操作和对内存数据直接操作同样便捷, 其对应的读写时序如
图 4 和
图 5 所示。
4 ARM设计
ARM控制芯片选用兆易创新公司的32位高性能ARM Cortex-M4系列单片机GD32F407。该型单片机最大主频168 MHz, 具有SDIO、 USB、 SPI、 CAN、 10M/100M快速以太网媒体存取控制和通用定时器等丰富的接口与外设资源, 更为关键的是其内部提供了完整的DSP指令集, 具有并行计算能力和专用的浮点运算单元(FPU)。内核访问闪存高速零等待, 最高主频下的工作性能可达210 DMIPS, 同主频下的代码执行效率相比市场同类Cortex-M4产品提高10%~20%, 并已全面超越Cortex-M3产品, 性能提升超过40%。该型ARM不仅有着较高的安全防护等级, 还具备丰富的外设资源, 足以支持系统设计需求。
在冲击波超压测试中, 先将信号采集设备布放在测试点, 然后进行弹药装填等后续操作, 等一切准备就绪后进行超压测试。针对上述应用场景, 设计了采集设备对应的运行状态机, 使装置在测试过程中状态可控、 稳定。状态机具体运行流程如
图 6 所示, ARM主控固件编写将依据该状态机流程进行。
依照状态机运行流程, 装置上电后, 首先开启自检功能, 若自检不通过, 装备进入故障态, 该状态表示设备出现故障, 需操作人员通过上位机核对装置状态, 如果故障不影响后续测试环节, 上位机可发送核检通过指令, 收到指令后装置进入准备态; 在准备态, 上位机可通过以太网接口读取装置信息、 下发配置指令和读取历史测试数据; 配置读数态为装置读取数据的过渡状态, 该状态的持续时间与指令响应时间成正比, 装置可多次进入该状态; 上位机下发系统启动指令后, 装置进入负延迟状态, 开始低速采集信号并检测触发信号来实现采集过程, 为保证采集信号的完整性, 负延迟阶段的采集数据也需进行存储; 检测到触发信号后, 系统立刻进入信号采集态, 系统全速采集并在该状态记录触发时间标识后关闭以太网等系统外设, 采集固定时长的数据后进入准备态等待下次指令。
单片机GD32F470作为系统控制器用于实现上述流程, 但在流程中部分功能实时性较强且存在相互耦合情况, 仅仅依靠裸机编程实现起来相当困难, 所以, 采取向单片机裸机工程移植实时操作系统的方法来加强系统运行的实时性和提高代码执行效率, 设计中选用国产嵌入式实时操作系统RT-Thread。在使用实时操作系统的基础上进行编写代码时, 按照代码实现功能, 对代码逻辑层次进行划分, 具体划分如
图 7 所示。
固件代码以标准库函数以及LwIP驱动的硬件资源为基础, 在此之上进行RT-Thread Nano实时操作系统的移植, 之后通过调用信号量、 邮箱和线程等RT-Thread内核资源实现高性能算法和状态机流程管理。为了实现状态机流转并稳定运行, 在状态机流程管理层创建状态机控制、 UDP通讯、 CPLD控制和eMMC写入等线程, 通过给不同线程分配不同优先级和线程间信号量同步的方法实现线程稳定运行, 进而实现状态机运转功能。在此过程中, 状态机控制线程优先级最高, 原则上优先级越高的线程占用CPU的时间越短, 优先级高的线程可以管理优先级低的线程, 进行线程创建和删除操作。
5 系统测试
5.1 CPLD逻辑功能测试
使用国产开发环境Pango完成芯片的逻辑编写并通过Modelsim进行联合时序功能仿真, 分别对触发逻辑以及ADC变速采样逻辑进行仿真验证。
系统触发逻辑包含内触发以及外触发两种触发方式, 在内触发测试中, 将触发阈值设置为超正量程60%触发, 仿真结果如
图 8 所示。根据设置条件及设计逻辑, ICP型信号调理电路输出0.95~4.05 V的电压范围, 理论上ADC转换数据>0x57d0(阈值上限)或<0x2832(阈值下限)时, 产生内触发信号。从仿真结果图中可知, 当输入量为0x64b0以及0x232a时, 满足上述触发范围, 图中其他数据未超过阈值的上下限, 未产生触发信号。仿真证明系统能够完成内触发逻辑。
系统外触发分为上升沿和下降沿两种触发方式。在外触发测试中, 内部逻辑将同时产生上升沿和下降沿标志信号, 再对比当前设置从而输出所需模式的外触发信号。 外触发上升沿模式仿真结果如
图 9 所示, 外触发下降沿仿真结果如
图 10 所示。
CPLD通过内部计数器分频实现ADC变采样速率的控制, 测试使用示波器抓取触发前后CPLD相应输出引脚上的脉冲信号, 其显示的频率为脉冲信号频率的一半, 可通过该频率判断ADC此刻的采样速率及变换情况。测试结果如
图 11 所示。从示波器结果可以看出, 触发前后示波器显示的频率值分别为50 kHz和500 kHz, 对应ADC采样速率为100 kHz和1 MHz。测试结果表明系统能够实现待触发态低速采样, 触发后变高速采样的逻辑功能, 且满足1 MHz高速采样的设计目标。
5.2 整体功能测试
为验证设计系统功能的可靠性, 进行某型号车载火炮炮口冲击波超压测试试验。本次测试中火炮装药量为42.7 g, 水平射击靶板。布置时将113B21型PCB动态压力传感器置入钢制外壳构成测量节点, 为保证测试可靠性, 选取2个节点为一组的并行放置方式进行试验, 共 4 组节点, 每组节点间采用直线测点布设法。第一组节点距爆心2 m, 其余各组间距1 m依次放置, 现场布设示意图如
图 12 所示。布设完毕后, 测量节点通过传输线缆与设备进行连接。
图 13 所示为理想情况下空气中爆炸冲击波超压曲线, 整个冲击过程分为正压区和负压区两个阶段, 正压区内, 由于冲击波的作用, 被测物体表面压力值在微秒内急剧升高, 并随着空气冲击波的扩散迅速衰减, 形成毫秒量级的正压区, 在此之后继续衰减形成负压区, 与正压区相比, 负压区作用时间相对较长, 整个压力衰减过程呈指数衰减。
将每组节点中有效节点的数据经Matlab分析处理, 如
图 14 所示。从图中可以看出, 测试系统可完整记录冲击波超压数据, 各节点采集到的冲击波超压数据峰值处于同一量级, 数据绘制成的曲线满足上述理想情况下冲击波超压曲线特征
[13]。将测试系统采集到的信号与标准高带宽存储器(High Bandwidth Memory, HBM)采集设备采集到的信号对比
[14], 信号变换规律基本相同, 从而验证了采集数据的准确性。此外, 随节点距爆心距离的不断增加, 爆炸冲击波的测试峰值逐渐减小, 且每组数据包含多个峰值, 符合冲击波传播规律。
为验证测试系统的稳定性及可靠性, 进行了同药量下连续5次现场测试试验, 各节点试验结果如
表 1 所示。
通过
表 1 数据可知, 在连续采集过程中, 系统能够正常工作, 且采集到的数据中均为有效数据。5次超压峰值间最大误差<0.01 MPa, 每次测试中峰值随距离衰减规律相同。通过冲击波超压测试系统现场测试波形以及多次超压峰值对比结果可知: 冲击波超压测试系统采集结果准确, 符合设计要求, 验证了设计系统采集的准确性以及可靠性。
6 结 论
本文设计了基于国产化平台的冲击波超压测试系统, 系统以紫光同创CPLD和兆易创新GD32F407为核心架构, 采用模块化设计思路, 整体工作状态流程由ARM控制, CPLD完成对ADC转换数据的并行采集及触发逻辑控制, 数据经EXMC传输至eMMC存储单元中, 通过以太网UDP协议将数据上传至上位机完成可视化显示。经测试, 系统能够完成最高1 MHz采样频率的数据采集, 并能满足负延时采集以及多重触发等关键功能, 满足冲击波超压测试需求, 有效解决了关键设备自主可控问题, 在确保方案可行的前提下大大提高了安全性, 提供了一种基于国产芯片控制系统的可行性方案, 对芯片国产化的推动有着积极的意义。
国家自然科学基金资助项目(62101513)