必须得会的汽车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 和基于模型的设计开发电池 管理系统

作者:谦益行
文章来源:上汽零束SOA开发者论坛 
原文链接:https://bbs.z-onesoft.com/omp/community/front/api/page/mainTz?articleId=7628

  • 5
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值