01 汽车软件开发之控制器基础知识

文章目录


一、Simulink模型到汽车控制器

汽车控制器应用软件(ASW)开发通常采用基于模型设计的方法来实现,多数的应用软件开发人员基本只关注Simulink模型层面的内容,而不会去关注模型生成的代码是怎样的以及代码又是如何在控制器运行等问题。实际上,作为应用软件开发人员,弄清楚这些问题十分必要,会对其职业发展有很大的促进作用。因此,本文试图来扫盲

1-1、Simulink模型如何在汽车控制器运行

  1. 模型创建:用户根据确定的逻辑或算法需求,使用Simulink拖拽和连接图形块,创建模型,并配置数据字典。随后,用户可用Simulink模型规范工具检查是否满足,如有违背则更新优化;再用simulink仿真环境进行测试,确认所建立的模型的正确性,实现目标的需求。
  2. 代码生成:进行Simulink代码生成配置,然后自动生成C语言代码,并保存为 .c.h 文件。
  3. 代码编译:在代码生成好之后,接下来是编译代码的过程,即将C代码转换为机器代码(汇编语言)。可使用编译器(如 GCC)进行编译,以生成**.o**文件。
  4. 链接:在编译过程中,需要进行链接。链接是将各个.o文件连接到一起,以生成可执行文件的过程,比如汽车控制器常用hex格式或者s19 格式的可执行文件。
  5. 烧录:在生成可执行文件之后,接下来是烧录过程。烧录是将可执行文件刷写到控制器的内存中,以便控制器可读取并执行该代码。
  6. 控制器运行:在烧录完成之后,控制器就可以读取并执行代码了。控制器读取内存中的代码,并对其进行解释,以执行相应的操作。

以上就是simulink模型最终如何到汽车控制器运行的整个过程。如果想详细了解整个过程,又愿意亲自写代码实践的话,推荐这个课程:
依据基本原理构建现代计算机:从与非门到俄罗斯方块(基于项目的课程) 以及这门课程对应的教材:
在这里插入图片描述

Figure1:计算机系统要素

1-2、汽车控制器的软硬件简介

控制器运行通过一些电路和电子元件实现,如下所图所示,其实可以将从两个维度来理解汽车控制器,即软件层面硬件层面
在这里插入图片描述

Figure2:计算机系统要素

从硬件层面,以汽车驱动电机控制器来说,由以下组件组成:

  1. 微控制器:实现电机的控制和数字信号处理。
  2. 传感器:监测电机的工作状态,并对其进行实时监控。
  3. 驱动器:控制电机的转速和扭矩。
  4. 电源管理:管理电源的输入和输出,保证电机的正常工作。
  5. 通信接口:与其他控制器和计算机系统进行通信,实现数据交换和监控。
  6. 电路保护:保护电机和控制器免受电磁干扰和短路等损害。
  7. 外壳:保护内部组件,防止外界因素对其造成损害。

以上组件组合在一起,可以实现对电机的高效控制,并保证电机的安全和稳定工作。

在这里插入图片描述

Figure3:website saled BWM i3 MCU

从软件层面,主要在代码编译之前的阶段,即代码开发阶段,包括应用层软件,底层软件和Bootloader软件。

  1. 应用层软件(ASW):是汽车控制器的最顶层软件,主要负责处理用户的请求、接收来自硬件设备的数据、执行预定的动作,并对外呈现结果,通常采用基于模型设计的开发方法,通常是采用simulink为主要的开发工具。
  2. 底层软件(BSW):是汽车控制器软件的基础设施,主要负责处理硬件的驱动、提供各种基础服务,支持上层软件的实现,通常是采用AutoSAR架构,采用相对应的AutoSAR工具进行开发。
  3. Bootloader软件(BOOTLOADER):是汽车控制器软件的一个特殊部分,在系统启动时首先被执行,主要负责检查硬件状态、加载操作系统以及升级软件等功能。它的作用类似于计算机中的BIOS软件。通常是采用手写C代码进行开发。

以上就是汽车控制器软硬件层面的简单介绍。


1-3、汽车上的控制器分布

汽车控制器,也称汽车电子控制器,即ECU(Electronic Control Unit),利用传感器、执行器、总线等组件操控车辆所有的电子设备和汽车行驶状态,承担决策功能。常见的汽车控制器包括:

  1. 汽车发动机控制器:负责控制发动机的运转,包括燃油供应、点火时序和排气系统。
  2. 电机控制器:负责控制电机的转速和扭矩。
  3. 变速器控制器:负责控制车辆的动力传输,如变速器和驱动轴。
  4. 车身控制器:负责控制车辆的安全系统,如刹车、安全气囊和车辆稳定性控制系统。
  5. 电池管理系统控制器:负责监测和控制电动汽车的电池系统。
  6. 车联网控制器:负责控制和监测车辆的通信系统,如车载终端和道路数据采集系统。
  7. 汽车显示和娱乐系统控制器::负责控制车辆的显示和娱乐系统,如触摸屏显示和音响系统。
  8. 汽车底盘控制器:负责控制车辆的制动、转向、俯仰等姿态的控制系统。

汽车的功能越复杂的车型搭载ECU数量越多,豪华车装配的ECU数量达到100+。以奥迪A8为例,ECU数量从1993年的5个快速上升到 2010年的100个。这将会引发汽车电子电气架构的革命,总体趋势向着硬件数量减少,ECU功能简化,算力向中央集中,未来向云端集中发展。博世提出了经典6阶段划分的电子电气架构,如下所示:

在这里插入图片描述

Figure4:Bosch

整个过程被分为三个大的步骤,分布式架构、跨域集中架构、车载电脑集中架构,六个阶段:模块化,集成化,中央域化,跨域融合,车载中央电脑,车载云计算,逐步完成功能整合、多个独立网络内整合、中央网关协调通信、跨域功能整合,进一步通过中央域控制器进行降本,最后通过网络网络,建立虚拟域,通过车载中央电脑甚至云计算,完成复杂功能的整合。
在这里插入图片描述

Figure5:Delphi

二、汽车控制器的V流程开发

汽车控制器开发的V流程是一种专门用于汽车控制器开发的流程模型,包括了设计、开发、试验和认证等多阶段。V流程以V字形图表示,具有清晰的阶段和模块划分,便于团队整体控制和管理汽车控制器开发项目。如果从事汽车控制器开发方面的工作,这是必须具备的基本意识。

2-1、广义的汽车控制器开发V流程

一般来说,汽车控制器开发的V流程包括以下几个阶段:

  1. 需求分析团队对汽车控制器的需求进行分析,包括功能需求、性能需求、安全需求等。
  2. 概要设计:团队根据需求分析结果,初步设计汽车控制器的功能架构和性能要求。
  3. 详细设计与开发:团队进一步完善汽车控制器的设计,包括电路设计、软件设计、机械设计等。团队按照详细设计结果开发汽车控制器的电路和软件。
  4. 测试:团队对详细设计与开发进行测试,验证其正确性和有效性。
  5. 试验:团队对汽车控制器进行性能试验,包括功能试验、性能试验、安全试验等。
  6. 认证:团队将汽车控制器进行认证,以证明其符合相关标准和要求。

这样汽车控制器就可以通过认证,那产品就可以量产。总的来说,V流程是一个系统的、有序的开发流程,能够有效地控制和管理汽车控制器开发项目,保证产品质量和按时交付。此外,团队还可以在V流程中使用各种工具和方法,例如版本控制、问题跟踪、代码审查等,以进一步提高项目效率和质量。

2-2、汽车控制器开发团队

汽车控制器的研发通常需要包括多个不同领域的团队,例如系统团队、硬件团队、软件团队和机械团队。其中:

  • 系统团队:负责定义和设计汽车控制器的系统架构,确保其符合客户的需求和预期。
  • 硬件团队:负责设计和开发汽车控制器的硬件组件,包括芯片、电路板等。
  • 软件团队:负责设计和开发汽车控制器的软件,包括固件、驱动程序等。
  • 机械团队:负责设计和制造汽车控制器的机械结构,包括外壳、连接件等。

上述团队具体执行V流程如下所示:
在这里插入图片描述

Figure5:ASPICE V流程

2-3、通常的汽车控制器开发V流程

2-2、汽车控制器开发团队中,通常要求系统,硬件和软件要求严格执行V流程,如下所示:
在这里插入图片描述

Figure6:ASPICE-1

像ASPICE, 功能安全网络安全等标准均有明确规定和指导,而现在汽车主机厂或供应商(甲方)要求供应商(乙方)将这些标准作为必须要满足的需求。
在这里插入图片描述

Figure7:ASPICE-2

尤其是ASPICE中定义了32个流程,并且详加定义了各流程的范围、目的、主要产出。其中对于汽车控制器开发的技术层面来说,主要包括系统和软件,这也是通常所说的V流程,具体如下:
在这里插入图片描述

Figure8:ASPICE-3

关于汽车控制器软件开发的V流程,若想深入了解,据个人经验可参考mathworks公司的一些研讨会视频,还是很有价值;另外,流程的东西来自于实践,注重实践效果会更佳

2-4、为什么采用V流程进行汽车控制器开发

总的来说遵循V流程,可以做到以下几点:

  1. 保证产品质量:V流程提供了一个系统化的方法来管理汽车控制器的开发过程,以确保产品的质量。
  2. 提高开发效率:V流程为每个步骤设置了明确的活动和任务,有助于加快开发进度并避免重复的工作。
  3. 降低风险:V流程涵盖了所有的开发步骤,从而减少了开发过程中的风险。
  4. 提高客户满意度:V流程确保了产品的质量,从而提高了客户对产品的满意度。
  5. 符合行业标准:V流程符合汽车行业的质量标准,有助于与其他汽车厂商和供应商保持一致性。

因此,V流程是汽车控制器开发过程中不可或缺的重要工具,当然严格执行V流程也会带来一些开发周期问题,目前国内汽车行业发展十分迅猛,一个控制器开发周期压缩的越来越短,而贯彻V流程需要巨大的时间投入,这时乙方就面临着巨大的交付压力。所以这里又会涉及到另外一个非常有意思的问题:实际如何执行V流程?


三、汽车控制器软件开发的常用工具

本节介绍下了解到的汽车控制器开发的工具链,本Part侧重于系统应用软件开发两个方面的工具。

3-1、需求管理

需求工具接触到的有DOORS, Polarion和PTC Integrity,都是面向大型工程项目的需求管理工具,虽然它们都有类似的功能,但是它们也有一些显著的差异。

  • DOORS:DOORS是IBM开发的需求管理工具,特别强调需求的一致性和完整性。它支持多维数据结构,可以方便地组织和管理大量需求信息。
  • Polarion:Polarion是一款由Siemens开发的需求管理工具,特别强调需求的可视化和可操作性。它提供了一系列图形和表格,方便用户理解和访问需求信息。
  • PTC Integrity:PTC Integrity是PTC公司开发的需求管理工具,特别强调需求的协作性。它支持多用户协作,团队成员可以共享信息,协作完成需求管理任务。

总的来说,选择哪款需求管理工具取决于您的需求和项目的需求。目前个人偏向于用DOORS。DOORS (Dynamic Object-Oriented Requirements System)的特点包括:

  1. 需求跟踪:DOORS可以跟踪需求的生命周期,从需求收集到实现,并且可以确保需求的一致性和完整性。
  2. 多维数据结构:DOORS支持多维数据结构,可以方便地组织和管理大量需求信息。
  3. 可视化:DOORS提供了一系列图形和表格,可以帮助用户更好地理解和访问需求信息。
  4. 协作:DOORS支持多用户协作,团队成员可以共享信息,协作完成需求管理任务。
  5. 审查和审批::DOORS支持需求审查和审批,可以确保需求的质量和合法性。
    在这里插入图片描述
Figure9:SEBoK

3-2、架构设计

系统架构和软件架构设计工具包括:

  • Enterprise Architect(EA):这是一个高级系统和软件架构工具,可以帮助构建系统和软件的架构模型,以及记录和管理需求和元数据。
  • Microsoft Visio:这是一种图形化工具,可以帮助构建系统架构图和软件架构图。
    以上工具都可以帮助设计人员在需求和限制的情况下,设计出可扩展、可维护的系统架构和软件架构,两者相较而言,EA更专业更强大,首选EA。其学习课程可以参考:Enterprise Architect官网教程1-入门
    在这里插入图片描述
Figure10:Step up from diagramming in Visio, to modelling in Enterprise Architect.

3-3、详细设计

3-3-1、代码编辑器

ECU(汽车电子控制单元)软件开发中常用的代码编辑工具包括:

  • Source Insight: 一款功能强大的代码阅读和编辑工具,主要用于源代码的浏览、分析和编辑。
  • Text editors:如 Sublime Text、Notepad++等,这些工具是通用的文本编辑器,可以用于编写和编辑代码。
  • Eclipse:这是一个通用的IDE,支持多种编程语言,可以用于开发嵌入式系统。
  • Visual Studio:这是一个微软公司提供的IDE,支持多种编程语言,并且有丰富的插件库。

这些工具都可以帮助开发人员编写高质量的代码,并在编码过程中提供自动完成、语法检查等功能。在选择代码编辑工具时,需要考虑项目需求和团队偏好,以选择最合适的工具。个人习惯用Source Insight,Source Insight主要用于源代码的浏览、分析和编辑。它可以帮助开发人员更好地理解代码,支持代码标记、代码注释、代码折叠等功能,方便开发人员阅读代码。Source Insight还支持语法高亮、代码提示、代码完成等功能,可以大大提高编码效率。此外,Source Insight还具有调试、搜索和替换等功能,可以帮助开发人员快速找到问题并进行解决。总的来说,Source Insight是一款很好的代码阅读和编辑工具,特别适合用于大型项目的代码开发。
在这里插入图片描述

Figure11:sourceinsight

3-3-2、模型开发

Simulink, TargetLink 和 ASCET 是三种常用的建模工具,它们各具特点,主要区别如下:

  • Simulink:Simulink 是一款基于图形界面的模型开发工具,具有丰富的图形建模和仿真功能,适用于各种系统仿真需求。
  • TargetLink:TargetLink 是一款专门为汽车控制器开发而设计的建模工具,可以帮助用户快速生成高质量的 C 代码,适用于严格的汽车控制器开发流程。
  • ASCET:ASCET 是一款专注于模型驱动开发的建模工具,可以帮助用户进行系统建模和仿真,并生成高效的代码。ASCET 也适用于汽车控制器的开发,但相比 TargetLink 更注重模型的仿真和代码生成。

这三种工具中,ASCET好像主要博世使用,其他家一般都使用Simulink,TargetLink。TargetLink 通过在 Simulink 模型中生成代码来支持高效的开发流程,这两款工具结合使用可以提高开发效率并帮助提高代码质量。


3-4、软件测试

3-4-1、单元测试

单元测试包括静态单元测试和动态单元测试。其中静态单元测试,一般使用Polyspace等工具。Polyspace是一款强大的代码静态分析工具,用于检测软件代码中的潜在错误和安全漏洞。它可以分析代码并确定可能导致错误或漏洞的代码段,并提供详细的说明和建议以便开发人员可以解决问题。Polyspace支持许多编程语言,包括C,C++,Ada和MATLAB。它是一个高效的工具,可以在编写代码的同时对代码进行实时分析,从而减少开发周期并提高代码质量。而动态单元测试则一般基于Simulink,TargetLink,Tessy,VectorCAST等工具来实施。

3-4-2、集成和确认测试

对于集成和确认测试,这里主要介绍下Vector公司的三件套:CANalyzer、CANape 和 CANoe,均用于汽车通信网络分析和测试的工具。

  • CANalyzer:用于分析和测试控制器区域网络(CAN)通信系统的工具。它提供了数据监测、协议分析、错误注入和总线模拟等功能。
  • CANape:用于提供电子控制单元(ECU)高级测量和标定功能的工具。CANape 提供了一个环境,用于开发和测试控制算法,并实时标定 ECU 参数。
  • CANoe:用于在汽车行业中开发、测试和分析 ECU 和网络的工具。它提供了一个全面的环境,用于测试通信协议,标定ECU参数和模拟复杂的网络交互。

这三种工具可以一起使用,为汽车通信网络和 ECU 的开发和测试提供一个集成的解决方案。

3-5、版本管理

常见的软件项目管理和版本管理工具有:

  • Jira:一种广泛使用的软件开发团队的项目和问题跟踪工具。
  • GitHub:一个基于网页的版本控制和协作平台,被广泛应用于软件开发团队。
  • Bitbucket:一个基于网页的版本控制和协作平台,专门为专业软件开发团队设计。
  • SVN:一个广泛使用的软件开发项目版本控制系统。
  • PTC Integrity:一款综合性的软件项目管理和版本管理工具,
  • Git:一款开源的版本控制系统,主要用于软件项目的版本管理。

此处,以PTC Integrity进行说明,PTC Integrity可支持大型软件项目的开发、测试和交付。它提供了一系列的项目管理功能,如需求管理、项目计划、缺陷跟踪等。PTC Integrity 同时也提供了强大的版本管理功能,可以管理代码和文档的变更,以及控制软件的发布。PTC Integrity 可以让团队中的多个开发人员在同一个项目上并行工作,通过版本管理功能确保代码的完整性和一致性。也具有强大的分支管理功能,可以让开发人员在不同的分支上开发,并方便地合并到主分支。
当然具体选择哪个工具取决于软件开发项目和团队的具体需求和要求,如团队规模、开发流程和项目复杂度等。


本文章将介绍底层软件开发工具,在上篇文章中所介绍的系统和应用软件开发的工具链相比,需求管理,架构设计代码编辑和版本管理几乎相同,差别主要在详细设计和测试方面。

3-6、比较工具

首先推荐一款最常用的比较工具BeyondCompare,软件工程师一般都听说或使用过这款工具,用来比较不同版本的代码内容,如下所示:
在这里插入图片描述

Figure12:BeyondCompare

作为软件集成工程师,会更常用到文件夹对比功能,如下所示:
在这里插入图片描述

Figure13:实际使用用例

3-7、调试工具

底层软件开发最常用的调试工具有:

  • Lauterbach(劳特巴赫) Trace32、iSystem(IC5000)
  • Vector三件套(CANalyzer, CANape,CANoe)。

其中,劳特巴赫调试工具提供了嵌入式开发全生命周期的支持, 覆盖了Bootloader、 Firmware的开发,OS和App的调试,以及后续的软件测试等过程。比如工程师使用劳特巴赫实时跟踪代码的运行状态,观察一些调试资源,像寄存器、内存、C源码、变量等等,这样就可以识别开发的功能是否满足设计要求。

在这里插入图片描述

Figure14:testequipmentconnection

而Vector三件套的话:对于CANlyzer,一方面可以模拟报文节点,发送或接收报文,以此来验证通讯或诊断功能,另一方面通过CAPL语言可设计一个模拟环境来测量或验证所开发的功能。对于CANape,一方面可以实时监测TCU的内外部变量,另一个方面还可以改变标定变量的数值。


3-8、必需设备

对于底层软件开发,通常还有一些必备仪器设备,比如:

  • 直流稳压电源:用来给ECU或其他仪器设备供电。
  • 信号发生器:用来仿真各种汽车传感器信号,如压力、温度、速度、 转动和角度位置等,对汽车应用中的各种电子控制单元 (ECU) 进行功能测试和优化。
  • 万用表:用来测试控制板的电路通断或者电气参数值。
  • 示波器:用来测量一些电气参数值的波形,比如PWM,Pulse,HighLevel,LowLevel等等。
  • 负载箱:用来测试各种软件功能,比如供电功能,诊断功能,通讯功能等等,负载箱需要根据具体的项目进行定制

以上这些工具,再结合上篇文章的工具,就基本涵盖底层软件开发的工具链了。

3-9、AutoSAR标准开发的工具链

现在汽车控制器一般被要求采用AutoSAR标准开发,这时就需要在上述工具的基础上,增加相应的工具以满足AutoSAR标准,目前市场主流有Vector的达芬奇、ETAS的ISOLAR、EB的Tresos。以下是Vector提供的整体工具方案,对于各个公司会采用怎样方案,取决于各自的情况。详细内容见:谈谈对两家AUTOSAR工具看法


四、汽车控制器的硬件

汽车控制器是一种电子设备,它通过控制车辆各个系统的操作来控制汽车的运行。汽车控制器通常由微处理器和相关的传感器和执行器组成。当揭开一个控制器外壳,咱们将看到类似下图所示的PCB板,上面有很多芯片和电子元器件,这些也就是常说的控制器硬件。
在这里插入图片描述

Figure15:ECU硬件单元

这些硬件具体实现了怎样的功能,下文将进行大致介绍:

  1. 功能1:采集传感器信号,通过硬件电路对初始的传感器信号进行处理,比如抗干扰,信号滤波,传感器保护(对电源短路,对地短路)等。
    在这里插入图片描述
Figure16:ECU硬件 传感器-1
这些传感器可能在PCB上,也可能不在而是通过硬线传输,这些传感器的类型有:模拟量信号,数字量信号,脉冲信号和SENT协议信号等, 因此就需要不同的处理电路来采集这些信号,如下所示:

在这里插入图片描述

Figure17:ECU硬件 传感器-2
  1. 功能2:通讯,通讯形式包括LIN, CAN,和Flexray等,以CAN通讯为例,信号通过CAN_H和CAN_L两根线传输,对于一个控制器硬件来说,先对信号做一些处理,比如抗干扰电路,然后需要使用CAN收发器将CAN_H和CAN_L两根线的差分信号转换成逻辑电平信号,再传输给微处理器中的CAN控制器。
    在这里插入图片描述
Figure18:ECU硬件 通讯
  1. 功能3:执行器驱动,就比如变速箱控制器上有电磁阀的驱动电路,电机控制器上有Gate驱动电路,电池管理器上有Mos管的驱动电路。当然这些驱动电路一般采用驱动芯片的形式和外加一部分电路。

在这里插入图片描述

Figure19:ECU硬件 执行器
  1. 功能4:电源管理,上述功能中传感器,CAN收发器,驱动芯片和微控制器要正常运行,都需要供电,所以硬件上需要有电源管理芯片(SBC模块)能够转换成不同数值的电压,以满足不同器件的供电要求。

在这里插入图片描述

Figure20:ECU硬件 电源管理
  1. 其他功能。除了上述的这些功能,一般在PCB会留有调试接口供软件开发调试使用,EMC设计相关的硬件电路,可能会有外加存储芯片(外部EEPROM),比如针对OTA功能,可能因为微控制器Flash大小不够,而增加外部Flash。

这样就基本介绍汽车控制器硬件的功能和基本组成,如下所示:
在这里插入图片描述

Figure21:ECU硬件

注:对于硬件上面其实还有很多监测电路,供诊断使用,图中未表示出来。


以上就是个人对于通常汽车控制器的硬件介绍,而针对域控制器和智能驾驶,本质上还是差不多,但对微控制器要求会更高,对于这项ChatGPT了一下,答案如下:

汽车域控制器(Vehicle Domain Controller,简称VDC)的主芯片也有多种,下面列举几个常见的:

  1. Renesas RH850系列:Renesas RH850系列芯片是目前应用最为广泛的汽车域控制器芯片之一,具有高效的计算性能和可靠的安全性能,适用于车身电子、车辆动力总成和车载网络等多个领域。
  2. NXP S32系列:NXP S32系列芯片是另一款应用较广泛的汽车域控制器芯片,其采用了多核架构和多种安全机制,支持多个通信接口和各种汽车标准,适用于智能驾驶、车联网和电动汽车等应用场景。
  3. Infineon Aurix系列:Infineon Aurix系列芯片是针对汽车应用而设计的高性能MCU,具有高度可靠性和安全性能,支持各种汽车标准和通信协议,适用于车身电子、车辆动力总成和驾驶辅助系统等多个领域。
  4. Texas Instruments TDAx系列:Texas Instruments TDAx系列芯片采用了多核架构和多种通信接口,支持高效的信号处理和算法计算,适用于车辆动力总成和车身电子等应用场景。

智能驾驶控制器常用的主芯片种类很多,下面列举几个常见的:

  1. NVIDIA Xavier系列:NVIDIA Xavier系列芯片是目前应用最为广泛的智能驾驶控制器芯片之一。这款芯片基于NVIDIA的Volta架构,采用了384个CUDA核心、64个Tensor核心、8个ARM Cortex-A57 CPU核心等,能够在同时执行多个任务时提供高效的处理能力,支持多种深度学习和人工智能算法。
  2. Mobileye EyeQ系列:Mobileye EyeQ系列芯片是另一款应用较广泛的智能驾驶控制器芯片,其采用了多核处理器和多个DSP,能够在低功耗下实现高效的计算性能,支持多种传感器和算法,适用于自动驾驶和高级驾驶辅助系统等应用场景。
  3. Qualcomm Snapdragon系列:Qualcomm Snapdragon系列芯片是手机领域中应用最广泛的芯片之一,但其高效的计算性能也适用于智能驾驶控制器。这款芯片基于Adreno GPU和Kryo CPU,支持高清视频处理、多传感器数据处理和人工智能算法等。
  4. Intel Atom系列:Intel Atom系列芯片主要应用于嵌入式系统领域,但也适用于智能驾驶控制器。这款芯片基于Intel的14纳米工艺,具有较低的功耗和高效的计算性能,支持多种传感器和人工智能算法。

在这里插入图片描述

Figure22:现代汽车控制及其智能化

五、汽车控制器的软件

硬件终将是需要为软件服务的。

汽车控制器软件分三块: 应用层软件(Application Software, ASW),底层软件(Basic Software, BSW)和BootLoader。或者也常看到分两块:BootLoader和应用软件(既包括BSW和ASW)。当前汽车控制器软件开发是趋于采用AutoSAR平台,越来越多的主机厂都有这样的需求。AutoSAR平台分Classic AutoSAR和Adaptive AutoSAR两种:

  • Classic AutoSAR是一种传统的、静态的汽车软件架构,它基于ECU(电子控制单元)的概念,主要面向控制单元和传统的硬件系统。Classic AutoSAR是一种标准化的平台,提供了许多功能模块和API(应用程序接口),用于开发汽车电子系统。它主要用于实时应用程序的开发,如驱动控制、制动系统、车身控制等。
  • Adaptive AutoSAR是一种新型的、动态的汽车软件架构,它基于服务的概念,主要面向高性能计算和网络连接。Adaptive AutoSAR提供了灵活性和可扩展性,可以应对日益增长的软件和硬件复杂性。它主要用于非实时应用程序的开发,如娱乐系统、驾驶员辅助系统、车载网络等。

因此,Classic AutoSAR和Adaptive AutoSAR在设计和应用方面有很大的不同。这里本文涉及的是Classic AutoSAR,即面向传统的硬件系统和实时应用程序的开发。
在这里插入图片描述

Figure23:Development Workflow for AUTOSAR Classic & Adaptive Made Easy with Model-based Design

综合第四节,列举几个例子来了解下软件都做了什么?

5-1、压力传感器

假设压力传感器信号类型为模拟信号,那么压力传感器信号经过硬件电路的处理,将会以模拟电压的形式传输到微控制器的ADC模块,接着进行模数转换(采样–>保持–>量化–>编码),得到数字量,进而实现压力传感器检测离合器油压。具体如下所示:
在这里插入图片描述

Figure24:压力传感器处理流程

注意上述的模数转换都是需要在BSW中进行配置相应的寄存器和做相应的处理,才能得到数字量,然后将数字量转化成物理值,最后在BSW或ASW使用,去实现相关的逻辑功能,比如得到的离合器油压,那么在ASW会利用计算实际的离合器扭矩。若采用AutoSAR平台开发,那么对应的过程如下示意:

在这里插入图片描述

Figure25:压力传感器数据流

5-2、CAN总线通讯

假设从其他控制器经CAN总线传输信号,那么总线的差分电压信号转过CAN收发器转换成逻辑电平信号传输微控制器的CAN控制器,CAN控制器将数据存储到相应的寄存器,比如数据就存入专门保存数据的寄存器,ID就存入专门保存ID的寄存器。这时要是实现逻辑电平被解析且数据被保存,就需要在BSW对CAN控制器进行配置。然后在BSW去访问那些寄存器,读取里面的信息或数据,比如ID,长度和数据。对于数据部分,其实打包了一些信号,而这些信号将会被ASW使用,因此需要将解包得到这些信号,这个工作既可以在BSW也可以在ASW进行。当ASW获取了这些信号,那么就可以使用它们去实现一些功能或性能。

在这里插入图片描述

Figure25:COM Node数据流

以上就是关于CAN通讯接收信号过程中软件做了什么工作,若考虑AutoSAR平台,见上图示意。

5-3、执行器驱动

假设执行器为电磁阀,电磁阀需要驱动芯片调节其输入电压大小。首先在ASW会计算电磁阀的目标压力或流量,然后这个目标量转化成目标的电流值,然后再BSW,根据目标电流值和实际电流值算出PWM,再相应模块产生PWM物理信号传输给驱动芯片,同时电源电压直接输入到驱动芯片,这时驱动芯片PWM占空比调节输入的电源电压给电磁阀,以此实现对电磁阀输入电压的调节,如下示意:

在这里插入图片描述

Figure26:执行器拓扑图

采用AutoSAR架构,上述驱动芯片相关的程序一般放在复杂驱动模块(CDD)

在这里插入图片描述

Figure27:AUTOSAR规范与车用控制器软件开发

六、汽车控制器的电源管理系统

前面介绍了传感器,微控制器和执行器等内容,但这些电子器件都需要供电。因此对于汽车控制器的硬件设计来说,供电系统是非常重要的组成部分。

6-1、传感器供电

汽车控制器会用到各种各样的传感器,这些传感器通常需要一个稳定和可靠的电源供应,以确保它们能够正常工作。供电电压的类型取决于传感器的类型和设计,以下是一些常见的汽车传感器供电电压类型:

  • 5V:这是汽车电气系统中最常用的电压。许多传感器,比如温度传感器(NTC)、压力传感器(Hryd)和位置传感器(MPS)等,需要5V的电源。
  • 12V:12V是汽车电气系统中的标准电压,因此许多传感器,如转速传感器,需要12V的电源。
  • 其他电压,在一些大型商用车或特殊应用场景下,可能需要使用24V的电源供应。例如,一些重型卡车和挖掘机可能需要使用24V的电源供应等。

以下列举几种传感器的供电电压范围:

6-1-1、压力传感器

供电电压范围8V-32V,可选5V。

在这里插入图片描述

Figure28:压力传感器规格

6-1-2、位置传感器

供电电压范围4.75V-5.25V,典型值为5V。

在这里插入图片描述

Figure29:位置传感器规格

6-1-3、转速传感器

供电电压范围4V-24V,一般取12V。

在这里插入图片描述

Figure30:转速传感器规格

6-2、控制器供电

微控制器的供电电压可以分为以下几种:

  • 5V:5V是最常见的微控制器供电电压,包括许多传统的8位微控制器和一些较老的16位微控制器。
  • 3.3V:3.3V是现代微控制器中较为普遍的供电电压,包括许多32位微控制器和一些较新的16位微控制器。由于功耗更低,一些小型设备,如便携式设备,也经常使用3.3V的微控制器。
  • 1.3V/1.1V:一些新型微控制器,尤其是在低功耗和高性能方面,需要更低的供电电压。1.3V/1.1V是一些这种类型的微控制器常用的电压。

需要注意的是,不同的微控制器可能有不同的供电电压要求,具体的供电电压需要根据具体的规格书来确定,如下列举了英飞凌 Aurix TC3XX系列的几种供电电压值。
在这里插入图片描述

Figure31:Aurix TC3XX PIN分布

在这里插入图片描述

Figure32:Aurix TC3XX 与供电电压相关的部分PIN定义

由上可知,TC3X微控制器有1.3V,3.3V和5V三种供电电压。通常为了保证微控制器的稳定运行,需要为微控制器提供稳定的电源,通常使用专门的电源管理芯片(SBC)和硬件处理电路来保证。

6-3、执行器供电

汽车控制器通过控制信号和电能转换等方式控制执行器,实现对汽车各个系统的控制和调节。这些执行器类型主要有以下几种:

  • 电机执行器:用于控制汽车电机的运行状态,如BLDC,PMSM,IM等。
  • 电磁阀执行器:用于控制汽车液压系统和气压系统的运行状态,如制动阀、换挡阀等。
  • 电磁继电器执行器:用于控制汽车的电路和电器设备,如电器继电器、电磁接触器等。
  • 气动执行器:用于控制汽车的气压系统和液压系统,如制动泵、气囊等。
  • 电磁铁执行器:用于控制汽车的锁定和解锁等操作,如车门锁、发动机启动器等。
  • 光电开关执行器:用于控制汽车的光电开关和接近开关等设备,如车灯开关、雨刷开关等。

这些执行器通常需要微控制器的外围芯片来驱动,如下是BLDC的驱动芯片,为了保证该芯片的正常运行,需要提供3.3V和5V两种供电电压。
在这里插入图片描述

Figure33:BLDC驱动芯片

6-4、通讯供电

汽车控制器之间通常需要通讯来交互信息,以CAN通讯为例,需要CAN收发器将CAN总线的差分信号转换成逻辑电平信号,因此需要给CAN收发器供电,如下所示:
在这里插入图片描述

Figure34:CAN收发器供电规格

6-5、供电系统

为了实现对上述几种电子器件供电,汽车控制器需要一个供电管理系统,即电源管理系统(BMS),如下所示:
在这里插入图片描述

Figure35:整车供电系统(示例)

上面就是汽车控制器的电源管理系统的一个基本介绍,总结下来就是:

  • 微控制器:汽车控制器中的微控制器是整个系统的核心,需要提供稳定可靠的电源。通常情况下,微控制器的电源电压为1.1V/1.3V,3.3V和5V,需要通过电源管理系统提供。
  • 传感器:汽车控制器中的传感器有多种类型,例如温度传感器、压力传感器、位置传感器和转速传感器等。这些传感器的供电电压范围通常在3V到5V或更高一点的12V,需要通过电源管理系统提供。
  • 执行器:汽车控制器中的执行器有多种类型,例如电机执行器、电磁阀执行器、舵机执行器等。这些执行器的供电电压范围通常在3V到5V或12V到24V之间,需要通过电源管理系统提供。
  • 通讯芯片:汽车控制器中的通讯芯片包括CAN总线控制器、LIN总线控制器等。这些通讯芯片的供电电压通常在3.3V到5V之间,需要通过电源管理系统提供。
  • 存储器:汽车控制器中的存储器包括闪存、RAM等。这些存储器的供电电压通常在1.8V到3.3V之间,需要通过电源管理系统提供。
  • 其他辅助设备:汽车控制器中还有一些其他的辅助设备,例如蜂鸣器、电子喇叭等。这些设备的供电电压范围不同,需要根据具体情况选择合适的电源管理方案。

七、汽车控制器的通讯系统

前面介绍了传感器,微控制器,执行器以及供电系统,而这些电子器件会通过哪些通讯方式进行信息交互?本文将从整车通讯网络类型板载通讯方式类型两个方面进行介绍。
在这里插入图片描述

Figure36:汽车以太网

7-1、整车通讯网络

整车通讯总线是指用于汽车电子系统内部各控制单元之间进行通讯的总线类型,如下所示:

在这里插入图片描述

Figure37:整车通信拓扑图

主要包括以下几种通讯方式:

  • 控制器局域网络(CAN)总线:CAN总线是最常用的整车通讯总线类型,能够实现高速、可靠、多节点的数据传输和控制命令的发送和接收。CAN总线广泛应用于汽车电子系统中,包括车身电子控制、电机控制、整车控制、制动系统控制、安全气囊控制等。
  • FlexRay总线:FlexRay总线是一种高速、可靠、实时的通讯协议,能够支持高速数据传输和较复杂的控制算法,主要用于高级驾驶辅助系统(ADAS)和车身电子控制等方面。
  • 区域互联网路(LIN)总线:LIN总线是一种低成本、低速、短距离的通讯协议,适用于车内各种辅助设备之间的通讯,如车门控制、座椅控制、气候控制等。
  • MOST总线:是一种针对多媒体应用的高速、低时延的通讯协议,适用于音频、视频和数据传输等多种应用场景,被广泛应用于汽车的音频、视频、导航等多媒体系统中。
  • Ethernet总线:Ethernet总线是一种高速、可靠、灵活的通讯协议,主要用于车内多媒体系统和远程诊断等方面。Ethernet总线采用标准的物理层和网络协议,支持多种数据传输和控制协议。

在这里插入图片描述

Figure38:오토모티브 디지털 측정 솔루션

7-2、板载通讯方式

7-2-1、SENT协议

SENT(Single Edge Nibble Transmission)是一种用于汽车传感器和控制器之间的数字通讯协议。SENT协议使用单边缘脉冲编码和4位十六进制字符表示数据,可以实现高速、高可靠性的数据传输。

SENT协议最初是由Bosch公司开发的,旨在提高汽车传感器数据传输的速度和精度。SENT协议采用单边缘脉冲编码方式,通过一个边缘来传输一个nibble(4位十六进制字符),每个字节包含两个nibble。这种编码方式可以减少数据传输所需的带宽和时间,提高数据传输的可靠性。SENT协议的最大传输速率为2Mbps,最大数据长度为8个字节,因此它可以满足高速传输和高精度的数据要求。在汽车中,SENT协议通常用于连接各种传感器和控制器,如发动机控制模块、变速器控制模块、刹车控制模块等等。通过SENT协议的连接,这些控制器可以实时获取传感器的数据,如发动机转速、车速、加速度等等,以便进行精确的控制和调节。具体内容可以参考:02 汽车软件开发之SENT协议简介

7-2-2、UART协议

UART是 “通用异步收发器” ( Universal Asynchronous Receiver/Transmitter ) 的缩写,通常简称为UART。是一种异步串行通信接口,用于将数据通过串列通信进行传输。具体内容可以参考:03 汽车软件开发之串口通信简介

7-2-3、SPI协议

SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如MSP430单片机系列处理器。具体内容可以参考:03 汽车软件开发之串口通信简介

7-2-4、IIC协议

IIC(Inter-Integrated Circuit)是 IIC Bus 简称,中文叫集成电路总线。它是一种串行通信总线,使用多主从架构,由飞利浦公司在1980年代为了让主板、嵌入式系统或手机用以连接低速周边设备而发展。自2006年10月1日起,使用I²C协议已经不需要支付专利费,但制造商仍然需要付费以获取I²C从属设备地址。IIC使用两根信号线进行通信:一根时钟线SCL,一根数据线SDA。IIC将SCL处于高时SDA拉低的动作作为开始信号,SCL处于高时SDA拉高的动作作为结束信号;传输数据时,SDA在SCL低电平时改变数据,在SCL高电平时保持数据,每个SCL脉冲的高电平传递1位数据。具体内容可以参考:03 汽车软件开发之串口通信简介

7-2-5、BLE技术

7-2-6、CAN协议

7-2-7、LIN协议

7-2-8、ETH协议


7-3、汽车控制器的通讯系统

通过上述对整车通讯网络和板载通讯方式的介绍,可知汽车控制器的通讯系统由多个模块组成,每个模块负责不同的任务,这些模块之间通过各种通讯协议进行通信,以确保车辆的各个系统可以协同工作。下面参考英飞凌给出的BMS和BCM解决方案来进一步了解:
在这里插入图片描述

Figure39:英飞凌 Automotive

7-3-1、BMS的通讯系统

电源管理模块(BMS)用于监控、控制和管理电池的系统,它使用了多种通讯协议与其他电动车系统进行通信,如下绿框所示,包括:

  • CAN通讯:BMS与其他控制器通讯;
  • SPI通讯:外部memory与微控制器通讯,电池包监控单元与微控制器通讯等;
  • BLE通讯:电池包监控单元与微控制器通讯,单体监控电路与微控制器通讯等;
  • UART通讯:单体监控电路与微控制器通讯。

7-3-2、BCM的通讯系统

车身控制模块(BCM)用于管理和控制车辆功能和设备的系统,其通讯系统使用到了多种通讯协议,如下所示:

  • SPI通讯:微控制器通讯与外围驱动芯片进行通信
  • CAN总线:BCM与其他控制器和模块进行通信
  • Ethernet总线:BCM与车载娱乐系统和车载导航系统等高级娱乐设备进行通信
  • LIN总线:BCM和车辆内部的低速设备和传感器,比如:车内照明和车门锁定系统等。

总的来说,BMS/BCM的通讯系统是一个复杂的网络,由多个控制器和模块组成,使用不同的通讯协议进行通信。这些协议被设计为可靠、实时和安全,以确保电池的安全和稳定性,并为车主提供更加智能化和便捷的电池管理功能。


八、汽车控制器的传感器

基于前面文章介绍了汽车控制器硬件方面的主要内容,本文接着介绍传感器这块内容,以进一步完善对汽车控制器硬件的介绍。
在这里插入图片描述

Figure40:汽车电子学

8-1、传感器有哪些类型

汽车上使用的传感器非常多,如下示意:

在这里插入图片描述

Figure41:汽车传感器大全

可以从以下两个角度来了解:

8-1-1、检测的物理信号

汽车上的传感器可以检测多种物理信号,比如:

  • 速度:车速传感器,转速传感器和轮速传感器等,可以检测车辆的速度和转速等信息;
  • 位置:拨叉位置传感器,可以检测变速箱的拨叉位置信息;
  • 温度:冷却液温度传感器、进气温度传感器、排气温度传感器等,可以检测发动机和各个系统的温度;
  • 压力:油压传感器、机油压力传感器、燃油压力传感器等可以检测各种液体和气体的压力;
  • 距离和障碍物:雷达、摄像头和超声波传感器可以检测车辆周围的距离和障碍物,帮助自动驾驶和安全系统识别道路和交通环境;
  • 加速度和姿态:加速度计和陀螺仪可以检测车辆的加速度和姿态,帮助车辆保持平衡和稳定性;
  • 电流:电机电流传感器,用于测量电机的输出电流;
  • 电压:电机电压传感器,用于测量电机的输入电压和输出电压等。

8-1-2、传输的信号类型

这些传感器有着不同的测量原理和用途,但总的来说其输出类型主要有下面几种。

  • 模拟信号:模拟信号是一种连续变化的信号,通常以电压、电流、电阻等物理量的形式表示。传感器的输出信号通常是模拟信号,需要经过模数转换器(ADC)转换成数字信号才能进行数字处理和存储。常见输出模拟信号的传感器有:温度传感器和压力传感器等。
  • 数字信号:数字信号是一种离散的信号,通常以二进制数的形式表示。数字信号的优点是抗干扰性强,易于处理和存储,适合于长距离传输和数字处理。数字传感器通常直接输出数字信号,不经过模数转换器。常见输出数字信号的传感器有:档位M+/-传感器和门传感器等。

信号是信息的物理表现形式,信息则是信号的具体内容。

  • 模拟信号:时间连续,幅值连续。
  • 数字信号:时间离散,幅值离散。

在这里插入图片描述

Figure42:参考文献:《数字信号处理教程(第五版)》(程佩青)
  • 脉冲信号:脉冲信号是一种具有固定频率和占空比的矩形波信号,通常用于计数和测量。例如,转速传感器输出的信号就是一个脉冲信号,通过计算脉冲数量和时间间隔来测量转速。
  • 脉冲宽度调制(PWM)信号:PWM信号是一种将模拟信号转换成数字信号的技术,通过不同占空比的脉冲信号来模拟连续变化的模拟信号。常见输出PWM信号的传感器有:位置传感器等。
  • 串行信号:串行信号是一种按照一定规则依次发送的信号,通常用于长距离传输和多设备连接。串行信号有多种协议,如I2C、SENT, SPI等。最常用的SPI协议,用来板载传感器的信号传输,比如加速度传感器。

对于不同类型的传感器信号,需要不同的处理方式,以便进行数字处理、存储、传输和控制。因此这就意味着控制器硬件设计需要考虑各个传感器传输的信号类型,以满足采集要求。

8-2、传感器在哪里

上面了解到了这些传感器后,那么针对不同控制器,都会有哪些传感器呢?这些传感器又都在哪呢?

8-2-1、传感器在汽车控制器上

电机控制为例,如下示意:
在这里插入图片描述

Figure43:第二代电动汽车功率逆变器控制参考平台

在这里插入图片描述

Figure44:EV-INVERTERHDBT结构框图

电机控制器是电动汽车中负责控制电动机转速和扭矩的关键设备,为了保证电动车辆安全可靠的运行,电机控制器需要搭载多个传感器来实现对电动机和车辆的全方位监测和控制。以下是电机控制器中常用的传感器类型:

  • 电机温度传感器:用于测量电动机的温度,通过对电机温度的监测来实现电机的保护和控制。
  • 电机电流传感器:用于测量电机的输出电流,通过对电机电流的监测来控制电机的转矩和速度。
  • 电机电压传感器:用于测量电机的输入电压和输出电压,通过对电机电压的监测来控制电机的转矩和速度。
  • 电机位置传感器:如霍尔传感器或光电传感器,用于测量电机转子位置,实现控制器的闭环控制,提高电机的控制精度和稳定性。

进一步了解Gate Driver不难知道,传感器信号都传输到这驱动芯片,然后通过通信协议形式传输给微控制器。

在这里插入图片描述

Figure45:面向SiC MOSFET的具有段式驱动的先进高压隔离GD

但总体来说,传感器与微控制器的关系无外乎两种,一种就是上面的形式(可认为传感器在控制器上),另一种就是传感器不在控制器上。

8-2-2、汽车控制器外的传感器

下面以变速箱控制单元为例,如下左下角所示:
在这里插入图片描述

Figure46:AUTO TRANSMISSION

这里,压力传感器,位置传感器,油温传感器和转速传感器等均不在变速箱控制器上,均需要通过硬线形式将传感器信号传输给微控制器。

到此,本文就介绍了汽车上会用到哪些传感器,以及这些传感器都会传输出怎样类型的信号,另外也通过两个例子说明传感器与控制器的位置关系。这些信息将为后续全面了解汽车控制器的硬件内容奠定坚实的基础。


九、汽车控制器的执行器

为了在硬件层面构成一个完整的汽车控制器功能,本文接着介绍汽车控制器的执行器。与控制器相关的常用执行器有:

  • 电机:电机带动泵运行,例如油泵、制动泵、转向泵等,从而使得泵可以控制各种流体的压力和流量;电机带动执行机构(比如拨叉)移动,从而可以控制执行机构的位置,得到不同的执行状态;伺服电机,例如转向伺服电机、制动伺服电机等,可以根据控制信号实现精确的力矩输出和位置控制。
  • 电磁阀:电磁阀控制油路或气路的通断,压力或流量,比如控制离合器的油压或气压,从而调节离合器的传扭能力,换挡机构的开关阀,压力阀或流量阀,从而调节换挡机构的接合、分离状态。
  • 继电器:用于开关高功率电路,例如启动电机、控制灯光、电动窗户、风扇等。用于电池管理系统,从而控制电池的充放电和保护电池系统。

这些执行器的特点各不相同,但都能够根据控制信号完成相应的操作,从而实现汽车各个系统的精确控制。下面展开详细介绍:
在这里插入图片描述

Figure47:基于STM32的无刷直流电机控制与实践

9-1、电机

汽车的很多控制功能都需要使用电机作为执行器,如下所示:

在这里插入图片描述

Figure48:BLDC MOTOR APPLICATIONS DIAGRAM

这些执行电机通常属于直流电机或步进电机,这两种电机都可以根据控制信号来完成精确的位置和速度控制。

  • 直流电机:是一种将电能转换成机械能的电动机,它可以通过改变电流的方向和大小来控制电机的转速和转向。在汽车控制器中,直流电机通常用于控制发动机的进气量、空调系统的送风量、电动窗户的开合等。
  • 步进电机:是一种具有定量位置和转角的电机,它可以通过给定特定的脉冲序列来控制电机的转动,从而实现精确的角度和位置控制。在汽车控制器中,步进电机通常用于控制车辆的换挡、离合器的离合过程、转向系统的转向角度等。

除了直流电机和步进电机之外,汽车控制器中还可能包括交流电机、无刷直流电机等类型的执行电机。不同的执行电机类型应用于不同的汽车控制器系统,以实现更精确的控制和更高的性能要求。

为了实现汽车的安全性、安心性、舒适性和环保性,ECU等电子控制系统正变得越来越先进,性能也越来越高。电机安装在各种车载系统中,电机要求小型化、轻量化、输出功率高、转速提高。有刷直流电机因其易于控制和小型化而用于汽车。但是,有刷直流电机存在电刷问题,例如摩擦噪声,火花和电噪声以及由于磨损而导致的电刷寿命。为了解决这些问题,它们最近被无刷直流电机(BLDC)取代。无刷直流电机 (BLDC) 能够高速旋转,并具有可靠性、高效率、体积小、重量轻、寿命长等许多优点。所以这里以BLDC(Brushless DC Motor, 无刷直流电机)为例,如下示意的几个功能:

BLDC通过电子控制器来控制电机的转速和方向,BLDC控制器通常包括电机驱动器、控制电路和传感器等部分,如下图所示上图的几个功能的控制原理图。电机驱动器将电源电压转换为电机需要的电压和电流,控制电路接收来自车辆的控制信号,并将信号转换成电机的驱动信号,传感器用于监测电机的位置和转速信息,以实现精确的电机控制。
在这里插入图片描述

Figure48:电机在汽车上的应用

9-2、电磁阀

汽车控制器中常用的执行器阀包括以下几种:

  • 电磁阀:是一种通过电磁作用将阀芯移动来控制介质通断,压力或流量的阀门,广泛应用于汽车的液压系统等控制中。
  • 气动阀:是一种利用压缩空气来控制阀芯运动的阀门,常用于汽车空气制动系统、排气系统等控制中。
  • 机械阀:是一种通过机械作用来控制介质通断或流量的阀门,常用于汽车的燃油系统、冷却系统等控制中。

这些执行器阀在汽车控制系统中起着重要的作用,通过控制介质的通断或流量来控制汽车的各种操作。这些执行器阀可以单独使用,也可以组合使用,以实现更为复杂的控制需求,这里以变速箱的电液控制系统为例:
在这里插入图片描述

Figure49:电磁阀在汽车上的应用

根据上图内容,可以知道在这里,有以下:

  • 主油路油压调节电磁阀有1个,通过TCU控制调节主油路油压;
  • 离合器油压调节电磁阀有2个,分别用来调节两个离合器油压大小;
  • 离合器冷却油量调节电磁阀有1个,,通过TCU根据油温传感器信号控制离合器冷却的油量;
  • 换档电磁阀有4个,均为开关阀,分别为控制切换1档/3档电磁阀、控制切换4档/6档电磁阀、控制切换5档/7档电磁阀、控制2档/R档电磁阀;
  • 档位切换电磁阀有1个,档位切换电磁阀通电时,可进行偶数档的切换,电磁阀断电,可进行奇数档的切换;
  • 安全电磁阀有2个,在传动中出现重要安全故障时,该支路会失去压力,此时安全电磁阀会进行转换。

9-3、继电器

继电器在汽车控制系统中起着重要的作用,它可以帮助控制器实现对高功率电路的控制,保证汽车各个部件的正常运行,具体应用的控制功能如下所示:
在这里插入图片描述

Figure50:继电器在汽车上的应用

具体来说,继电器是一种将小电流控制大电流的电器开关,它通过控制电磁铁的通断来开关高功率电路。在汽车控制器中,继电器通常用于控制高功率电路的开关,例如:

  • 启动电机:汽车发动机启动需要大电流,这时控制器会通过继电器将电池的电流输出到发动机的起动电机上,以实现发动机的启动。
  • 灯光:汽车的灯光通常需要大功率电流,控制器会通过继电器控制灯光的开关,以实现灯光的控制。
  • 风扇:汽车的散热风扇需要大功率电流,控制器会通过继电器控制风扇的开关,以实现散热风扇的控制。
  • 电动窗户:汽车电动窗户通常需要大功率电流,控制器会通过继电器控制窗户电机的正反转,以实现窗户的升降。

除了上述的这些功能,在电池管理系统会使用到多个继电器,来控制电池的充放电和保护电池系统,如下所示:
在这里插入图片描述

Figure51:继电器在汽车上的应用电路

上图的电池管理系统通常使用了3个继电器:

  • 充电继电器:充电继电器用于控制电池的充电,当充电器充电时,充电继电器将电池连接到充电器,以实现电池的充电。
  • 放电继电器:放电继电器用于控制电池的放电,当电池需要放电时,放电继电器将电池连接到负载上,以实现电池的放电。
  • 保护继电器:保护继电器用于监测电池系统的状态,当电池系统出现故障时,保护继电器会切断电池与负载之间的连接,以保护负载和电池。

电池管理系统可能还配备绝缘监测继电器,用于监测电池系统的绝缘状态,当电池系统的绝缘状态出现问题时,绝缘监测继电器会切断电池与负载之间的连接,以避免电池漏电或其他安全问题。总之,电池管理系统中的继电器起着非常重要的作用,它们通过控制电池的充放电和保护电池系统,确保电池系统的正常运行和安全性。


十、汽车控制器的接插件

通过前面介绍了汽车控制器硬件的主要内容,我们知道有些传感器和执行器可能不在汽车控制器上,这就意味着需要控制器接入外部信号或从控制器输出控制信号到外部。这时就需要使用接插件,来实现汽车控制器与外部元器件的连接,总体来说包括几种类型:
在这里插入图片描述

Figure52:接插件电路拓扑图

10-1、电源相关

与汽车控制器的供电相关,通常有3种电气信号线,KL30,KL31和KL15,具体定义如下:

  • KL30:是一条常电线,也称为“直接电源”。它通常连接到车辆电池的正极上,用于为车辆的主要系统(如电机控制器、整车控制器等单元)提供电源。
  • KL31:是一条接地线,也称为“直接接地”。它通常连接到车辆电池的负极上,用于为车辆的电气系统提供接地。
  • KL15:是一条开关电源线,也称为“开关电源”。它通常连接到车钥匙开关电路上,当车钥匙转到“ACC”或“ON”位置时,该线路会为车辆的次要系统(如收音机、车窗升降器等)提供电源。

  1. KL15节点方式
    这是最直接和简单的方法,将所有CAN总线上的ECU电源都接在KL15上面。(KL15是当点火开关在ON上才接通蓄电池电源)
    在这里插入图片描述
Figure53:KL15节点方式

缺点,无法适应所有的ECU:
1.可以断电关闭,比如座椅控制。
2.有些ECU在汽车到OFF档时需要一些额外的时间关闭,比如车灯控制模块,可能有礼宾功能,在熄火之后需要点亮一段时间。
3.有些ECU需要一直在低功耗情况下运行,比如安全防盗模块。

在这里插入图片描述

Figure54:KL30节点方式

1.所有的节点都连结在KL30上,直接由VCC供电。
2.KL15作为网络消息通知各个节点。
3.各个节点具备OSEK或AUTOSAR定义的网络管理功能。
4.当KL15 OFF后,各节点结合其它条件按步骤进入睡眠模式,然后选择是否进入低功耗模式(给外部SBC发送指令使CPU断电)。

说明:
通常点火开关有四个位置。转动钥匙启动引擎的过程称为发动。启动引擎时点火开关的位置顺序为关闭-辅助-运行-启动-运行,如下图所示。
在这里插入图片描述

Figure55:点火开关位置示意图

在这里插入图片描述

Figure56:点火开关位置对应关系

因此,对于汽车控制器的接插件,包括电源相关的引脚,当然KL15是否有,取决于具体的控制器。有的KL30, KL31和KL15都有,有的只有KL30和KL31。另外,每根信号线在实际接插件分别对应几个引脚,这个具体看每个引脚的载流能力。有些可能一个,有些可能多个,所以看到接插件PIN定义的时候。

10-2、通讯相关

与汽车控制器的通讯相关,以CAN通讯为例,一条CAN对应CAN_H, CAN_L两条信号线,假设有两条CAN,那么接插件会对应有两组CAN_H和CAN_L,如下所示:
在这里插入图片描述

Figure57:CAN_H和CAN_L

10-3、传感器信号相关

假设汽车控制器需要采集两个外部传感器的信号,如下所示:
在这里插入图片描述

Figure58:接插件引脚定义图

那么,对应接插件上应该有对应的引脚,如下:
在这里插入图片描述

Figure59:接插件引脚分布图

10-4、执行器相关

假设汽车控制器需要驱动BLDC,驱动和逆变器在控制器上,那么输出三相电压UVW,接插件需要有U, V, W三个引脚。

10-5、接插件PIN脚

除了上面的这些PIN脚类型,如有需要还会涉及到其他类型。这里仅结合上面内容汇总,由上可知,接插件需要多少个PIN脚,每个PIN脚会用来做什么。
在这里插入图片描述

Figure60:接插件电源分布图

在这里插入图片描述

Figure61:接插件引脚实物图

十一、汽车控制器的硬件总结

11-1、硬件小结

通过上述内容介绍了汽车控制器的硬件内容,其详尽程度对于非软硬件开发人员来说基本够用。当你看到下面一个控制器实物,至少知道有点感觉,会认识其中的一些电子器件,他们用来做什么。
在这里插入图片描述

Figure66:嵌入式系统软硬件协同设计教程

11-2、输入相关

控制器要实现产品功能,需要一些输入,即通过传感器和通讯总线获取。

  1. 对于外部传感器,需要给传感器提供供电,接地和信号线,通过接插件引脚与传感器连接。然后,对于传感器输入的原始信号,在硬件电路层面,需要进行处理,包括滤波,保护,转换和抗电磁干扰等措施。最后,经硬件电路处理好的传感器信号输入到微控制器。这里,电源管理模块根据不同器件的供电要求提供相应的电压。
    在这里插入图片描述
Figure67:外部传感器供电拓扑图
  1. 对于通讯,以CAN通讯为例,需要通过接插件接入CAN_H, CAN_L两根总线。然后,对于两根总线的原始信号做硬件电路层面的处理,包括保护和抗电磁干扰等措施。再输入到CAN收发器将两根总线的差分电压转换成逻辑电平,输入给微控制器里的CAN控制器。同样地,电源管理模块根据不同器件的供电要求提供相应的电压。
    在这里插入图片描述
Figure68:通讯供电拓扑图

11-3、输出相关

当控制器获得相应的输入,基于产品自身功能和特性,通过软件算法和逻辑来获得控制指令,这些指令最终会通过驱动器件以电流或电压形式作用到执行器件。
在这里插入图片描述

Figure69:外部执行器供电拓扑图

比如执行器为BLDC电机,微控制器输出控制信号给Gate驱动器,Gate驱动器转换后输出六路电压信号给逆变器,再由逆变器输出三路电压U/V/W经接插件输出给BLDC电机。

比如执行器为电磁阀,若采用高边驱动和底边驱动方案,一方面微控制器输出控制器信号给高边驱动,高边驱动经接插件输入调控后的电压/电流给电磁阀;另一方面微控制器输出控制开关信号给低边驱动,低边驱动以决定电磁阀是否通路或短路。同样地,电源管理模块根据不同器件的供电要求提供相应的电压。

11-4、其他

以上这两块内容输入和输出相关的电子器件和电路,再加上微控制器,这三块就是汽车控制器的核心部分,当然硬件电路设计还有其他因素要考虑,比如电磁干扰,电路检测,甚至其他一些客户的额外需求。因此,汽车控制器还需要通过硬件电路或电子器件实现一些其他的功能。

11-4-1、检测功能

汽车控制器上会额外设计一些硬件电路,将电信号(电压/电流)输入给微控制器,从而微控制器可以通过该电信号判断是否电路存在异常,比如下图所示的传感器1,通过硬件处理电路输入给微控制器的信号无法判断所有的硬件故障,这时就需要增加额外的电路,以保证所有的硬件故障能被覆盖,故将这部分额外的电路成为诊断电路,检测硬件电路的状态。
在这里插入图片描述

Figure70:诊断检测电路拓扑图

11-4-2、存储功能

汽车控制器经常可能会碰到微控制器存储空间不够问题,一方面可能会通过升级微控制器来解决,另一方面,当微控制器已经足够强大的情况下,仍不能满足存储需求,这时就需要增加额外的存储空间,常见于OTA功能所导致的存储空间急剧增加。
在这里插入图片描述

Figure71:存储功能电路拓扑图

11-4-3、抗电磁干扰功能

由于电路板集成度和信号频率随着电子技术的发展越来越高,不可避免的要带来电磁干扰,所以在汽车控制器硬件设计需要抗电磁干扰,使电路板的电磁干扰控制在一定的范围内,达到设计要求和标准,提高电路的整体性能。一方面需要考虑电子器件在PCB上如何布局等因素,另一方面可能需要增加一些电子元器件等措施。
在这里插入图片描述

Figure72:抗电磁干扰设计拓扑图
### 11-4-4、测试功能 在PCB需要能够对电路直接进行检测,因此设计时需要布置一些触点,方便用欧万用表等测试设备直接进行测试。

十二、汽车控制器的EMC设计

在这里插入图片描述

问题:汽车控制器硬件EMC设计有哪些关键考虑因素?

汽车控制器的电磁兼容(EMC)设计是确保汽车电子系统在电磁环境中正常运行的重要部分。以下是一些汽车控制器硬件EMC设计的关键考虑因素:

  1. 电磁兼容标准:了解并遵守适用的电磁兼容标准,如ISO 11452和ISO 7637等,这些标准规定了汽车电子设备的电磁兼容要求。
  2. PCB设计:进行良好的PCB布局和地线规划,以减少电磁辐射和电磁干扰。确保信号和电源线路的分离,并使用恰当的屏蔽措施,如地平面屏蔽和屏蔽罩。
  3. 过滤器:在输入/输出线路上使用合适的滤波器,以抑制来自电源和信号线的高频噪声。滤波器可以减少辐射和敏感性,确保控制器的稳定运行。
  4. 地线设计:进行良好的地线设计,确保地线回流路径短且低阻抗。使用大面积地平面层和合适的接地点,以降低地线噪声。
  5. 电源设计:为控制器提供稳定、干净的电源供应。使用适当的电源滤波和稳压器,以降低电源线上的噪声和纹波。
  6. ESD保护:采取适当的静电放电(ESD)保护措施,包括在输入/输出端口和敏感元件周围使用ESD保护器件,以防止ESD事件对控制器造成损害。
  7. 屏蔽和接地:对于特别敏感的电子设备或高频信号线路,使用合适的屏蔽技术,如金属屏蔽罩、金属屏蔽套和金属屏蔽线,以阻挡外部电磁辐射和干扰。
  8. 安全地线:使用合适的安全地线连接控制器的金属外壳或屏蔽部分,以确保在故障情况下电流能够安全地流回电源地。
  9. 隔离:对于一些对电磁干扰敏感的电子模块,可以考虑使用隔离技术,如光耦合器或变压器隔离,以减少干扰传播。
  10. 测试和验证:在设计完成后,进行EMC测试和验证以确保控制器符合电磁兼容要求。这包括进行辐射测试和传导测试,以确定控制器在电磁环境中的性能是否符合规定的限制值。可以使用专业的EMC测试设备和实验室进行测试,或者依靠第三方认证机构进行验证。
  11. 抗干扰设计:考虑到汽车环境中存在各种电磁干扰源,如发动机点火系统、无线通信设备等,控制器的硬件设计需要具备一定的抗干扰能力。采用合适的抗干扰技术和组件,如滤波器、抑制电容器、屏蔽材料等,以减少对干扰源的敏感性。
  12. 热管理:控制器在运行过程中会产生一定的热量,需要考虑适当的热管理措施,如散热器、风扇或热沉等,以确保控制器在正常工作温度范围内运行,并避免热导致的性能退化或故障。
  13. 引线布局:合理布置引线和电缆,避免长而敏感的线路,减少电磁辐射和干扰的可能性。采用合适的电缆屏蔽和接地技术,确保信号传输的稳定性和可靠性。
  14. 材料选择:选择符合EMC要求的电子元件和材料,如低噪声放大器、抗干扰电容器等。同时,注意避免使用可能引起电磁干扰的材料,如铁磁材料。

综上所述,汽车控制器硬件EMC设计需要综合考虑电磁兼容标准、PCB设计、滤波器、地线设计、电源设计、ESD保护、屏蔽和接地、安全地线、隔离、测试和验证、抗干扰设计、热管理、引线布局以及材料选择等因素,以确保控制器在电磁环境中稳定可靠地工作。这些措施可以减少电磁辐射、抑制电磁干扰,提高控制器的性能和可靠性。


参考文献

  1. https://www.vitesco-technologies.com/en-us/products/master-controller
  2. https://sparxsystems.com/products/visio-importer/moving-from-visio-to-enterprise-architect.html?ref=eaRes
  3. https://sebokwiki.org/wiki/Guide_to_the_Systems_Engineering_Body_of_Knowledge_(SEBoK)
  4. https://sparxsystems.com/products/visio-importer/moving-from-visio-to-enterprise-architect.html?ref=eaRes
  5. https://www.sourceinsight.com
  6. https://www.testequipmentconnection.com/56993/Lauterbach_TRACE32.php
  7. https://event.techsource-asia.com/webinar-development-workflow-for-autosar-classic-adaptive-made-easy-with-model-based-design
  8. https://elearning.vector.com/mod/page/view.php?id=337
  9. https://www.mdpi.com/1424-8220/20/17/4900
  10. https://www.infineon.com/cms/en/applications/automotive/
  11. https://onlinelibrary.wiley.com/doi/full/10.1002/9781118354179.auto175
  12. https://www.nxp.com.cn/design/design-center/development-boards-and-designs/ev-power-inverter-control-reference-platform-gen-2:EV-INVERTERHDBT
  13. https://www.nxp.com.cn/products/power-management/motor-and-solenoid-drivers/powertrain-and-engine-control/advanced-high-voltage-isolated-gate-driver-with-segmented-drive-for-sic-mosfets:GD3160
  14. https://www.alamy.com/stock-photo-the-automatic-transmission-in-your-car-is-computer-controlled-and-137671353.html
  15. https://www.mouser.com/new/diodes-inc/diodes-inc-bldc-motors-applications/
  16. https://www.renesas.cn/cn/zh
  17. https://www.researchgate.net/figure/Schematic-diagram-of-hydraulic-system-of-wet-dual-clutch-automatic-transmission_fig1_257727951
  18. https://components.omron.com/eu-en/products/relays/automotive-relays/automotive-relay_features
  19. https://www.cnblogs.com/still-smile/p/12102501.html
  20. UART通信_深入理解(理论+实践)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值