车载控制器软件开发趋势
521/06/2018
汽车电子和软件在整车上所占比例越来越大,电子和软件在整车开发中的地位越来越高,预计2030年电子电器会达到整车成本的50%
传统车厂大多由供应商开发控制器软件
新能源汽车公司越来越多的由主机厂开发控制器软件
软件相关的车辆召回趋势图
2011-2015年共发生189起独立软件召回,影响超过1300万辆汽车。根据制造商分析,141起存在崩溃的风险; 44起可能导致伤害。(报告时间:2016年5月)
因软件失效导致的车辆召回统计
621/06/2018
实施ISO26262的目的
721/06/2018
ISO 26262是汽车行业对于汽车电子开发的最佳实践
ISO 26262有助于规范企业的开发流程
ISO 26262有助于提升企业的开发能力
ISO 26262有助于提高电子产品品质
蔚来汽车MBD开发流程
1221/06/2018
Requirement Analysis
•Requirement Specification
•Requirement analysis report
Architecture Design
•Software architecture in EA/DaVinCi Rte
•ICD document
Unit Design
•Model file
•DD
•Model design document
Unit Test
•Test suite
•Model check report
•Unit test case
•Unit test report
•Coverage report
Code Generation
•C code
•Code generation report
Integration
辅助架构设计
1421/06/2018
Test Vectors
Desktop Simulation(on PC)
Results
Model
Object Code Execution (on MCU)
Results
Generated Code
Object File
CodeGenerator
CrossCompiler
== ?
Compare
借助PIL测试,获得粗略的执行时间,为架构设计提供参考
项目起始阶段定义建模规范
1521/06/2018
MAAB和Modeling Guidelines for HIS为基础
开发过程中逐步完善建模标准
Simulink Check提供建模标准的检查功能
模型设计阶段的复杂度监控
1621/06/2018
软件开发中经常使用圈复杂度来表达单元模块的复杂程度
圈复杂度过大,会给后续的开发、维护和验证工作带来很多麻烦
使用Simulink Check的Advisor功能检查复杂度
静态验证阶段的设计错误检查
1721/06/2018
Simulink Design Verifier提供了对模型溢出、死逻辑等错误的检查功能
-破坏性强
-不易定位
相比于手工编码方式开发软件,这类错误的检查也大大提前
代码生成后的等效性测试
2021/06/2018
在单元模型基础上做PIL测试
PIL做背靠背测试
-真实目标处理器
-同时获得资源消耗
Test Vectors
Desktop Simulation(on PC)
Results
Model
Object Code Execution (on MCU)
Results
Generated Code
Object File
CodeGenerator
CrossCompiler
== ?
Compare
要点
2121/06/2018
以通用的建模标准为基础逐步形成公司标准
需求定义阶段引入闭环仿真
控制单元模型的圈复杂度
保证单元测试的高覆盖率
通过MathWorks工具进行设计错误检查
PIL实现背靠背测试和计算资源估算