近年来,汽车“新四化”(智能化、网联化、电动化、共享化)的快速推进,给汽车行业带来了新的技能变革,汽车的功能变得越来越繁芜,尤其是智能座舱、智能驾驶、智能底盘的涌现,匆匆使汽车电子电气架构也相应地发生变革。

随着汽车智能化发展、汽车功能的增加,汽车上的电子掌握单元(Electronic Control Unit,ECU)也越来越多,每个ECU的旗子暗记都必须在设计时进行静态方案和路由,为了应对这种增长带来的寻衅,汽车行业正在采取1种新的架构,即面向做事的体系架构(Service-Oriented Architecture,SOA)。

详解汽车SOA主要功能模块及开拓流程 汽车知识

01.

SOA简介

SOA是从遵照做事导向原则的可重用做事中构建繁芜软件系统的方法。
SOA也是1个组件模型,它将运用程序的不同功能单元(称为做事),通过这些做事之间定义良好的接口和左券联系起来。
接口采取中立的办法进行定义,它该当独立于实现做事的硬件平台、操作系统和编程措辞。
这使得构建在各种各样的系统中的做事以1种统一和通用的办法进行交互。
SOA可以根据需求通过网络对疏松耦合的粗粒度运用组件进行分布式支配、组合和利用。
做事层是SOA的根本,可以直接被运用调用,从而有效掌握系统中因软件代理交互而产生的人为依赖性。

SOA的特点是松耦合性、路径透明、可复用性、一定的标准化,不涉及底层编程接口和通讯模型。

SOA在IT行业中已经利用了多年,旨在描述和构建分布式系统。
同时,面向做事的设计在汽车工业中也变得极为主要。

传统汽车通讯是基于旗子暗记的通讯办法,即信息发送者不关心谁吸收而只卖力将旗子暗记发送出去,吸收者也不关心是谁发送的,而只卖力吸收旗子暗记,这种办法适用于有限大小掌握数据的运用处景。

SOA代码灵巧性强,支持要求/相应模式,支持繁芜的数据模型,可扩展性强,能够知足自动驾驶等运用处景下,大量数据的动态交互,可以对系统进行部分更新,如图1所示。

图1 面向旗子暗记与面向做事比拟

汽车领域采取SOA的上风是能加快车辆与互联网的互联互通。
比如,能够将各种新功能灵巧地与互联网集成;能够实现更高效的车载自动诊断系统OBD(On Board Diagnostics,OBD)及空中下载技能(Over-The-Air Technology,OTA)软件升级,有助于实现各种远程诊断、预诊断功能;能够大幅提升影音娱乐功能的用户体验,能够实现不同平台间的各种App共享功能;更便于实现平台架构升级;同时各个做事可以由不同团队独立开拓,可以缩短车辆开拓的韶光。

02.

硬SOA紧张模块及功能

Wonseon和Seung设计了端到真个SOA,如图2。

图2 端到端面向做事的架构

在传统的车载网络中:

(1)许多ECU是基于CAN等旧式IVN进行事情。

(2)大量的车辆信息和功能也来自旧式IVN。

(3)基于以太网的ECU上的新运用程序应可以访问这些信息/功能。

在本架构中,紧张的功能模块有SOA适配器(SOA Adaptor),SOA网关(G/W),SD代理(SD Proxy)和做事路由(Service Router)。
下面将先容各个模块的功能。

2.1 SOA适配器

(1)将信息/功能从旧式IVN转换为“做事”,任何基于以太网的ECU上的运用程序都可以轻松访问。

(2)在以太网方面,做事是在SOME/IP协议之上供应的。

(3)可以在旧版IVN和基于以太网的IVN之间的“桥接ECU”上实现,例如域掌握单元,区域掌握器等。
也可以仅在具有以太网接口的非桥接ECU上实现。

(4)SOA适配器供应的做事可以动态变动。

2.2 SOA网关

(1)处理与外部设备/网络互通干系的问题。

(2)必要时转换协议并翻译。

(3)缓存外部信息以处理外部网络的可用性和本钱问题。

(4)运用策略并实行做事级别的访问掌握。

(5)该当在具有外部连接的ECU上履行。

2.3 SD代理

(1)可以利用SD代理实现集中式SD。
通过1个称为“SD代理”的中心模块交流做事创造。
SOME/IP-SD也可用于ECU与SD代理之间的通信。

(2)分布式SD方法的安全和流量问题可以由集中式SD处理。
每个做事只能由许可的ECU查找和订阅。
可以有效地监视做事可用性和搜索/订阅考试测验。

2.4 做事路由

可以利用做事路由器来处理来自SOA分布式性子的问题。
做事只能通过做事路由器来利用。
做事路由可以运用于选定的做事。
SD代理可用于高效的做事路由履行,安全和资源问题可以得到有效处理,可以基于域、ECU、做事乃至方法来掌握做事访问,策略也可以动态运用。

03.

汽车SOA运用现状

SOA是汽车以太网和IP带来的汽车系统/软件体系架构的创新,其观点可以扩展到从传统ECU到外部设备的端到端范围。
SOA适配器和SOA网关可以分别用于旧设备和外部设备。
通过利用其他SOA实体可以有效地管理SOA。
端到端SOA支持快速高效地支配各种互联汽车做事。

刘佳熙等在面向做事架构汽车软件开拓方法和实践中,提出SOA汽车软件的分成模型,如图3示。

图3 SOA汽车分层模型

该模型紧张包括3个层级:元做事、根本做事和运用做事,通过不同的做事层级来分别对应不同层级的汽车业务逻辑。

元做事是最小单元。
包括汽车的传感器和实行器等的基本接口。
根本做事是中间层做事,在利用元做事的根本上,可自定义汽车业务模块,比如利用自车状态做事和雷达传感器等做事,组合出环境信息领悟的做事。
运用做事是最顶层的做事,可以访问和调用根本做事以帮助其办理业务问题。

在设计中,上层做事调用下层做事,下层做事不调用上层做事,这一原则有助于构建清晰大略的SOA汽车软件架构。
宝马公司在新一代的E/E架构中引入了SOA的方法,如图4所示。
SOA为全体系统供应大量的抽象做事。
严格的封装和层次构造许可针对接口和利用敏捷方法进行测试,并且它们降落了系统繁芜性。
在各代汽车之间重用软件组件将变得更加大略。

图4 BMW下一代E/E架构

大众MEB平台车载运用做事架构(In-Car Appli⁃cation-Server,ICAS),采取了1种可升级的新方法,如图5所示。
采取集中式功能与运用程序软件和I/O功能分离的架构,来降落整体系统繁芜性和运用程序之间的依赖性,同时可以高效快速地开拓客户功能,供应一些客户职能所需的基本做事,并且利用面向做事的通信。

图5 大众MEB平台车载运用做事架构升级方法示例

在该架构中还强调,SOA是数字化的关键,如图6所示,该架构的优点如下:

图6 面向做事通信架构

(1)采取面向做事的通信;

(2)利用做事创造和发布/订阅进行动态绑定;

(3)数据表示紧张基于REST(表述性状态通报)过渡到统一接口、无状态、关注点分离;

(4)接口的向前和向后兼容性。

末了,通过提高可更新性、可升级性、重用能力和便携性,使大众汽车可以实现各种功能。

在AUTOSAR自适应平台(Adaptive Platform,AP)设计中,为了支持繁芜的运用程序,同时在处理分布和打算资源分配方面许可最大的灵巧性和可扩展性,AP遵照了面向做事的体系构造理念。

SOA常日具有AP所具有的系统间特性。
例如,做事可以驻留在运用程序运行确当地ECU上,也可以位于远程ECU上,该远程ECU也在运行另一个AP例。

上汽组建“零束”软件子公司,聚焦基于SOA技能的智能驾驶系统工程,同时推出“Z-ONE”的SOA开放平台,致力于打造上汽SOA的软件生态。
该平台因此SOA理念打造整车功能,将汽车各个功能模块化。
同时可以让第3方开拓者乃至是普通用户参与到软件功能的打造。

威马汽车在2021年4月交付的威马W6汽车,率先推出了车辆自定义场景编程功能,实现25种能力、自定义场景超100个、手机端与车机真个同步,未来将携手用户及开拓者,打开“千人千面”的全新格局。

04.

汽车SOA开拓流程

Andreas等开拓面向做事的车用运用程序,并利用空中软件更新支配它。
紧张流程如图7所示。

图7 汽车的SOA开拓流程

研究背景如下:在巴塞罗那举行的2019年天下移动通信大会上,梅赛德斯·奔驰展示了1款经由改装的车辆,可与开源SuperTuxKart游戏一起用作沉浸式游戏系统。
游戏是利用真实的方向盘掌握游戏中的车辆,空调仿照虚拟赛车的气流、温度效果。

Andreas假设车辆类型的制造商现在想要开拓这样的游戏系统并将其支配到车辆上,可作为车主购买的可选更新,其开拓流程如下。

4.1 需求剖析

首先,进行需求剖析,详细过程如下:

(1)主机将显示1个赛车视频游戏。
声音应来自车载音响系统。

(2)游戏中的效果应由实车反响,例如:空调应根据游戏中的场景(即驶过火山)和虚拟车的速率调节气流和温度。
游戏中的撞车事件应通过可逆安全带拉紧器奉告用户。
电动座椅调节器和推拿器可产生更多的触觉效果。
在虚拟比赛开始时,车内的环境照明运用作交通信号灯。

(3)虚拟车辆的水平动力学应根据当前方向盘角度得出。

(4)虚拟车辆的速率应从油门踏板和制动踏板得出。

(5)中指定的效果体验应与视频游戏中显示的情形相匹配。

(6)游戏的最小帧速率应为30 fps。

(7)效果的延迟应即是或小于1帧持续韶光(最小帧频)。

还存在一些非功能性需求:

(1)此功能应支配在现有汽车上,无需对硬件进行任何修正。

(2)该功能不得危害机动车的安全。

(3)只有在车辆周围环境许可安全操作时,该功能才有效。

4.2 起草软件和系统架构

根据起草软件和系统架构,构建面向做事的部分。

在“SuperTuxKart”运用程序的需求定义完成后,起草它的软件和系统架构。
本样例中关注需求第2~4步,为此一共设计了3个步骤。

4.2.1 分解

实现“SuperTuxKart”运用程序的必要组件在某种程度上遵照面向做事、面向旗子暗记的方法。

面向做事的部分:在这部分中,“Super-TuxKart”运用程序被描述为1个做事消费者组件(客户端)。
消费的做事是喷油嘴做事(Nozzle)和转向/踏板状态做事(Steering/Pedal status)。
个中,转向/踏板状态做事接口目的是定期吸收踏板和转向角的状态,为“Super⁃TuxKart”运用程序供应施加的踏板压力和转向角;喷油嘴做事接口目的是实现对油泵实行器的掌握,“Su⁃perTuxKart”运用程序根据游戏中的场景和虚拟车辆的速率以所需的喷嘴效果强度刺激界面。
如图8所示。

图8 面向做事部分的架构

面向旗子暗记的部分:软件架构的某些部分不会由做事接口实现,而是由经典的面向旗子暗记的方法。
常日考虑与传感器和实行器密切干系的软件功能。
对付该运用,必要的传感器是踏板和转向装置。
实行器则是由喷油嘴表示。
为了将3个组件集成到我们的软件架构草案中,引入了图9中的旗子暗记接口。
传感器踏板和转向装置为转向/踏板状态做事供应接口;实行器喷油嘴为喷油嘴做事供应接口(图9)。

图9 旗子暗记接口

4.2.2 支配

接下来,用适宜的网络技能支配软件架构。
考虑3个通信网络,包括:以太网,底盘/动力总成网络,LIN网络。

(1)第1个网络因此太网拓扑。
3个ECU通过1个中心以太网交流机互连。
ECU 1是中心打算平台。
在ECU 1上,支配“SuperTuxKart”运用程序。
对付踏板/转向做事,底盘/传动系统域的域掌握器ECU2作为支配目标给出。
以类似的办法,车身域的域掌握器ECU3作为支配喷油嘴做事的目标。

(2)第2个底盘/传动系统网络:该网络描述两种基于CAN和FlexRay协议的系统总线拓扑构造连接到底盘/传动系统域的域掌握器。

(3)第3个网络描述了基于LIN协议的系统总线拓扑。
在此网络中,专注于油泵实行器,该实行器支配在专用的LIN组件上,并由喷油嘴做事掌握。
稠浊通信如图10所示。

图10 网络稠浊通信

4.2.3 网络通信

“Super-TuxKart”运用程序所需的网络通信因此太网拓扑中面向做事的通信与CAN、FlexRay和LIN系统总线拓扑中的经典面向旗子暗记的通信相结合。

4.3 开拓阶段

运用程序的开拓阶段紧张有3部分。

4.3.1 构建根本组件

SOA中的紧张根本组件是API存储库,它是1个中心数据库,包含详细的有关做事及其功能和接口的信息。
可以支配到车辆内打算平台的运用程序可以利用这些做事为客户供应额外的功能。

4.3.2 现有做事的利用

一旦运用程序确定了它的需求,它将通过API存储库并考试测验找到可以知足所有哀求的做事。
空想情形下,存储库中的做事可以知足所有哀求。
在这种情形下,运用程序可以利用API存储库供应的接口描述来设计软件。
由于面向做事架构的解耦性子,不须要对域掌握器或它们背后的ECU进行修正。
在“SuperTuxKart”示例中,运用程序设计将根据需求调度空调的气流,并在API中探求得当的做事存储库。
他们会找到喷油嘴做事并集成此做事接口到运用程序中。

4.3.3 创建新做事

当API存储库中的做事不能知足运用程序的需求时,须要联系API的创建者来进行更新API存储库,以知足开放的哀求。
由于这个扩展过程大大减慢了新运用程序的设计,因此API存储库设计时应供应尽可能多的功能。

4.4 空中更新

要通过空中更新汽车嵌入式系统的软件,须要2部分:一部分由汽车制造商掩护做事器,用于管理更新程序包;另一个卖力吸收,验证和分发更新程序的客户端,将文件更新到相应的ECU。

更新客户端功能常日在车辆的中心网关平台上实现,该平台可直接访问主机并代表通信总线之间的中心通信点。
下载的更新包括1个或多个交叉编译的二进制文件,准备在相应的ECU中进行刷新。
中心网关的更新功能(或做事)卖力检讨更新包,并将二进制文件分发到目标ECU。

该研究表明,利用现有做事可以较少的折衷并提高开拓速率。
如果任何运用程序始终都可以利用现有做事,则可能会带来安全方面的寻衅(即访问行驶中的车辆的主动悬架系统)。
因此,有必要对汽车SOA的访问掌握管理进行研究。

“剖析和设计面向做事的架构”,“实现和支配面向做事的软件”是有效开拓SOA汽车软件的关键环节。