列表
00:00
/
00:00
l
r
  中国测试  2019, Vol. 45 Issue (1): 115-120

文章信息

王志国, 孟令军, 张皓威, 张敏
WANG Zhiguo, MENG Lingjun, ZHANG Haowei, ZHANG Min
一种FPGA的SEU效应测试方法研究
Study on a test method of FPGA SEU effect
中国测试, 2019, 45(1): 115-120
CHINA MEASUREMENT & TEST, 2019, 45(1): 115-120
http://dx.doi.org/10.11857/j.issn.1674-5124.2018030010

文章历史

收稿日期: 2018-03-04
收到修改稿日期: 2018-04-02
一种FPGA的SEU效应测试方法研究
王志国 , 孟令军 , 张皓威 , 张敏     
中北大学仪器与电子学院,山西 太原 030051
摘要:为对FPGA在低空环境下受高能粒子辐射而产生的单粒子翻转(SEU)进行失效统计,设计一种便携式实时FPGA的SEU效应测试系统。该系统采用FPGA作为主控模块,以树莓派作为上位机,通过长距离低压差分信号线远程连接到被测FPGA进行测试。上位机接收测试结果存储至SD卡,并实时显示到车载显示器,以供测试人员即时了解测试情况。经过在青藏高原实地测试,获得大量的现场数据。对测试结果进行分析,得到的大气中子剂量与FPGA的SEU事件概率之间的数值关系与预期一致。测试结果表明该便携式实时测试系统科学有效,可为低空飞行器的FPGA选型提供一定参考。
关键词FPGA    低空环境    单粒子翻转    树莓派    低压差分信号    
Study on a test method of FPGA SEU effect
WANG Zhiguo , MENG Lingjun , ZHANG Haowei , ZHANG Min     
School of Instrument and Electronics, North University of China, Taiyuan 030051, China
Abstract: In order to perform the failure statistics of single event upset (SEU) on FPGA generated by high-energy particles radiation in a low altitude space, thus a portable and real-time FPGA SEU effect test system was designed. This system (which uses FPGA as the main control module, and Raspberry Pi as the upper computer) for testing remotely connects to the tested FPGA through a long-distance low voltage differential signal line. The test result was received by upper computer and then stored in the SD card, then displayed on vehicle screen so that the tester can know it in real time. After testing in the Qinghai-Tibet Plateau, a lot of field data was obtained. The relation between atmospheric neutron dose and the statistics of FPGA SEU events is consistent with the expectation after analyzing the test results. The test result shows that portable real-time FPGA SEU test system is scientific and effective, which provides some reference for FPGA selection of low altitude aircraft.
Key words: FPGA     low altitude     single event upset     Raspberry Pi     LVDS    
0 引 言

由于FPGA具有容量大、速度快、稳定性好、并行数据处理能力强以及开发成本低周期短的特点,被广泛应用于航空宇航领域的控制与信号处理[1]。目前绝大多数FPGA属于SRAM型逻辑块阵列,是一种易失性存储器件[2],尤其是集成电路工艺达到了微米、纳米级别,FPGA的内核电压降低、门数剧增[3],单粒子翻转(single event upset,SEU)、单粒子功能中断(single event function interrupt, SEFI)和单粒子瞬态脉冲(single event transient,SET)等一系列单粒子效应发生的可能性大大增加[4]。其中,SEU是最常见的FPGA单粒子故障,当空间各类粒子(如质子、中子、α粒子等)对FPGA产生辐射,很容易发生SEU,从而使FPGA功能紊乱甚至失效,对飞行器造成不可预估的影响和损害[5]。因此,国内外许多研究机构对FPGA的SEU效应进行了研究。

现在,对于FPGA的SEU效应的测试方法主要有分析模型法、故障注入法以及现场错误数据分析法[6]。分析模型法主要针对小型电路系统,且其计算复杂,耗费人力;故障注入法是人为引入故障测试FPGA,但仍然与真实环境有差别;现场错误数据分析法目前主要是针对航天领域的FPGA测试,我国的航天某研究所与高校都曾做过实验,将测试设备带入太空,可以获得真实有效的数据。

本测试系统采用的是现场错误数据分析法,主要对低空飞行器机载FPGA进行SEU测试。与航天部门的实验相比,本测试系统具有成本低、测试周期短、灵活性强、算法复杂度小的特点。本文选择我国青藏高原地区进行地面测试,青藏高原海拔在3 000~5 000 m(测试点及其海拔高度分布如表1所示),大气稀薄,空间辐射大,可以很好地模拟低空环境。

表 1 测试地点经纬度及海拔
地点 经度 纬度 海拔/m
西宁 东经101°77′ 北纬36°62′ 2 261
青海湖 东经100°30′ 北纬36°34′ 3 196
格尔木 东经94°89′ 北纬36°42′ 2 780
拉萨 东经91°06′ 北纬29°36′ 3 650
羊卓雍错 东经90°06′ 北纬29°00′ 4 450
纳木错 东经90°29′ 北纬30°33′ 4 760

1 系统组成与测试原理 1.1 系统组成

该测试系统主要包括:树莓派(Raspberry Pi)上位机与测试台模块,FPGA主控模块,被测FPGA模块,中子探测仪以及GPS模块。系统整体组成如图1所示。

图 1 SEU测试系统组成图

树莓派上位机采用Python语言编程[7],用于实时存储与显示单粒子翻转现象的测试结果;FPGA主控模块作为被测FPGA的信号源,完成测试数据回读,与原数据对比得出结果并经过LVDS线[8]上传到上位机;中子探测仪实时获取测试点大气中中子剂量,将中子检测结果传输到主控FPGA,由主控FPGA编帧发送到上位机存储,以此作为判断大气粒子实时剂量的参考值;GPS模块实时获取测试点的经纬度信息、年月日时分秒信息,同时为系统提供秒脉冲(PPS)信号,将其作为数据采集存储基准触发时钟。

1.2 测试原理

1.2.1 SEU效应原理

本文设计的测试系统,主要测试SRAM型FPGA的单粒子翻转效应。SRAM型FPGA编程功能是依靠无数个SRAM存储单元存放的数值(“0”或“1”)[9],本文测试的两款FPGA分别为Cyclone II代(EP2C8T114I8)和Cyclone III代产品(EP3C5E144C7),均为SRAM型FPGA。前者存储单元数为16万余个,后者总的存储单元数为42万余个。这两个型号的FPGA均为实验室常用型号,属于中低集成度的常用芯片。图2是典型的6T (6管) SRAM存储单元结构示意图。

图 2 6T-SRAM储存单元结构示意图

M1与M2组成一个CMOS反相器a,其中M1的G端(栅极)与M2的G端连结为输入(in,与图中的“Q”相连),M1的S端(源极)接GND,M2的S端接Vcc,M1的D端(漏极)与M2的D端连结作为输出(out,与图中的“Q非”相连)。M3与M4组成一个CMOS反相器b,由CMOS反相器a、b交叉耦合组成锁存器[10]。根据CMOS管的通断可以判断SRAM的输出值,具体对应关系如表2所示。

表 2 M1、M2、M3、M4的通断对应的Q值1)
编号 类型 通断 Q
M1、M3 NMOS 1
0
M2、M4 PMOS 1
0
注:1)M1和M3、M2和M4同一时刻只有一组导通。

根据图2可知,当M1与M4导通,M2与M3关断时,SRAM存储单元内容为“1”(即Q为“1”)。此时M3的D端电势为VCC,所以M3的漏极PN结处于反偏状态。当空间环境中具有一定能量的重粒子射入M3的漏极PN结附近时(图3中被圈起的部分),在该高能粒子入射轨迹周围的P型衬底被电离化形成耗尽层[11],由此产生从M4的S端到M3的D端形成一个瞬间脉冲电流IP。在M4的内部存在导通电阻R,在瞬间脉冲电流IP的作用下,M4的S端到D端之间形成一个压降Ue,其计算公式为

图 3 高能粒子对NMOS的影响示意图

$ Ue = {I_P} \times R $ (1)

则,M3的D端电势降低为

$ {U_{\rm D}} = {V_{\rm cc}} - Ue $ (2)

UD降低时,意味着M1与M2的G端电势UG也会降低。如果环境中高能粒子剂量较高,不断入射到FPGA之中,IP不断增大就会使UG降到比M1关断而M2导通的临界值USD还要小。一旦M1关断而M2导通,M1与M2的D电势变为VCC,即“Q非”从“0”跳变为“1”,由于SRAM的驱动能力大于其锁存能力,因而“Q”从“1”跳变为“0”,发生了逻辑翻转,存储单元存储的内容从原来的“1”变为“0”[12],即SEU。

1.2.2 测试系统工作原理

主控FPGA发送测试数据地址给被测FPGA,同时计时器进行计时,在规定时间内未收到被测FPGA返回的数据则发送错误标志给Raspberry Pi;否则将被测FPGA返回的数据与预定的数据进行比较,如果相等则说明没有发生SEU,发送正确标志给Raspberry Pi,否则发送错误标志。主控FPGA每发送一个地址,地址加1,从RAM中读取的数据地址也加1,在被测FPGA的RAM中的内存初始化文件中,其每一个地址上的数据都不相同,这样数据就可以不断变化并且逐个比较。测试信号流及方法如图4所示。

图 4 青藏高原SEU测试系统工作原理图

此外,为了使被测FPGA的RAM覆盖率达到90%以上,该系统根据被测FPGA不同逻辑存储容量设置不同数量RAM。RAM的数量根据被测FPGA的BANK数量来划分,即EP2具有4个BANK,就分配4个RAM,从不同BANK的引脚中各挑选一对作为控制FPGA与被测FPGA的连接引脚,EP3则为8对,在控制FPGA主控程序中循环切换,以此来保证被测FPGA的被测存储单元达到最大可能。

2 系统软件设计 2.1 主控FPGA逻辑设计

主控FPGA为本系统的核心模块,其功能主要为接收测试台的控制指令,编帧处理中子探测仪与GPS模块的数据,接收对比被测FPGA的数据并编帧发送到树莓派上位机。每测试完成一个循环,主控FPGA需要判断上位机是否下发停止测试指令。具体工作流程如图5所示。

图 5 主控FPGA工作流程图

2.2 上位机逻辑设计

本系统采用树莓派作为上位机,其主要功能是接收测试结果,记录测试次数,显示测试结果,将测试结果、GPS报文信息和中子探测仪的数据存储到SD卡中。其工作流程如图6所示。

图 6 上位机工作流程图

3 单粒子翻转测试结果及分析

在青藏高原测试时间共8 d,分6个测试点,依次是西宁郊区、青海湖、格尔木市区、拉萨市区、羊卓雍错和纳木错。将保存在SD卡的测试结果数据读出并进行统计分析,本文显示的结果是经过长时间测试提取的具有参考意义的部分,时长均为2 h(即横轴时间为7 200 s);中子辐射曲线是相对应的2 h的大气中子剂量,单位微西弗每小时(μSv/h);FPGA误码分布曲线,1代表正常,0代表存在误码。

图7图8分别显示了在西宁郊区和纳木错实验采集的数据用Matlab处理的结果。根据Matlab处理结果,对比两个地点的具体测试情况可知:1)在海拔相对较低的地点(西宁),中子辐射剂量0 μSv/h和5 μSv/h比较多,SEU事件次数基本为0:Cyclone II代FPGA芯片SEU次数为0,Cyclone III代FPGA芯片大致在第4 200 s的时候翻转了1次;2)在海拔相对较高的地点(纳木错),中子辐射剂量5,10,15 μSv/h较多,且最大值达到了25 μSv/h,SEU事件次数也有所增多:Cyclone II代FPGA芯片大致在第4 600 s和5 300 s翻转了2次,Cyclone III代FPGA芯片在第1 500 s和第6 500 s之间翻转了5次。

图 7 在西宁郊区测试数据误码与中子辐射分布图

图 8 在纳木错测试数据误码与中子辐射分布图

由上述分析可以简单得出,中子辐射剂量和FPGA芯片的SEU事件与海拔高度有一定的关联性。表3是6个测试点的大气中子剂量最大值统计表,表4是6个测试点的单粒子翻转次数统计表。

表 3 6个测试点大气中子剂量最大值统计表
测试点 EP2 EP3
最大值/(μSv∙h–1 次数 最大值/(μSv∙h–1 次数
西宁郊区 10 3 10 1
青海湖 10 5 10 6
格尔木市区 15 1 15 1
拉萨市区 15 5 20 1
羊卓雍错 20 3 20 1
纳木错 25 4 25 3

表 4 6个测试点SEU统计表
测试点 EP2 EP3
西宁郊区 0 1
青海湖 0 1
格尔木市区 1 2
拉萨市区 1 2
羊卓雍错 3 5
纳木错 2 5

分析表3可知,中子辐射的剂量值在随着海拔的升高而缓慢增大;分析表4可知,随着海拔的升高,不论是Cyclone II代FPGA芯片还是Cyclone III代FPGA芯片,SEU发生的概率都在不断增大。综合以上两点可得,空气中子剂量的增多会使FPGA芯片发生SEU事件的概率增大。

表3表4统计分析与表1所示的测试地点地理信息分布结合分析,可以看出单粒子翻转现象与海拔高度有一定的线性关系:随着海拔的升高、以及越接近珠峰方向,大气中子剂量值也就越高,FPGA发生SEU的概率也就越大,该结论与预期一致。

4 结束语

本文通过树莓派与FPGA结合使用,同时存储与显示FPGA的SEU效应测试结果,可以实时得知被测FPGA的失效情况。该测试系统在青藏高原的6个地点进行实地测试,获得了大量低空(海拔3 000~5 000 m)环境下FPGA的SEU效应数据,验证了在低空环境下,FPGA发生单粒子效应的可能性。该测试系统体积小、质量轻、便于携带,且测试结果具有实时性,能及时反馈给实验人员,极大地简化了FPGA的SEU效应测试流程。

现阶段的FPGA选型评价,需要从产品的需求方面分析,如逻辑复杂度、FPGA发生SEU概率等方面综合考虑。对于一般的地面设备,逻辑复杂度低的,且属于低海拔地区,则基本不需要考虑FPGA的SEU效应,选择逻辑门较少的FPGA即可实现功能;对于逻辑复杂度要求较高的,海拔较高,单粒子辐射较强的区域,则需要考虑使用逻辑门较多的FPGA,且必要时需要进行单粒子防护与加固。本系统可以为包括民用飞机、战斗机等在内的低空飞行器上FPGA的选型提供一种测试方式。

参考文献
[1]
冯颖, 刘忠健. 单粒子效应对飞行器的影响分析及防护技术[J]. 强度与环境, 2011, 38(1): 26-30. DOI:10.3969/j.issn.1006-3919.2011.01.005
[2]
郑晓云, 王绍举. SRAM型FPGA单粒子翻转模拟系统研究[J]. 红外与激光工程, 2014, 43(S1): 164-168.
[3]
薛茜男, 张道阳, 李颖, 等. 航空高度FPGA单粒子翻转飞行实验及失效分析[J]. 强激光与粒子束, 2016, 28(12): 124102-1-124102-7.
[4]
侯建文, 张爱兵, 郑香脂, 等. FPGA单粒子翻转事件在轨探测研究[J]. 宇航学报, 2014, 35(4): 454-458. DOI:10.3873/j.issn.1000-1328.2014.04.012
[5]
JAHANIRAD H, MOHAMMADI K. Reliable Iimplementation on SRAM-based FPGA using evolutionary methods[J]. Iete Journal of Research, 2013, 59(5): 597-603. DOI:10.4103/0377-2063.123766
[6]
郑晓云, 王绍举. SRAM型FPGA单粒子翻转模拟系统研究[J]. 红外与激光工程, 2014, 43(S1): 164-168.
[7]
唐俊, 蒋健, 谢申喜. 基于树莓派的能耗数据采集网卡设计[J]. 测控技术, 2017, 36(3): 98-106. DOI:10.3969/j.issn.1000-8829.2017.03.025
[8]
胡晓峰, 王红亮, 彭晴晴. 可扩展级联式机载数据采集系统设计[J]. 中国测试, 2017, 43(6): 83-87.
[9]
丁朋程. 基于SRAM型FPGA的抗单粒子效应容错技术的研究[D]. 兰州: 西北师范大学, 2013.
[10]
孙洪波, 韩学涛, 王玉涛, 等. SRAM型FPGA单粒子翻转防护工程实现[J]. 电子科学技术, 2015, 2(2): 144-149. DOI:10.3969/j.issn.1673-5692.2015.02.006
[11]
CIANI L, CATELANI M. A fault tolerant architecture to avoid the effects of Single Event Upset (SEU) in avionics applications[J]. Measurement, 2014, 54(6): 256-263.
[12]
马寅, 安军社, 王连国, 等. 基于Scrubbing的空间SRAM型FPGA抗单粒子翻转系统设计[J]. 空间科学学报, 2012, 32(2): 270-276.