基于FPGA技术的核安全级系统功能安全认证应用研究
2020-11-13马书丽
马书丽,孙 武
(中核控制系统工程有限公司,北京 102401)
0 引言
日本福岛核事故发生后,全球核电安全性问题越来越突出,功能安全问题越来越得到世界各国的关注。功能安全认证是基于IEC 61508[1]及IEC 61511[2]等系列标准,对安全设备的安全完整性等级(safety integrity level,SIL)进行评估和确认的一种第三方评估、验证和认证。系统或产品获得安全完整性等级认证,就意味着其质量和安全性获得了认可。这不仅可以提高企业的市场竞争力,也可以增强客户对产品的信心。
本文主要基于现场可编程门阵列(field programmable gate array,FPGA)技术的核电厂安全级系统典型应用的功能安全认证流程和认证工作进行研究,提出符合基于FPGA技术核电厂反应堆保护系统功能安全认证流程,为今后国产自主化核电厂反应堆保护系统获得国际认可打下良好的基础。
1 功能安全认证
功能安全强调的是系统安全功能的正确执行,主要包括管理和技术两方面。在技术和管理上,要保证电气/电子/可编程电子(electrical/electronic/programmable electronic,E/E/PE)安全系统、其他技术安全系统和外界风险降低设施功能的正确执行。功能安全认证要求必须在技术上和管理上同时满足相应的安全完整性等级的要求。安全完整性等级共划分为4个等级。其中,SIL4为最高级,SIL1为最低级,依据IEC61508的要求;SIL1、SIL2可在组织内部由独立团队进行认证;SIL3和SIL4需要第三方认证机构进行认证。
①依据文件。
功能安全认证依据文件有法规和标准。
法规为国家安全监管总局关于加强化工安全仪表系统管理的指导意见,相关标准为IEC 61508-1~7 Functional safety of electrical/electronic/programmable electronic safety-related systems、IEC 61511-1-~3 Functional safety-Safety instrumented systems for the process industry sector。
②安全级系统功能安全认证流程。
功能安全认证流程可分为概念阶段审核、主检阶段审核、场内测试和型式试验。按照工作内容,又可将功能安全认证划分为安全设备开发流程的文档管理评估、硬件可靠性计算和评估、软件评估、型式试验等内容。
结合实际开展功能安全认证的经验,确定核电厂核安全系统功能安全认证流程如图1所示。
图1 核安全系统功能安全认证流程Fig.1 Nuclear safety system functional safety certification process
2 安全级系统安全生命周期模型
安全级系统包括硬件和逻辑两部分。根据IEC 61508标准中规定的硬件安全生命周期和软件安全生命周期,结合FPGA技术的特点和安全级系统整体开发流程,得到基于FPGA技术的核电厂安全级系统开发安全生命周期模型[3]。该模型包括需求分析、系统安全概念设计、模块级安全概念设计、硬件详细设计、逻辑详细设计、硬件实现、逻辑实现、测试等重要阶段。在开发安全生命周期的各阶段,都有各自相关的功能安全活动和要求。
核安全系统安全生命周期模型如图2所示。
图2 核安全系统安全生命周期模型Fig.2 Safety life cycle model of nuclear safety system
3 安全级系统功能安全
功能安全认证的本质是对安全相关系统进行功能安全评估。其主要目的是调查并判断E/E/PE安全相关系统所达到的功能安全,主要包括管理和技术两个方面。一方面评估确保达到功能安全目的所必需的管理活动是否有效;另一方面评估安全仪表系统(safety iustrumentation system,SIS)是否达到了要求的安全完整性等级。关键工作如下。
3.1 功能安全管理
功能安全管理工作贯穿整个开发安全生命周期,是为达到功能安全要求对安全生命周期活动及参与活动的组织和资源等进行管理。功能安全管理确定整体的、硬件和软件的安全生命周期所有阶段的管理和技术活动的内容,并确定人员、部门和组织在安全生命周期各阶段所承担的责任。通过一系列的管理措施,保证每一个安全功能在整体开发安全生命周期中全部得到落实,以此保障系统要求的安全完整性。
①技术管理措施。
在开发生命周期每一开发阶段进行设计审查和需求跟踪分析,以确保硬件和软件的自诊断措施、故障处理机制及随机失效控制措施等被有效实现。设计审查由独立于研发团队之外的验证与确认(verification and validation,V&V)团队进行。V&V团队成员资质需与研发人员水平同等或高于研发人员水平。同时,在每个阶段结束时进行需求追踪分析,确保每一个安全功能在下一阶段被正确设计和考虑。在整个开发生命周期中,利用缺陷管理工具记录开发和测试过程中出现的各种问题,以便在必要时对设计变更进行追踪。
②文档管理措施。
功能安全认证的基本工作就是对管理文件进行审核,从而确认实现系统功能安全要求的手段和依据是否充分合理、文件内容是否满足系统整个安全生命周期各阶段工作的要求、是否能为系统功能安全认证提供有力的审核依据。文件包括:体系文件、设计文件、测试文件、用户手册等。中核控制采用开源代码的版本控制系统Subversion(SNV),记录文档的每一次变动和版本更新,实现文档版本的变更控制。
③本节小结。
建议在提交第三方机构审查前,由发起认证组织内部的功能安全审核专员对所有文档信息的一致性和完整性进行二次审核,确保被审核文档的正确性。
在开展需求跟踪分析时,通常采用excel工具人为制作需求追踪矩阵,使文档需求、文档设计、测试文档条目化,便于前后追踪。为保证需求追踪工作的快速、高效开展,必要时采用需求追踪分析软件工具辅助开展。
3.2 硬件安全完整性分析
依据IEC 61508标准可知,硬件安全完整性评估是对系统安全完整性等级和硬件逻辑架构等信息的准确性进行确认的过程。硬件安全功能所声明的最高安全完整性等级与故障率、安全失效分数和故障裕度等参数相关。硬件的安全完整性等级可通过要求时的失效率(probability of dangerous failure on demand,PFD)或每小时的失效概率(average frequency of dangerous failure per hour,PFH)等指标进行量化评估,也可以从系统架构和系统类型的角度对安全完整性等级进行定性分析[4]。
①硬件可靠性分析。
可靠性分析是开展硬件安全完整性等级定性分析和定量分析工作的基础[5]。可靠性分析工作主要包括失效率预计、故障模式、影响及诊断分析(failure modes effects and diagnostic analysis,FMEDA)、共因故障分析等。硬件故障模式从失效后果和诊断结果角度综合考虑,可分为危险可诊失效、危险不可诊失效、安全可诊失效、安全不可诊失效四种类型。反应堆保护系统依据SN 29500标准进行板级失效率预计,并将预计结果作为后续一系列可靠性分析工作的基础数据;利用FMEDA方法,结合模块原理图、自诊断设计等文件,基于失效数据对模块级产品的四种失效类型进行分析,并识别影响系统安全的关键故障模式,进而推算出模块级产品的安全失效分数(safe failure fraction,SFF);同时,依据IEC 61508 标准中的共因故障因子评估方法对反应堆保护系统(reactor protection system,RPS)的共因故障因子β进行评估。
②SIL定性分析。
硬件安全完整性定性分析是指通过分析硬件结构约束得到最高硬件的安全完整性等级。硬件结构约束主要包括反应堆保护系统的类型、故障裕度和SFF。按照IEC 61508标准规定的系统类型分类要求,核电厂反应堆保护系统目前通过可靠性分析的手段分析计算可诊和不可诊的危险失效率。因此,反应堆保护系统的硬件类型为B类;典型反应堆保护系统为2oo4冗余架构;根据失效率预计和FMEDA分析得到硬件子系统的安全失效分数SFF,且各模块的SFF值均在66%~99%之间。依据IEC 61508.2标准中的硬件安全完整性等级与安全失效分数和故障裕度对照表,可评估判断典型反应堆保护系统硬件的安全完整性等级。
③SIL定量分析。
硬件安全完整性定量分析是对RPS系统的PFD和PFH指标进行评估,从而验证量化指标是否满足系统功能安全完整性等级的要求。
参考IEC 61508-6标准中提供的1oo1、1oo2、1oo2D、2oo2、1oo3、2oo3架构的PFD和PFH的计算公式,对反应堆保护系统2oo4架构PFD和PFH公式进行推导,并根据计算结果从定量的角度推断反应堆保护系统硬件的安全完整性等级。推导结果如下:
PPFD=24×λchannel∧3×t_CE×t_GE×t_G2E+β×
λ_DU×(T_1/2+MMRT)+β_D×λ_DD×MMTTR
PPFH=24×(1-β)×λ_DU×λchannel∧2×t_CE×
t_GE+β×λ_DU
自我效能感具有普遍性和具体性这两种性质。自我效能感被认为是在某一特定行为、情境或任务中,人们经由这些行为、情景对自我目标达成能力的信念。自我效能感在人格特质中并不稳定,他经常受一些行为、活动、情景影响。但是 又由于各项活动任务多领域的较差,自我效能感又具有了相对普遍的性质。
④本节小结
尽量保证所有系统功能安全相关的模块在技术层面得以实现,避免出现由人因失误造成功能安全失效的风险。由于功能安全认证过程繁琐,且模块级元器件数量多、数据量较大,采用标准数据库进行计算。一旦基础数据出现变更,其上层分析文档均需要更新,且更新过程中容易出现更新不及时和更新遗漏等问题。同时,也可考虑采用相对成熟的功能安全评估软件进行硬件安全完整性等级的评估,并以此建立相关数据库。
3.3 软件安全完整性分析
软件与硬件相比,软件没有老化的过程,也不会出现随机失效。因此,FPGA的功能安全要求也与硬件不同,其安全完整性等级无法用PFD或PFH进行量化。IEC 61508-3提供了一套完整的开发流程和一系列的技术措施,通过严格的质量管理与安全生命周期流程的控制,实现避免故障、检测故障、排除故障及容忍故障的目的,以此保证软件的安全完整性。
①FPGA故障避免措施。
对外围电路和FPGA内部随机存储器(random access memory,RAM)和程序进行自诊断设计。诊断措施包括:独立时基看门狗、循环冗余校验(cyolic redundancy check,CRC)、奇偶校验等;在典型核电厂反应堆保护系统FPGA开发过程中,对电路描述中使用的布尔表达式同时采用真值表仿真、状态转移仿真和人工检查等;在寄存器转换级(register transfer level,RTL)代码设计完成之后,对代码规则进行检查,并进行功能仿真;分别在综合阶段和布局布线后两次执行门级网表与代码的等效性检查,如果有任何不一致时,则需要重新修改设计。
②开发和测试要求。
安全级系统安全生命周期中将软件的开发和测试工作划分为两个独立的工作流程,但两项工作之间又存在一一对应的关系。在每个设计工作结束后,都会相应地开展测试工作,以便及时发现问题并迅速解决,从而在保证软件可靠性前提下提高设计效率。
软件开发和测试所用的工具必须符合功能安全认证的要求。必要时,由工具开发商提供所使用工具的功能安全的证书,或由使用方对该阶段所使用的工具进行安全评估。主要评估内容包括工具使用范围是否满足功能安全需求、工具运行环境是否满足工具本身对运行与安装环境的要求、对使用人员进行培训以保证用户正确使用工具、对工具本身进行确认测试;对于符合IEC 61508中定义的T3类工具,则需要进一步根据IEC 61882《危险和可操作性(hazard and operability,HAZOP)分析应用指南》进行HAZOP分析。
③本节小结。
FPGA开发过程中,采用了RTL编写规范,提高了代码质量和可靠性;尽量使用已通过功能安全认证的开发和测试工具,从而减少功能安全认证的部分工作,缩短认证周期。
3.4 故障插入测试
故障插入测试是功能安全认证的关键环节。硬件故障插入测试是经过注入故障验证RPS系统硬件功能是否满足功能安全的要求。测试内容包含热插拔电路、电压监控范围等。软件故障插入测试是经过修改代码注入软件故障验证RPS系统软件功能是否满足功能安全的要求。测试内容包含RAM错误、外部铁由存储器(ferroelectric random access memory,FRAM)错误、系统配置信息错误等。
故障插入测试用例需覆盖所有情况的分支,保证每一项功能安全相关功能均被验证。硬件故障插入测试中部分测试具有破坏性,需要准备充足的备件,且硬件人员应具备过硬的开发测试能力。
3.5 型式试验评估
安全级系统型式试验的审核应当满足IEC 61508标准和IEC 61511标准要求外,还应符合IEC 61326-3-1[6]及IEC 61131-2[7]标准的要求,试验项严酷等级选择IEC 61326-3-1及IEC 61131-2标准中最严格试验要求。试验过程根据IEC 61131-2及IEC 61326-3-1标准中试验项要求,参考标准IEC 61000-4系列和IEC 60068-2系列执行。性能合格判据选用IEC 61131-2及IEC 61326-3-1标准中最严格的判据。
功能安全认证要求选取的第三方实验室应覆盖IEC 61326-3-1及IEC 61131-2标准,且CNAS资质的范围必须包含IEC 61326-3-1及IEC 61131-2标准要求核电厂安全级系统所需执行的所有试验项。经调研发现,目前国内具备CNAS资质且范围覆盖IEC 61326-3-1及IEC 61131-2标准的实验室非常少,即便是某些实验室的CNAS资质包含了IEC 61326-3-1及IEC 61131-2标准,但也只是覆盖了IEC 61326-3-1及IEC 61131-2标准和核电厂安全级系统要求执行的部分试验项。国内实验室CNAS资质普遍不能满足核电厂反应堆保护系统功能安全认证型式试验大纲的要求。因此,建议第三方实验室充分考虑市场需求,并对此问题引起重视,并尽快获得IEC 61326-3-1及IEC 61131-2相应的CNAS资质。
4 结论
本文基于FPGA技术的核电厂安全级系统的特点和实际功能安全认证过程中工作,提出了一些在功能安全认证流程和关键工作的意见和建议。本文所提出的流程和应用成果对于核电厂的安全级系统功能安全认证和安全完整性审核工作具有指导意义。同时,针对基于FPGA技术的安全级系统,经过功能安全认证后可有效确保经过功能安全认证的产品应用于安全级系统时的质量可靠性,为产品的其他认证提供有力佐证。