车载软件架构 --- 智能汽车软件

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

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

所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。人就应该满脑子都是前途,不再在意别人的看法不再害怕别人讨厌自己,不再畏手畏脚忧心忡忡也不会在睡前反回忆白天的行为,是否让对方产生误解用你那精神内耗的态度去搞学习搞事业搞钱,然后用躺平和摆烂的态度对待人际关系,烦恼能消失一大半。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。

时间不知不觉中,快要来到深秋。国庆假期结束,又开始新的忙碌。成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。

一、智能汽车软件架构的概述

继互联网和智能手机之后,智能汽车正引领新一轮的科技创新和产业变革。汽车从传统的高度机电一体化的移动终端逐步演变为万物互联时代的超级智能体。值得注意的是,智能汽车并非单纯依靠硬件配置打造差异化竞争力,而是通过软件能力的构建以提升用户满意度、产品附加值和品牌美誉度,并最终改善企业经营水平。

在软件定义汽车时代,智能汽车软件价值以及价值实现对于车企和供应商至关重要,是软件能力构建的关键考量。同时,车企和供应商的软件变革也进入了深水区。更多的车企与供应商通过组织变革、资源投入和生态构建等方式加速“软件转型”;然而,变革过程中困难重重,包括“资源投入、成本与收益难以平衡”、“软件集成能力依然较弱”、“软件供应商与车厂在软件交付 / 采购模式上的不匹配”等。

智能汽车软件架构是指支撑智能汽车各种功能和服务的软件系统的组织和结构。随着汽车智能化和网联化的不断发展,软件在智能汽车中扮演着越来越重要的角色。智能汽车软件架构的设计需要满足高安全性、高可靠性、高实时性以及良好的可扩展性和可维护性等要求。

在这里插入图片描述

二、软件层级

底层系统软件层:包括BSP(板级支持包)、虚拟机、系统内核、中间件组件等。这一层是智能汽车软件架构的基础,为上层软件提供运行环境和支持。

BSP(板级支持包):是介于主板硬件和操作系统之间的系统软件之一,主要目的是为了支持操作系统,使之能够更好的运行于硬件主板。

虚拟机:通过虚拟化技术,可以在一个物理硬件平台上运行多个操作系统或应用程序,实现资源的共享和隔离。

系统内核:是操作系统的核心部分,负责管理系统的进程、内存、设备驱动程序、文件和网络系统等。

中间件组件:提供了一组通用的服务,如消息传递、数据转换、安全控制等,以支持上层应用软件的开发和运行。

功能软件层:包括库组件、中间件等,位于操作系统、网络和数据库之上,应用软件的下层,为应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的应用软件。这一层主要实现智能汽车的各种核心功能,如自动驾驶、智能座舱等。

在这里插入图片描述

自动驾驶功能模块:包括自动驾驶通用框架、网联模块、运控模块等,这些模块结合底层系统软件,共同构成自动驾驶操作系统。

智能座舱功能模块:主要实现车载娱乐信息系统功能以及HMI(人机界面)相应功能。

应用算法软件层:包括智能座舱HMI、ADAS/AD算法、网联算法、云平台等,用于实际实现对于车辆的控制与各种智能化功能。这一层主要实现智能汽车的各种应用场景和功能,如自动泊车、自动变道、智能导航等。

在这里插入图片描述

未来,不同层级软件价值占比结构将不会有根本性变化。包括板级支持包(BSP)、操作系统(OS)、中间件与应用层等不同层级软件将随着智能化、网联化等功能迭代而“水涨船高”式地升级;其中,应用层仍将占据价值主导地位。

-> 应用层: 直接关乎用户体验,是不同车企竞争的焦点。随着功能持续迭代升级,其单车价值占比将持续占据绝对大头。以自动泊车功能为例,调研数据显示,如果其成功率低于80%,将极大降低用户体验和品牌粘性。车企在开发泊车功能时,务必解决常见的泊车长尾问题,如无车位线、停车线不规则、强光照射、车位线不清晰、停车位有障碍物等。此外,车企还应持续迭代泊车功能,从当前的自动泊车辅助、记忆泊车升级为自主代客泊车,以更大程度提升用户效率和满意度,并实现软件价值的变现。又如,针对用户全生命周期的数字化服务创新,结合用户驾驶行为习惯,同时优化保险定价模型,可以有效降低用户保险费用并持续提升用户忠诚度。

-> BSP: 位于操作系统内核与硬件之间,包括引导装载程序(Bootloader)、硬件抽象层(HAL)、驱动程序、配置文档等。未来,智能座舱和自动驾驶等模块功能的持续升级将是BSP软件价值变化的关键驱动要素。预计BSP单车软件价值占比将持续占整车软件的约16%。例如,座舱内将融合越来越多的传感器(摄像头、毫米波雷达、麦克风、体征检测传感器等),实现语音、1.3 各层级软件价值占比相对稳定,应用层价值占比过半眼球、表情、手势、健康等信息的感知;此外,座舱芯片也将持续迭代(算力需求预计将上升至30 TOPS以上,甚至达到上百TOPS级别的水平),以提供更好的终端感知和决策能力支撑。

在这里插入图片描述

-> 中间件: 实现了应用软件与OS的解耦,也实现了应用软件与硬件的解耦,是软件定义汽车时代的关键技术之一。未来,随着自动驾驶从L2向L3级别升级,中间件需要能够支持高功能安全级别、高算力芯片以及满足车云一体化趋势等,其功能也将进一步丰富。预计中间件软件绝对价值将不断提升,2022年至2030年复合增速约达8%,并将持续占据约25%的单车软件价值比例。与此同时,中间件需要针对不同客户的需求进行个性化的适配,对厂商技术的积累要求较高,也提升了行业竞争门槛。未来,头部厂商仍将持续拓展能力边界,提供的产品甚至包括部分功能软件、OS层级的模块等。

-> OS: 车企在自动驾驶域和座舱域选择OS会考虑安全性、可靠性、开放性、可扩展性、易用性及成本等因素。而在传统动力、底盘和车身分布式控制单元等嵌入式软件中是不使用OS的,这也影响了OS在整车软件价值中的占比。整体来看,OS在2022年整车软件占比约为8%;未来,随着电子电气架构(EEA)集中化趋势加剧,传统功能域融合后也将通过OS执行多任务调度等功能,预计到2030年,OS软件绝对价值将增加至约1,700元,并维持整车价值占比相对稳定。

在这里插入图片描述

从不同车企在软件不同层级的价值来看,其内部价值比例没有结构性差异,但软件投入重点和绝对价值有所差异。车载OS是汽车软件的核心,其在智能汽车时代需要针对非单一功能软硬件资源进行管理,虽然绝对价值不高(不超过10%),但其决定了系统性能和稳定性。当前,由于车企自研OS内核成本高,更多是对OS内核进行改造。传统合资车企和豪华车企多是基于内核进行深度定制,开发难度较大,需要车企的长期投入。而当前国内新势力车企则多是基于内核进行有限定制,打造ROM型OS(有限定制型OS),开发难度相对较小,投入更低。针对中间件,由于跨国车企之前就在牵头推动相关标准的制定,其软件开发能力也相对具有优势,很多软件功能是通过软件模块(如信息安全增强)的形式交由供应商进行集成。

在这里插入图片描述

对于应用层软件来说,新势力和传统本土车企利用中国市场的规模优势和用户的高接受度进行快速迭代,因而应用层软件占比高、价值大。例如,新势力品牌针对语音功能做定制化开发,将语义分割、识别、分区等功能不断做到极致,并成为车企智能化的显著标签。又如,传统本土车企旗下的软件公司借鉴ChatGPT的实现思路,采用人类反馈强化学习(RLHF)技术,通过引入真实人驾接管数据,对自动驾驶认知决策模型进行持续优化。

三、总结

软件定义汽车的趋势正在成为汽车行业深度变革的驱动力。未来,车企和供应商需要进一步明确战略方向、重塑组织架构、优化开发体系以及建立数字底座,以打造可持续的竞争优势,制胜智能汽车时代。

1、明确战略方向

软件能力构建是一项需要持续投入的系统工程,要求企业有清晰的战略方向和持久的战略定力。车企和软件供应商均需明确通过软件能力构建而满足客户什么样的需求及需求优先级?实现什么用户价值?形成什么样的差异化竞争优势?如何设计自身商业模式?如何更好地支撑自身品牌向上而非被贴上僵化落后的标签?针对不同企业自身的差异,定制化的战略是其在软件定义汽车大趋势下找准自身定位的关键。唯有建立清晰的战略方向和应对举措,方能形成内部统一的认知、吸引/留住人才、增强供应链能力和产生可预期的收益。

2、 重塑组织架构

智能汽车软件能力的打造是战略、产品、研发、供应链及运营等跨部门合作的过程,也是电子电气架构、硬件、基础软件、功能软件、软件应用等跨领域专家密切配合的过程。其需要在公司高层的直接领导下,建立高效协作的内部环境和架构体系,使得员工充分参与并实现共同的组织目标。例如,相对扁平的组织架构有利于提升软件开发效率和软件功能的快速迭代。此外,在EEA集中化的趋势下,各功能域亦在不断融合创新。如何从职能职责定义层面明确软硬件协同的目标并有效提升软件质量和降低硬件资源占用?如何从流程上确保跨域功能开发的高效沟通和功能验证的完备性?当涉及底层软件时,如何处理软件与架构部门间不同流程之间的冲突以确定介入时间?怎样的流程和工具能使得用户运营反馈的软件问题得到有效传递并最终提升用户满意度?

3、优化开发体系

汽 车“新四化”需要强大的软件能力支撑,而软件能力不仅体现为高质量的软件产品,还体现在软件产品的快速迭代上。传统汽车电子基于V模型进行软件开发,软件设计是预先完成的,预计实现与设计一致,这样有利于需求和过程管理并明确开发范围和进度。而在软件定义汽车趋势下,软件和硬件开发过程正逐步解耦,软件需要反复迭代以满足用户对于功能升级的需求。例如,智能座舱相关软件的开发流程实则更接近敏捷开发。当前,汽车行业的软件工程师需探索如何将持续集成、持续交付的敏捷开发理念与传统开发模型相结合,以获得软件开发效率和质量的平衡。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实际案例说明用基于FPGA的原型来测试、验证和确认IP——如何做到鱼与熊掌兼得?

作者:Philipp Jacobsohn,SmartDV首席应用工程师 Sunil Kumar,SmartDV FPGA设计总监 本系列文章从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用硅…

UiPath调用Python脚本的完整示例

一、主要步骤: 1、创建Python脚本 2、安装UiPath.Python.Activities库 3、使用方法: a、添加python作用域 b、加载python脚本 c、调用python方法 d、获取python对象 e、显示Python结果的消息对话框 二、详细步骤 1、安装UiPath.Python.Activities库 …

【简易进度条的实现】

独夜无伴守灯下,清风对面吹............................................................................................. 文章目录 前言 一、【行缓冲区的引入】 1、【问题提出】 2、【\r和\n】 3、【简易倒计时程序】 二、【简易进度条的实现】 process_bar.…

【已解决】cra 配置路径别名 @ 后,出现 ts 报错:找不到模块“@/App”或其相应的类型声明。ts(2307)

cra 配置路径别名 后,出现 ts 报错:找不到模块“/App”或其相应的类型声明。ts(2307) 然后可以在 tsconfig.json 中配置 baseUrl 和 paths : {"compilerOptions": {"target": "es5","lib": [&quo…

es拼音分词器(仅供自己参考)

github地址:https://github.com/infinilabs/analysis-pinyin(各种版本,对接es版本) 拼音分词器存在的问题: 1、是直接将每个字的拼音返回和一段话的拼音首字母返回,不能很好的分词。 2、不会保留中文&am…

为什么大家都在学数字孪生呢?

随着物联网,大数据、人工智能等技术的发展,新一代信息技术与制造业正在深度融合,人们与物理世界的交互方式正在发生转折性的变化。数字化转型正在成为企业的重要战略,而数字孪生则成为全新的焦点。 当下,在数字技术和…

【英特尔IA-32架构软件开发者开发手册第3卷:系统编程指南】2001年版翻译,2-11

文件下载与邀请翻译者 学习英特尔开发手册,最好手里这个手册文件。原版是PDF文件。点击下方链接了解下载方法。 讲解下载英特尔开发手册的文章 翻译英特尔开发手册,会是一件耗时费力的工作。如果有愿意和我一起来做这件事的,那么&#xff…

LLM Observability: Azure OpenAI (一)

作者:来自 Elastic Vinay Chandrasekhar•Andres Rodriguez 我们很高兴地宣布 Azure OpenAI 集成现已全面上市,它提供了对 Azure OpenAI 服务性能和使用的全面可观察性!另请参阅本博客的第 2 部分 虽然我们已经提供了对 LLM 环境的可视性一段…

HTML 基础标签——表格标签<table>

文章目录 1. `<table>` 标签:定义表格2. `<tr>` 标签:定义表格行3. `<th>` 标签:定义表头单元格4. `<td>` 标签:定义表格单元格5. `<caption>` 标签:为表格添加标题6. `<thead>` 标签:定义表格头部7. `<tbody>` 标签:定义表格…

第7章 内容共享

第 7 章 内容共享 bilibili学习地址 github代码地址 本章介绍Android不同应用之间共享内容的具体方式&#xff0c;主要包括&#xff1a;如何利用内容组件在应用之间共享数据&#xff0c;如何使用内容组件获取系统的通讯信息&#xff0c;如何借助文件提供器在应用之间共享文件…

基于 Python 的 Django 框架开发的电影推荐系统

项目简介&#xff1a;本项目是基于 Python 的 Django 框架开发的电影推荐系统&#xff0c;主要功能包括&#xff1a; 电影信息爬取&#xff1a;获取并更新电影数据。数据展示&#xff1a;提供电影数据的列表展示。推荐系统&#xff1a;基于协同过滤算法实现个性化推荐。用户系…

【高等数学】3-2多元函数积分学

1. 二重积分 可以想象你有一块不规则的平面薄板,它在一个平面区域上。二重积分就是用来求这个薄板的质量(假设薄板的面密度函数是)。 把区域划分成许多非常小的小方块(类似于把一块地划分成很多小格子),在每个小方块上,密度近似看成是一个常数,然后把每个小方块的质量加…

喜欢央卫 5.5.5 | 老年人专用电视直播APP

喜欢央卫是一款专门为老年人设计的电视直播APP。这款APP的名字非常简单直白&#xff0c;内容也符合老年人的口味。它提供了常用的央卫频道&#xff0c;还有V4和V6的不同线路&#xff0c;同时支持超多地方频道。界面简洁易用&#xff0c;非常适合教老人如何看电视。 大小&#…

DAY17|二叉树Part03|LeetCode: 654.最大二叉树 、617.合并二叉树 、700.二叉搜索树中的搜索、98.验证二叉搜索树

目录 LeetCode: 654.最大二叉树 基本思路 C代码 LeetCode: 617.合并二叉树 基本思路 C代码 LeetCode: 700.二叉搜索树中的搜索 基本思路 C代码 LeetCode: 98.验证二叉搜索树 中序遍历判断递增 基本思路 C代码 递归法 C代码 LeetCode: 654.最大二叉树 力扣…

《数字图像处理基础》学习05-数字图像的灰度直方图

目录 一&#xff0c;数字图像的数值描述 &#xff11;&#xff0c;二值图像 &#xff12;&#xff0c;灰度图像 3&#xff0c;彩色图像 二&#xff0c;数字图像的灰度直方图 一&#xff0c;数字图像的数值描述 在之前的学习中&#xff0c;我知道了图像都是二维信息&…

golang的多表联合orm

项目截图 1.数据库连接配置 DbConfigUtil.go package configimport ( "fmt" _ "github.com/go-sql-driver/mysql" "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/logger" "gorm.io/gorm/schema" )var Go…

Chromium 中chrome.topSites扩展接口定义c++

一、chrome.topSites 使用 chrome.topSites API 访问新标签页上显示的热门网站&#xff08;即最常访问的网站&#xff09;。不包括用户自定义的快捷方式。 权限 topSites 您必须声明“topSites”扩展程序清单中授予使用此 API 的权限。 {"name": "My exten…

在Zetero中调用腾讯云API的输入密钥的问题

也是使用了Translate插件了&#xff0c;但是需要调用腾讯云翻译&#xff0c;一直没成功。 第一步就是&#xff0c;按照这上面方法做&#xff1a;百度、阿里、腾讯、有道各平台翻译API申请教程 之后就是&#xff1a;Zotero PDF translat翻译&#xff1a;申请腾讯翻译接口 主要是…

2-137 基于matlab的sigmoid函数的变步长自适应语音信号增强

基于matlab的sigmoid函数的变步长自适应语音信号增强&#xff0c;与传统LMS相对比&#xff0c;比较不同的变步长函数去噪效果&#xff0c;并基于较好的去噪算法分析不同变步长中参数变化对降噪的影响。程序已调通&#xff0c;可直接运行。 下载源程序请点链接&#xff1a;2-13…

DNS服务部署

第一步&#xff1a;两个服务器恢复快照&#xff0c;预处理、安装软件、设置网卡信息 第二步&#xff1a;主服务端操作&#xff0c;编辑主配置文件设置监听IP。主服务端操作打开区域配置文件&#xff0c;添加如下内容&#xff0c;重点为&#xff1a;允许从服务器的同步请求&…