浅谈MIL、SIL、PIL、HIL
来源:互联网 发布:萧山区网络问政 编辑:程序博客网 时间:2024/06/07 10:33
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
- MIL/SIL/PIL/HIL定义梳理
- MBD中 MIL、SIL、PIL、HIL 的目的和实现方式
- Sil
- 浅谈HIL硬件在环技术和台架实验的互补关系
- PIL
- PIL
- pil
- PIL
- PIL
- PIL
- ETL -- SDE AND SIL
- Mil 学习
- MIL Tracker
- MIL测试
- MIL学习(一)
- MIL boosting Online Tracking
- MIL 编程环境设置
- boostrap页面布局以及功能实现
- Hyperledger Fabric SDK
- Eclipse快捷键 10个最有用的快捷键
- dorado 7 添加子表
- thrift:swift 命令行生成 IDL文件及Client java代码过程
- 浅谈MIL、SIL、PIL、HIL
- 【UVA12097】Pie
- Mybatis插件PageHelper的使用
- adb命令
- C#计时器的三种实现方法
- 动态规划:求最长公共子串/最长公共子序列
- 优秀新媒体文案的4种必备能力
- 做项目多渠道打包的时候遇到的问题
- Unity3d 判断 IOS 设备网络环境 IPV4 or IPV6