粗略聊聊中间件与SOME/IP之一
Posted 车载诊断技术
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了粗略聊聊中间件与SOME/IP之一相关的知识,希望对你有一定的参考价值。
首先中间件——该术语源于复杂软件系统开发,并涉及“服务”所需的所有功能(以实现其他软件组件之间的数据交换)。这种数据交换通常需要经由网络。中间件的任务是确保需要交换数据的软件组件在网络中透明地传输数据。如下图中间件(“SOME/IP”)在ISO/OSI七层模型地较高层运作
它组织传输复杂数据(消息传递)并调节软件组件之间的函数调用。
中间件的缺点在于它的大小和负载。不过随着软件系统规模和性能的不断提高,这些缺点有所改进。此外能够方便的处理复杂的软件系统并提高其质量变得越来越重要;通过中间件可以很好的实现上述功能。使用中间件有助于不同软件模块上的分布式开发,并提高了模块的可测试性。
如今车载软件数目十分庞大,并且伴随着汽车内部功能和系统的分布扩张而不断增加,如下图是车载代码量与其他代码量的对比:
这些分布式功能可能使用一个ECU中的不同进程,也可能扩展到不同ECU的各种进程中去。随着系统,不能仅仅将消息放入网络中传输便完成了功能的实现,还需要使用RPC(远程过程调用)来正确控制这些分布式功能。
另外不同的ECU可能使用不同的软件架构以及操作系统、OS,中间件还需要桥接不同的便携式操作系统接口(POSIX),如Linux或QNX和AUTOSAR系统之间的衔接,因此这里引入中间件。
中间件的由来
将以太网引入到车载网络之初,OEM(主机厂)希望使用现有成熟的中间件解决方案(考虑到非垄断以及集思广益开发,该方案最好是开源模型)。因此,行业人员对各种方案进行了深入研究:
1、Etch
2、Google协议缓冲
3、服务发现(SD)的Bonjour
原则上,这些解决方案都可以应用于处理能力需求不严苛,可以初步满足需求,但同时也面临如下两个问题:
(1)、AUTOSAR提供了很多软件模块(AUTOSAR核心也是通过模块控制细分功能,达到软件硬件分离)。该框架结合了一些中间件的功能,并通过单独的工具进行配置。为了让已有的中间件解决方案与AUTOSAR兼容,这些中间件解决方案需要绕过AUTOSAR模块。或确保可以使用相同的数据类型,并对现有中间件解决方案进行独立化处理,以便它们可以集成到AUTOSAR中。
(2)、已有中间件解决方案的授权有限。虽然使用解决方案的授权许可是公开的,但改进并适配这些解决方案所需的专利却是非公开。这些专利为大型IT公司所拥有,并被保护。
理论上讲,虽然对中间件进行修改并适配到AUTOSAR中是可行,但是考虑到授权问题,此方式就不太可能。因此决定开发全新的中间件解决方案。
而这个时候,面向服务的可扩展中间件(SOME/IP)规范成为了AUTOSAR不可分割的一部分。
也由于SOME/IP这个解决方案的提出,使得在汽车中找到一种像CAN、MOST一样通信方式,同时支持现有的TCP、UPD协议,又具有网络通信的单播协议,有限制的使用多播和广播通信,加强对以太网的重用性,充分利用以太网传输数据多,安全性高等特点。
因此我们也可以负责任的说:
SomeIP的诞生成功的将以太网通信作为一种中间件成功运用到了车载通信领域。
会在后续文章更新SOME/IP内容,敬请期待!
愿你我相信时间的力量,做一个长期主义者!
自媒体提供了一个展现自己观点的平台,我有幸参与其中,来畅所欲言的表达自己观点。但鉴于眼界和以往经验,阐述的观点有可能具有一定的局限性,望读者批判性的阅读。
若您有所收获,我将万分激动,因为他人的认可是我幸福度提高的动力和源泉,也是我不断更新的动力。
若您也发现有争议的点,欢迎邮件沟通交流哈!!!
若您有所收获,是我更新的最大动力!
有关注,不迷路!
现阶段可在私信上面沟通技术疑问,我会及时回复!
-----------------------------------------
作者简介 | 穿拖鞋的汉子
汽车电子工程师
chuantuoxiedehanzi@163.com
来,每天进步一点点!
以上是关于粗略聊聊中间件与SOME/IP之一的主要内容,如果未能解决你的问题,请参考以下文章