APP下载

静电放电引发嵌入式软件故障的等效实验预测方法

2018-03-04秦海潮

西北工业大学学报 2018年1期
关键词:开发板傅里叶频谱

秦海潮

(北京航空航天大学 电子信息工程学院, 北京 100191)

静电放电的过程能在数纳秒内产生数千伏的高压和几十安培的电流,并伴随强电磁场,对电子设备的正常运行是一种严重威胁[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上温度的变化。因此,考虑使用热成像法作为软件故障的监测手段之一。

图3 FLIR ONE热成像仪及其在实验中的应用

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

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

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开发板上监测的直流电压

监测的电压点电压波形下降沿时间/ns电压最低值/V电压恢复时间/μs1.38V(CPU)<50.9501.04V(CPU)<50.8301.78V(CPU)<50.751.38V(内存)<50.850

2.4 频谱观察法

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

图6 通过频谱分析仪对比TLP注入前后频谱的变化

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

2.5 快速短时傅里叶变换分析法

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

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

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

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

本例将观察频谱变化的方法应用于监测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 监测手段场景适用性

4 软件故障的预测方法

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

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

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

图10 注入TLP后软件故障发生前后短时傅里叶变换的结果

图11 待机状态下注入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

[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

[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

[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

[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

[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

[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]∥2011 33rd IEEE Electrical Overstress/Electrostatic Discharge Symposium, 2011: 1-5

[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

[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

猜你喜欢

开发板傅里叶频谱
一种用于深空探测的Chirp变换频谱分析仪设计与实现
法国数学家、物理学家傅里叶
基于STM32H7的FDCAN通信系统设计与实现∗
基于傅里叶域卷积表示的目标跟踪算法
浅析单片机开发板的设计与制作
频谱大师谈“频谱音乐”——法国作曲家缪哈伊访谈记
任意2~k点存储器结构傅里叶处理器
基于傅里叶变换的快速TAMVDR算法
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
遥感卫星动力学频谱规划