ECU电控软件开发及测试介绍
伴随着电动化、智能化、网联化等技术发展的时代背景,各行各业电子电气架构都在发生深度变革。新型架构逐渐取代传统架构,比如汽车、工程机械、储能、船舶等领域,电子电气架构从传统分布式向域集中式,甚至向着中央集中式发展,控制器功能呈现集中化、复杂化的特点。为了提升开发效率、提高软件的稳定性以及便于平台移植,基于 AutoSar 架构开发复杂软件已成为行业共识。
另外,行业内竞争愈发激烈,开发周期大大压缩,加之软件复杂度的提升,在快速迭代的情况下确保软件质量是一个重要课题。加之 ASPICE、ISO26262 等过程体系和法规标准的要求,如何开发符合 AutoSar 架构的应用软件、评估软件质量和性能、优化软件结构、验证压力场景下的 ECU 稳定性成为各厂商面临的新挑战。
本文重点介绍符合 AutoSar 架构的应用软件开发、MBD 开发模式下的软件质量评估与优化方案、复杂场景下的 ECU 性能压力测试方案。
符合 AutoSar 架构的应用软件开发介绍
对于 AutoSar 软件架构,分为经典平台 AutoSar CP 和自适应平台 AutoSar AP,二者应用场景存在一定差别:AutoSar CP 具有高安全、高实时性,其通常部署在微控制器 MCU 类型芯片或多核异构芯片 M 核;AutoSar AP 具有动态性和可扩展性,适用于大数据并行处理和高性能计算等应用场景,通常部署在 MPU 或多核异构芯片 A 核。目前从行业内来看,无论是域控制器还是中央 + 区域控制器,通常都是多核的,甚至是多核异构的,不同核根据实际使用需求部署 AutoSar CP 或 AP,基础软件通常采用标准的 BSW 协议栈。下图所示是 AutoSar 软件架构示例:
AutoSar 软件架构
那对于应用层软件来说,如果要开发符合 AutoSar 架构的软件,需要考虑以下两个重要问题:
· 采用何种开发工具链
· 采用何种开发模式
对于应用软件开发工具链,通常涉及 SWC 软件架构设计工具和软件编程实现工具。SWC 软件架构设计工具主要对应用层软件架构进行实现,定义 SWC、配置 SWC 的交互接口、配置 Runnable、导出 ARXML 文件等,一般不同品牌的协议栈都有对应的 SWC 软件架构设计工具,经纬恒润自研 AutoSar 协议栈提供工具链方案为 EAS-SWCDesigner。
EAS-SWCDesigner 界面
而软件编程实现可基于图形化编程自动生成代码或手写代码的方式,AutoSar CP 和 AP 架构应用层软件开发实现方法略有差别,CP 架构应用层更多采用基于模型设计方法开发,工具链通常采用 Matlab/Simulink,其对 CP 架构应用层开发的支持比较完善且成熟,但是由于其对 AP 架构应用软件开发支持还存在不完善的点,故 AP 架构应用层软件开发目前更多还是基于手写 C++ 代码的方式,工具链基于一些代码编辑工具比如 Vscode。
对于应用软件开发模式,分为自上而下开发、自下而上开发和双向开发模式。自上而下开发比较适用于正向开发流程,在有 EE 架构输入的情况下采用该模式,这种模式的好处是可以继承 EE 架构的工作产品,但是缺点是工作链路会比较长,应用层和底层软件开发都需要依耐 SWC 架构设计导出的 ARXML 文件作为输入,影响开发迭代效率;自下而上开发是直接在软件编程工具实现软件,然后配置 AutoSar 接口,再导出 ARXML,然后对 ARXML 文件进行合并,这种方式比较适用于没有 EE 架构输入的情况,应用软件开发工程师独立配置 AutoSar 接口,这种模式的好处是不依耐 AutoSar 工具链,比较灵活,但是缺点是对每个应用软件开发人员 AutoSar 知识要求高些;双向开发模式就是结合自上而下和自下而上开发模式的优点,针对第一版软件采用自上而下开发模式,后续版本软件更新迭代采用自下而上开发模式。
应用软件开发模式
MBD 开发模式下的软件质量评估与优化方案
MBD 全称是 Model Based Design(基于模型设计),是一种以可视化模型开发为主的开发方式,区别于传统的以文本编码为媒介的代码开发。采用模型化的方式来描述控制算法设计,无论是可读性、可维护性、可移植性、测试验证的便利性等方面,相比于从前手工 C 代码都有长足的进步。基于以上基于模型开发的特点基于 Simulink 的模型化 + 自动代码生成的开发方式在汽车电子行业正在逐渐演变成开发的标准配置。接踵而来如何保证 MBD 开发方式下软件质量问题也成为现阶段人们热议的话题。
针对软件质量直接有效的手段便是开展完备的测试或在软件开发过程中优化软件结构减少问题的引入。
如何开展完备的模型测试?
模型验证方法可以分为静态验证和动态验证,模型静态验证,是一种通过 MAAB 和 dSPACE 等建模公司提供的建模规则指南来验证模型设计是否符合规则的测试方法。此外,还有一种模型度量元指标检查方法,可以分析模型的复杂程度,以此评判模型在可维护性、可移植性、可重用性等不同维度的质量特性。综上所述,在模型静态验证部分,可以看出有两种方法:建模规范规则检查和模型度量元指标检查。与模型静态验证不同,模型动态验证可以通过比较在执行实际模型时的输出值来进行验证。通过根据用户输入预期结果值对比实际模型结果值来动态验证模型。通过检查模型的覆盖率,可以提高测试用例针对需求的覆盖率以及测试用例的充分性。此外借助 ASPICE 过程管理的思维,在整个测试过程中加入过程管理思维,确保测试过程、测试环境、测试策略的可靠性以及测试用例的充分性、一致性、追溯性,以此确保模型质量。
如何优化软件结构?
现阶段我们模型生成的代码是否会存在以下问题:
· 生成代码一个函数可能会上万行代码
· 看不懂 matlab 生成代码后的变量的定义及过程转化
· 要不要针对模型生成的代码做修改
优化软件的前提是已经开展静态测试优化完毕模型结构。确保模型结构的规范性。针对每一个软件设计单元生成独立函数、每一个软件组件生成与之相对应的 C 文件可以确保模型生成代码的结构清晰。同时不对模型生成的代码做任何的修改是 MBD 开发过程中的软件维护准则。
综上让我们一起来期待恒润针对 MBD 开发模式下的软件质量评估与优化的解决方案。
复杂场景下的 ECU 性能压力测试方案
随着控制器数量的激增和模块交互复杂度的提升,只针对软件基础功能验证的效果存在一定的缺陷,越来越多的项目实践表明,软件的偶发性故障需要从软件性能指标、压力场景来进行补充验证,以确保软件产品的质量。
性能测试针对 ECU 电控软件的内存(堆栈、RAM/ROM/FLASH)、CPU 负载进行最差工况的分析,保证资源占用的合理性;压力测试构建通信、IO 驱动、诊断、网络管理等模块的异常注入、总线故障、高频触发等场景,保证软件功能在压力场景下不存在致命风险。
基于 AbsInt 的静态性能分析
◾ 客户收益
· 评估资源使用率,指导芯片选型和工程优化
· 保证软件的任务、中断预留堆栈空间和分配周期合理性
· 保证芯片内存占用率和 CPU 负载在阈值范围内
· 开展符合功能安全和 ASPICE 流程要求的测试
◾ 测试内容
· 内存:自动化分析最差工况的堆栈用量、RAM/ROM/Flash 占用率
· WCET:分析最差工况下的执行时间,测试周期稳定性和任务实时性
· 调度仿真:模拟任务调度,建模仿真 CPU 负载率和任务占比
◾ 方案特点
· 借助 AbsInt 工具,针对工程二进制可执行文件进行自动化分析,无需依赖源码
· 支持 PPC、V850、Tricore、ARM 等多种架构芯片的堆栈、时间分析
· 分析遍历工况,结果涵盖程序的各个入口
· 图形化展示最差工况下的执行路径和占比用量,指导性能优化
· 不依赖测试用例,执行效率高,项目周期短
· AbsInt 工具满足 ASIL D 等级功能安全标准
基于 AbsInt 的测试流程
函数调用关系及用量显示
数据化表格用量展示
基于 RVS 的动态性能测试
◾ 客户收益
· 在 PIL、HIL、车载环境下进行时序分析,确保软件行为安全
· 可视化监测任务调度和 CPU 负载,为系统升级提供优化参考
· 保证多任务和多核运行的合理性,规避优先级反转、死锁等时序问题
· 开展符合功能安全和 ASPICE 流程要求的测试
◾ 测试内容
· WCET:分析任务 / 中断的最差工况执行时间,测试周期稳定性和响应实时性
· 任务调度:评估 WCRT,监测任务时序特征,图形化显示多核、多任务调度关系
· 负载率:基于实际工况对 CPU 负载率进行实时统计和分析,评估极限负载下的 CPU 负载率占用情况
◾ 方案特点
· 借助 RVS 分析套件进行实时数据采集和分析,还原实际环境下的执行工况
· 支持全量数据采集和长时间监测运行,追踪定位软硬件交互情况
· 自定义程度高,项目复用性强,可针对任意函数、模块或代码段进行时序分析
· 支持集成多种处理器 + 编译器环境,实现 PIL/HIL/ 车载环境下分析
· RVS 工具可以支持产品功能安全认证等级 ASIL D
基于 RVS 的测试流程
时序调度分析
基于自动化测试框架的压力测试
◾ 客户收益
· 保证通信、诊断、操作系统、IO 驱动、网络管理等模块在压力场景下不存在致命风险
· 作为功能验证的补充,发现软件质量潜在问题,确保软件鲁棒性、稳定性
· 构建标准化的压力测试用例模板,有助于形成符合功能安全要求的测试流程
· 测试用例搭载自动化测试框架进行测试执行、用例管理、问题追溯
◾ 测试内容
· 针对 NVM、IO 驱动、CAN、LIN、ETH、COM 等模块进行压力场景构建
· 分析系统不同组件间的时延特性,验证模块运行时间稳定性
· 验证在异常注入、高频触发、总线故障等因素影响下的功能稳定性
· 验证极限工况下的核心功能有效性及软件后续响应的合理性
◾ 方案特点
· 借助自动化测试框架执行测试用例,测试周期短、测试效率高、测试复用性强
· 支持软硬件交互,可监测底层函数、上层报文、外部信号等
· 支持在 PIL/HIL 环境下开展测试,可同步注入多种激励进行测试验证
测试流程示意
测试框架示意
电控领域,简单分析传统两大主流PLC控制器,西门子,三菱优缺性
在工业自动化领域,PLC(可编程逻辑控制器)扮演着至关重要的角色。
PLC控制系统的设计与选型对于工业生产线的可靠性、效率和灵活性具有决定性的影响。西门子PLC和三菱等其他品牌控制器在市场上都有广泛的应用,各自具有独特的优缺点。
西门子图标
西门子PLC控制系统具有以下优点: 1. 可靠性和稳定性:西门子PLC采用模块化设计,易于维护和扩展。同时,其强大的诊断功 能和自我检测能力可以快速定位故障,提高系统的可靠性和稳定性。2. 灵活性和开放性:西门子PLC支持多种不同的通信协议,可以方便地与其他设备进行通信。此外,其开放性的编程环境使得用户可以根据具体需求进行定制化开发。3. 强大的功能和算法:西门子PLC支持多种高级控制算法,如PID控制、模糊控制等,可以满足各种复杂控制需求。然而,西门子PLC也存在一些缺点 :1. 成本较高:由于西门子PLC的硬件和软件成本较高,对于一些小型项目来说可能不经济。2. 编程难度较大:西门子PLC的编程环境相对较为复杂,需要一定的专业知识和经验。
西门软件界面
三菱等其他品牌控制器也有其独特的优缺点。
三菱
优点: 1. 成本较低:相对于西门子PLC,三菱等其他品牌控制器的硬件和软件成本较低,适合于一些小型项目。2. 易用性较好:三菱等其他品牌控制器的编程环境相对较为友好,易于学习和使用。
缺点:
1. 功能和算法相对较弱:相对于西门子PLC,三菱等其他品牌控制器的功能和算法相对较弱,可能无法满足一些复杂控制需求。2. 可靠性和稳定性有待提高:在一些应用场景中,三菱等其他品牌控制器的可靠性和稳定性可能不如西门子PLC。 综上所述,选择西门子PLC还是三菱等其他品牌控制器取决于具体的项目需求和应用场景。如果需要更高的可靠性和稳定性、更灵活和开放的系统以及更强大的功能和算法,那么选择西门子PLC可能更为合适。如果需要更低的成本和更易用的编程环境,那么选择三菱等其他品牌控制器可能更为合适。无论选择哪种控制器,都需要在系统设计、选型、安装和维护方面给予足够的重视,以确保工业生产线的可靠性、效率和灵活性。
相关问答
急求学长学姐告知PLC程序的调试方法及步骤?申请方
1、检查接线、核对地址。要逐点进行,要确保正确无误。可不带电核对,那就是查线,较麻烦。也可带电查,加上信号后,看电控系统的动作情况是否符合设计...
如何系统的学习汽车电控系统
[最佳回答]例如电路中的各种自动控制开关在什么条件下闭合或断开等等。(3)掌握回路原则。你好,学习汽车电控需要学习电工技术,电子技术PLC控制,单片机计算...
纯电动汽车整车控制器原理及功能详细解析-汽车维修技术网
[回答]整车控制器包括硬件和软件两大组成部分,它的核心软件和程序一般由生产厂商研发,而汽车零部件供应商能够提供整车控制器硬件和底层驱动程序。现阶段...
motogp赛车有什么电控系统?
答:MotoGP的全部工厂赛车已经使用统一的玛涅蒂马瑞利(MagnetiMarelli)ECU电控系统。MotoGP各支工厂车队的电控系统尽管在软件、硬件上是完全相同的,但由...
咨询大家一下?
这两款车可以说是棋逢对手,外观、内饰做工也达到甚至超过一些合资同级车,乘坐舒适性也比较接近,在被动安全方面的表现上也都没有太大问题。不过两款车均面临着...
比亚迪和特斯拉有什么区别?比亚迪有能力造高端新能源车吗?
但是视觉识别技术路线上存在一个主要缺陷,视觉识别是模拟人的视觉,通过摄像头来看清周围环境,然后自动驾驶系统也可以通过算法,学习识别交通状况实现自动驾...双...
千亿qy8国际官方官网下载_千亿qy8国际手机版官方官网旧版本AP...
千亿qy8国际手机版官方官网安卓版手机软件下载,提供【千亿qy8国际手机版官方官网】软件免费下载到安卓手机:《千亿qy8国际手机版官方官网》累计玩家已达2亿,集结...
honishghs-1509ts电控速度怎么调?
调整电控速度需要通过软件进行设置。首先,连接电控设备到电脑上,并安装相应的软件。打开软件后,选择相关调节选项,如速度控制或电机参数设置。根据需要,可以...
汽车故障码P0701解决方法P0701故障码什么意思-汽车维修技术网
[回答]B).用于实现对数据的分析处理发送等一系列功能的控制装置。2.控制单元(TCU)的类型及结构原理和影响:A).控制单元(TCU)简称电控单元、汽车电控单元...
EPB是什么_作业帮
[回答]EPB-电子驻车制动系统EPB是ElectricalParkBrake的缩写,电子驻车制动系统代替了传统的机械杠杆和轮胎钢索,能为司机提供更好的帮助,说白了就...