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

审核编辑:郭婷

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

    关注

    53

    文章

    8261

    浏览量

    146662
  • 控制器
    +关注

    关注

    112

    文章

    16408

    浏览量

    178673
  • 嵌入式
    +关注

    关注

    5087

    文章

    19149

    浏览量

    306302
收藏 人收藏

    评论

    相关推荐

    AN101-最大限度地减少线性稳压器输出中的开关稳压器残留

    电子发烧友网站提供《AN101-最大限度地减少线性稳压器输出中的开关稳压器残留.pdf》资料免费下载
    发表于 01-09 14:19 0次下载
    AN101-<b class='flag-5'>最大限度</b>地减少线性稳压器输出中的开关稳压器残留

    TAS5630如何才能最大限度地减少电压失调,或者调节为0?

    在交流耦合输入的情况下,将 BTL 模式下的输出失调电压指定为高达 150mV。这对PBTL 模式是否同样适用?如何才能最大限度地减少电压失调,或者调节为 0?
    发表于 11-08 08:02

    最大限度地减少TRF7964A和TRF7970A省电模式下的电流消耗

    电子发烧友网站提供《最大限度地减少TRF7964A和TRF7970A省电模式下的电流消耗.pdf》资料免费下载
    发表于 10-26 10:57 0次下载
    <b class='flag-5'>最大限度</b>地减少TRF7964A和TRF7970A省电模式下的电流消耗

    最大限度地提高MSP430™ FRAM的写入速度

    电子发烧友网站提供《最大限度地提高MSP430™ FRAM的写入速度.pdf》资料免费下载
    发表于 10-18 10:09 0次下载
    <b class='flag-5'>最大限度</b>地提高MSP430™ FRAM的写入速度

    最大限度地减少TPS53355和TPS53353系列器件的开关振铃

    电子发烧友网站提供《最大限度地减少TPS53355和TPS53353系列器件的开关振铃.pdf》资料免费下载
    发表于 10-15 11:17 0次下载
    <b class='flag-5'>最大限度</b>地减少TPS53355和TPS53353系列器件的开关振铃

    最大限度地提高GSPS ADC中的SFDR性能:杂散源和Mitigat方法

    电子发烧友网站提供《最大限度地提高GSPS ADC中的SFDR性能:杂散源和Mitigat方法.pdf》资料免费下载
    发表于 10-10 09:16 0次下载
    <b class='flag-5'>最大限度</b>地提高GSPS ADC中的SFDR性能:杂散源和Mitigat方法

    需要哪些辅助产品才能最大限度发挥 VFD 和 VSD 的作用?- 第 1 部分

    虑的各种因素。[第 2 部分]继续探讨 VSD/VFD 与伺服驱动器之间的区别,介绍 AC 和 DC 旋转和线性伺服电机的用途,考虑软起停装置在工业运行中的应用,以及 DC 转换器如何用于为传感器、人机界面 (HMI) 和安全设备等外围设备供电。 要最大限度地提高工业运行效率和可持续性,就必须使用变速驱动
    的头像 发表于 10-02 16:07 434次阅读
    需要哪些辅助产品才能<b class='flag-5'>最大限度</b>地<b class='flag-5'>发挥</b> VFD 和 VSD 的作用?- 第 1 部分

    需要哪些支持产品才能最大限度发挥 VFD 和 VSD 的作用?- 第 2 部分

    虑的因素。第 2 部分继续探讨 VSD/VFD 与伺服驱动器之间的区别,回顾交流和直流旋转和直线伺服电机的用途,研究软启停装置在工业作业中的应用,以及直流转换器如何用于为传感器、人机接口 (HMI) 和安全设备等外围设备供电。 变速驱动器和变频驱动器 (VSD/VFD) 对于最大限度地提高工业作业效
    的头像 发表于 10-02 16:01 442次阅读
    需要哪些支持产品才能<b class='flag-5'>最大限度</b>地<b class='flag-5'>发挥</b> VFD 和 VSD 的作用?- 第 2 部分

    利用智能eFuses最大限度地缩短系统停机时间

    电子发烧友网站提供《利用智能eFuses最大限度地缩短系统停机时间.pdf》资料免费下载
    发表于 09-25 10:25 0次下载
    利用智能eFuses<b class='flag-5'>最大限度</b>地缩短系统停机时间

    最大限度地减少UCC287XX系列的待机消耗

    电子发烧友网站提供《最大限度地减少UCC287XX系列的待机消耗.pdf》资料免费下载
    发表于 09-25 09:35 0次下载
    <b class='flag-5'>最大限度</b>地减少UCC287XX系列的待机消耗

    如何在C2000设备中最大限度地利用GPIO

    电子发烧友网站提供《如何在C2000设备中最大限度地利用GPIO.pdf》资料免费下载
    发表于 09-19 13:40 0次下载
    如何在C2000设备中<b class='flag-5'>最大限度</b>地利用GPIO

    通过优化补偿最大限度地减少导通时间抖动和纹波

    电子发烧友网站提供《通过优化补偿最大限度地减少导通时间抖动和纹波.pdf》资料免费下载
    发表于 08-26 11:34 0次下载
    <b class='flag-5'>通过</b>优化补偿<b class='flag-5'>最大限度</b>地减少导通时间抖动和纹波

    TIDA-050027.4-具有灵活分区以最大限度实现节能的多轨电视电源 PCB layout 设计

    电子发烧友网站提供《TIDA-050027.4-具有灵活分区以最大限度实现节能的多轨电视电源 PCB layout 设计.pdf》资料免费下载
    发表于 05-10 09:41 0次下载
    TIDA-050027.4-具有灵活分区以<b class='flag-5'>最大限度</b>实现节能的多轨电视电源 PCB layout 设计

    如何使用低电容探头最大限度地减少探头负载

    探测电路总是会对信号产生一定的影响。探头负载会改变被探测的信号,可能导致测量问题,甚至可能导致电路执行不同的操作。减少电容负载可以帮助最大限度地减少这些影响。在本应用中,您将了解低电容探头如何改进
    的头像 发表于 03-25 10:51 543次阅读
    如何使用低电容探头<b class='flag-5'>最大限度</b>地减少探头负载

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

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