汽车行业大趋势——软件定义汽车

news2024/11/16 7:52:31

文章目录

  • 前言
  • 一、软件定义汽车的驱动力
  • 二、SOA架构在软件定义汽车中的作用
  • 三、车载软件架构(内核、中间件、应用层)长期趋势
  • 总结


前言

最早在2007年4月份的IEEE会议中提出“软件定义汽车”(SDV,Software Define Vehicle)的概念,而后于2016年被百度自动驾驶事业部总经理再次提及,随之这一概念开始在汽车行业内广为流传,并已逐步成为汽车行业对于智能汽车演进方向的共识。


一、软件定义汽车的驱动力

当然“软件定义汽车”成为多数整车厂、传统Tier1及互联网科技公司等的共识,主要原因有如下两个方面:

(1)特斯拉作为第一个吃螃蟹者,已经将“硬件为流量入口、软件为收费服务”的模式落地实现,鲶鱼效应显著。

特斯拉作为智能电动汽车的领先者,其在产业界的示范效应已不言而喻。基于现有数据闭环及软件架构,特斯拉可实现快速的软件迭代升级(OTA),进而建立软件付费模式,进一步打开盈利空间。造成的影响就是:

促使传统整车厂加速转型布局车载软件领域,软件定义汽车时代加速到来。

(2)软件才能形成差异化,以软件驱动创新,边际开发成本更低。

OEM及Tier1纷纷开启智能化转型,正如智能手机浪潮伊始之时,各个厂商争相提升摄像头、屏幕以及处理器等配置。而当硬件配置竞赛达到白热化阶段时,软件层面的竞争才更能体现出差异化的竞争力。同时,软件的边际开发成本更低,才能满足用户千人千面的需求,且完善的软件生态亦可为OEM树立更加牢固的护城河、打造差异化的品牌特征。

PS:车载领域软件研发模式大致如下三种:

A:众多传统OEM正通过成立子公司(沃尔沃、丰田、上汽、长安、一汽等);

B:成立软件研发部门(长城、大众、雷诺日产等);

C:与软件供应商合作(广汽、吉利、宝马等)。

结论:软件定义汽车已为产业界共识,鲶鱼效应下车载软件需求大幅提升

 

二、SOA架构在软件定义汽车中的作用

集中化的E/E架构是实现软件定义汽车的硬件基础,SOA架构则是实现软件定义汽车的软件基础。

传统的分布式E/E架构下,汽车采用的是“面向信号”的软件结构,ECU之间通过LIN/CAN等总线进行点对点通信。

ECU的信号收发关系和路由信息是静态的(已在ECU软件的编译阶段完成预设),如果要新增或升级某项功能,除了要修改与该信号相关的所有ECU软件外,还需要对总线的网关配置、节点的数量等进行修改。因此,在传统的通信及ECU软件架构设计中,通讯网络关注的重点在于各类信号能否准确、高效的在车内进行收发传导。而随着汽车智能化升级需求的快速增长,传统通讯网络及软件架构设计中扩展性差、升级和移植成本高等问题逐渐凸显

比如若想新增某项软件应用或服务,仍需要从头建立一个新的基础软件环境。为解决以上问题,汽车行业借鉴IT行业发展经验,提出SOA(面向服务)软件架构。

SOA(Service Oriented Architecture)软件架构并非一类特定的软件产品,而是一种软件架构设计的理念,其核心思想是将每个控制器的底层功能以“服务”的形式进行封装,一个服务即是一个独立可执行的软件组件,并对其赋予特定的IP地址和标准化的接口以便随时调用,最终通过对这些底层功能的自由组合,以实现某项复杂的智能化功能。

如下举例方便直观认识:

我们以新增ModelX“跳舞”功能的方式为例,具体说明SOA软件架构的优势所在。“跳舞”功能的实现包含音乐、车身、前后运动等多方面,与之对应的是座舱、车身、底盘中的多个控制器。若在传统软件架构下实现该功能,则需要对与该功能链路上所有相关的控制器软件进行重新编译,并通过LIN/CAN总线实现信号的传递。而在SOA软件架构下,我们可将各个控制器所能贡献的部分抽象为一种“服务”,如“灯光控制服务”、“语音交互服务”等,然后仅需要对“跳舞”APP进行编写,对以上基础服务予以调用,即可实现这一功能。

 

相较于传统软件架构,SOA软件架构在进行功能改变时仅需要更新/升级部分软件

SOA软件架构下的底层软件具备接口标准化、相互独立、松耦合三大特点。在SOA软件架构之下,各个“服务”(底层软件)具有以下三个特点:

(1)各个“服务”间具有界定清晰的功能范围,并且留予标准化的访问接口(由第三方代码编码而成),以便于其他控制器在进行功能变更或升级时进行订阅。

(2)每个服务之间相互独立且唯一,均属于汽车软件架构中的基础软件,因此若想升级或新增某项功能只需通过标准化的接口进行调用即可。

(3)具备松耦合的特性,独立于车型、硬件平台、操作系统以及编程语言。可以将传统中间件编程从业务逻辑分离,允许开发人员集中精力编写上层的应用算法,而不必将大量的时间花费在更为底层的技术实现上。

总体而言,SOA架构的本质是将原本相互分散的ECU及其对应的基础软件功能模块化、标准化,将各个应用区域相互解耦,重新部署为分层式的软件架构,从而使得汽车可以快速响应消费者需求,新增或更新各项功能,实现千人千面。

 三、车载软件架构(内核、中间件、应用层)长期趋势

前文提到,在SOA软件架构设计理念之下,汽车软件架构走向分层化、模块化,使得应用层功能够在不同车型、硬件平台、操作系统上复用,并且可以通过标准化接口对应用功能进行快速迭代升级。进一步来看,我们可将软件架构按层级自下而上大致抽象为系统内核层、中间件层以及应用程序层(以上三者分类仅为粗略划分,实际在软件供应商的开发过程中并无绝对性的边界,例如应用程序供应商有时亦包含部分开发工具链,中间件供应商有时亦包含Hypervisor,系统内核供应商有时亦提供部分中间件功能等)。短期来看,若想真正在汽车上落地SOA软件架构,操作系统(此处指系统内核部分)及中间件的引入及优化将至关重要,而长期看在SOA架构构建成熟后,丰富的应用生态将具备更大的价值空间。

 

结论:

短期看系统内核和中间件举足轻重,长期看应用层价值量更大


总结

促使传统整车厂加速转型布局车载软件领域,软件定义汽车时代加速到来!

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

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

相关文章

flask-admin菜鸟学习笔记

近期在工作中需要维护若干个信息表,在这个过程中需要经常对表格进行操作、交叉操作、各个表格同步,和某平台信息同步。。。在此过程中需要建立一个“隐性”的流程,要第一步同步A和B,再同步B和C,。。。而检索更是痛苦&a…

Python 中 4 个高效的技巧!

今天我想和大家分享 4 个省时的 Python 技巧,可以节省 10~20% 的 Python 执行时间。 反转列表 Python 中通常有两种反转列表的方法:切片或 reverse() 函数调用。这两种方法都可以反转列表,但需要注意的是内置函数 reverse() 会更改原始列表…

最近面了12个人,发现这个测试基础题都答不上来...

一般面试我都会问一两道很基础的题目,来考察候选人的“地基”是否扎实,有些是操作系统层面的,有些是 python语言方面的,还有些… 深耕IT行业多年,我们发现,对于一个程序员而言,能去到一线互联网…

托管海外服务器有哪些要求?

对于成长中的企业来说,需要使用自己的Web 服务器来有效地控制网站运营安全以及关键数据管理。但与此同时,创建一个高效的数据中心需要巨大的基础设施成本,24小时现场经验丰富的技术和管理支持团队来管理所有数据中心需求、服务器和数据等等。…

详细介绍NLP关键词提取算法

PageRank 算法 基于词图模型的关键词提取算法主要有 PageRank 和 TextRank。 PageRank 是 TextRank 算法的思想基础,TextRank 是 PageRank 在文本上的应用。 来源: Google 创始人拉里佩奇和谢尔盖布林于 1997 年构建早期的搜索系统原型时提出的链接分析…

uniCloud云开发及一键生成代码

uniapp云开发(云数据库) 准备工作 一、新建项目选择云开发 关联云函数 在cloudfouctions右键点击创建云函数 在base下的index.js中写入 use strict; exports.main async (event, context) > {//event为客户端上传的参数console.log(event : , ev…

PyG (PyTorch Geometric) 异质图神经网络HGNN

诸神缄默不语-个人CSDN博文目录 PyTorch Geometric (PyG) 包文档与官方代码示例学习笔记(持续更新ing…) 本文介绍使用PyG实现异质图神经网络(HGNN)的相关操作。 本文主要参考PyG文档异质图部分:Heterogeneous Graph…

Matplotlib可视化50图:气泡图(2)

导读 本文[1]将学习如何使用 Python 的 Matplotlib 库通过示例绘制气泡图。 简介 气泡图是散点图的改进版本。在散点图中,有两个维度 x 和 y。在气泡图中,存在三个维度 x、y 和 z。其中第三维 z 表示权重。这样,气泡图比二维散点图在视觉上提…

C语言 编译和链接

C语言 编译和链接引言翻译环境运行环境声明一、预定义符号二、#define 符号1. #define 定义标识符2. #define 定义宏宏带来的陷阱宏的两个特殊的使用场景① 使用 #,把一个宏参数变成对应的字符串② 使用 ##,将两个宏参数合并成一个符号宏参数的使用3. #d…

某度旋转验证码

案例地址:aHR0cHM6Ly96aXl1YW4uYmFpZHUuY29tL2xpbmtzdWJtaXQvdXJs 运行结果截图: 抓包分析, 整个流程如下 第一个包,提交参数是ak和时间戳(ak是定值) 返回的参数中,as和tk后面都会用到 点击提交,会弹出验证码,第二个包,请求参数的tk是第一个包返回的, ak同第一…

总算给女盆友讲明白了,如何使用stream流的filter()操作

一、引言 在上一篇文章中《这么简单,还不会使用java8 stream流的map()方法吗?》分享了使用stream的map()方法,不知道小伙伴还有印象吗,先来回顾下要点,map()方法是把一个流中的元素T转换为另外一个新流中的元素R&…

身边的那些信审人员都去哪了?

最近几天看到朋友圈很多信用卡审核中心的老同事(老同学)在秀到深圳9周年,在2013年的时候,大家都是一起通过校招来到了XX银行信用卡中心的信贷审批部,成为了信用卡人工审核员,那时候入职信贷审批部近百人&am…

这个算法不一般,控制拥塞有一手!

数字时代下,远程办公、线上协同成为刚需,直播带货等业务模式盛行,数据流量爆炸式增长,低时延、高流畅的网络传输诉求给数据中心的处理能力带来了极大挑战。RDMA作为一种新型网络传输技术,可大幅提升网络传输实效&#…

HTML期末学生大作业-节日网页作业html+css+javascript

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

详细总结快慢指针的在链表中的常见题型

常见快慢指针题型1.找出链表中间结点2.找到倒数第K个结点3.判断环形链表4.找到环形链表的入口(进阶)5.相交链表1.找出链表中间结点 双指针进阶解法 1.定义两个指针,一个快指针,一个慢指针。 2.快指着一次走两步,慢指针…

基于冲突搜索的多机器人路径规划(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 随着自动化物流系统的发展,移动机器人作为运输系统的关键工具,各方面的技术得到了快速的发展。多移动机器人路径规划是机器人导…

什么是单臂路由技术?

使用vlan trunk可以在同一交换机上划分vlan,从而相同vlan的主机可以通信,不同vlan不能通信,如果连接不同vlan的主机想要通信,怎么办? 不同vlan是属于不同广播域的,配置的是不同的IP网段,针对不…

Notepad++官网地址及使用十六进制查看文件的详细教程

目录 一、概述 二、Notepad官网地址 三、Notepad查看十六进制教程  3.1 在线安装HexEditor插件  3.2 手动安装HexEditor插件 一、概述 Notepad是一个开源的源代码编辑器和记事本替代品,支持多种编程语言和自然语言。在MS Windows环境下运行,它的使用受…

在线数据图表制作-FineReport文本控件

1. 概述 1.1 版本 报表服务器版本 App 版本 功能变更 11.0 -- -- 11.0.2 11.0.54 App支持文本控件 NFC 读卡输入 1.2 应用场景 1.2.1 填报控件 填报报表中可以通过该控件输入文本信息,录入填报的数据,如下图所示: 1.2.2 参数控件 …

51单片机APP GSM短信老人跌倒定位温度异常报警检测GPS地图

实践制作DIY- GC0088-跌倒定位温度异常报警 一、功能说明: 基于STM32单片机设计-跌倒定位温度异常报警 功能介绍: STC15W4K48S4(或者STM32F103CxT6)系列最小系统板OLED显示器SIM800 GSM短信模块1个DS18B20温度测量模块蜂鸣器AD…