01 到底什么是软件定义汽车?软件与架构的 “恩怨情仇“

前言

2020年,国内汽车电子圈刮起一股 “软件定义汽车(Software Define Vehicle)” 热潮,各种 “软件定义汽车”背景下的文章、会议等层出不穷,但经过笔者一番调查发现SDV这个概念在国外并没有这么热!很其怪的是, “软件定义汽车” 在国内这么热,但是以下问题却很难找到答案:

到底什么是软件定义汽车r> 到底是软件定义架构还是架构定义软件r>

本系列请点击:《搞一下软件为汽车赋能》

所有系列请点击:《汽车电子系列分享》

一、软件定义汽车哪来的h1>

可能有的朋友会好奇,这个系列是软件为汽车赋能,又为啥要谈软件定义汽车先往下看!

第1个问题:软件定义汽车哪来的h2>

百度百科指出:软件定义汽车是由其自动驾驶事业部总经理于2016年提出的概念。 真的是这样吗r>

不是的:一开始的时候(自2000年起),出现较多的是软件定义无线电 Software-defined Radio (SDR)、软件定义功能 Software-defined Functions (SDF)等概念。

笔者查阅文献发现,早在2007年4月份的IEEE会议论文集中就明确提出了 “软件定义汽车 Software Define Vehicle (SDV)” 的概念。当然,笔者认为,软件定义汽车的概念应该是早在2007年4月之前就有了。除了SDV外,还有另外一种 “软件定义汽车” 的概念,即”Software Define Car (SDC)” ,SDC笔者最早是在2013的一个外国 友的博客中看到的。

虽然 “软件定义汽车 (SDV)” 的概念较早的被提出,但是在之后的一段时间内,并没有什么热度,反而热度较高的是 “软件定义 络 (SDN)” ,其中有很多与汽车相关:如软件定义车辆 络 (SDVN)、软件定义 络架构 (SDNA)等等。

在IT界流传着这样一种说法:IT世界中的所有事物都可以被标记为”软件定义的”。有软件定义的 络、软件定义的存储、软件定义的计算、软件定义的数据中心等等。

因此,笔者认为 “软件定义汽车” 应该是在2007年之前源自IT界 !并不是在2016年才被提出!

二、到底什么是软件定义汽车

接着

第2个问题:到底什么软件定义汽车h2>

为了搞清楚这个问题,我们将 “软件定义汽车” 拆成三段:

1)软件

2)定义

3)汽车

至此,延伸出以下问题:

需要说明的是,其他软件如板载支持包(BSP)、Boot等软件因为与硬件相关度很大暂不在讨论范围内。

上图中的虚拟化技术,笔者曾看到:有人说hypervisor是一种软件虚拟化,笔者认为hypervisor是虚拟化硬件的,所以准确点说应该是:

hypervisor是一种硬件虚拟化技术,这种技术是一种软件。

除了hypervisor之外,还有一种叫做container的虚拟化技术,它是用来虚拟化OS的,因此可以称为是一种软件虚拟化技术。

那么本节中的第2个问题:软件定义汽车的什么r>
在讨论软件定义汽车的什么之前,我们先暂定 “软件定义汽车” 中的 “软件” 是代表汽车相关的所有软件及软件技术。

汽车包含非常多的东西,有 络、架构、功能、软件、线束、硬件、乃至螺丝、车架、轮胎等等。

那么软件能定义汽车的什么呢、车架边。 笔者认为,软件定义汽车更多的是指定义汽车功能

因为有了仪表显示功能,我们可以看到续航、车速等 因为有了电池管理功能,我们可以为汽车充放电 因为有了自动驾驶功能,我们可以手离开方向盘等等

但是返回来看本节中的第1个问题:什么软件定义汽车的软件都是在定义这些功能吗的,就像有的朋友会说,之前就没有基础软件,应用软件跟基础软件是在一起的,都是应用软件。所以,笔者认为能够定义汽车功能的是应用软件。

至此,我们初步回答了本节的第3个问题:应用软件定义汽车功能!

此外,我们不禁要问:

软件定义汽车,那什么来定义软件r>
软件和架构到底是什么关系,是否是架构定义软件,我们上文提到了软件定义 络,这又该如何理解来我们看看

“软件、硬件、架构、 络的恩怨情仇”!

三、软件、硬件、架构、 络的 “恩怨情仇”

接着

第3个问题:到底是软件定义架构架构定义软件h2>

为了搞清楚这个问题,我们需要先来捋一捋 “软件” 与 “架构” 这两个概念,由于架构本身就包含很多内容,因此,笔者也将 “ 络” 与
“硬件” 加入进来一起捋捋!

当然,这里涉及的软件、硬件等仅限在汽车电子范围内。车架、轮胎等硬件不在讨论范围内!在研究软件、硬件、架构、 络之间的关系时,会涉及以下几个概念:功能、通信、系统。

“功能” 与 “通信” 的概念比较好理解,它们与 “ 络” 、”软件”息息相关! 而 “系统”
一般是指若干个部分相互联系,相互作用所形成的某些功能整体,在后文中也会提及。

笔者试着绘制了软件、硬件、架构、 络这几个概念之间的关系,如下图。 图片 图2 软件/硬件/架构/ 络关系图

02 硬件

图2的硬件同样划分为两部分:

一部分是硬件架构

一部分是硬体部分。

硬体部分比较容易理解,有ECU、电子电路、线束等(非架构),那么这问题又来了: 什么是硬件架构件架构包含哪些内容r>

硬件架构是根据整车要实现的功能,按照一定的划分规则,比如空间布局,规划出相应的控制部件,同时考虑部件之间的连接关系,依赖关系。如图4所示,硬件架构主要包括以下几种:

1)硬件组件架构:通过电路图描述ECU的所有内部方面。如电源、接地、微控制器、总线接口、存储器等等

2)电子电路架构:定义物理组件的电气特性及互连

3)线束架构:包含硬件架构中所有线路的连接。如插头连接器、接头等等

4)硬件几何架构:描述车辆中所有安装空间和安装位置等

5)内核架构:一般是指处理器(芯片)的核架构,如ARM的Cotex-A系列等

需要注意的是,笔者认为在设计ECU时,所产生的 “ECU架构” 隶属于硬件组件架构的部分!

如上图5所示, 络架构主要包含三种:

1)逻辑功能架构

” 逻辑功能架构 “是功能 络和 络架构的交集!

什么是逻辑功能架构哪些内容r>

逻辑功能架构定义了以软件或硬件实现的功能 络,包含逻辑组件(如传感器、执行器和逻辑功能)的规范。另外,还指定了接口和连接。逻辑功能架构中的元素可以映射到应用层以及底层软件或硬件架构。

有的朋友可能也发现了一个问题,为什么逻辑功能架构是竖着的,因为逻辑功能架构也涉及软件与硬件的部分,因此,逻辑功能架构应该是横跨
“软件”、“硬件”、”架构”以及 “ 络” 的一个存在。这也是为什么有些朋友认为它属于 ” 系统架构 “的原因!

当然,横跨 “软件”、“硬件”、“架构” 以及 “ 络” 另一个存在便是 “通信 络架构”!

2)通信 络架构

通信 络架构是什么哪些内容r>

笔者认为,通信 络架构定义了软件组件如何跨硬件边界交换数据,指定了硬件 络中的物理信 等!描述软硬件之间的通信关系!

3)硬件 络架构

顾名思义,硬件 络架构是 ” 硬件 “、” 络 “以及” 架构 “三者的交叉!那么: 什么是硬件 络架构哪些内容r>

笔者认为硬件 络架构描述硬件组件或物理设备之间的逻辑连接的 络结构,如描述 络总线类型、每种 络类型的通信等。

接着我们来看看功能 络。

在功能 络中,除了” 逻辑功能架构 “外,功能 络与软件交集的部分便是 “软件功能 络”,与硬件交集的部分便是 “硬件功能 络”。那功能 络需要做什么事情:

笔者认为,在分布式系统中,需要通过功能 络描述来进行硬件与软件设计之间的分离;系统分解;以及通过将整个系统划分可管理的块来了解整个系统!

同理,在通信 络中,我们可以看到 “软件通信 络” 与 “硬件通信 络”

可能有的朋友会问,CAN、以太 在哪认为,它们大部分的概念是在 ” 通信 络 “中,当然,还有朋友可能抠字眼说:CAN标准,以太 标准文档属于通信的范畴,这里就不做详细的讨论了!

当然,CAN、以太 等是一种通信 络,必然也有覆盖 ” 通信 络架构 “这一层概念,所以,笔者认为,类似于这种总线通信,都是狠角色,脚踏四只船,“软件”、“硬件”、“架构”、” 络”均有涉及!

CAN、车载以太 等更多的是属于车内 ,跟车内 并行的还有车云 、车际 等,这里就不做过多的解释!这也是笔者将 “车内 ” 竖着放的原因!

接下来,我们再来稍微完善一下 “架构”的部分。

04 架构

在研究之前,我们先来回顾一下什么是架构:

架构是一个系统的基本结构,它包含组成系统的组件,组件和组件之间的相互关系,组件与环境之间的关系,以及指导系统设计和演化的原理!(来自IEEE
Standard 1471)

上文中,我们也研究了架构与 “软件” “ 络” “硬件” 之间的交叉,即:“软件架构” 、
“ 络架构”、“硬件架构”!除此之外还有很多各种各样的架构。笔者这里再将几种常见的拿出来进行研究:

1)电子电气架构

相信很多朋友也发现了,在上文中,笔者并没有过多的提到电子电气架构(EEA),那为什么呢是笔者相信很多朋友对电子电气架构很了解!

其二我们从电子电气架构的概念出发来看一下:EEA代表整车电子电气系统的顶层,是E/E各子系统设计开发、 络开发、功能开发、系统交互的整车解决方案!(笔者这里并没有采用一开始由德尔福提出的EEA的概念,一开始EEA的概念对当前的汽车电子而言有些不适配)!

回过头来对照一下我们的图5,笔者认为EEA是涉及”软件架构”、“ 络架构”、”硬件架构”等的概念,是一个系统层面的概念,所以,笔者认为它是横跨
“软件”、“ 络”、”硬件”乃至 “功能”、”通信”等的存在!

2)系统架构

什么是系统架构L对系统架构的定义是:系统的组成结构,包括系统分解的组成部分,它们的关联性,交互,机制和指导原则,这些都是提供系统设计的信息。

一个比较好的例子上述笔者提到的AUTOSAR。就CP AUTOSAR而言,主要包括以下部分: 分层的软件架构 开发方法论 标准化的接口 就AP AUTOSAR而言,跟CP AUTOSAR相似,它也包含上述三部分,但是,需要注意的是,AP AUTOSAR所描述软件架构并不跟CP AUTOSAR一样有严格的层级划分。而是偏向于一种模块化的软件架构! 同时,AP AUTOSAR还多提供了一个叫做AP(Adaptive Platform Demonstrate)的包。该APD中主要包含用于演示的代码包,工具等。但是,仅AUTOSAR会员可获取!

这也正如笔者之前所说,AUTOSAR涉及软件架构的概念,但它更准确的来说是一个 “系统架构”。 而 “系统架构” 也同样涉及 “软件”、“ 络”、”硬件”乃至 “功能”、”通信”的概念!

还有一些其他的不常见的架构,这里就不做过多的解释!

至此,我们就基本完成了 “软件”、“硬件”、“架构”、” 络”这几个概念之间的关系! 接着,我们将问题2与问题3一起拿来研究:

第2个问题:到底什么是软件定义汽车3个问题:到底是软件定义架构还是架构定义软件p>

四、软件为汽车赋能

结合我们的总览图,如果硬要用 “定义” 这个词,倒也能找出几个有关系的:

逻辑功能架构 “定义” 软件功能 络与硬件功能 络

通信 络架构 “定义” 软件通信 络与硬件通信 络

还有,我们的应用软件架构、基础软件架构等,如果硬是用 “定义”这个词,似乎也可以沾上边:

应用软件架构 “定义” 应用软件

基础软件架构”定义” 基础软件

这时候,可能有的朋友会说,不管是逻辑功能架构、通信 络架构还是应用软件架构、基础软件架构,都属于架构,而不管是软件功能 络还是软件通信 络还是应用软件、基础软件都属于软件,所以:

架构定义软件!

如果是这样,那是不是也可以这样理解: 通信 络架构属于 “ 络”的概念,而软件通信 络是 “软件”的部分,所以:

络定义软件!

当然不行,我们接着往下看,上面提到了逻辑功能架构和通信 络架构 “定义” 这个,定义那个的,那么: 逻辑功能架构和通信 络架构又由谁来定义r>

这时候,可能会想到一个比较好的词:需求:

需求 “定义” 逻辑功能架构

需求 “定义” 通信 络架构

这样就完了吗r>

我们将所有软件打包,包括应用软件、基础软件等等,以及交叉后产生的通信软件等,结合 “定义”这个词,我们可以通过软件来决定一些内容!比如,如何通信,信 传输等!,这似乎能解释得通以下几个点:

软件 “定义” 硬件 络架构

软件”定义” 通信( 络)

软件 “定义” 功能( 络)

这里,硬件 络架构属于架构,通信 络自身也包含有通信 络架构的概念,所以,是不是可以说:

软件定义架构!

还有,不管是硬件 络架构、还是通信 络,它们都属于 “ 络”这个概念的范畴,所以,是不是又可以得出一个说法:

软件定义 络

当然将 “功能” “通信”的概念落地或者实际化后,还能产生以下说法:

软件 “定义” 用户体验

软件 “定义” 功能等

回过头来再想一想,应用软件架构是由应用软件元素之间的依赖关系所组成的框架,那么,是不是用 “驱动”或者其他的词来描述更恰当呢结合 “定义” 这个词,尝试完善一下我们的图6,看能否得出一张 “软件定义汽车”下的总览图:

01 到底什么是软件定义汽车?软件与架构的 “恩怨情仇“

这个时候,可能 “硬件” 就有些不太舒服了,“硬件” 可能会觉得你们几个定义来定义去的,“我” 又算什么r>

硬件当然不可缺少,它是软件的承载,软件需要运行在硬件之上。正如之前笔者的一位朋友所说:软件脱离硬件后,是没有真实世界效应(Real world effect)的!当然,这就属于另一层次的话题,不在 “定义” 的范围内了!

回过头来,我们再来看本节最开始的两个问题:

到底是软件定义架构还是架构定义软件r>

笔者认为这两者之间一定存在交叉,不存在所谓的谁完全定义谁的说法!

到底什么是软件定义汽车h2>

笔者认为,这是在一定条件下才能成立的一种以偏概全的说法!笔者并不认可 “软件定义汽车”的说法,因为在智能 联汽车的大背景下,软件的灵活度与发展的空间更大。也正因如此,软件与大数据、云端等的结合也有了更多可以挖掘的空间。

所以,笔者认为与其一直停留 “软件定义汽车” 的噱头上,不如谈谈:

有哪些软件技术可以在汽车上使用h2>

结合这些软件技术能为汽车带来哪些 “能力”h2>

结合软件技术以及规范等如何推进汽车EEA的发展h2>

同时,搞一下汽车电子也已经上线了SOA、APAUTOSAR进阶应用、新架构下的软件技术、整车以太 技术四个系列,每个系列13期内容,来更深一步的与大家交流分享,详情请点击:

《搞一下汽车电子 2021全年52期 线上workshop》

本期分享就到这里,阅读原文可查看所有系列分享,我们下期见!

联系我们

微信:shactiontech
邮箱:support@shactiontech.com

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月11日
下一篇 2021年1月11日

相关推荐