MBD开过过程中,经常会接触到MIL、SIL、PIL、HIL,下文将从定义着手,将他们区别开来。

定义:

MIL:Model in loop, 验证控制算法模型是否满足功能需求

SIL: Software in loop, 在PC上验证模型是否与代码功能一致

PIL:Processor in loop, 在目标处理器上验证模型是否与代码功能一致

HIL:Hardware in loop, 在ECU/EPP/整套系统上验证代码是否与需求功能一致

MIL:

MIL就是模型在环,通俗一点理解就是对模型在模型的开发环境下(如SIMULINK)进行仿真,通过输入一系列的测试用例,验证模型是否满足了设计的功能需求。MIL是所有测试中最关键的,因为MIL的test accept criterion必须源于功能需求,没有其它的东西可以参考。而SIL/PIL的测试用例往往都是借用MIL的测试用例,一旦在MIL这个阶段的使用了错误测试用例,这个Bug很有可能会最终流出去,即便所有的测试都通过了。

SIL:

SIL是一种等效性测试,测试的目的是验证代码与控制模型在所有功能上是否完全一致。其基本原则一般是使用与MIL完全相同的测试用例输入,将MIL的测试输出与SIL的测试输出进行对比,考察二者的偏差是否在可接受的范围之内。

因此这个测试的目的就决定了带不带被控对象模型并不是那么重要。SIL测试一般都在PC上完成,对代码的编译器一般都是LCC,SDK,MSC等这些。

PIL:

PIL测试与SIL测试的不同在于软件是使用的目标MCU的编译器(Tasking)进行编译链接,也需要运行在目标板上,其基本工作原理如下。

其测试通过准则是,使用与SIL相同的测试用例输入进行测试时,比较PIL和SIL的输出,如果两者之差在容许范围之内,则测试通过。

HIL:

通过实时处理器运行仿真模型来模拟受控对象的运行状态,通过I/O接口与被测的ECU连接,对被测ECU进行全方面的、系统的测试。从安全性、可行性和合理的成本上考虑,硬件在环测试已经成为ECU开发流程中非常重要的一环,减少了实车路试的次数,缩短开发时间和降低成本的同时提高ECU的软件质量,降低汽车厂的风险。

浅谈MIL、SIL、PIL、HIL相关推荐

  1. MIL/SIL/PIL/HIL定义梳理

    本文主体内容转自以下两篇文章,略有删改. http://www.ind4.net/html/news/newsDetail_7007.html http://www.ind4.net/html/new ...

  2. MIL/SIL/PIL/HIL/VIL

    MIL:Model in the loop 模型在环,对模型在模型的开发环境下(如SIMULINK)进行仿真,通过输入一系列的测试用例,验证模型是否满足设计的功能需求.验证控制算法模型是否准确地实现了 ...

  3. 随想录(sil、hil、mil测试)

    [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 对于安全系统,或者控制系统来说,sil.hil.mil测试是三种基本测试. 1.sil sil ...

  4. python打开文件夹中的tiff_浅谈python下tiff图像的读取和保存方法

    对比测试 scipy.misc和 PIL.Image和 libtiff.TIFF三个库 输入: 1. (读取矩阵) 读入uint8.uint16.float32的lena.tif 2. (生成矩阵) ...

  5. 浅谈yolov4中的一部分数据增强

    浅谈yolov4中的数据增强 前言 数据增强 数据增强步骤 1.对图片进行水平翻转 2.对图片进行缩放 3.对图片HSV色域变换 4. Mosaic数据增强 5. 总代码 前言 在接下来的几天,我将解 ...

  6. 浅谈IM软件业务知识-实现富文本解析,如:解析字符串、网络链接等

    ----------------------------------------------------欢迎查看IM软件业务知识<专栏>-------------------------- ...

  7. Java开发的B/S程序生成并向客户端发送excel文件:浅谈MIME

    Java开发的B/S程序生成并向客户端发送excel文件:浅谈MIME 1.定义 MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型.是设定 ...

  8. python中image什么意思_浅谈python图片处理Image和skimage的区别

    做cnn的难免要做大量的图片处理.由于接手项目时间不长,且是新项目,前段时间写代码都很赶,现在稍微总结(恩,总结是个好习惯). 1,首先安装python-Image和python-skimage.py ...

  9. 浅谈MySQL存储引擎-InnoDBMyISAM

    浅谈MySQL存储引擎-InnoDB&MyISAM 存储引擎在MySQL的逻辑架构中位于第三层,负责MySQL中的数据的存储和提取.MySQL存储引擎有很多,不同的存储引擎保存数据和索引的方式 ...

最新文章

  1. 别再看GitHub的Star数了,这个数字更能反映项目流行趋势
  2. python打开后的界面-Python - tkinter:打开和关闭对话框窗口
  3. python学习系列day3-python基础
  4. html怎么转换undefined,JavaScript之Undefined详解
  5. [css] 为什么说不提倡用1px的小尺寸图片做背景平铺?
  6. 【POJ - 3281】Dining(拆点建图,网络流最大流)
  7. 计算机中整数加法满足结合律吗
  8. Intel® Nehalem/Westmere架构/微架构/流水线 (1) - 特性概述
  9. OpenCV 使用 FLANN 库实现特征匹配
  10. 特征的标准化和归一化
  11. Windows XP3安装internet 信息服务(IIS)时对策
  12. 攻防世界 逆向 logmein
  13. 简单学JAVA-Java前世今生
  14. excel保存快捷键_知心小虎| Excel 中常用的快捷键(第十一期)
  15. 微信小游戏制作学习笔记
  16. Android仿网易游戏的精美开场动画+动画基础详解
  17. 基于Vue开发的电商APP项目(仿蘑菇街)
  18. QMS-云质-质量管理软件-闲聊霍尼韦尔用13亿美元收购一家质量管理软件(QMS)小公司
  19. 完全卸载nvidia驱动
  20. cellpadding 与cellspace 属性

热门文章

  1. python的with open as f
  2. 学了python 你能干嘛
  3. 68.168.16.153 forum index.php,Discuz1314首页版块N格 带数据缓存功能(study_forum_nge)_Discuz应用中心...
  4. 计量经济学:多重共线性
  5. html图片自适应上下左右居中显示,图片大小自适应垂直居中的方法
  6. Server2012R2下安装intel 82579v网卡驱动
  7. html5图片平铺的代码,jQuery图片平铺效果制作网页背景图片平铺代码
  8. python第二课 序列特性
  9. 什么是粗粒度和细粒度权限
  10. Pyinstaller库的安装和使用用于生成可执行文件exe