首页 > 其他分享 >科普:嵌入式代码软件在环(SiL)测试的可靠性

科普:嵌入式代码软件在环(SiL)测试的可靠性

时间:2024-04-26 17:33:39浏览次数:23  
标签:Simulink 模型 嵌入式 测试 SiL HiL 科普

​​关键词:嵌入式系统、软件在环(SiL)、测试、生命周期 01.简介 当前,嵌入式系统开发的大趋势为通过软件实现大量的硬件功能,这导致软件的复杂程度显著上升——代码开发成本和风险也成倍增加。复用已有系统中的软件组件是改进嵌入式系统生命周期的一种可能的解决方案,对代码的可移植性和可测试性有较高要求。 测试的复杂度和成本与代码量正相关,尽早发现可能存在的错误可以避免后续阶段的成本。考虑到软件开发过程的“V”型模型,在软件模块测试(Module tests)和软件集成测试(Integration tests)阶段应该使用 SiL(Software-in-the-Loop)环境。  ▲嵌入式系统设计阶段的“V”模型   ​本文的主要目的在于横向对比应用HiL和SiL测试环境所获得的结果,以证明SiL测试的可靠性。本文被测嵌入式系统针对英飞凌C167CR单片机开发,操作系统选用的是典型的实时操作系统(RTOS,Real Time Operating System)OSEK 操作系统,被测功能为控制直流电机的转速。  

02.实践1:HIL测试

硬件在环(HiL)测试是一种无损检测环境,常见的被测设备(Device Under Test, DUT)一般为控制器硬件,如整车控制器VCU(Vehicle Control Unit)、电池管理系统BMS(Battery Management System)。本实践的HiL测试框图如下图所示,带有DUT的接口板是使用NI PCI 6251高速多功能数据采集板完成。   ▲HiL测试框图 ​本实践中,HiL测试由三部分组成:
  • 主机PC(HOST PC):直流电机模型由MATLAB/Simulink实现,并使用Real-Time Workshop和xPC Target编译为xPC实时内核。
  • 目标计算机:直流电机模型通过实时约束运行,模拟信号通过接口板卡转换为物理信号。
  • 嵌入式硬件系统:被测控制算法。

A:直流电机模型

用于直流电动机建模的方程如下所示:   ​其中,Ia为电机电流,Va为电机电压,Ωm为角速度,Ra为终端电阻,La为终端电感,J为惯性,b为摩擦系数,Km为扭矩常数,Ts为采样周期,T为电机扭矩,TL为负载扭矩,Vb为反电动势电压。 基于上述公式的MATLAB/Simulink离散模型实现如下图所示: ▲直流电机的Simulink离散模型 ​

B:控制算法实现

本实践所采用的控制算法选择的是工业应用最为广泛的PID算法(比例积分微分)。使用积分项的双线性变换法和微分项的反向变换法,即可从下列公式中获得PID算法的递归离散形式:   ​其中,K是比例常数,τi是积分常数,τd是导数常数,Ts是采样周期。 控制算法是在基于OSEK实时操作系统的10毫秒任务上实现的。角速度的测量方法如文献[2]所述,使用 HALL传感器,在1Hz至10kHz范围内的绝对精度小于1Hz。 03.实践2:SIL测试 本实践的SiL测试基于OSEK实时操作系统的仿真,测试框图如下图所示:
  • OSEK实时操作系统、被测控制算法代码和XCP模块一起封装成一个S函数。
  • 仿真操作系统、底层驱动程序、XCP和S函数与MATLAB/Simulink模型中的直流电机模型形成闭环。
  • GUI:Graphical User Interface,图形用户界面。
▲SiL测试框图 ​ XCP主要用于测量和校准嵌入式系统变量,所选用的标定工具为CANApe,也用于保持数据测量值与在HiL环境中所获得的数据测量值一致。通过这种方式可以轻松比较以证明SiL测试的可靠性。 选用四个非抢占式任务:10ms、20ms、40ms和80ms。任务启动延迟及其时间调度如下图所示: ▲数据对比图   ​SiL测试中,每个任务的执行时间被认为等同于仿真步长,因此不会出现某个任务运行时间过长而影响另一个任务的情况,无需采取特别措施。 外围设备等与处理器相关的一切都在S函数内模拟;硬件驱动器和信号调节电路通过MATLAB/Simulink 模型中的附加系统进行模拟;PWM驱动器模型和HALL传感器模型已经实现。Simulink模型如下图所示: ▲SiL测试中的MATLAB/Simulink模型

04.对比结果与结论

 

在完成SiL和HiL测试环境的搭建后,对比同一条件下的测试结果即可证实SiL的可靠性。为此,使用相同的参数对控制算法进行校准,将角速度设定为1000rpm。通过对比角速度反馈值(模拟步长均为200us)可知,两种测试结果完全相同,SiL的可靠性得到证实。 ▲SiL与HiL的测试结果 ​ 然而,通过测试不同步长下的实际模拟执行时间可知,模拟的时间越短,实际执行时间就越长,因此必须权衡模拟精度和实际执行时间,选择一个折中、合适的模拟步长。显然,SiL环境下主机PC的性能对实际执行时间的影响很大。 ▲不同步长下,模拟1分钟所需的实时执行时间 ​ 模型的复杂性同样会对实际执行时间产生影响。SiL最大的优点在于不会受到时间约束和模型复杂性的约束,而HiL测试下,使用复杂模型则可能会导致数据损坏,能够使用HiL测试的模型复杂性与真实HiL硬件的处理能力和可用资源密切相关,正确的模型选择便成为HiL测试的难点。 综上所述,SiL测试对于嵌入式代码测试是可靠的。最大的缺点与模拟步长参数有关:实现模型的精度越高,执行时间越长。因此得出结论:
  • 当测试目标为与硬件相关的参数时,如通过测量操作系统的空闲任务来测量处理器负载、任务激活延迟、任务运行时间值、中断锁定时间、资源锁定时间等,SiL测试是不可靠的。
  • 当测试目标为软件功能时,SiL是可靠的。
此外,模块之间的接口也可以在集成阶段进行测试。   参考文献 [1] Muresan M, Pitica D. Software in the loop environment reliability for testing embedded code[C]//2012 IEEE 18th international symposium for design and technology in electronic packaging (SIITME). IEEE, 2012: 325-328. [2] Muresan M, Pitica D. Software in the loop environment reliability for testing embedded code[C]//2012 IEEE 18th international symposium for design and technology in electronic packaging (SIITME). IEEE, 2012: 325-328.

标签:Simulink,模型,嵌入式,测试,SiL,HiL,科普
From: https://www.cnblogs.com/digiproto/p/18160541

相关文章

  • 聊一聊5G路由器相比4G有哪些优势(5g科普)
    ​大家好,今天我们来聊一聊5G路由器相比4G有哪些优势,以及它将如何改变我们的生活。首先,5G路由器最显著的优势就是速度快。5G网络的速度可以达到4G的10倍以上,这意味着我们可以更快地下载和上传文件,观看高清视频也不会出现卡顿的情况。想象一下,以后我们可以在几秒钟内下载一部......
  • 蝴蝶书 第1章 基础科普
    ChatGPT基础科普——知其一点所以然词向量词向量(词嵌入):它本质上是找到一种编码方式,实现从自然语言中到数学空间的映射。(自然语言-映射->向量)我们为什么需要词向量呢?计算机不能理解自然语言,比如:“我爱你”,要让计算机理解需要:数字“1”代表“我”,数字“2”代表“爱”,数字“3......
  • 这10款VS Code神仙插件,嵌入式程序员必备
    大家好,我是知微!嵌入式软件开发工程师平时可能更多的是使用SourceInsight、Keil、IAR来阅读代码,写代码。VSCode大家都听说过,功能十分强大,而且免费!或许是因为这款软件上手有一定的学习成本,所以有些小伙伴也不想轻易去尝试。知微在这里强烈建议大家去试一试,VSCode提供十分丰富的......
  • springboot 嵌入式的web容器的的选择
    springboot默认内置tomcat可以替换undertow、jetty、nettytomcattomcat默认200最大线程完整实现了JEE容器和serlet规范tomcat6以后支持Jdk1.4的NIO用于完整支持了javaee因此比较笨重和重量级很多高并发会替换成undertowundertow这个是红帽2012开源出来的一个......
  • 痞子衡嵌入式:在i.MXRT1xxx系列上用NAND型启动设备时可用两级设计缩短启动时间
    大家好,我是痞子衡,是正经搞技术的痞子。今天痞子衡给大家分享的是在i.MXRT1xxx系列上用NAND型启动设备时可用两级设计缩短启动时间。去年痞子衡写过一篇骚操作文章《借助i.MXRT10xx系列INIT_VTOR功能可以缩短程序热重启时间》,这对于NAND型启动设备上程序热重启时间的......
  • 实验1 原型设计————一款法律咨询及科普类app
    一、实验题目:原型设计二、实验目的:掌握产品原型设计方法和相应工具使用。三、实验要求(1)对比分析墨刀、Axure、Mockplus等原型设计工具的各自的适用领域及优缺点(至少3条)。1.墨刀:适用领域:产品设计,项目管理,可以利用墨刀绘制流程图,明确项目流程和时间节点,提高项目执行效率。优......
  • protobuf 在嵌入式ARM平台的应用(c语言版)
    一、PC上安装protobuf和protobuf-c1.安装protobuf protocolbuffers仓库地址:https://github.com/protocolbuffers/protobuf 本文选择下载v21.12版本(太新版本protobuf-c可能不支持)$cdprotobuf-21.12$./autogen.sh$./configure#默认安装路径/usr/local/$make......
  • 米尔NXP i.MX 93核心板重新定义入门级嵌入式处理器模组
    近日,米尔电子推出基于NXPi.MX93系列产品-MYC-LMX9X核心板及开发板。NXPi.MX 9系列在i.MX6和i.MX8系列产品市场验证的基础上,继承了前代产品的优点的同时,进一步提升了性能、资源利用和价格的平衡。其中i.MX93处理器配备双核[email protected]+Cortex-M33@250MHz,兼顾多任务和......
  • 具有低功耗、小尺寸和高可靠性,LIFCL-40-9MG121I、LIFCL-40-8MG121I、LIFCL-40-7MG121I
    说明CrossLink-NXFPGA是首款采用Nexus技术平台设计的产品系列,为网络边缘开发工程师提供实现创新的嵌入式视觉解决方案所需的更低功耗、小尺寸和高可靠性。该系列采用低功耗28nmFD-SOI技术,具有小尺寸、高可靠性和出色的性能。该器件适合用于各种应用,包括嵌入式视觉。应用包......
  • FPGA入门笔记013——嵌入式块RAM使用之FIFO
    1、FIFO概述​ FIFO(FirstInFirstOut),即先进先出。FPGA或者ASIC中使用到的FIFO一般指的是对数据的存储具有先进先出特性的一个缓存器,常被用于数据的缓存或者高速异步数据的交互。它与普通存储器的区别是没有外部读写地址线,这样使用起来相对简单,但缺点就是只能顺序写入数据......