必须得会的汽车ECU研发基础—应用层软件介绍5

1 应用层软件的概念

相对于底层软件,应用层软件偏向于解决车辆的实际驾驶工况和应用场景问题,以及通过精妙的控制算法或策略实现零部件的精准控制。应用层软件一般从底层软件获取来自传感器或CAN通讯的输入数据,通过自身复杂而有效的策略和算法计算或决策出控制目标,输出给底层软件最终去驱动执行器。比如电机控制器,根据当前油门或制动,坡度,车速等数据,识别出车辆现在处于什么工况,再根据工况的特性,是加速还是减速,是急加速还是急减速等特性,计算出电机的目标转速和目标扭矩,然后基于电机特性Map,确定目标电流或电压,最终驱动电机,以此精准控制电机运转。通过这个例子,也不难发现,要做好应用层软件有几点要求:

1) 深入理解控制对象所应用的场景,车辆有不同的驾驶工况,比如加速超车,制动回馈,自动巡航,自动泊车等。在这些场景下,我们一方面要深入理解控制对象的应用状况,另一方面也要处理不同驾驶工况如何相互切换;

2)深入了解控制对象的实际特性,以电机为例,电机特性Map图(转速-扭矩-功率),电机特性受温度等因素的影响情况;

3)深入掌握控制对象的基础知识,还以电机为例,电机的基本控制方法,电机驱动控制原理,车辆运动学理论等。

2 应用层软件的开发工具

当前应用层软件的开发工具,在国内最流行的应该是Mathworks公司的Matlab+Simulink+Stateflow, 以前在德企会用Matlab+targetlink+stateflow, 像博世还有自己的开发工具。像当下自动驾驶的应用层,有很多公司会采用代码开发,像C、C++等,不过这里提到的都是基于模型的应用层软件开发。

就是先根据详细设计方案搭建模型,再基于开发工具所提供自动生成代码配置,将所有模型自动生成C代码;生成的应用层软件代码和底层代码一起编译执行,生成可供ECU执行运行的文件,比如s19,Hex,Bin等格式;最终通过刷写工具将软件烧录到ECU相应的内存空间,启动ECU就可以实时运行软件,执行相应的功能。

OK, 以上就是对应用层软件概念的简单介绍,后续再写一些详细解释应用层软件的内容。

Reference:

[1] 使用 Simulink 和基于模型的设计开发电池 管理系统

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年9月20日
下一篇 2021年9月20日

相关推荐