电子电气架构 --- 软件定义汽车需要怎么样的EE架构

news2024/11/15 6:12:43

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。

时间不知不觉中,快要来到夏末秋初。一年又过去了一大半,成年人的时间是真的不经过。

本文主要分享电子电气架构 — 软件定义汽车需要怎么样的EE架构。

一、背景信息

智能驾驶、智能座舱是消费者能感知到的体验,背后需要强大的传感器、芯片,更需要先进的电子电气架构的支持,电子电气架构决定了智能化功能发挥的上限。如果没有先进的电子电气架构做支撑,再多表面智能功能的搭载也无法支持车辆的持续更新和持续领先,更无法带来车辆成本降低和生产研发的高效。

智能驾驶与智能座舱的背后支撑——先进的电子电气架构(EEA, Electronic/Electrical Architecture),是现代汽车智能化转型的核心基石。随着汽车从传统的机械驱动向电动化、智能化、网联化转型,电子电气架构的升级变得至关重要。

在这里插入图片描述

特斯拉于 Model 3开启电子电气架构全面变革,其它车企也正处架构的快速迭代期,整体看,自主品牌迭代速度较快,多代架构同步开发,此过程伴随高研发投入、软件人才扩张,研发组织变革、整零关系重塑等,车企从过去的硬件集成者到软件集成者+硬件集成者,将软件从过去供应商的“黑盒”中提取出来收归融合于自身的过程是全新和曲折的,通过几轮迭代,电子电气架构迈向中央计算是必然趋势,未来软件所有权将收归主机厂。

二、电子电气架构的重要性

-> 1、集成度与模块化:先进的EEA能够实现高度集成和模块化设计,将复杂的电子控制系统简化为几个核心域控制器(如动力域、底盘域、车身域、自动驾驶域、智能座舱域等),这不仅减少了线束数量、降低了整车重量和成本,还提高了系统的可靠性和可维护性。

-> 2、软件定义汽车:通过软件定义汽车(SDV, Software-Defined Vehicle)的理念,先进的EEA支持快速迭代升级,使得汽车不再仅仅是硬件的堆砌,而是可以通过软件更新不断进化,为用户提供更加丰富、个性化的功能和服务。

-> 3、高效数据处理与通信:随着自动驾驶和智能座舱对数据处理能力的需求日益增长,EEA需要支持高速、低延迟的数据传输,确保传感器、执行器与中央处理器之间的无缝协作,从而实现精准的环境感知、决策制定和控制执行。

-> 4、成本优化与研发效率:先进的EEA通过减少硬件冗余、优化系统架构、提高复用率等方式,有助于降低车辆成本。同时,模块化设计使得不同车型和平台之间可以共享部分软件和硬件资源,提高了研发效率和生产灵活性。

在这里插入图片描述

面临的挑战

技术复杂性:EEA的升级涉及多个领域的深度融合,包括汽车电子、通信、计算机科学等,技术门槛高,需要跨学科的协同合作。

安全性与可靠性:随着汽车对电子系统的依赖程度增加,如何确保系统的安全性和可靠性成为亟待解决的问题。

标准化与兼容性:不同厂商之间的EEA可能存在差异,这会影响零部件的通用性和供应链的整合效率。因此,推动行业标准的制定和实施至关重要。

当前汽车电子电气架构正从分布式走向中央计算,这个过程就如同从“诸侯割据”走向“天下归一”,由于多重历史包袱的存在,刚开始控制权收拢于多个权力中心,同是也还存在若干地方政权,但最终将走到中央集权,地方只负责执行统一的政令。 伴随电子架构集成化的还有软件分层解耦,如同一个政府组织有中央政府、省级、县级, 各级变动互不影响,可分层迭代, 同时汽车的通信架构也进行升级,如同修建覆盖全国的高速公路网。

-> 分布式到中央计算的转变

在分布式架构下,汽车的各个电子控制单元(ECU)各自为政,如同“诸侯割据”,每个ECU都负责其特定的功能,导致系统复杂、冗余度高、升级困难。随着技术的进步,特别是高速总线技术和高性能计算平台的出现,汽车电子电气架构开始向中央计算转变。在这个过程中,多个ECU的功能被整合到几个或甚至一个中央处理器(如域控制器)中,实现了“天下归一”的局面。这种转变不仅简化了系统结构,提高了数据处理效率和响应速度,还为软件的分层解耦和快速迭代提供了可能。

-> 软件分层解耦

软件的分层解耦是中央计算架构下的重要特征之一。它将软件系统划分为不同的层次或域(如自动驾驶域、智能座舱域等),每个域内部又可以根据功能进行更细粒度的划分。这种分层结构使得不同层级的软件可以独立开发、测试和维护,降低了系统间的耦合度,提高了软件的可重用性和可扩展性。同时,分层解耦还使得软件的升级和迭代更加灵活,可以根据需要单独更新某个域或层次的软件,而不会影响整个系统的稳定运行。

-> 通信架构的升级

随着汽车电子电气架构的集成化和软件分层解耦的推进,通信架构的升级也显得尤为重要。高速、低延迟的通信总线如同“覆盖全国的高速公路网”,为各个电子控制单元和域控制器之间提供了高效、可靠的数据传输通道。这种通信架构的升级不仅提高了系统的实时性和可靠性,还为车辆与外部网络(如车联网、V2X等)的互联互通提供了有力支持。

-> 面临的挑战与机遇

在汽车电子电气架构从分布式走向中央计算的过程中,汽车行业面临着诸多挑战,包括技术难度高、投入成本大、安全可靠性要求高等。然而,这些挑战也孕育着巨大的机遇。通过推进电子电气架构的升级和软件的分层解耦,汽车行业可以进一步提升产品的智能化水平和竞争力,满足消费者对更加安全、舒适、便捷出行的需求。同时,这也将促进汽车产业链的重构和升级,为整个行业带来更加广阔的发展空间和前景。

三、中央集中式电子电气架构是软件定义汽车的前提

汽车电子电气架构( EEA, Electrical/Electronic Architecture)把汽车中的各类传感器、 ECU(电子控制单元)、线束拓扑和电子电气分配系统整合在一起完成运算、动力和能量的分配,进而实现整车的各项功能。

汽车电子电气架构(EEA, Electrical/Electronic Architecture)是现代汽车设计中的一个核心组成部分,它定义了汽车内部所有电子和电气系统的集成方式、交互关系以及它们如何协同工作以实现车辆的各项功能。随着汽车技术的飞速发展,尤其是自动驾驶、智能网联、电动化等趋势的兴起,EEA的重要性日益凸显。

EEA的主要组成部分

-> 传感器网络:遍布车辆各处的传感器负责收集各种环境信息(如车速、温度、压力、图像、声音等)和车辆状态信息(如发动机转速、电池电量、车门开关状态等),为ECU提供必要的输入数据。

-> 电子控制单元(ECU):ECU是EEA中的“大脑”,负责接收传感器数据,根据预设的算法和逻辑进行处理,并发出控制指令给执行器(如发动机管理系统、制动系统、转向系统等),以实现对车辆行为的精确控制。

-> 线束拓扑:线束是连接ECU、传感器和执行器的物理媒介,其拓扑结构直接影响信号传输的效率和可靠性。现代汽车倾向于采用更高效的线束布局和通信协议,以减少重量、降低成本并提高系统的集成度。

-> 电子电气分配系统:这包括电源管理、网络通信和数据处理等多个方面。电源管理系统负责为车辆各系统提供稳定可靠的电力供应;网络通信则确保ECU之间以及ECU与车辆外部设备(如智能手机、云端服务器等)之间的信息交换顺畅无阻;数据处理则涉及对海量传感器数据的收集、处理和分析,以支持更高级别的车辆功能。

如果将汽车比作人体,汽车的机械结构相当于人的骨骼, 动力、 转向相当于人的四肢,电子电气架构则相当于人的神经系统和大脑,是汽车实现信息交互和复杂操作的关键。

电子电气架构涵盖了车上计算和控制系统的软硬件、传感器、通信网络、电气分配系统等;它通过特定的逻辑和规范将各个子系统有序结合起来,构成实现复杂功能的有机整体。 功能车时代,汽车一旦出厂,用户体验就基本固化; 智能车时代,汽车常用常新,千人千面, 电子电气架构向集中化演进是这一转变的前提。

从分布式到域控制再到集中式,随着芯片和通信技术的发展,电子电气架构正在发生巨大的变化。

在这里插入图片描述

分布式电子电气架构不堪重负,驱使改变EE架构,将新的功能引入到新的架构平台中!

汽车诞生之初是个纯机械产品,车上没有蓄电池,车上的设备亦不需要电力, 1927 年博世开发出铅蓄电池,从此车上的电子设备才有了可靠的电力来源。大规模集成电路的发展让汽车电子得以快速发展,发动机定时点火控制系统、电控燃油喷射系统、 自动变速箱控制系统、牵引力控制系统、电控悬架系统、电控座椅、电控车窗、仪表、电控空调、汽车电子稳定控制系统等,逐步成为了汽车不可或缺的组成部分。 汽车电子控制技术逐步发展壮大,为消费者提供了更高性能、更舒适、更安全的出行工具。

早期分布式的电子电气架构下, 每个 ECU 通常只负责控制一个单一的功能单元, 彼此独立,分别控制着发动机、刹车、车门等部件,常见的有发动机控制器( ECM)、传动系统控制器( TCM)、制动控制器( BCM)、电池管理系统( BMS)等。各个 ECU之间通过 CAN( Controller Area Network,控制器域网络)总线或者 LIN( Local Interconnect Network,局部互联网络)总线连接在一起,通过厂商预先定义好的通信协议交换信息。

在这里插入图片描述

随着整车电子电气产品应用的增加, ECU的数量从几十个快速增加到 100多个, ECU数量越多, 对应的总线的线束长度必将越长,线束重量也相应增加( 2007年上市的奥迪 Q7和保时捷卡宴的总线长度超 6km,总重量超 70kg,是全车重量仅次于发动机的部件),这就导致整车成本增加、汽车组装的自动化水平低。

分布式计算导致了车内信息孤岛、算力浪费、软硬件耦合深,主机厂严重依赖供应商。

传统汽车供应链中,不同的 ECU 来自不同供应商,不同的硬件有不同的嵌入式软件和底层代码,整车软件实际上是很多独立的、不兼容的软件混合体, 导致整个系统缺乏兼容性和扩展性。车厂要进行任何功能变更都需要和许多不同的供应商去协商软硬件协调开发问题,每新增一个新功能都需要增加一套 ECU 和通信系统,耗时长,流程繁琐。且由于每个 ECU 绑定一个具体功能, 无法实现横跨多个 ECU/传感器的复杂功能, 亦无法通过 OTA( Over-the-Air) 来保持汽车软件的持续更新。

在这里插入图片描述

分布式电子电气架构导致通信带宽瓶颈。

智能网联车功能越来越复杂,车辆传感器数量增加,由此产生的数据传输及处理的实时性要求提高,汽车内部网络通信数据量呈指数级增长趋势, 传统的 FlexRay、 LIN 和 CAN 低速总线已无法提供高带宽通信能力,也无法适应数据传输及处理的实时性要求。

假设车厂需要修改一个雨刷总成的功能,由于每一款车在开发流程中的既定节点上,都要对雨刷总成进行定义、标定和验证,后续修改即相当于二次开发,车企需要重新和雨刷供应商签合同,重新做各个层级的标定和验证。显然这样一种面向硬件的工程化体系和流程,在车辆越来越复杂的未来,是无法支撑产品的快速迭代进化的。

解决之道就是把硬件标准化。雨刷总成是一个电机驱动的机械部件,雨刷所需的传感器可调用车辆上搭载的摄像头或其他传感器,一旦感应到挡风玻璃透明度下降,车辆即可通过软件控制让雨刷自动启动合适的工作模式,这就实现了软件定义雨刷功能的目的。当各种不同的总成、模块都标准化以后,就可以通过中央控制器里的软件来实现更高等级的智能,就像手机上运行的多个 APP,既可大幅缩短产品开发周期,也可广泛采用标准化的零部件,有助于企业控制成本和质量。比如一家零部件企业开发和生产一款标准化的雨刷,然后卖给各家整车企业,其价格会非常便宜;同时,标准化硬件的标定和验证都可适当简化,从而进一步节省开发时间和成本。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2050312.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

反射型XSS的几种payload

目录 第一种&#xff1a;采用的是urlcode编码 第二种&#xff1a;前面用html实体编码&#xff0c;后面用urlcode编码 第三种&#xff1a;只对&#xff1a;使用urlcode编码 第四种&#xff1a;对<>进行html实体编码 第五种&#xff1a;textarea 第六种&#xff1a;和…

【JavaEE】锁策略和CAS

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【Java】登神长阶 史诗般的Java成神之路 &#x1f4b0;一.常见的的锁策略 锁策略&#xff08;Locking Strategy&#xff09;是指在多线程环境中&#xff0c;为了控制对共享资源的访问&#xff0c;确保…

「OC」探索CALayer:基础知识与实用技巧简要介绍

「OC」探索CALayer&#xff1a;基础知识与实用技巧简要介绍 文章目录 「OC」探索CALayer&#xff1a;基础知识与实用技巧简要介绍前言认识CALayerCALayer的相关属性 UIView和CALayer区别联系创建UIView和CALayer的原因 开始创建CALayer视图层级CALayers 和 Sublayersposition与…

javaweb-flex布局

1. flex布局原理 flex是flexible Box的缩写&#xff0c;意味着"弹性布局"&#xff0c;用来为盒子模型提供最大的灵活性&#xff0c;任何一个容器都可以指定为flex布局。 当我们为父盒子设为flex布局以后&#xff0c;子元素的float、clear和vertical-align属性都将失…

【质因数分解】将正整数分解质因数

将一个正整数分解成质因数&#xff0c;例如&#xff1a;输入90&#xff0c;打印输出 902*3*3*5 使用C语言实现&#xff1a; #include<stdio.h>int main(){int n,i;printf("请输入需要分解的正整数&#xff1a; ");scanf("%d",&n);for(i2;i<…

六. 部署分类器-deploy-classification-basic

目录 前言0. 简述1. 案例运行2. 代码分析2.1 main.cpp2.2 model.cpp 3. 补充说明结语下载链接参考 前言 自动驾驶之心推出的 《CUDA与TensorRT部署实战课程》&#xff0c;链接。记录下个人学习笔记&#xff0c;仅供自己参考 本次课程我们来学习课程第六章—部署分类器&#xff…

Flutter-自适用高度PageView

需求 在 Flutter 中&#xff0c;PageView 是一个非常常用的组件&#xff0c;能够实现多个页面的滑动切换。然而&#xff0c;默认的 PageView 高度是固定的&#xff0c;这在展示不同高度的页面时&#xff0c;可能会导致不必要的空白或内容裁剪问题。为了使 PageView 能够根据每…

Educational Codeforces Round 169 (Rated for Div. 2)(ABCDE)

A. Closest Point 签到 #define _rep(i,a,b) for(int i(a);i<(b);i) int n,m; int q[N]; void solve() {cin>>n;_rep(i,1,n)cin>>q[i];if(n!2)cout<<"NO\n";else if(abs(q[1]-q[2])!1)cout<<"YES\n";else cout<<"…

堆排序-优先级队列

我们用堆排来实现优先级队列&#xff0c;那么优先级队列是什么&#xff0c;就是 我们给每一个任务都添加一个优先级&#xff0c;优先级越高执行的越早我们用&#xff0c;但是我们怎么能按照顺序优先拿到优先级高的任务呢&#xff0c;我们可以用排序 来进行&#xff0c;也可以用…

Mybatis-Plus分页插件注意事项

使用Mybatis-Plus的分页插件进行分页查询时&#xff0c;如果结果需要使用<collection>进行映射&#xff0c;只能使用嵌套查询&#xff0c;而不能使用嵌套结果映射 嵌套查询和嵌套结果映射是Collection映射的两种方式&#xff0c;下面通过一个案例进行介绍 例如有room_i…

MyBatis源码系列3(解析配置文件,创建SqlSessionFactory对象)

创建SqlSessionFactory&#xff1b; 首先读取配置文件&#xff0c;使用构造者模式创建SqlSessionFactory对象。 InputStream inputStream Resources.getResourceAsStream("mybatis-config.xml");SqlSessionFactory sqlSessionFactory new SqlSessionFactoryBuilder…

C++面试基础系列-struct

系列文章目录 文章目录 系列文章目录C面试基础系列-struct1.C中struct2.C中struct2.1.同名函数2.2.typedef定义结构体别名2.3.继承 3.总结3.1.C和C中的Struct区别 4.struct字节对齐5.struct与const 关于作者 C面试基础系列-struct 1.C中struct struct里面只能放数据类型&#…

算法力扣刷题记录 八十六【47.全排列 II】

前言 回溯章节第12篇。 记录 八十四【46.全排列】初步学习了集合中无重复元素的排列求解。 本文&#xff1a;记录 八十六【47.全排列 II】当集合中有重复元素时&#xff0c;求解排列&#xff1b; 一、题目阅读 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回…

VirtualBox安装Oracle Linux 7.9全流程

1.准备工作 1.1 VirtualBox下载 下载地址1&#xff1a; Downloads – Oracle VM VirtualBoxhttps://www.virtualbox.org/wiki/Downloads 下载地址2&#xff1a; https://www.oracle.com/virtualization/virtualbox/ 选择以上的任意一个地址都可下载到。 1.2 Oracle Linux 操作…

购物车系统设计方案

背景 在电商领域&#xff0c;购物车&#xff08;Shopping Cart&#xff09;扮演着至关重要的角色&#xff0c;它是连接用户浏览商品与最终完成购买行为的桥梁。 从两个视角来阐述&#xff0c;作为ToC的购物车&#xff0c;存在的意义&#xff1a; 从用户角度&#xff1a; 收…

ssm大学生实习管理系统的设计与实现-计算机毕业设计源码45837

摘 要 在信息时代&#xff0c;随着网络的快速发展&#xff0c;各个行业都离不开信息的处理。在这样的背景下&#xff0c;高校需要以学生管理信息为导向&#xff0c;并与学生实习的持续创新相结合。因此&#xff0c;设计一个高校学生实习管理系统就显得非常必要。 该系统采用了B…

维基百科向量搜索;简单易用的GraphRAG实现;友好的人工智能助手;AI的音乐多模态

✨ 1: Semantic Search on Wikipedia 维基百科向量搜索 为了证明 Upstash Vector 的可扩展性&#xff0c;Upstash在一个数据库中以 11 种语言&#xff08;144m 向量&#xff09;索引了整个维基百科 ◆ 超过700GB的数据 ◆ 快速语义搜索 ◆ 与维基百科聊天 为您提供了一款可…

Unity--AssetBundle AB包管理器

1.简介 AB包&#xff08;AssetBundle&#xff09;是Unity中用于资源管理的一种机制&#xff0c;它允许开发者将多个文件&#xff08;如纹理、模型、音频等&#xff09;打包成一个单独的文件&#xff0c;以便于在游戏运行时动态加载和卸载。 但是现在出现了最新的Addressable来…

Python匿名函数之lambda表达式使用详解

概要 在Python编程中,函数是组织代码和实现逻辑的基础单元。除了使用def关键字定义命名函数外,Python还提供了创建匿名函数的方式,即lambda表达式。lambda表达式是一种简洁的函数定义方式,通常用于需要简短函数的场景。本文将详细介绍Python匿名函数的概念、使用场景及其高…

基于51单片机的双机通信控制系统proteus仿真

地址&#xff1a; https://pan.baidu.com/s/1Y4wOJKOYf2E4JeEktyKdTw 提取码&#xff1a;1234 仿真图&#xff1a; 芯片/模块的特点&#xff1a; AT89C52/AT89C51简介&#xff1a; AT89C52/AT89C51是一款经典的8位单片机&#xff0c;是意法半导体&#xff08;STMicroelectro…