0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于将Simulink 应用于 ISO 26262 项目的方案设计

MATLAB 来源:djl 作者: Tom Erkkinen 2019-09-12 17:37 次阅读

研究传统汽车和自动驾驶汽车嵌入式安全系统领域的汽车工程师正在寻找有效方式满足 ISO 26262[1] 严苛的流程标准:乘用车研发领域的功能安全标准。

自动驾驶汽车是所有媒体关注的焦点,有关其功能安全方面的建议层出不穷。虽然如此,这些建议主要集中于最新的编码方式或消除错误的工具。行业专家很早便认识到,保证安全主要是确保系统及其相关要求正确和适当,而软件及编码方式[2]次之。

以连续时间和离散时间仿真为基础的 Simulink 可实现基于模型的设计, 该工具不仅能够用于辅助设计车辆,还能在车辆进入道路测试或车队测试之前,提前在各种驾驶条件下对整个系统进行测试,并仿真各种故障情况。此外,该工具还支持 ISO 26262 规定的流程活动,包括工具认证。IEC Certification Kit 对该工具支持的功能进行了详细说明,还包括了国际认证机构 TÜV SÜD 提供的证书和报告。

本文将介绍经 TÜV SÜD 认证、将 Simulink 应用于 ISO 26262 项目的工作流程,还将介绍 ISO 26262 以及基于模型的设计,并对下列任务进行说明:

需求开发

设计建模

代码生成

设计验证

代码验证

工具认证

ISO 26262 和基于模型的设计

ISO 26262 包含用于人工设计编码和基于模型的设计的规范。此外,ISO 26262 还认可一些采用基于模型设计[3]的优势:

模型的无缝使用能够有效保证一致性,提高研发效率。

该标准提及“广泛使用”数学模型,同时指出利用建模工具将“半形式化的图形方法”应用于软件开发。该标准还指出建模不仅可获取要实现的功能(嵌入式软件),还可通过真实的物理系统(车辆模型和环境模型)的仿真来创建整个系统模型:

由此,便能够以可接受的计算速度构建高保真度、高复杂度的车辆系统以仿真接近于实际的行为。在开发过程中,车辆/环境模型将逐渐被实际系统及其环境替换,而功能模型将作为设计基准,通过生成代码将嵌入式软件应用于控制单元。[3]

图 1 为典型 Simulink 闭环系统模型。它由控制器、被控对象以及信号处理器组成。在 ISO 26262 中,系统设计规范不仅是软件开发的输入,更是保证系统安全的基础[2]。

关于将Simulink 应用于 ISO 26262 项目的方案设计

图 1:Simulink系统设计模型

随后进行系统详细设计,直至其成为包含足够细节的、可用于产品级代码生成的软件设计基准。ISO 26262 将这个模型的详细设计流程描述为“模型进化”[2]:

在实践中,[存在]功能模型的进化:从早期规范模型(设计模型)到可实施模型,最终自动转换为代码。

ISO 26262 推荐了各种基于汽车安全完整性等级(ASILs)的活动的实施方法。您可以根据您的应用场景,利用该规范建立适当的工作流程。图 2 所示为 ISO 26262 流程概览。实心箭头所示为开发活动,虚线箭头所示为验证和确认活动。ISO 26262 中提及的“模型进化”以省略号(…)表示。

关于将Simulink 应用于 ISO 26262 项目的方案设计

图 2:使用 Simulink 实施 ISO 26262 软件开发和验证的流程

需求开发

在实施安全相关开发流程时,应首先制定功能及安全需求。ISO 26262 建议您利用“软件架构设计和软件安全需求之间的双向可追溯性”对软件架构的设计进行验证。为此,您可以利用 Simulink Requirements 制定并追踪需求到模型、测试及代码。Simulink Requirements 支持对其他工具的双向追溯,包括 Microsoft Word、Microsoft Excel 以及 IBM Rational DOORS。需求的实现和验证状态可在 Simulink Requirements 中监测和管理,需求链接可显示在生成的代码中(图 3)。

关于将Simulink 应用于 ISO 26262 项目的方案设计

图 3:Simulink 中的需求规格

设计建模

正如“ISO 2626262 和基于模型设计”章节所述,ISO 26262 说明了功能模型从高层可执行规范进化为可用于产品级代码生成的详细设计的整个流程。典型修改和完善包括:

使用 Simulink Control Design 离散化工具将模块从连续时间(S 域)转换为离散时间(Z 域)

使用 Fixed-Point Designer 将数据从双精度转换至单精度或定点

使用 Stateflow 添加诊断、模式逻辑、状态机以及调度算法

对于 ASIL B 至 D,ISO 26262 强烈建议使用建模规范。此外,还可使用 MAAB 规范[4],以及 Simulink 提供的用于 ISO 26262 的高完整性规范。Simulink Check 可自动检查该两种规范。Simulink Check 可在编辑时显示问题,例如不合规模块的插入等。此外,还可加入自定义规范和检查。

代码生成

ISO 26262 声明“软件单元的实施包括生成源代码以及转换为目标代码”。为此,您可以利用EmbeddedCoder生成 Simulink 模型的 C、C++ 以及 AUTOSAR 代码。该代码符合 MISRAC:2012 自动代码规范[5]要求。ISO 26262 指出基于模型设计的代码规范和手工代码规范存在差异,并以 MISRA为例进行说明。

IEC Certification Kit 可为用于 C、C++ 以及 AUTOSAR 的 Embedded Coder(包括 ASIL A-D)提供工具认证支持。其 TÜV SÜD 证书报告做出了如下声明:

Embedded Coder 满足 ISO 26262 中关于工具支持及自动化的要求。

Embedded Coder 通常用于以下三种使用案例之一:

用于产品级代码生成的模型的 C 代码生成

用于产品级代码生成的模型的 C++ 代码生成

用于产品级代码生成的模型的 AUTOSAR应用软件组件的AUTOSAR代码和描述文件生成

Embedded Coder 提供了优化代码存储和速度的选项。此外,您还可以生成处理器专用优化代码,从而有效利用硬件加速器,例如用于 ARMIntel的SIMD。您可以通过 ISO 26262 中所述的模型至代码、处理器在环来测试验证优化代码是否与规定公差内的仿真结果匹配。

可执行目标代码使用编译器和链接器从生成的源代码中产生,IEC Certification Kit 中的工作流程允许代码生成器、编译器和处理器的优化,这对于大批量生产的 ECU 非常关键,而处理器在环测试可用于验证可执行的目标代码。

设计验证

ISO 26262 推荐了一些用于验证软件设计和实施的静态方法和动态方法,包括单元级和集成级活动。关于基于模型的设计,ISO 26262 指出“测试对象可以是源于模型的代码或模型自身,具体取决于软件开发流程”。

Simulink Test 提供在 Simulink 中进行 ISO 26262 验证和确认活动使用的框架。您可以将其用于制定、管理以及执行针对模型和模型生成代码的系统化仿真测试。图 4 为测试序列和评估模块的示例。

关于将Simulink 应用于 ISO 26262 项目的方案设计

图 4:Simulink 测试序列和评估模块用于建模和编制复杂的测试场景

IEC Certification Kit(适用于 ISO 26262)中的 TÜV SÜD 报告明确了自动验证和确认期间 SimulinkTest 的作用:

[Simulink Test]可自动对 Simulink 模型和生成的代码执行核心认证和确认活动。根据功能安全标准 ISO 26262,以下使用案例反应了软件开发期间需要完成的活动:

开发和执行 Simulink 模型测试

开发和执行模型与代码之间的背对背测试

评估测试结果

生成测试报告

识别需求和测试用例之间的可追溯性

ISO 26262 建议通过结构覆盖率分析确定测试的完整性,识别非预期功能。此外,ISO 26262 还列出提高安全度的三种方法,并强烈建议将最后两种方法用于 ASIL-D:

语句覆盖

分支覆盖

MC/DC 覆盖

关于基于模型的设计,该标准指出:“可在模型级下使用类似结构覆盖率度量方法,对模型进行结构覆盖率分析”。对于结构覆盖率不足的情况,该标准指出:“应指定附加测试用例或提供合理性说明”。

Simulink Coverage 针对模型和生成的代码提供结构覆盖度量功能,使用 Simulink Test 执行测试可轻松启用该功能。若模型覆盖率不足,您可以使用 Simulink Design Verifier 自动生成其他测试用例以达到所需覆盖率,包括 MC/DC。此外,Simulink Check 还能够识别重复模块以降低复杂度。它也包括度量仪表板以评估项目质量,满足 ISO 26262 要求:“使用低复杂度、限制大小的软件组件和接口“(图 5)。

关于将Simulink 应用于 ISO 26262 项目的方案设计

图 5:度量仪表板展示了模型规范的符合程度

IEC Certification Kit 提供工具认证支持,以及针对 Simulink Check、Simulink Coverage(包括模型和代码覆盖率)、Simulink Design Verifier 以及 Simulink Test 的 TÜV SÜD 证书和报告。

代码验证

ISO 26262 提供了一些用于验证软件设计和实施情况的方法。IEC Certification Kit 中介绍了一种用于检测已生成代码中非预期功能(例如,无法追踪至模块或信号的代码)的追溯审查方法。该套件可自动生成所需追溯矩阵。或者,在进行软件在环(SIL)测试期间,您可以使用 Simulink Coverage 将模型覆盖率与代码覆盖率进行比较,或直接使用 Simulink Code Inspector。

最后,您可以使用 Polyspace Bug Finder 检查是否符合 MISRA 要求。如果您的项目中含有自动和手工的混合代码,采用 MISRA 检查和代码覆盖分析方法非常有帮助。若对安全性要求较高,您可以使用 Polyspace Code Prover 以证明不存在运行时错误,例如除零错误。

IEC Certification Kit 提供用于 Polyspace 产品的工具认证支持以及 TÜV SÜD 证书和报告。

在编译和生成可执行代码后,您可以利用 PIL 测试(图 6)重用模型测试以验证目标处理器上执行的代码(图 6)。

图 6:嵌入式处理器PIL的示例

ISO 26262 强烈推荐对 ASIL C 和 D 执行背对背测试。此外,ISO 26262 还指出在目标硬件环境的替代环境下测试的重要性,并强调需要了解测试环境和硬件环境之间的差异。

源代码或目标代码不同,例如处理器数据和地址的不同字长,可能导致测试环境和目标环境之间出现差异。

但正如每位计算机科学家都应了解的事实[6]——跨平台存在许多潜在的数值误差,特别是浮点数据。某些数值误差起初很小随后逐渐累积和增大,这种情况在反馈控制系统中特别明显。因此,ISO 26262 列出了各种适用于背对背测试的在环测试方法:

可在不同环境下执行软件单元测试,例如:

模型在环测试

软件在环测试

处理器在环测试

硬件在环测试

Simulink Test 可以自动执行在环测试,包括使用 Embedded Coder 执行 SIL 和 PIL,使用 SimulinkReal-Time 执行 HIL,通过 Simulink Coverage 中的覆盖率度量功能提供通过/失败报告。

工具认证

ISO 26262-8 还对其他流程进行介绍,包括版本控制、配置管理以及文档编制。同时,这些流程分别由 Simulink Project,Simulink 模型差异识别和合并(功能),以及 Simulink Report Generator 提供支持。

此外,该标准还提供工具认证指南。该标准不允许工具供应商认证自身工具,而要求用户对于特定项目认证工具。IEC Certification Kit 通过提供典型使用案例、参考工作流程、工具分类分析、软件工具文档、工具认证报告和确认测试,从而对工具进行有效的预认证。

TÜV SÜD 审查及审核 MathWorks 工具的开发和质量流程、错误报告功能,以及认证每次产品发布的结果。IEC Certification Kit 包含这些 TÜV SÜD 证书和报告,可用于遵守适当的验证和确认工作流程的需要。该套件提供基于典型工具使用案例(例如本文中突出显示的)的参考工作流程。

此外,该套件还提供一些更为详细的信息,包括将 ISO 26262 目标映射至 Simulink 的支持功能(图7)。

关于将Simulink 应用于 ISO 26262 项目的方案设计

图 7:摘自 IEC Certification Kit 中 ISO 26262 至 Simulink 的映射

注意,需要考虑使用已认证的工具并不一定能保证软件或系统的安全性。

ISO 26262是乘用车的国际功能安全标准[1]。它明确了与安全相关的电子/电气(E/E)系统在出现故障时可能导致的危险。ISO 26262 按照风险类别将汽车安全完整级别(ASIL)分为四级:从 A 至 D,ASIL D 为最高完整级。该标准有九个标准章节,而第十章为指南。每个章节均以独立文件呈现。ISO 26262 在本质上是目标导向而非规范指南,但 ISO 26262 中包含有数百页指南内容。第 4、6 和 8 章节分别介绍系统 [ISO 26262-4]、软件 [ISO26262-6] 和工认证具 [ISO 26262-8]。ISO 26262 第一版于 2011 年发布。第二版预计于 2018 年发布 (ISO26262:2018)。第二版将涉及其他类型车辆标准,例如摩托车、卡车和公交车。此外,第二版还包含有关于半导体(器件)的全新指南。

References:

1. ISO 26262 Road vehicles — Functional safety

2. Nancy G. Leveson, Engineering a Safer World, Systems Thinking Applied to Safety

3. ISO 26262-6 — Part 6: Product development at the software level

4. MAAB Style Guidelines

5. MISRA C:2012

6. David Goldberg, What Every Computer Scientist Should know about Floating-Point Arithmetic

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 处理器
    +关注

    关注

    68

    文章

    18024

    浏览量

    221538
  • 控制器
    +关注

    关注

    112

    文章

    15020

    浏览量

    170337
收藏 人收藏

    评论

    相关推荐

    孚能科技获DEKRA德凯ISO 26262汽车功能安全产品认证证书

    3月1日,孚能科技自主研发的BMS/EE系统获DEKRA德凯颁发的ISO 26262 ASIL C汽车功能安全产品认证证书。
    的头像 发表于 03-06 10:55 193次阅读
    孚能科技获DEKRA德凯<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>汽车功能安全产品认证证书

    导远IMU5104成为首个获得ISO 26262功能安全认证的车载IMU模组产品

    12月27日,导远电子获得DEKRA德凯颁发,国内首张高精度定位IMU模组ISO 26262 ASIL B功能安全产品认证证书,标志着导远IMU5104成为首个获得ISO 26262
    的头像 发表于 12-27 17:07 304次阅读

    华域麦格纳顺利通过DEKRA德凯ISO 26262 ASIL-D流程认证

    近日,华域麦格纳电驱动系统有限公司(以下简称“华域麦格纳”)正式通过ISO 26262:2018 ASIL-D汽车功能安全管理体系认证,并获得由全球领先的检验检测认证机构DEKRA德凯颁发的功能安全流程认证证书。
    的头像 发表于 12-19 16:30 376次阅读

    意瑞半导体与德国莱茵TÜV ISO26262功能安全项目正式启动

    2023年12月5日,意瑞半导体(上海)有限公司(以下简称“意瑞”)与国际独立第三方检测、检验和认证机构德国莱茵TÜV大中华区(以下简称“TÜV莱茵”)在上海举行了ISO 26262功能安全项目合作启动仪式。
    的头像 发表于 12-11 10:10 294次阅读

    全球首张MEMS车规级功能安全证书!RoboSense速腾聚创获TÜV莱茵ISO 26262

    RoboSense速腾聚创面向ADAS应用而设计的M平台激光雷达成功获得全球顶尖认证机构德国莱茵TÜV集团颁发的ISO 26262功能安全产品认证证书,且获得DAkkS(德国国家认可委员会)标志,符合ISO
    的头像 发表于 12-01 11:03 494次阅读
    全球首张MEMS车规级功能安全证书!RoboSense速腾聚创获TÜV莱茵<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>

    ISO 26262中的要素共存和免于干扰

    ISO 26262-9:2018的第6章节对系统设计(ISO 26262-4)、硬件设计(ISO 262
    的头像 发表于 11-23 09:32 244次阅读
    <b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>中的要素共存和免于干扰

    安全关键软件开发中实现 ASPICE 和 ISO 26262 的协同

    (ASPICE) 和 ISO 26262。ASPICE 用于评估并改进汽车软件的开发流程,而 ISO 26262 则着重解决安全关键型系统的
    的头像 发表于 11-22 16:37 174次阅读

    格陆博科技通过ISO 26262 ASIL-D流程认证及ASPICE认证

    11月1日,格陆博科技股份有限公司(以下简称“格陆博科技”)正式宣布通过ISO 26262:2018 ASIL-D汽车功能安全管理体系认证
    的头像 发表于 11-02 09:31 400次阅读

    移远通信通过ISO 26262功能安全流程认证及产品认证

    近日,国际知名的认证和咨询机构法国BV(BureauVeritas)向移远通信颁发了ISO26262:2018功能安全ASILB流程认证证书,同时为移远车规级GNSS模组LG69T(AB)颁发
    的头像 发表于 11-01 08:29 299次阅读
    移远通信通过<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>功能安全流程认证及产品认证

    Rambus RT-640的ISO 26262认证之路

    即使实现最低认证要求,也是一项颇具挑战性的任务2。关于如何根据 ISO 26262 标准进行功能安全评估,业界已经发表了多项著作3, 4, 5, 6。Grosse 等人的著作5 中提出了适用于
    的头像 发表于 09-22 16:45 752次阅读

    CHIPWAYS通过ISO 26262 ASIL D产品认证

    近日,CHIPWAYS XL88xx系列芯片获得世界知名第三方专业检验检测认证机构DEKRA德凯颁发的ISO 26262 ASIL D 功能安全产品认证证书,XL88xx系列芯片也成为我国业内首款通过ISO
    的头像 发表于 09-01 18:23 654次阅读

    ISO 26262:保障驾驶安全的汽车功能安全标准

    化组织于2011年发布了ISO26262标准,该标准在汽车行业中成为功能安全的基石。《ISO26262:道路车辆功能安全》是国际标准化组织(ISO)发布的一项标准
    的头像 发表于 08-29 08:29 1383次阅读
    <b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>:保障驾驶安全的汽车功能安全标准

    汽车电子ISO 26262: 2018标准概述(二)

    本文针对ISO 26262:2018国际标准的第六部分到第十二部分做简要的介绍
    的头像 发表于 08-08 15:00 705次阅读
    汽车电子<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>: 2018标准概述(二)

    先楫半导体获TÜV莱茵国内首张ISO26262和IEC61508功能安全管理体系双认证

    2023年6月12日,国际独立第三方检测、检验和认证机构德国莱茵TÜV集团(以下简称“TÜV莱茵”)授予上海先楫半导体科技有限公司(以下简称“先楫半导体”)ISO 26262 ASILD和IEC
    的头像 发表于 06-12 17:04 935次阅读

    自动驾驶:什么是ISO-26262

    随着电动化、智能化、网联化的发展,汽车电气化程度在快速提升,电子电气系统越来越集成和复杂,其安全性的要求就尤为突显。 ISO26262是汽车的电气/电子相关的“功能安全”标准,该标准制定于2011
    发表于 06-01 15:13 1次下载
    自动驾驶:什么是<b class='flag-5'>ISO-26262</b>