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

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

3天内不再提示

基于模型的设计通过早期验证最大限度地发挥优势

星星科技指导员 来源:嵌入式计算设计 作者:Guido Sandmann,Joac 2022-06-28 15:46 次阅读

基于模型的设计 (MBD) 通过仿真测试执行验证和确认。尽管许多组织使用某种形式的建模,但太多的组织以不利用潜在验证优势的特殊方式应用模拟(参见图 1)。

图 1:整个开发阶段的故障传播成本说明了一些组织如何没有利用仿真的验证优势。

poYBAGK6sd-AZzGmAAPCDX4JZXA098.png

为了最大限度地发挥 MBD 的优势,成功的组织实施了四种有助于完成早期验证的关键实践:

· 在规范阶段创建和模拟高级系统模型。在 MBD 中,系统模型用作可执行规范。该模型的早期模拟突出了不完整和不一致的要求和规范。

· 从第一天开始就使用多域模拟进行测试。通过开发多域模型和执行闭环仿真,工程师可以在产品创意成型的同时开始测试。这些仿真使工程师能够研究系统的所有方面,包括算法、组件、工厂模型和环境。

· 创建对系统施加压力的虚拟测试套件。仿真使工程师能够进行一系列难以或不可能在嵌入式系统本身上执行的测试。像所有测试一样,这些测试应该尽早运行。

· 在整个开发过程中使用模型和测试套件作为参考设计。构建良好的模型可以在整个开发过程中使用,然后再用于未来的增强和衍生设计。

这些实践应作为四个维度并行使用,以成功使用 MBD 进行早期验证。

创建和模拟高级系统模型

作为可执行规范,高级系统模型必须反映系统的抽象行为。该模型可能不包括完整的接口定义,但它必须指定系统的动态行为。在需求规范阶段模拟系统行为有助于确保团队对系统需要做什么有一个完整和共享的理解。

使用 MBD,工程师首先使用子系统或离散状态组装架构。这些子系统内的动力学最初应使用最简单的方法进行建模。在此活动的同时,其他工程师可以创建场景或形式化需求,为尽早测试动态做准备。

运行第一次测试时,建模功能行为的工程师将更多地了解系统和需求的真正含义。同样,创建测试场景或形式化需求的工程师将了解需求是否一致和完整。每一组应将他们的发现传达给另一组,以确保没有误解。

从第一天开始使用多域模拟进行测试

系统行为不仅由嵌入式控制软件定义,还由电子机械组件定义,包括连接的传感器和执行器。执行架构的早期模拟在使用工厂或环境模型在闭环中执行时提供了更多的洞察力。

与开环仿真或在实际工厂硬件上进行测试相比,带有工厂模型的闭环仿真具有多个优势。一个优点是模型比金属、电线和 C 代码更容易更改。带有工厂和环境模型的闭环仿真降低了多个开发阶段的成本。与由钢、电线、电路和其他硬件构建的机械和电气设备相比,模型更容易重新配置和复制。工程师可以在物理模型的版本之间快速切换,而不会产生制造成本。通过简单地更改杆的长度或电动驱动器的最大扭矩等参数,团队可以评估权衡并针对成本、速度、功率和其他要求优化整个系统。

系统级优化需要多域仿真。通过一次调整一个参数来优化当今复杂的系统是不可能的。为了以最低的材料成本提供最高的能源效率和最高的性能,工程师必须优化整个系统,而不仅仅是嵌入式软件。

工厂模型提供了系统的另一个视角。对系统的非软件部分进行建模可以让工程师从另一个角度了解系统行为。工程师通常可以通过仿真而不是从真实系统中了解更多关于系统动力学的信息,因为仿真提供了力、扭矩、电流和其他在实际硬件上难以或不可能测量的值的详细信息。

创建工厂模型需要工程努力,但这种努力往往被高估,而工厂建模提供的价值却被低估了。在开发工厂模型时,最佳实践是从高级抽象开始并根据需要添加细节。选择一个足够详细以产生所需结果的抽象级别可以节省建模工作和仿真时间(参见图 2)。

图 2:作为基于模型的设计一部分的早期验证通过建模、仿真和自动代码生成简化了嵌入式控制设计。

pYYBAGK6seiAVS03AAVPbf0EKi8973.png

创建对系统施加压力的虚拟测试套件

高效的测试需要关注点分离。组织应该在不同的开发阶段测试软件实施的不同方面。在测试算法之前测试通信和硬件效果会导致难以隔离和识别设计中的缺陷来源。

在最合适的地点和时间应用测试,使团队能够在每个开发阶段的正确级别上评估设计。在每个阶段,测试结果都应立即反馈给开发人员,以使设计能够持续改进。

功能测试涉及使用多域环境模型模拟控制器模型。功能测试中使用的测试向量基于形式化要求或记录的驾驶操作等场景。这些测试向量可以重复用于回归测试和完整的模型覆盖测试。

快速控制原型 (RCP) 为测试方案增加了实时验证和用户体验。RCP 可帮助工程师快速部署算法并在车辆中对其进行测试,以确定功能是否正确。在目标快速原型设计和功能快速原型设计平台的支持下,RCP 可以成为设计理念的丰富来源,但不应作为验证功能的主要方法。

稳健性测试旨在评估系统在软件参数变化、制造过程差异、机械和电气硬件在系统生命周期内退化以及类似影响的情况下的稳健性。最佳实践是在虚拟系统(包括控制器和环境)上运行参数扫描。随着对系统在边界条件下的性能有了更透彻的了解,工程师可以选择缩小硬件供应商的规格范围,或者得出结论认为具有稍高差异的较便宜的部件可以满足他们的设计需求。

硬件在环 (HIL) 测试使工程师能够在实验室而不是在真实环境中测试真实的控制器或控制器网络。HIL 测试可用于测试稳健性(例如,通过插入故障)或诊断大型控制器网络中的控制器间通信。它涵盖了无法轻松建模的硬件和通信效果。

与 RCP 一样,HIL 测试是系统验证所必需的,但不应将其用作功能测试的主要手段。这是因为 HIL 测试是在非常低的抽象级别上进行的——接近真实系统——因此结合了许多不同的影响,阻碍了有效的功能测试。

HIL 测试需要对硬件进行投资,范围从带有专用数据卡的标准 PC 到高端硬件机架。在这样的系统上执行的测试比在纯软件中执行的测试更少,因为软件测试可以更容易地在多台计算机上复制。这是确保在 HIL 测试之前验证功能的另一个原因。如果工程师在 HIL 测试中发现算法缺陷,那么上游验证过程可能是不够的。

使用模型和测试套件作为参考设计

在 MBD 中,所有关键开发任务都在模型级别执行。这意味着对生成的代码所做的任何修改也必须在模型中进行。在整个开发过程中使用模型和测试套件作为单一的事实来源,可以促进模型和测试的清晰沟通和有效重用,不仅适用于当前项目,而且适用于未来的增强和衍生设计。

将所有工件置于配置管理之下

软件工程师认识到配置管理系统 (CMS) 中版本控制代码的价值。MBD 中的关键工件——模型、测试和模拟结果——也应该在 CMS 中维护。在 CMS 中管理工件使团队可以轻松地重新运行虚拟测试并将当前测试工具与以前的模型状态或以前的测试向量进行比较。

当模型结构是模块化的而不是单一的时,版本控制模型效果最好。模块化模型结构还可以通过允许多个工程师并行处理同一系统的不同部分并启用并行代码生成来加速开发。

执行回归测试

软件工程师使用夜间构建来编译和测试源代码的最新版本。这种方法也应该应用于建模和仿真。一旦工程师定义了一个新的测试来验证特定的模型行为,该测试应该集成到夜间构建中,以确保特定行为在所有后续建模迭代中仍然有效。如果测试在某个时间点失败,则要么已识别出缺陷,要么功能已从根本上改变,并且测试不再适用。

尽早并经常验证

本文中概述的最佳实践使工程师能够实现早期验证,减少在开发周期结束时花费的时间测试和调试他们的设计。此过程的关键是 MBD,它可以将验证用作在整个开发过程中发生的并行活动。在开发过程的每个步骤中执行测试和验证意味着在引入错误时发现错误。与传统流程相比,可以更快地重复、修复和验证设计。

作者:Guido Sandmann,Joachim Schlosser,Brett Murphy

审核编辑:郭婷

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

    关注

    51

    文章

    7294

    浏览量

    142846
  • 控制器
    +关注

    关注

    112

    文章

    15165

    浏览量

    170975
  • 嵌入式
    +关注

    关注

    4977

    文章

    18255

    浏览量

    287962
收藏 人收藏

    评论

    相关推荐

    用于并行采样的EVADC同步转换,如何在最大化采样率的同时最大限度地减少抖动?

    在我的应用程序中,HSPDM 触发 EVADC 同时对两个通道进行采样。 我应该如何配置 EVADC 以最大限度地减少采样抖动并最大限度地提高采样率? 在用户手册中,它提到 SSE=0,USC=0
    发表于 01-18 07:59

    如何最大限度减小电源设计中输出电容的数量和尺寸?

    如何最大限度减小电源设计中输出电容的数量和尺寸?
    的头像 发表于 12-15 09:47 207次阅读
    如何<b class='flag-5'>最大限度</b>减小电源设计中输出电容的数量和尺寸?

    如何让智慧灯杆在城市管理中发挥优势

    多功能、智能化、绿色环保等诸多优势。本文将分析智慧灯杆在城市管理中如何更好地发挥优势。 一、智慧灯杆在城市管理中的优势 多功能合一:智慧灯杆将多种功能集成在一根灯杆上,有效地节省了城市空间资源,降低了建设成本。
    的头像 发表于 12-11 17:30 192次阅读

    最大限度地提高高压转换器的功率密度

    电子发烧友网站提供《最大限度地提高高压转换器的功率密度.doc》资料免费下载
    发表于 12-06 14:39 308次下载

    最大限度保持系统低噪声

    最大限度保持系统低噪声
    的头像 发表于 11-27 16:58 178次阅读
    <b class='flag-5'>最大限度</b>保持系统低噪声

    最大限度提高∑-∆ ADC驱动器的性能

    电子发烧友网站提供《最大限度提高∑-∆ ADC驱动器的性能.pdf》资料免费下载
    发表于 11-22 09:19 0次下载
    <b class='flag-5'>最大限度</b>提高∑-∆ ADC驱动器的性能

    最大限度地减少SIC FETs EMI和转换损失

    最大限度地减少SIC FETs EMI和转换损失
    的头像 发表于 09-27 15:06 251次阅读
    <b class='flag-5'>最大限度</b>地减少SIC FETs EMI和转换损失

    切换以最大限度地利用SAN

    电子发烧友网站提供《切换以最大限度地利用SAN.pdf》资料免费下载
    发表于 09-01 11:23 0次下载
    切换以<b class='flag-5'>最大限度</b>地利用SAN

    使用端到端HPE StoreFabric Gen 5 16GFC光纤通道最大限度发挥所有闪存的潜力

    电子发烧友网站提供《使用端到端HPE StoreFabric Gen 5 16GFC光纤通道最大限度发挥所有闪存的潜力.pdf》资料免费下载
    发表于 08-30 17:05 0次下载
    使用端到端HPE StoreFabric Gen 5 16GFC光纤通道<b class='flag-5'>最大限度</b>地<b class='flag-5'>发挥</b>所有闪存的潜力

    最大限度地提高数据库效率和性能VMware环境使用32G NVMe光纤渠道

    电子发烧友网站提供《最大限度地提高数据库效率和性能VMware环境使用32G NVMe光纤渠道.pdf》资料免费下载
    发表于 08-07 10:10 0次下载
    <b class='flag-5'>最大限度</b>地提高数据库效率和性能VMware环境使用32G NVMe光纤渠道

    Cortex-M如何最大限度地提高SoC设计的能效端点

    随着现代微控制器和SoC变得越来越复杂,设计者面临着最大化能源效率,同时实现更高水平的集成。最大限度地提高能量在低功耗SoC市场中,多个功率域的使用被广泛采用。在 同时,为了解决更高级别的集成,许多
    发表于 08-02 06:34

    LTspice可最大限度地减少设计重新设计并加速您的仿真

    开关稳压器,使用户能够在短短几分钟内查看大多数开关稳压器的波形。   精密的图形用户界面 LTspice是一种易于理解的电子电路模拟器,它使用户不仅可以查看数值数据,还可以查看模拟结果的图形波形。 通过与LTspice 链接最大限度地减少设计重新设计并加速您的仿真 Qua
    的头像 发表于 06-26 16:04 706次阅读
    LTspice可<b class='flag-5'>最大限度</b>地减少设计重新设计并加速您的仿真

    如何最大限度减小电源设计中输出电容的数量和尺寸

    电源输出电容一般是100 nF至100 μF的陶瓷电容,它们耗费资金,占用空间,而且,在遇到交付瓶颈的时候还会难以获得。所以,如何最大限度减小输出电容的数量和尺寸,这个问题反复被提及。
    的头像 发表于 06-16 10:25 413次阅读
    如何<b class='flag-5'>最大限度</b>减小电源设计中输出电容的数量和尺寸

    最大限度地利用太阳能让您的家保持温暖

    电子发烧友网站提供《最大限度地利用太阳能让您的家保持温暖.zip》资料免费下载
    发表于 06-13 15:20 0次下载
    <b class='flag-5'>最大限度</b>地利用太阳能让您的家保持温暖

    从SoC仿真验证到FPGA原型验证的时机

    我们当然希望在项目中尽快准备好基于FPGA原型验证的代码,以便最大限度地为软件团队和RTL验证人员带来更客观的收益。
    发表于 05-30 11:10 804次阅读
    从SoC仿真<b class='flag-5'>验证</b>到FPGA原型<b class='flag-5'>验证</b>的时机