AUTOSAR_SWS_ServiceDiscovery 中文翻译

文档编号:662 | 状态:Final | 发布于:AUTOSAR CP Release 4.4.0
所属标准:AUTOSAR Classic Platform | 文档责任方:AUTOSAR

本翻译覆盖原文档 1-100 页正文。原文为软件规范(SWS),定义 Service Discovery(SD)模块的 API、配置、错误处理——基于 SOME/IP 协议。


1 引言与范围

Service Discovery(SD)实现基于 SOME/IP 协议的服务发现机制。提供服务注册(Offer Service)/ 查找(Find Service)/ 订阅(Subscribe)/ 事件组(Event Group)/ 多播(Multicast)等服务。

2 缩略语

SD / SOME/IP / Service / Instance / Service ID / Instance ID / Event Group / Multicast / Unicast / TTL / Endpoint / Subscribe / Ack / Nack

3 相关文档

[1] AUTOSAR SWS SocketAdaptor
[2] AUTOSAR SWS TcpIp
[3] AUTOSAR SWS SOME/IP Transformer
[4] AUTOSAR RS SOME/IP
[5] AUTOSAR PRS SOME/IP

4 约束与假设

SD 应:

5 依赖其他模块

SD 依赖:SoAd(Socket Adapter)/ TcpIp / SOME/IP Transformer / BswM(模式管理)/ Dem(错误上报)。

6 功能规格

6.1 架构

SD 位于 SoAd 之上,应用程序之下。维护本地服务实例表,发送 Offer Service / Find Service / Subscribe / Subscribe Ack 等报文。

6.2 服务状态机

服务状态:

7 API 服务

7.1 初始化 / 关闭

void Sd_Init(const Sd_ConfigType* ConfigPtr):初始化。
void Sd_DeInit(void):去初始化。

7.2 服务注册 / 取消

Std_ReturnType Sd_ServerServiceSetState(uint16 ServiceId, Sd_ServerServiceStateType ServiceState):设置 Server 服务状态(AVAILABLE / DOWN)。
Std_ReturnType Sd_ClientServiceSetState(uint16 ServiceId, Sd_ClientServiceStateType ServiceState):设置 Client 服务状态(REQUESTED / RELEASED)。

7.3 事件组订阅 / 取消

Std_ReturnType Sd_ConsumerEventGroupSetState(uint16 SdConsEventGroupId, Sd_ConsumerEventGroupStateType ConsumerEventGroupState):设置 Consumer 事件组状态(REQUESTED / RELEASED)。
Std_ReturnType Sd_ProviderEventGroupSetState(uint16 SdProvEventGroupId, Sd_ProviderEventGroupStateType ProviderEventGroupState):设置 Provider 事件组状态(REQUESTED / RELEASED)。

7.4 回调

void Sd_SoAdRxIndication(PduIdType RxPduId, const PduInfoType* PduInfoPtr):接收指示(来自 SoAd)。
void Sd_SoAdTxConfirmation(PduIdType TxPduId, Std_ReturnType Result):发送确认。
void Sd_ServerServiceActivationCallback(uint16 ServiceId, uint8 InstanceIndex, Sd_ServerServiceStateType CurrentState):Server 服务激活回调。
void Sd_ClientServiceActivationCallback(uint16 ServiceId, uint8 InstanceIndex, Sd_ClientServiceStateType CurrentState):Client 服务激活回调。
void Sd_ConsumerEventGroupCallback(uint8 ConsumerGroupId, Sd_ConsumerEventGroupStatusType Status):Consumer 事件组状态变化回调。

7.5 MainFunction

void Sd_MainFunction(void):周期性主函数。

8 配置

SD 配置类:

9 错误处理

9.1 开发错误

SD_E_UNINIT:模块未初始化。
SD_E_PARAM_POINTER:参数指针为空。
SD_E_PARAM:参数无效。

9.2 运行时错误

SD_E_BUSY:模块忙。


校对记录

校对轮次:L1 自动校对(2026-06-13)