强电磁脉冲对单片机系统的辐照效应实验研究
2008-12-31
作者:侯民胜 陈亚洲
摘 要: 为研究强电磁脉冲" title="电磁脉冲">电磁脉冲对单片机系统" title="单片机系统">单片机系统的辐照效应,在GTEM室内进行了辐照效应实验。实验表明,单片机系统在强电磁脉冲作用下,会出现“死机”、重启动、通讯出错和数据采集误差增大等现象。在实验基础上,对单片机系统的各种效应进行了深入研究。
关键词: 强电磁脉冲 单片机 辐照效应 电磁兼容
目前,电磁环境日趋恶劣,电子系统工作的可靠性和安全性受到了严重威胁。研究在复杂的电磁环境下,特别是在核电磁脉冲(NEMP)、雷电电磁脉冲(LEMP)和高功率微波(HPM)等强电磁环境下,电子系统的电磁兼容性问题显得尤为重要。为此,石家庄军械工程学院静电与电磁防护研究所申请了国防科技重点实验室基金项目:强电磁脉冲对电子设备的效应和防护技术研究。单片机系统的效应实验是其重要组成部分。为有效地进行单片机系统的效应实验研究,专门设计了用于强电磁脉冲效应实验的具有故障自动检测及显示功能的单片机系统,并将其运用于效应实验,对单片机系统在强电磁环境下的效应问题进行了深入研究。
1 强电磁脉冲对单片机系统效应实验的方法及配置
1.1 实验方法
强电磁脉冲对单片机系统效应实验采用辐照法,即将被试系统置于电磁脉冲辐射场中,研究其在电磁脉冲照射下,受干扰、损伤的情况[1]。
1.2 实验设备及对象
实验设备为吉赫横电磁波传输室(GTEM Cell)。本所的GTEM室采用崭新的结构设计,具有GHz的极宽频带,可模拟NEMP和LEMP辐射场,其结构示意图如图1所示。Marx发生器用来产生单个高压脉冲,脉冲前沿为数十ns量级,脉冲向负载传输过程中在GTEM室内产生均匀电磁场[2]。控制台用于各种操作和信号监测。
实验对象选用本文作者设计的专门用于强电磁脉冲效应实验的单片机系统。实验时,将其置于测试转台上,接受电磁脉冲辐照。该系统由CPU(8051)、EPROM、RAM、AD0809、锁存器" title="锁存器">锁存器、数码管和直流稳压电源等硬件电路组成。电路中的每个芯片既能完成一定功能,同时也是实验对象。系统软件由五部分组成:检查CTC运行情况模块、串口通讯功能检查模块、A/D" title="A/D">A/D转换电路检测模块、RAM内容检测模块、EPROM内容检测模块。
2 效应实验研究
本效应实验包括八部分:重启动效应实验、“死机” 效应实验、控制状态改变效应实验、A/D转换电路效应实验、串口通讯电路效应实验、读写存储器RAM效应实验、程序存储器EPROM效应实验、定时器CTC电路效应实验。
实验中没有发现芯片的硬损伤及EPROM内容的改变。其原因可能与电磁脉冲的强度以及脉宽、前后沿和频带等参数有关。
2.1 重启动效应实验研究
给单片机加电,按动“执行”开关K,使其工作于指示单片机重启动程序模块。按下控制台上的充电开关,充到一定数值后,按下停止开关,再按下放电开关,GTEM室中便产生单脉冲电磁辐射场。这就完成了对单片机的一次辐照实验,一般称为冲击实验(以下同)。冲击后,打开GTEM室,发现单片机发生了重启动。图2是单片机重启动时在RST脚上采集到的干扰信号" title="干扰信号">干扰信号波形。
fc=12MHz时,要使单片机可靠复位,需在RST脚出现不小于2个机器周期的高电平(2μs)。图2中,干扰信号的正负脉冲宽度都远小于2μs,似乎不满足复位条件。但该条件是可靠复位的条件,CPU 内的复位电路在每个机器周期的S5P2采样RST的状态,如果连续两次采样值都为高电平,则CPU同样进入复位状态。这就是频繁出现重启动现象的原因所在。
2.2 “死机”效应实验研究
按动开关K,使单片机工作于任一程序模块,对单片机进行冲击实验。实验中多次出现程序跳转和“死机”现象。程序跳转是指程序跳过一段指令后仍能正常运行。“死机”有两种表现:一是按动开关K,数码管显示内容无变化;二是按动开关K,数码管显示内容改变几次后不再发生变化。图3 是示波器上记录下的单片机“死机”时,脚上的干扰波形。
“死机”是指干扰使程序计数器内容改变,结果可能将一条指令的后半字节与下一条指令的前半字节当做一条指令来执行,从而使程序进入一个意想不到的死循环[4]。程序跳转不一定必然引起“死机”。当程序跳转到某条指令首字节时,一般不会引起“死机”,如实验中出现的程序跳转现象。实验中“死机”的第一种表现是干扰后程序已进入死循环;第二种表现是干扰后程序并未立即进入死循环,先停留在一条等待指令上,即:WAIT:JNB P1.0 WAIT,等待开关K的按下,按下开关K后,程序继续运行错误指令而进入死循环。此时执行的等待指令并不是正常的等待指令,而是由一条指令的后半字节与下一条指令的前半字节组合成的指令。
一般认为“死机”是由于干扰改变了程序计数器的PC值引起的。但通过实验,并根据单片机的读指时序图,我们认为还有两种可能造成“死机”:一是由于数据线上的干扰信号使CPU读入了错误的跳转指令;二是由于脚上的干扰信号(如图3)使CPU在非读指周期发生读指操作,读入了错误的跳转指令。
2.3 控制状态改变效应实验研究
单片机系统的控制信号一般由锁存器保存[5],因此,可通过研究锁存器输出数据的变化情况来研究控制状态的变化。该单片机系统中的数码管的数据是由四位锁存器74LS373保存的,数码管显示内容的变化可直观地反映锁存器输出状态的变化。
按动开关K,使单片机工作于任一程序模块,对单片机进行冲击实验。几乎每次冲击都能使数码管显示内容发生改变。由锁存器74LS373的时序图可知,ALE脚上脉冲的上升沿可将数据输入端的信号存入锁存器。在每次冲击实验中,ALE脚有很强的干扰信号,而每次数据输入端的干扰数据都不同,因此每次数码管的显示内容也都不同。
2.4 A/D转换电路效应实验研究
按动开关K,使单片机工作于A/D转换电路检测模块。A/D转换程序循环运行(提高A/D转换期间受冲击的概率),并随时显示转换结果的最大、最小值,在此期间进行冲击实验。
实验中发现转换结果的最大、最小值严重偏离正常值“8AH”(可调),最大值可达“FFH”(对应5V,满量程),最小值到“00”。其原因有三:(1)模拟输入端的输入信号上迭加有干扰信号(干扰脉冲峰值可达几十伏);(2)读转换结果时,数据线上的干扰信号使读入数据出错;(3)强干扰使AD0809的工作异常。实验表明,数据采集误差增大主要由前两个因素引起。
2.5 串行通讯电路效应实验研究
按动开关K,使单片机工作于串口通讯功能检查模块。这部分程序也是循环进行的(提高通讯期间受到冲击的概率),当发现接收数据与发送数据不符时,显示出错信息。在此期间进行冲击实验,图4是RXD脚上的正常波形和通讯出错时的干扰波形。
串口通讯出错的原因有两个:(1)干扰使CPU内的串口电路工作失误,从而使接收与发送不符;(2)RXD线上的干扰信号使串行数据发生混乱。图4中,RXD上有很强的干扰信号,而且低电平被展宽了3~4倍。这是通讯出错的主要原因。
2.6 读写存储器RAM效应实验研究
按动开关K,使单片机工作于RAM检测模块。该部分实验由三部分组成:(1)先在RAM的0000H~1FFFH单元写入数据(“AAH”、“55H”), 然后等待开关K按下,等待期间进行冲击实验。冲击完毕,按下开关K,判断RAM内容是否改变并显示数据改变的个数。(2)先进行循环写(提高写期间受到冲击的概率),在写期间进行冲击实验,冲击完毕,显示数据改变的个数。(3)先写入,然后循环读(提高读期间受到冲击的概率),在读期间进行冲击实验,并显示数据改变的个数。图5是循环读出现2个错误时,采集到的脚和脚上的干扰波形。
第一部分实验中RAM内容改变,是由于冲击期间发生了写操作。RAM芯片的脚、脚和数据线上都有很强的干扰信号,根据RAM写时序图,当脚和脚上同时出现低电平时,就可能发生写操作,将数据线上带有干扰的错误数据写入RAM。第二部分实验中RAM内容改变的原因有两个:(1)由于在两次写之间约有7~8μs的间隔,在此期间可能发生了不该发生的写操作,从而写入错误数据;(2)循环写时,将数据线上带有干扰的错误数据写入RAM。第三部分实验中RAM内容改变的原因也有两个:(1)两次读之间发生了不该发生的写操作,改写了RAM内容;(2)正常读时,将数据线上的错误数据读入CPU。从读写时序图及图5干扰波形来看,以上两种情况都有可能发生。但从实验结果看,第二种可能性较大,第一种可能性则很小。如果在两次读之间发生了不该发生的写操作,循环读时,累计数据改变的个数将使显示的值很大。但实际上,显示只有1~5。
2.7 定时器CTC电路效应实验研究
按动开关K,使单片机工作于检查CTC运行情况模块。在该模块中,设置定时器0工作于方式1,利用CTC中断服务程序,在P1.1口产生一方波信号使LED发光。主程序停留在等待开关K按下的指令上。在此期间对单片机进行冲击实验。
实验中有“死机”、重启动等现象发生。“死机”后CTC的状态有停止工作和正常工作两种。停止工作出现的原因有两个:(1)干扰使CTC停止计数,CTC不再产生中断;(2)程序跑飞时执行了禁止中断等指令。CTC仍能正常工作是因为程序虽进入死循环,但CTC仍在计数,计满后执行中断子程序(赋初值,P1.1口电位取反),使P1.1口输出正常波形。
每次实验在P1.1口采集到的波形与正常信号相比,其周期、脉宽等都有一定程度的变化。图6给出了P1.1口的正常波形和单片机重启动时的干扰波形。正常波形的正负脉冲宽度为35μs左右;而重启动时干扰脉冲所在的低电平只有15μs,干扰过后,P1.1口一直为高电平(复位时的状态)。
本文对单片机系统在强电磁脉冲辐照下的重启动、死机、通讯出错、改变控制状态和A/D转换误差增加等效应进行了研究。由于实验的不彻底性,还未能观察到硬损伤现象,对上述现象的解释也不够准确,有待进行深入的实验研究。
参考文献
1 申菊爱,黄文华.数字集成电路的高功率微波损伤效应[J].高功率微波技术,1999;1:15~20
2 王 莹. 高功率脉冲电源[M]. 北京:原子能出版社,1991:12~14
3 丁志刚,李刚民.单片微型计算机原理与应用[M].北京:电子工业出版社,1990:37~38
4 孔 蕙,徐国华.微机应用系统程序失控的若干防护措施[J].微型机与应用,1996;15(9):31~33
5 魏明,刘尚合.雷电电磁脉冲对数字电路的干扰机理研究[J].军械工程学院学报,2000;12(2):49~53