1.简介及功能概述
AUTOSAR服务发现模块提供检测和提供汽车网络中可用服务(即功能实体)的功能。 为此,它利用了IP多播和所谓的SOME/IP- sd消息。 服务发现模块(Sd)位于AUTOSAR BSW模式管理器模块(BswM)和AUTOSAR Socket适配器模块(SoAd)之间。 下表为文中的缩写释义。
BswM | Basis software manager |
ECU | Electronic Control Unit |
DEM | Diagnostic vent Manager |
DET | Default Error Tracer |
SD | Service Discovery |
Sd | Service Discovery Module in AUTOSAR |
SoAd | Socket Adaptor |
SOME/IP | Scalable service-Oriented MiddlwarE over IP |
SOME/IP-SD | SOME/IP Service Discovery |
Socked适配器在以太网栈和服务发现模块之间传递服务请求。服务发现模块应该能够激活和取消激活从TCP/ ip套接字到TCP/ ip套接字的PDU路由,并触发事件的初始传输(触发传输)。SoAds套接字连接表需要预先配置,以接收其他ecu的Service Discovery模块发送的单播和组播消息。
由于ECU可能连接到多个(虚拟)网络,因此可能存在多个服务发现实例,可能有多个套接字连接表项。每个(虚拟)接口的单播Rx、组播Rx和Tx pduid的三元组需要在SoAd中配置,并为服务发现模块所知。另外,Service Discovery模块更新端点信息(IP地址和端口号)。
需要指出的是,代码文件结构应该包括以下文件:
-Sd_Lcfg.c—表示链路时间可配置参数和
- Sd_PBcfg.c -用于构建后可配置的参数。
这些文件应包含所有链接时间和构建后时间可配置参数。
服务发现模块的主要任务是管理车内通信中称为服务的功能实体的可用性,以及控制事件消息的发送行为。这允许只将事件消息发送到需要它们的接收者(发布/订阅)。这里描述的解决方案也称为SOME/IP- sd (IP-上的可伸缩面向服务的中间件)服务发现)。
使用服务发现,不同的ecu可以提供服务实例并找到可用的服务车辆网络中的服务实例。ECU可以停止提供某个服务它之前提供的实例。以后找到这样的服务实例将保持无应答。服务实例是由服务接口定义的服务的单个实现。在AUTOSAR上下文中,查找是标识可用服务实例及其位置的操作。
除了服务实例的状态外,服务发现还能够控制称为