静电放电引发嵌入式软件故障的等效实验预测方法
秦海潮     
北京航空航天大学 电子信息工程学院, 北京 100191
摘要: 对于电子设备的正常运行,静电放电有时是一种严重威胁。目前,由静电放电造成的大多数硬件故障问题可以在产品设计阶段进行规避。但静电放电引发的嵌入式软件故障,因其偶发性、突发性、隐蔽性等特点,依然是一项业界难题。将目前发现的嵌入式软件故障进行分类,并提出了一系列软件故障的等效实验监测方法。通过方法探究和大量实验佐证,力图从这些监测方法中寻求静电放电引发嵌入式软件故障的等效实验预测方法。
关键词: 嵌入式软件测试     静电放电     实验设计     WiFi    

静电放电的过程能在数纳秒内产生数千伏的高压和几十安培的电流,并伴随强电磁场,对电子设备的正常运行是一种严重威胁[1]。静电放电产生的能量会通过辐射或传导的形式,沿着最低阻抗路径进行泄放。静电放电对电子设备造成的故障大致分为2种[2-6]

a) 模块损坏。该类故障为过压、过流或强电磁场引起的永久性故障;

b) 功能受扰。该类故障不对模块造成损坏,为临时性故障。这类故障又叫“软件故障”[6]

当静电放电的等级低于使硬件造成损坏的等级时,嵌入式软件故障可能就会出现。这些软件故障包括使电子设备关机、重启、应用软件故障或整个系统软件故障[7]

由于在产品的研发过程中,硬件的研发周期相对更长,而这类软件故障只有在搭载到硬件平台后才可能被发现。而且,由于静电放电引发的嵌入式软件故障(下简称软件故障)具有偶发性、突发性、隐蔽性等特点,少量的实验难以有效发现所有潜在的软件故障。同样棘手的是,在研发末期,解决这类问题更加耗时耗力,而且措施十分有限。严重的软件故障可能造成软件版本更新、硬件设计重来、产品推迟发布等风险。

因此,如果能在硬件平台尚未完全准备就绪之前就能够发现这些软件故障,这些问题将更容易解决。换言之,如果能够保证各模块不会因受静电放电的影响而产生软件故障,那么最终产品中出现类似问题的概率将大幅降低。现在的问题是,怎样在研发阶段预测最终产品的软件故障。

2015年,Charvaka和Harald探讨了软件故障的产生机理并给出了合理的设计建议[3]。此后,Thomson等人深入探究了ESD导致的系统级软件故障,包括应用软件故障的发生场景[4-5]、故障的复现性[6]和故障阈值的评估方法[7-8]。关于软件故障的预测方法,Schwingshackl等提出了全波仿真和暗室内测试等预测方法[7, 9-13]

本文应用了电压电流测量等常规方法,同时创新性地提出了将热成像分析法、快速短时傅里叶变换分析和声音辨别法应用于软件故障的预测中。笔者通过不同的实验方法,试图找到对应软件故障的指标变化和测试工具,并通过对比设备各功能模块运行状态下多种实验方法的测试结果,从中选取备选的软件故障预测方法。

在本文相关的测试中,使用1台传输线脉冲发生器[2](transmission line pulse generator, TLP)来实现静电放电的过程。TLP发出的短脉冲通过接触放电、电阻耦合、二极管耦合[4]或场耦合[5]的方式对受试品(Device Under Test, DUT)进行注入。笔者对多型号的数码相机、等离子电视机、智能手机、笔记本电脑和开发板等DUT进行了静电放电测试。根据实验现象,发现6种不同类型的软件故障:

a) 软件失控。比如有触控功能的DUT在TLP注入后从一个前台应用切换到另一个前台应用。

b) 应用软件崩溃。实验中仅应用软件瘫痪,系统软件正常运行。

c) 系统软件崩溃。TLP注入后整个系统软件崩溃,但系统供电正常。这类故障通常可以通过手动复位解除。

d) 显示错乱。对于一些带有显示屏的DUT来说,该类故障十分常见。比如,显示屏会显示蓝色或黑色条纹。

e) 系统掉电。TLP注入后DUT掉电关机。

f) 其他。比如瞬时闭锁。

目前,软件故障解决方案的主要瓶颈集中在a类和b类故障。将对以上各类故障举例示意,以方便读者深入了解。

2 软件故障监测手段 2.1 监测直流电流法

单个电源网络(power distribution network, PDN)中的电流变化理论上也可以作为一个监测指标,但因板上空间有限,多个PDN相互靠近,难有实际准确的监测方案。因此,可以用DUT供电线上的电流变化作为部分DUT软件故障的监测指标。

本例将监测直流电流法应用于监测高通公司的Dragon Board开发板。该开发板使用AM335x ARM Cortex-A8 CPU,搭载Linux操作系统。TLP充电电压为2 kV,使用小环天线进行注入。示波器型号为R & S RTO1024,相关设置为:①使用1 MΩ直流耦合;②使用100 kHz低通滤波器;③采样频率设为10 MSa/s;④触发方式为边沿触发,使用TLP为外部触发源;⑤不使用差值,仅采集原始时域数据。

一个实验细节值得提及、由于注入环天线与TLP间阻抗不匹配,可能在TLP和注入环天线间产生反射。可以通过在环天线端串接50 Ω电阻来削弱该反射。

实验配置如图 1所示。对于直流电流监测而言,需要为所有参试设备提供一个公共参考板。因此,选择在DUT电源线的回线上增加一颗1 Ω的电阻,通过监测电阻两端的电压值监测供电线上的电流值。为了降低电源适配器开关噪声潜在的影响,可在电源线上并接电容。同时,为了降低潜在的共模噪声,在示波器环天线引线上串接磁环。通过将注入环天线停放在DUT不同的位置,得到不同的软件故障,同时监测得到对应时刻的直流电流。

图 1 直流电流的监测实验设置,DUT为Beagle Bone Black开发板

图 2对比了DUT正常运行与TLP注入前后电源回线中直流电流的变化。TLP注入瞬间开发板指示灯熄灭,手动复位后,DUT能够恢复正常运行。此软件故障为f类故障。为方便观察,两次监测的结果在显示时稍稍错开。从图中可以看出,TLP注入后电流增加75%,同时电流波中的周期性脉动消失。在本实验中,监测电源回线中的直流电流可以作为软件故障的监测手段。

图 2 DUT正常运行与TLP注入前后2种场景下电源回线中的直流电流

此外,也可以使用I-prober来监测直流电流。其实现原理是通过监测电源线周围的磁场来监测线上的电流值。I-prober不止可以用于监测电源线的场合,也可以用于监测PCB中走线上的电流。由于两种监测手段原理一致,不再赘述。

2.2 热成像法

对于一些软件故障,发生前后会伴随PCB上温度的变化。因此,考虑使用热成像法作为软件故障的监测手段之一。

本例将热成像法应用于监测高通公司的Dragon Board开发板。该开发板使用APQ8060 CPU,搭载Android系统。TLP充电电压为3 kV,使用小环天线进行注入。实验中使用了FLIR ONE热成像仪。实验时,FLIR ONE需要与1台iPhone配合使用,其灵敏度为0.1 ℃。

图 3b)对比了DUT正常运行与TLP注入后的热成像图。TLP注入后触屏不能正常工作,但系统软件正常运行。重启后该故障消失。此软件故障为b类故障。当软件故障出现时,在触控IC处出现很明显的亮点,说明该处存在明显的温升。在本实验中,监测DUT的热成像可以作为软件故障的监测手段。

图 3 FLIR ONE热成像仪及其在实验中的应用
2.3 监测直流电压法

对于一些软件故障,发生前后会伴随PDN中电压的明显波动。因此,考虑使用测量直流电压的方法作为软件故障的监测手段之一。

本例将测量直流电压的方法应用于监测Beagle Bone Black开发板出现的软件故障。TLP充电电压为3.5 kV,同样使用小环天线的注入方式。

实验配置如图 4所示。

图 4 Beagle Bone Black开发板上监测直流电压的实验设置

首先,需要配合原理图在PCB上量取一些去耦电容的端电压,寻找不同的PDN。其后,在不同PDN的去耦电容两端焊接引线,使用多通道示波器同时测量TLP注入前后各PDN电压的变化。为了降低电源适配器开关噪声潜在的影响,可在电源线上并接电容。同时,为了降低潜在的共模噪声,在示波器通道引线上串接磁环。通过将注入环天线停放在DUT不同的位置,得到不同的软件故障,同时监测得到对应时刻各PDN上的电压变化。与前例相同,本例依然使用了小环天线进行注入,即场耦合的干扰方式。

图 5表 1对比了在Beagle Bone Black开发板上监测的4个直流电压。TLP注入后,开发板系统崩溃并随后复位。该类软件故障为c类故障。在本实验中,PCB上各PDN上的电压变化可以作为软件故障的监测手段。

图 5 Beagle Bone Black开发板上监测的直流电压
表 1 Beagle Bone Black开发板上监测的直流电压
监测的电压点 电压波形下降沿时间/ns 电压最低值/V 电压恢复时间/μs
1.38 V(CPU) < 5 0.9 50
1.04 V(CPU) < 5 0.8 30
1.78 V(CPU) < 5 0.7 5
1.38 V(内存) < 5 0.8 50
2.4 频谱观察法

受TLP影响后,一些DUT产生软件故障的同时,产生的异常信号包含某些高频分量。由于高频分量会向周围空间进行辐射,因此考虑使用另一个小环天线采集PCB周围空间的高频分量,并使用频率分析仪观察TLP注入瞬间,软件故障发生前后的频谱变化。

本例将观察频谱变化的方法应用于监测1台智能手机(型号:Xperia Arc)出现的软件故障。TLP通过电阻耦合的方式直接注入DUT的地平面。TLP注入后,整个系统崩溃,但手机供电正常。这是一个c类软件故障。监测环天线位于CPU上方,图 6给出了TLP注入前后的频谱变化,可以看出在1.6~1.7 GHz之间,DUT系统崩溃后频谱幅度明显下降。在本实验中,频谱观察法可以作为软件故障的监测手段。

图 6 通过频谱分析仪对比TLP注入前后频谱的变化
2.5 快速短时傅里叶变换分析法

由于使用频谱分析仪只能观测到毫秒级到秒级别的变化,需要功能更为强大的分析工具来捕捉微秒甚至纳秒级的变化,为此笔者提出了快速短时傅里叶变换分析法,并搭建了快速短时傅里叶变换分析平台。

图 7展示了笔者所开发的快速短时傅里叶变换分析平台。计算机与TLP通过串口进行通信,以发送脉冲波形、脉冲周期、脉冲触发等指令。PC与示波器(型号:安捷伦DSO 9404A)通过网口进行通信,以控制示波器各通道的采样频率、采样点数、触发方式等内容。TLP为示波器提供外部触发。计算机操控平台为用MATLAB GUI开发的在线分析软件。

图 7 快速短时傅里叶变换分析平台架构

快速短时傅里叶变换分析平台功能十分强大。它可以分析纳秒到毫秒级的时域信号,通过调节参数,可以同时在时域和频域都得到较高的分辨率。

本例将观察频谱变化的方法应用于监测Dragon Board开发板出现的软件故障。TLP通过小环天线的方式进行注入,注入环天线位于SD卡槽的上方。监测环天线位于CPU上方。DUT的工作状态为播放SD卡中的视频文件。TLP注入后,视频停止播放,并自动返回文件选择界面。系统软件运行正常。这是一个a类软件故障。图 8给出了TLP注入前后的频谱变化,可以看出在方框1内,一些频率分量显著减弱。在本实验中,快速短时傅里叶变换法可以作为软件故障的监测手段。

图 8 使用快速短时傅里叶变换法监测TLP注入前后频谱的变化
2.6 声音辨别法

有时高频范围的微小变化可能难以被测量仪器监测到,但可能通过将高频信号转换到听觉范围内,用耳听的方法来识别。这是一种软件故障评估的主观方法。

这里通过一个在Dragon Board开发板上发现的软件故障来演示声音辨别法。实验中,注入环天线位于WiFi/蓝牙IC上方,将开发板的工作状态设置为通过WiFi进行数据传输。TLP注入后,数据传输停止,但系统依然正常工作,因此这是一个b类软件故障。图 9是监测环天线采集到的时域信号。单从图上看,除了TLP注入信号和后面的反射信号,难以辨别TLP注入前后的变化。但通过将该高频信号转换到听觉范围内,可以辨别出TLP注入前后开发板系统的变化。该变化可以与WiFi模块的受扰现象相对应。在本实验中,声音辨别法可以作为软件故障的监测手段。

图 9 监测环天线采集到的时域信号
3 监测手段的适用性

上面一共提出了6种方法。本节将介绍每种方法的适用场景。从一定数量的实验中,可以初步得到软件故障类别与适用的探测方法之间的关系。总体来说,对于一个典型的DUT,并不是前面提出的每种监测手段都适用于软件故障的预测,甚至对于同一个DUT的不同工作状态而言同样不成立。

表 2总结了每种方法的适用场景。表 2基于笔者现有的实验。软件故障类别和可能有效的预测方法需要后续更为深入的分析研究。

表 2 监测手段场景适用性
监测手段 适用场景 受限条件
直流电流监测法-使用1Ω电阻 电流变化集中在低频,且幅度明显。如主要应用程序崩溃、系统闭锁等 适用频率范围仅为kHz级;不能探测到是系统的哪些模块导致电流变化
直流电流监测法-使用I-prober 可以监测PCB走线上mA级别的电流 适用频率范围为5 MHz以下
热成像法 可以快速定位板上电流变化较大的区域 无法提供电流变化的时域和频域信息;无法探测到0.1 ms以内的电流变化
直流电压监测法 可以探测到mV级别的电压变化 适用频率范围为数百kHz到数MHz;需要焊接引线
频谱分析法-使用频谱分析仪 监测ms或s级的变化 适用于探测ms~s级的变化;需要人员具备操控经验以发现TLP注入前后的频谱变化
频谱分析法-短时傅里叶变换 可以探测低至ns和μs级的变化 从示波器下载时域数据后在计算机进行短时傅里叶变换处理十分费时
声音辨别法 可能探测到监测仪器无法分辨的高频分量变化 分辨结果受限于主观因素判断

到目前为止,从大量实验中可以总结得到,快速短时傅里叶变换法是最强大的软件故障预测方法。

4 软件故障的预测方法

实验目的是探求软件故障的预测方法。如果针对某一类软件故障能够找到对应的预测方法,那么就有可能在产品设计阶段解决该类问题。

本节将演示什么样的软件故障监测手段可能成为预测方法。实验中使用快速短时傅里叶变换法作为监测手段。DUT是Dragon Board开发板。注入环天线位于WiFi/蓝牙IC上方,监测环天线位于SDRAM上方。DUT的工作状态为通过蓝牙传输文件。注入TLP后,蓝牙功能受扰,产生软件故障,对应现象为文件停止传输(b类故障)。随后人为重启开发板,并使其处于待机状态(不使用蓝牙功能),使用与前面实验相同的注入环天线和监测环天线,保持注入位置和监测位置不变并注入TLP。图 10显示TLP注入后软件故障发生前后快速短时傅里叶变换的结果。图 11显示DUT处于待机状态下注入TLP前后短时傅里叶变换的结果。

图 10 注入TLP后软件故障发生前后短时傅里叶变换的结果
图 11 待机状态下注入TLP前后短时傅里叶变换的结果

从本例中可以看出,无论蓝牙模块工作与否,快速短时傅里叶变换的方法都能够探测到TLP注入前后的变化。因此,快速短时傅里叶变换的方法可以用作预测软件故障的一个候选方法。

5 结论

根据实验现象对发现的嵌入式软件故障进行了分类,介绍了6种软件故障的监测手段,并讨论了每种方法的适用条件和使用限制。需要强调的是,针对不同类别的软件故障、同类别软件故障下不同的DUT甚至同一个DUT的不同的工作状态,监测手段都可能不同。所以,需要针对具体产品的具体工作状态进行单独实验和分析。后续,笔者着眼于发现更多的软件故障监测手段,并试图从中得到更多的软件故障预测方法。

参考文献
[1] Mark I Montrose, Edward M Nakauchi. Testing for EMC Compliance: Approaches and Techniques[M]. John Wiley & Sons, 2004: 93-94
[2] Iec61000-4-2, Testing and Measurement Techniques-Electrostatic Discharge Immunity Test[S]. Tc 77/Sc 77B-High Frequency Phenomena, 2008-12-09
[3] Charvaka Duvvury, Harald Gossner. Soft Failure Mechanisms and PCB Design Measures[M]. Wiley-IEEE Press, 2015: 424
[4] Thomson N A, Xiu Y, Rosenbaum E. Soft-Failures Induced by System-Level ESD[J]. IEEE Trans on Device and Materials Reliability, 2017, 17(1): 90-98. DOI:10.1109/TDMR.2017.2667712
[5] Vora S, Jiang R, Vasudevan S, et al. Application Level Investigation of System-Level Esd-Induced Soft Failures[C]//2016 38th IEEE Electrical Overstress/Electrostatic Discharge Symposium, 2016: 1-10 http://ieeexplore.ieee.org/abstract/document/7592565/
[6] Jin J H, Jeon C P, Kim J H, et al. The Reproducibility Improving Method of Systemlevel ESD Test Through Operating Program Workload Analysis[C]//URSI Asia-Pacific Radio Science Conference, 2016: 921-924 http://ieeexplore.ieee.org/abstract/document/7601323/
[7] Schwingshackl T, Orr B, Willemen J, et al. Powered System-Level Conductive TLP Probing Method for ESD/EMI Hard Fail and Soft Fail Threshold Evaluation[C]//2013 35th IEEE Overstress/Electrostatic Discharge Symposium, 2013: 1-8
[8] Lim J, Lee J, Seol B, et al. The Evaluation Method for ESD Immunity of Components in Terms of Software Error[C]//EMC Europe, 2011: 468-471 http://ieeexplore.ieee.org/abstract/document/6078617/
[9] Yang S, Orr B, Guo Y, et al. Measurement Techniques to Predict the Soft Failure Susceptibility of an IC without the Aid of a Complete Software Stack[C]//2016 IEEE International Symposium on Electromagnetic Compatibility, 2016: 41-45 http://ieeexplore.ieee.org/abstract/document/7571597/
[10] Antong R, Low D, Pommerenke D, et al. Prediction of Electrostatic Discharge(ESD) Software Error on Two-Way Radio Using ESD Simulation in CST and ESD Immunity Scanning Technique[C]//2014 36th IEEE Electronics Manufacturing Technology Symposium, 2014: 1-10 http://ieeexplore.ieee.org/abstract/document/7123098/
[11] Lee J, Lim J, Jo C, et al. A Study of a Measurement and Simulation Method on ESD Noise Causing Soft-Errors by Disturbing Signals[C]//20113 3rd IEEE Electrical Overstress/Electrostatic Discharge Symposium, 2011: 1-5 http://ieeexplore.ieee.org/abstract/document/6045600/
[12] Lee J, Lim J, Seol B, et al. A Novel Method for ESD Software Error Analysis on Integrated Circuits Using a Tem Cell[C]//2012 34th IEEE Electrical Overstress/Electrostatic Discharge Symposium, 2012: 1-6 http://ieeexplore.ieee.org/abstract/document/6333316/
[13] Lim Jaedeok, Lee Jongsung, Seol B, et al. The Quantitative Approach of EM-Field to Correlate Components and Products in Terms of Esd Software Error[C]//2013 International Symposium on Electromagnetic Compatibility, 2013: 916-919 http://ieeexplore.ieee.org/abstract/document/6653432/
Equivalent Experiments Based Prediction Methods for Embedded Software Error due to Electrostatic Discharge
Qin Haichao     
School of Electronic and Information Engineering, Beihang University, Beijing 100191, China
Abstract: Electrostatic discharge (ESD) related embedded software error is a critical issue for electronic products and is hard to discover in the early stage of product development. This paper categorizes different embedded software errors at first, and then presents several detection methods to find precursors of these software errors. By discussing the methodology, the applicability of each method is given, in terms of application scenarios and limitations.
Key words: embedded software testing     electro-static discharge     design of experiments     WiFi    
西北工业大学主办。
0

文章信息

秦海潮
Qin Haichao
静电放电引发嵌入式软件故障的等效实验预测方法
Equivalent Experiments Based Prediction Methods for Embedded Software Error due to Electrostatic Discharge
西北工业大学学报, 2018, 36(1): 195-202.
Journal of Northwestern Polytechnical University, 2018, 36(1): 195-202.

文章历史

收稿日期: 2017-04-12

相关文章

工作空间