基础入门一:为什么汽车需要嵌入式软件开发?
基础入门一:为什么汽车需要嵌入式软件开发?
随着汽车智能化和电动化的快速发展,汽车嵌入式软件开发已成为汽车工程领域的重要组成部分。本文将从软件开发的角度,介绍汽车架构中的电子器件组成,以及为什么需要汽车嵌入式软件开发工作。
什么是ECU?
新能源汽车中,当我们挂前进挡并踩下电门,汽车前进,踩刹车,汽车停止。踩电门这个动作所产生的信号,会传送给ECU(Electronic Control Unit)电子控制单元,也可以叫“行车电脑”。
ECU通俗来讲就是MCU加上一些外围必要的电路组成的一个系统,可以对各种输入信号(传感器信号、车载网络信号等)进行加工处理,然后进行信号输出(控制执行器的信号、车载网络信号等)的一个专用嵌入式系统。它们的用途就是控制汽车的行驶状态以及实现其各种功能。主要是利用各种传感器、总线的数据采集与交换,来判断车辆状态以及司机的意图并通过执行器来操控汽车。
ECU是由四个部分组成,其分别是:输入回路、A/D转化器、微型计算器、输出回路,ECU类似于电脑的CPU。
输入回路的功能:
- 将传感器输入的信号,再出去杂波
- 正弦波转变为矩形波
- 转换成输入电平
A/D转换器的功能:
汽车上的传感器有的产生数字信号,有的产生模拟信号,A/D转换器就是将模拟信号转换为数字信号
数字信号产生后,微型计算机对数字信号进行处理
微型计算机由RAM ROM i/o接口和cpu组成
微机的功能:根据工作的需要,把各种传感器送来的信号用内存的程序(微机处理的程序)和数据进行运算处理,并把处理结果送往输出回路。
输出回路:微型计算机给出响应的命令后,执行器并不能立即执行由于微机输出的是电压很低的数字信号,用这种信号一般是不能直接驱动执行元件的。输出回路的作用就是将微机输出的数字信号转换成可以驱动执行元件的输出信号输出。回路多采用大功率三极管。
输出回路的功能(总结):将微机输出的数字信号转换成可以驱动执行元件的输出信号。输出回路多采用大功率三极管,由微机输出的信号控制其导通和截止。
为什么需要汽车嵌入式开发呢?
还是以踩电门为示例,当踩下电门时,相关传感器信号会传入ECU,这时ECU中的微机功能,会基于传感器信号进行程序处理,编程处理的过程就是嵌入式软件开发的过程。
ECU和普通的单片机一样,由微控制器(MCU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。
ECU的作用
- 参数控制。ECU的作用是通过各种传感器来计算车辆的行驶状况,从而对参数进行控制。
- 故障自诊断和保护功能。当系统产生故障时,它还能在存储器中自动记录故障代码并采用保护措施从上述的固有程序中读取替代程序来维持。
常见ECU的类
ECU的控制范围已经扩张到巡航控制、灯光控制 、安全气囊控制 ,悬架控制 、排气控制、制动控制、EGR和增压压力控制等。当然 ,随着车上电子元件的日益增多,线路也越来越复杂 。为了简化电路和降低成本,现在汽车上多个ECU之间的数据交换是CAN总线连接起来的,通过它将整车的ECU形成一个网络系统 。
现如今ECU已经成为汽车上最为常见的部件之一,依据功能的不同可以分为不同的类型。最常见的有如下几种ECU:
- BCM(Body Control Module)车身控制模块,主要控制车身电器,比如整车灯具、雨刮、洗涤、门锁、电动窗、天窗、电动后视镜、遥控等。
- ESP(Electronic Stability Program)车身电子稳定控制系统,车身电子稳定控制系统。ESP可以使车辆在各种状况下保持最佳的稳定性,在转向过度或转向不足的情形下效果更加明显。ESP是博世公司的专门叫法,譬如日产的车辆行驶动力学调整系统VDC(Vehicle Dynamic Control ),丰田的车辆稳定控制系统VSC(Vehicle Stability Control ),本田的车辆稳定性控制系统VSA(Vehicle Stability Assist Control),宝马的动态稳定控制系统DSC(Dynamic Stability Control )等。现如今很多中高端合资车、国产车都会配备这个模块。
- BMS(Battery Management System)电池管理系统,顾名思义这个控制器是专门针对配备有动力电池的电动车或者混合动力车准备的。主要功能就是为了能够提高电池的利用率,防止电池出现过度充电和过度放电,延长电池的使用寿命,监控电池的状态。
- VCU(Vehicle Control Unit)整车控制器,用于混合动力/纯电动汽车动力系统的总成控制器,负责协调发动机、驱动电机、变速箱、动力电池等各部件的工作,提高新能源汽车的经济性、动力性、安全性并降低排放污染。
ECU软件开发流程
当电门踩下去时,相关传感器信号传送给ECU分类中的VCU域。VCU作为新能源汽车核心部件,负责整车的能量分配管理,包括扭矩管理、电机电池协调管理、充电管理和故障诊断等;根据采集驾驶员的操作指令、车速、驱动电机转速、SOC和水温等参数,选择新能源整车最佳的能量输出模式,实现既定的电机、电池和传动系统的优化匹配目标。因此,一款高性能、低成本的VCU对新能源汽车的动力性、经济性、安全性等整车性能具有十分重要的影响。
VCU接收到电门的传感器信号后,通过采集的物理信号及接收的CAN信号进行处理。然后通过信号和编程程序实现对驾驶意图的识别,包括
- 换挡意图
- 加速意图
- 刹车意图
- 驾驶模式转换意图
- 转向意图
根据驾驶意图,VCU程序实现如下功能计算:
- VCU应根据驾驶员意图(加速踏板、挡位等)进行需求扭矩计算
- 驾驶模式转换意图进行需求扭矩计算
- VCU应进行车辆启动扭矩的计算与控制
- VCU进行蠕动扭矩计算及控制
- VCU进行驻坡扭矩计算及控制
- VCU进行能量回馈扭矩计算及控制
- VCU进行定速巡航扭矩计算及控制
- VCU进行跛行模式的扭矩计算及控制
- VCU进行整车扭矩限制
- VCU进行整车扭矩减震处理
- VCU进行整车扭矩梯度处理
- VCU进行扭矩平滑处理
- 扭矩控制过程不会影响人员安全及车辆安全,并且考虑了用户体验,尽量减少能量消耗。
VCU程序逻辑梳理
电动车的整车驱动系统由电机和电机控制系统组成,并通过CAN总线方式与整车网络通信。
1)VCU通过采集到的踏板开度信号和挡位等信号,经过转矩计算,得出最后的扭矩信息。扭矩信息通过CAN总线由VCU发送到MCU,MCU收到相应的控制信号后,执行对应的动作。
2)根据汽车的运行状况,电机运转模式分为电动模式和发电模式。电动模式下整车运行在驱动状态,汽车属于行驶状态;发电模式下整车运行在滑行或制动状态,实现制动能量的回馈。
3)电机控制系统在运行状态下,MCU实时向VCU上报状态信息和故障信息,并在系统出现故障时做出及时处理。VCU接收到MCU的各项信息后,会根据信息的内容对整车系统做出合理的控制。
上述流程实现了一个完整的汽车电门的软件功能
总结:
首先汽车是由一系列ECU(类似单片机)电子器件构成,因为传感器采集的信号需要用程序处理,实现汽车的功能,所以出现了汽车的嵌入式软件开发需求。