Service Discovery(SD)实现基于 SOME/IP 协议的服务发现机制。提供服务注册(Offer Service)/ 查找(Find Service)/ 订阅(Subscribe)/ 事件组(Event Group)/ 多播(Multicast)等服务。
SD / SOME/IP / Service / Instance / Service ID / Instance ID / Event Group / Multicast / Unicast / TTL / Endpoint / Subscribe / Ack / Nack
[1] AUTOSAR SWS SocketAdaptor
[2] AUTOSAR SWS TcpIp
[3] AUTOSAR SWS SOME/IP Transformer
[4] AUTOSAR RS SOME/IP
[5] AUTOSAR PRS SOME/IP
SD 应:
SD 依赖:SoAd(Socket Adapter)/ TcpIp / SOME/IP Transformer / BswM(模式管理)/ Dem(错误上报)。
SD 位于 SoAd 之上,应用程序之下。维护本地服务实例表,发送 Offer Service / Find Service / Subscribe / Subscribe Ack 等报文。
服务状态:
void Sd_Init(const Sd_ConfigType* ConfigPtr):初始化。
void Sd_DeInit(void):去初始化。
Std_ReturnType Sd_ServerServiceSetState(uint16 ServiceId, Sd_ServerServiceStateType ServiceState):设置 Server 服务状态(AVAILABLE / DOWN)。
Std_ReturnType Sd_ClientServiceSetState(uint16 ServiceId, Sd_ClientServiceStateType ServiceState):设置 Client 服务状态(REQUESTED / RELEASED)。
Std_ReturnType Sd_ConsumerEventGroupSetState(uint16 SdConsEventGroupId, Sd_ConsumerEventGroupStateType ConsumerEventGroupState):设置 Consumer 事件组状态(REQUESTED / RELEASED)。
Std_ReturnType Sd_ProviderEventGroupSetState(uint16 SdProvEventGroupId, Sd_ProviderEventGroupStateType ProviderEventGroupState):设置 Provider 事件组状态(REQUESTED / RELEASED)。
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 事件组状态变化回调。
void Sd_MainFunction(void):周期性主函数。
SD 配置类:
SD_E_UNINIT:模块未初始化。
SD_E_PARAM_POINTER:参数指针为空。
SD_E_PARAM:参数无效。
SD_E_BUSY:模块忙。
校对轮次:L1 自动校对(2026-06-13)