开关脉冲式自毁指令的可靠传输设计

2021-11-13 08:24甄国涌陈晓锦王淑琴
电子器件 2021年5期
关键词:锂电池链路指令

甄国涌,陈晓锦,李 祎,王淑琴

(1.中北大学仪器科学与动态测试教育部重点实验室,山西 太原 030051;2.空军装备部驻太原地区军事代表室,山西 太原 030006)

数据自毁是飞行器实施安全控制的重要保障,一旦出现故障,便会造成国家机密的泄露,产生难以估量的损失[1]。某型自毁系统中采用开关脉冲信号作为自毁指令,在其实际传输和响应过程中,发现存在如下问题:(1)自毁状态下可能发生外部电源失效问题,导致自毁无法完成;(2)受到触发硬件的制造工艺或空间辐射的影响,接收端的指令特性并不像理想输入特性那么完美,容易叠入杂波发生畸变。因此,基于自毁的开关脉冲指令能否实现可靠传输已经成为研究的重点问题[2]。

鉴于此,分别从硬件和软件方面进行优化设计。对指令传输链路和备用锂电池组采用双冗余设计,以低功耗思想对电池电压监测电路以及自毁状态下主备电源切换进行设计与优化,解决了锂电池短期失效的问题。在逻辑判别中采用投票表决算法代替硬件消抖算法,尽可能地滤除干扰信号,保障了指令判别的准确性。

1 硬件可靠性设计

1.1 传输链路双冗余设计

在失控状态下,安控系统为及时止损需经指令传输链路向受控设备发出自毁指令。根据可靠性数学中可靠率的计算方法,用K和G来分别表示该指令传输的可靠率和故障率,则

引入如图1 所示的双冗余并联设计,为指令传输链路A增加结构相同且相对独立的B通道,将传输链路A、B的可靠率分别用K1和K2表示,根据式(1)得出故障率:

图1 双冗余传输链路图

此时,指令传输的可靠率为K=1-G1G2,若A、B链路传输的可靠率同为95%,故障率为5%,采用双冗余并联设计以后,传输可靠率就变为K=1-5%×5%=99.75%,由此将指令传输受阻的概率减小[3],保证指令的传输质量。

1.2 后备电源低功耗设计

锂电池作为外部电源失效时的后备电源是保障自毁完成的关键因素。结合表1 中锂电池相关参数及实际测试,分析可能影响自毁的潜在问题:

表1 锂电池相关参数

(1)受低温环境影响电池容量下降,导致自毁无法完成。

(2)长时间工作或长期贮存下电池失效[4],导致自毁无法完成。

针对以上问题,对以下硬件部分进行优化。

(1)将电池模块调整于电源模块正下方,由持续发热的电源模块为其提供一个相对较高的环境温度,弥补了低温下电池容量降低的问题。

(2)从锂电池组双备份和降低功耗的角度,解决锂电池失效所带来的安全问题。如图2 所示,设计A、B 两组锂电池互为备份,并在电池输出端设置二极管钳位电路,利用二极管正向导通压降稳定且低的特点实现锂电池组的最优选择。此外,为了缩短锂电池的工作时间,采用具有开关控制功能的线性稳压芯片MIC29302BT 配合整流二极管实现自毁判别后的主备电源切换功能[5]。

图2 主备切换原理图

MIC29302BT 使能端配置下拉电阻R1,常态下,自毁控制器FPGA 将其EN 端信号置0,关断MIC29302BT 使电池处于睡眠状态。当接收到自毁指令后,由FPGA 将EN 信号置1,使能MIC29302BT芯片,此时电压较高的一组电源回路所对应的二极管优先导通,而电压较低的锂电池输出则被钳制,此后当发生外部28 V 供电失效时则由优选的备用锂电池组维持自毁完成。因此通过灵活控制MIC29302BT 的开断功能可大幅度减少电池的工作时间,为自毁的完成提供保障。

如图3 所示,锂电池的静态漏电流来自电容漏电流i1、电压采集输入端漏电流i2、充电管理端漏电流i3及MIC29302BT 输入端静态漏电流i4,由此可通过降低静态功耗来预防锂电池长期贮存下引起的失效。

图3 锂电池管理示意图

根据反向二极管和运放跟随器高阻抗的特性,可按照式(4)、式(5)进行如下估算:

参考表1,令UBAT=7.4 V,而R1、R2按照充电芯片BQ24105 数据手册取标称值301 kΩ 和100 kΩ,即i2≈18.5 μA;而AD 采集前端则选择大阻值的分压电阻(R1=7.5 MΩ、R2=4.99 MΩ)代替小阻值电阻(R1=1.5 MΩ、R2=1 MΩ),将i3相对降低了2.341 μA。经实测,静态漏电流i1、i2、i3、i4分别稳定在7 μA、0.1 μA、0.72 μA、22 μA,因此锂电池的静态漏电流为7+0.1+0.72+22=29.82 μA,理论计算锂电池静态工作时间为640 mAh÷29.82 μA≈21 462 h,超过2 年,可满足正常的维护周期。

2 软件可靠性设计

根据任务需求,指令传输接口电路如图4 所示。其工作原理如下:

图4 指令传输接口电路

发送端由FPGA 控制引脚输出高电平(典型值3.3 V)保持200 ms 后恢复默认状态(低)来发出自毁指令。高电平作用下NPN 晶体管PN 结(UBE≈0.7 V)导通,经R8产生基极电流驱动晶体管饱和导通,集电极呈低电平,电磁继电器DS2Y-S 控制端经125 Ω 的线圈电阻产生40 mA 的驱动电流达到衔铁吸合动作值,200 ms 后继电器内部线圈失电衔铁释放。理论上,接收端将收到一个28 V 幅值、200 ms脉宽的开关脉冲信号,经光电耦合器(光耦)电平转换后为FPGA 接收引脚提供一个3.3 V 幅值、200 ms脉宽的开关脉冲信号作为自毁指令[6]。

2.1 指令误判分析

图5 为指令传输接口电路中FPGA 接收端A 点捕获的完整自毁指令波形,测量发现电磁继电器在吸合、释放瞬间存在接触抖动效应[7],即在触点实现完全接触和完全分离的过程中存在多次0 和1 的随机输入。为了进一步确定指令中干扰的特征,在A 点抓取十次波形图,并利用数据分析软件Origin对每次的关断抖动时间及最大毛刺脉宽进行统计分析,如图6 所示,触点闭合和断开的抖动时间最大值分别为1073.5 μs 和190.2 μs,其中,干扰脉冲的脉宽峰值为310.6 μs。

图5 自毁指令脉冲波形图

图6 抖动测试折线图

此外,指令在长距离传输过程中难免受到空间电磁辐射干扰串入杂波[8]。可以看出在200 ms 理论脉宽(低)中存在诸多的不确定性,故以增加脉宽的误差容限为手段,设计100 ms 的脉宽(低)为合格脉宽的判别条件。

2.2 指令判别逻辑设计

结合以上误判分析,拟定了两种解决方案:

方案1 在自毁(ZH)信号进入判决前用逻辑(FPGA 控制)对其进行消抖。参考图6 中干扰脉宽峰值,将尖峰宽度小于0.4 ms 的脉冲定义为干扰,设置一个0.4 ms 的计数器,一个按键信号ZH_reg(初值为1)用于输出消抖后的理想波形。系统在40 MHz 主频时钟下对ZH 信号进行采样,当214个周期内采样值均为逻辑0 时,认为触点完全接触,执行ZH_reg<=0(无抖动);当214个周期内采样值均为逻辑1 时,认为触点完全断开,执行ZH_reg<=1(无抖动)。考虑到冗余性,采用10 判8 的差额投票表决算法对消抖后信号的有效脉宽进行判别。

方案2 对接收到的ZH 信号采用先表决再计数的方法进行判别。设置0.9 ms 内低电平占用时间>=0.5 ms 的投票表决条件实现对ZH 信号的一级滤波处理;设置100 ms 的脉宽限制计数器对一级表决结果中连续“通过”的个数进行累计,即每隔1 ms采样一次,直至连续采到100 个有效表决结果则认为指令判决成功。

对比发现,方案1 中的消抖和方案2 中的一级投票表决均为指令判决前的滤波处理。从开启判别流程来看,消抖是以识别到0.4 ms 的连续低电平为条件,强调的是有效连续性,方案2 采用差额投票表决的容错技术[9],强调的是有效聚集性。显然,当携带杂波的自毁指令到来时,方案2 开启判别的门限更低,缓解了指令判别的延迟。此外,方案2 充分考虑了长线传输和恶劣背景噪声下的指令特征,在每段0.9 ms 的脉宽中融入了一定的误差容限,以更小的脉宽判别单位展开,可靠性更高。

以优选方案2 设计如图7、图8 所示的指令判别流程,并提出以下几点注意点:

图7 表决流程图

图8 判决流程图

(1)进程参考时钟的设计

在40 MHz 系统时钟下分别分频产生10 kHz 的Clk01ms 时钟和1 kHz 的Clk1ms 时钟。用Clk01ms控制对ZH 信号进行一级投票表决;用Clk1ms 控制对表决结果ZH_flg 的连续有效个数进行累计,决定自毁指令是否响应。

(2)亚稳态缓解分析

如图9 所示为异步传输下亚稳态响应示意图。tco和tnet分别为触发器Q 端输出相对于时钟沿和一级输出端Q 到达二级输入D 端的时间延迟。由于ZH 信号可在任意时刻发生翻转,当其翻转时刻出现在以时钟上升沿为参考的触发器建立时间ts和保持时间th内时,触发器Q 端便可能出现亚稳态现象[10],即触发器一时无法确定某一输出状态(‘0’或‘1’)需在tco的基础上增加一定的决断时间tres来确定一个稳定的输出状态,此时若直接对Q1进行判别就极可能发生亚稳态现象。

图9 亚稳态响应示意图

为预防受控FPGA 陷入失控的风险,在ZH 信号送入采样表决寄存器Vote_reg 之前,增加两级触发器级联对ZH 状态进行同步处理。从图9 可以看出只要满足tnet+tco+tres+ts≤Tclk01ms,Q1q便可以恢复至一个稳定的状态使得二级触发器Q 端呈现一稳定输出。

(3)9 判5 差额投票表决法

首先开辟一个9 位的寄存器Vote_reg()用于存储0.9 ms 内ZH 信号同步后的状态ZH_reg,其中Vote_reg(i)=‘0’表示有效。在Clk01ms 上升沿,ZH_reg 依次进入Vote_reg(i),同时计算Vote_reg(0 to 8)中Vote_reg(i)=‘0’的个数sum。当有效状态个数sum≥5 时,执行ZH_flg<=0,表示一级表决通过,即在0.9ms 的有效带宽内,9 个连续的ZH_reg状态中最多允许出现4 个无效状态。

(4)在Clk1ms 上升沿,监测表决标志ZH_flg,当投票寄存器Vote_reg(0 to 8)中首次存够5 个有效状态后(ZH_flg1<=0),判决流程正式开始,脉宽限制计数器ZH_cnt2 从0 开始计数。判别流程开始后,一旦在1 ms 的采样中发现0.9 ms 内低电平占用时间<0.5 ms 的情况(ZH_flg<=1),ZH_cnt2 清零判决流程自动结束并重新等待开启标志。直到发现一段100 ms 内ZH_flg 均有效的指令段,则认为指令有效。

3 测试与验证

3.1 仿真测试

为了验证判别逻辑的准确性和预期的容错能力,利用测试平台文件Test Bench 完成如图10 理论波形下的动态仿真测试[11]。首先依据指令特性划分抖动段和稳定段,然后以测试峰值和理论极限值为参考,以ZH 信号的采样时钟周期为差值对干扰脉宽进行如下设置:

图10 理论波形

抖动段:310 μs、210 μs、110 μs

平稳段:(400±100)μs/900 μs

平稳段测试激励是利用$random 函数在每个900 μs 中设置(400±100)μs 脉宽的干扰[12],具体代码如下:

测试时通过更改b 为300、400 来分别验证干扰脉宽为300 μs~400 μs 和400 μs~500 μs 情况下判别情况。

从图11 可以看出在ZH_D 在1 100 μs 的抖动段内时,没有满足9 判5 的表决条件,ZH_flg 始终为1,而在cursor 为1.550 1 ms 的时刻,ZH_flg 置为0,ZH_cnt 也由“00000000”变为“0000001”开始对有效脉宽进行计数,判决流程开启,直至ZH_cnt 计数达到“01100011”,ZH_state_q 由0 置1,指令判别成功。由此证明,该判别逻辑能够准确判别有效自毁指令,且能滤除900 μs 内400 μs 以下脉宽的干扰,具有一定的可靠性。此外,从图11 右侧的放大波形来看,表决成功的条件为 Vote _ reg ()=“101100100”,可以看出Vote_reg()中的5 个‘0’,有3 个是在抖动段累积的,所以进入稳定段后,仅需要继续存够两个‘0’,ZH_flg 便立即置1,可以证明方案2 开启判别的优势所在。

图11 300 μs~400 μs 脉宽干扰下的波形

从图12 可以看出,当干扰脉宽超出400 μs 时,ZH_flg 表现出一个不稳定的状态,直至200 ms 结束ZH_state_q 仍然为0。从图12 中放大波形来看400 μs~500μs 脉宽干扰下,ZH_flg 是否为1 取决于clk01ms 的有效采样个数是否恰好处于有效电平(0)内,因此,判决逻辑无法滤除900 μs 内400 μs以上脉宽的干扰,符合设计要求,验证成功。

图12 400 μs~500 μs 脉宽干扰下的部分波形

3.2 实验室测试

为了进一步验证本次设计的可靠性,采用上位机和测控台组成的测试系统模拟飞控系统进行测试。利用上位机控制测控台下发自毁指令,经72 m 的同轴电缆传入自毁响应模块。由上位机界面可以看出自毁指令下的状态返回情况,自毁指令下发后外部28 V 供电失效,由备用电源维持存储模块完成数据自毁,多次测试无误判现象,证明本方案设计的可靠性。

4 结论

结合实际应用背景,提供了较为实用可靠的主备电切换方案及详细的逻辑优化设计,通过增加判别的容错性及判别次数,有效保证了开关脉冲指令的传输质量以及响应速度。该设计有着较高的可靠性,目前已成功应用在某采编存储设备上,对于相同形式的紧急命令的传输设计有一定的参考价值。

猜你喜欢
锂电池链路指令
天空地一体化网络多中继链路自适应调度技术
ARINC661显控指令快速验证方法
基于数据包分割的多网络链路分流系统及方法
杀毒软件中指令虚拟机的脆弱性分析
充电电池到底该怎么带?——话说锂电池
一种多采样率EKF的锂电池SOC估计
中断与跳转操作对指令串的影响
一种基于滑窗的余度指令判别算法
基于3G的VPDN技术在高速公路备份链路中的应用
锂电池百篇论文点评(2014.6.1—2014.7.31)