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

    文章

    19169

    浏览量

    229158
  • 控制器
    +关注

    关注

    112

    文章

    16206

    浏览量

    177427
收藏 人收藏

    评论

    相关推荐

    知识分享 | 符合ISO 26262标准的工具分类与鉴定

    工具分类和鉴定对于确保汽车开发流程的安全和可靠性不可或缺,尤其是在ISO 26262标准之下。通过系统性地评估工具的影响、确定所需的置信度、并采用稳健的鉴定方法,企业可以确保其所使用的工具能够极大地促进安全和可靠的汽车系统的开发。
    的头像 发表于 10-16 17:36 844次阅读
    知识分享 | 符合<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>标准的工具分类与鉴定

    什么是汽车ISO 26262功能安全标准?

    随着各行业引进一系列产品设计和测试的标准化流程,安全保障也日益规范化。ISO26262是针对汽车零部件中的关键电气和电子(E/E)系统的功能安全标准。ISO26262基于IEC61508制定,后者
    的头像 发表于 07-23 08:28 3898次阅读
    什么是汽车<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>功能安全标准?

    芯来NA系列产品再获ISO 26262 ASIL-D产品认证证书

    近日,芯来科技NA300系列产品正式获得了德国exida颁发的ISO26262 ASIL-D产品认证证书。
    的头像 发表于 07-15 16:11 577次阅读
    芯来NA系列产品再获<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b> ASIL-D产品认证证书

    ISO26262 汽车功能安全标准第二版

    ISO26262 汽车功能安全标准第二版
    发表于 07-03 14:07 19次下载

    【直播预告】基于ISO 26262实现高质量的MBD过程

    的关键•ISO26262标准对软件静态测试的要求静态模型测试的工具支持•ISO26262标准对软件动态测试的要求动态模型测试的工具支持直播简介随着汽车ECUs的功能愈
    的头像 发表于 06-06 08:25 333次阅读
    【直播预告】基于<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>实现高质量的MBD过程

    黑芝麻智能代码生成工具荣获DEKRA德凯ISO 26262:2018 ASIL D功能安全认证

    DEKRA德凯近日在成都隆重授予黑芝麻智能代码生成工具ISO 26262:2018 ASIL D功能安全产品认证证书。
    的头像 发表于 05-30 14:17 324次阅读
    黑芝麻智能代码生成工具荣获DEKRA德凯<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>:2018 ASIL D功能安全认证

    威灵汽车获得ISO 26262 ASIL-D汽车功能安全流程认证证书

    近日,安徽威灵汽车部件有限公司(以下简称“威灵汽车”)成功通过ISO 26262:2018 ASIL-D汽车功能安全流程认证。
    的头像 发表于 05-28 10:45 1124次阅读
    威灵汽车获得<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b> ASIL-D汽车功能安全流程认证证书

    美行科技通过ISO26262:2018汽车功能安全ASIL D流程认证

    近日,沈阳美行科技股份有限公司获得了TUV莱茵颁发的ISO 26262:2018汽车功能安全ASIL D流程认证证书,标志着美行科技已按照ISO 26262:2018版标准要求,建立起
    的头像 发表于 05-08 09:33 405次阅读
    美行科技通过<b class='flag-5'>ISO26262</b>:2018汽车功能安全ASIL D流程认证

    天合智控获DEKRA德凯ISO 26262汽车功能安全体系认证证书

    近日,天合智控科技(重庆)有限公司获得DEKRA德凯颁发的ISO 26262汽车功能安全ASIL D体系认证证书。
    的头像 发表于 04-19 15:27 1052次阅读
    天合智控获DEKRA德凯<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>汽车功能安全体系认证证书

    超星未来通过 ISO 26262 功能安全管理体系 ASIL D 认证

    100% 的通过率通过了功能安全工程师认证。   ISO 26262 是全球公认的汽车功能安全标准,该标准涵盖功能安全需求规划、设计、实施、集成、验证、确认、配置等方面,旨在通过完善的开发流程汽车电气或电子系统故障的风险降到
    的头像 发表于 04-18 09:38 339次阅读
    超星未来通过 <b class='flag-5'>ISO</b> <b class='flag-5'>26262</b> 功能安全管理体系 ASIL D 认证

    技术分享 | ISO 26262中的安全分析之FMEA

    本期内容以系统架构设计为例,讲解如何在ISO26262产品开发过程中实施安全分析,半导体层面的芯片设计也可以参考本文相关内容执行安全分析。安全分析方法ISO26262要求根据不同ASIL等级组合
    的头像 发表于 04-15 11:32 1383次阅读
    技术分享 | <b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>中的安全分析之FMEA

    芯驿电子获得ISO 26262汽车功能安全最高等级ASIL D认证

    3月18日,芯驿电子获得国际公认的测试、检验和认证机构 SGS(以下简称为“SGS”)颁发的 ISO 26262:2018 功能安全 ASIL D 流程认证证书,标志着芯驿电子的开发流程已经按照
    的头像 发表于 03-19 10:20 518次阅读
    芯驿电子获得<b class='flag-5'>ISO</b> <b class='flag-5'>26262</b>汽车功能安全最高等级ASIL D认证

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

    3月1日,孚能科技自主研发的BMS/EE系统获DEKRA德凯颁发的ISO 26262 ASIL C汽车功能安全产品认证证书。
    的头像 发表于 03-06 10:55 555次阅读
    孚能科技获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 862次阅读

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

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