ECU软件开发介绍篇

       近年来,汽车上面的电控单元(ECU)越来越多,汽车电子产品已经占到了车辆成本的1/3。国内各OEM也有自己的ECU开发团队,但是占据市场的主要还是博世、大陆、电装等国际巨头。

       ECU(本文指发动机电控单元),主要功能是采集各种传感器的AD值,通过控制策略计算出一些值,控制执行器进行相应的动作。一般来说,开发ECU需要:1、硬件工程师;2、底层软件工程师;3、控制策略工程师;4、标定工程师;5、上位机软件工程师。

      本文介绍底层软件工程师的工作。控制器软件开发和普通的单片机开发差别不大,略有区别的是发动机控制策略是由软件建模,自动生成代码后集成到控制器。

        一个产品级的ECU软件功能主要包括:

        1、bootloader:软件开发过程中下载程序和debug一般有专门的接口,但是量产以后程序有更改的可能,不可能每个ECU都打开盒子插上下载器更改程序。所以需要在芯片中编写引导程序,通过串口/CAN/Lin等通信来进行程序的更新。

        2、信号采集:发动机的信号有模拟信号(各种传感器的值),也有数字信号(开关状态,信号周期)。芯片通过AD转换/IO口获取这些值。根据外部的电路和传感器的特性,对这些值进行滤波,计算,从而得到一些具有物理意义的值。这些物理意义的值供控制策略使用。

        3、执行器驱动:发动机上需要驱动的执行器包括:节气门、喷油电磁阀、点火电磁阀、氧传感器等。驱动信号包括:高低电平、PWM波等。

        4、通信:ECU与外部进行通信主要是为了故障诊断和标定。故障诊断即ECU通过硬件或者软件的方式对发动机的工作状态进行诊断,仪表盘或者诊断仪通过标准的协议读取故障码。标定即用上位机软件通过CAN或者串口等通信方式修改发动机控制参数使发动机达到最佳工况。

        好了,相信大家对ECU底层软件开发已经有基本的概念了吧。

你可能感兴趣的:(ECU开发)