汽车ECU完整介绍

一、ECU简介

        ECU原指的是Engine Control Unit,即发动机控制单元,特指电喷发动机的电子控制系统。后来随着汽车电子的迅速发展,ECU的定义变成了Electronic Control Unit,即电子控制单元,泛指汽车上所有电子控制系统。而原来的发动机ECU有很多的公司称之为EMS: Engine Management System。

二、ECU的基本组成

        ECU和普通的单片机一样,由微控制器(MCU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。

        微控制器(MCU)是汽车电子控制单元ECU的核心,以CPU为核心,是集成在一块芯片上的微型计算机。ECU是包括微控制器和相关外围接器件的电路板的总称,是微控制器在汽车的应用系统。

三、ECU的作用

        1.参数控制。ECU的作用是通过各种传感器来计算车辆的行驶状况,从而对发动机的点火、空燃比、怠速、废气再循环等多项参数进行控制。

        2.故障自诊断和保护功能。当系统产生故障时,它还能在存储器中自动记录故障代码并采用保护措施从上述的固有程序中读取替代程序来维持发动机的运转。

四、ECU的工作原理

        ECU由传感器输入电路、微处理器、和输出执行电路等三个部分组成。 各种传感器把信号传给输入电路,输入电路完成信号过滤处理,并把各种信号统一转换为数字信号,然后传给微机。微机将处理过的信号进行运算,结果送至输出电路。输出电路将微机传输过来的数字信息放大,根据需要把某些信号转换为为模拟信号,驱动被控的调节伺服元件工作。如下图所示:

五、常见ECU的类型

        ECU的控制范围已经扩张到巡航控制、灯光控制 、安全气囊控制 ,悬架控制 、燃油加热控制、排气控制、制动控制、EGR和增压压力控制等。当然 ,随着车上电子元件的日益增多,线路也越来越复杂 。为了简化电路和降低成本,现在汽车上多个ECU之间的数据交换是CAN总线连接起来的,通过它将整车的ECU形成一个网络系统 。

        现如今ECU已经成为汽车上最为常见的部件之一,依据功能的不同可以分为不同的类型。最常见的有如下几种ECU:

        EMS(Engine Mangement System)发动机管理系统,应用在包括汽油机PFI(如上图)、GDI,柴油机,混合动力系统等,主要控制发动机的喷油、点火、扭矩分配等功能。

        TCU(Transmision Control Unit)自动变速箱控制单元,常用于AMT、AT、DCT、CVT等自动变速器中,根据车辆的驾驶状态采用不同的档位策略。

        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供应商:

(1)BOSCH 博世(德)

        博世集团是全球第一大汽车技术供应商,其中汽车与智能交通业务范围涵盖了汽油系统、柴油系统、汽车底盘控制系统、汽车电子驱动、起动机与发电机等。汽车配套业务的去年总销售额:448.25亿美元。

(2)Continental大陆(德)

        2007年欧盟委员会批准德国大陆集团收购西门子VDO,自此西门子VDO的ECU业务归属大陆旗下,这也使大陆集团一举跻身全球五大汽车零部件供应商的行列。大陆集团业务涵盖制动系统、动力总成及底盘的系统和零部件、仪表、信息娱乐系统、汽车电子、轮胎及工业橡胶制品等。去年总销售额:314.80亿美元。

(3)DENSO电装(日)

        株式会社电装(DENSO)是世界屈指可数的汽车零部件及系统的顶级供应商,提供多样化的产品及其售后服务,包括汽车空调设备和供热系统、电子自动化和电子控制产品、燃油管理系统、散热器、火花塞、组合仪表、过滤器、产业机器人、电信产品以及信息处理设备。去年总销售额:360.30亿美元。

(4)UAES联合汽车电子(中)

        联合汽车电子有限公司(简称UAES)成立于1995年,是中联汽车电子有限公司和德国罗伯特•博世(BOSCH)有限公司在中国的合资企业。公司主要从事汽油发动机管理系统、变速箱控制系统、车身电子、混合动力和电力驱动控制系统的开发、生产和销售。去年总销售额:160亿人民币。

(5)DIAS联创汽车电子(中)

        联创汽车电子有限公司成立于2006年,是上汽集团领导下的核心汽车电子零部件企业。主要为客户提供柴油发动机管理、电动助力转向控制、新能源汽车电子控制、胎压监测的系统解决方案及零部件产品。去年总销售额:2.7亿人民币。

注:本文主要目的在于整合相关优质文章,使读者更全面的了解,为尊重原作者,出处如下:

什么是汽车ECU? - 知乎 (zhihu.com)

ECU基础知识_X@B的博客-CSDN博客

汽车电子控制核心-ECU - 知乎 (zhihu.com)

ECU(电子控制单元)_百度百科 (baidu.com)

  • 14
    点赞
  • 186
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
随着汽车行业的发展,汽车电子在汽车中的作用越来越重要。尤其是汽车ECU,协调汽车各部分工作,如同汽车的“大脑”,在汽车安全稳定行驶以及汽车的舒适性方面具有极其重要的作用。现阶段,国内外越来越多的厂商和高校在汽车ECU研发上投入大量的资源,希望能够研制出高性能汽车ECU,促进国内汽车产业的发展。不同类型的汽车所使用的汽车ECU有着自己的特点,但具有一定的共性,差别主要体现在功能的侧重点不同。针对这些共性,可以设计出一种适用于不同车辆的汽车ECU,即通用的汽车ECU。本文通过分析传统ECU的设计要点和功能需求,采用模块化设计方法,提出了一种通用汽车ECU的实现方案,通过对所设计的汽车ECU进行相关配置即可用于不同类型车辆。本文着重实现汽车ECU的各种基本功能,具体的汽车控制方案由其他研发人员提供。汽车控制方案实现人员在设计自己的汽车ECU时,只需要提供控制方案,设置相关参数即可。本文从硬件和软件角度,以及分别从数据输入输出模块、通信模块、数据存储模块和故障诊断等方面介绍了通用汽车ECU的实现方案。在设计时着重强调了其通用性。在硬件方面设计时突出了其可配置性;在软件方面,通过移植德国3S公司的CoDeSys,在嵌入式平台上实现了软PLC,利用嵌入式软PLC这个开放软件平台,极大方便各种汽车控制方案的实现。另外,本系统通过简洁的电路,可以实现在线故障检测,一旦出现故障可以及时发现并执行相应故障处理措施。
单链表是一种常见的数据结构,用于存储一系列的节点连接起来的数据。 在C语言中,我们可以使用结构体来定义一个节点,包含一个数据域和一个指向下一个节点的指针域。代码如下: ```c struct Node { int data; struct Node* next; }; ``` 然后,我们可以定义一个指向链表头部的指针,表示整个链表的起始位置。初始化链表时,这个指针可以指向NULL。 ```c struct Node* head = NULL; ``` 接下来,我们可以实现一些基本的操作,例如插入节点、删除节点、遍历链表等。 插入节点的过程包括创建一个新节点,并将其插入到链表中适当的位置。 ```c void insertNode(int value) { struct Node* newNode = (struct Node*)malloc(sizeof(struct Node)); newNode->data = value; newNode->next = NULL; if (head == NULL) { head = newNode; } else { struct Node* curr = head; while (curr->next != NULL) { curr = curr->next; } curr->next = newNode; } } ``` 删除节点的过程需要找到目标节点,并调整前后节点的指针。 ```c void deleteNode(int value) { if (head == NULL) { return; } if (head->data == value) { struct Node* temp = head; head = head->next; free(temp); return; } struct Node* prev = head; struct Node* curr = head->next; while (curr != NULL && curr->data != value) { prev = curr; curr = curr->next; } if (curr != NULL) { prev->next = curr->next; free(curr); } } ``` 遍历链表的过程是从头节点开始,依次打印每个节点的数据。 ```c void printList() { struct Node* curr = head; while (curr != NULL) { printf("%d ", curr->data); curr = curr->next; } printf("\n"); } ``` 这是一个简单的单链表的实现示例,你可以根据需要进一步扩展和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值