服务接口定义:根据车辆架构的功能,将包含在网关控制器中的服务在PREEvision工具中设计。该服务包括服务提供者和服务消费者。服务提供者的主要工作是提供服务,服务消费者向服务提供者发送服务请求以获取服务功能,网关控制器车辆应用信息以服务接口的形式定义,主要包括方法、事件和属性。在PREEvision工具中,根据服务内容建立服务接口,定义其方法和事件。
对于方法,需要定义其输入和输出参数。在这个设计过程中,服务的接口由AUTOSAR软件架构实现,服务提供者和消费者由AUTOSAR软件组件(SWC)实现,稍后分配给ECU组件。图1.
SWCS 通过端口传输信息,服务接口封装到端口中。端口可分为“发送/接收数据”和“发送/接收服务”。SWC位于RTE的顶部,通过RTE调用底层协议接口来完成数据传输。在SWC中,服务提供方确认服务可用性,服务消费方确认服务请求状态;基本软件模式管理器(BSWM)用于管理服务模型和转发服务发现的可用性和请求状态到软件组件或者管理服务发现模块。
服务发现模块确认服务可用性和请求状态,并发送相应的SD 消息(如 SD提供服务消息),并根据接收到的SD消息转换为基本软件模式管理器模式。服务发现通过套接字适配器配置发送和接收的事件和方法。套接字适配器可以灵活分配PDU,实现多客户端接收,即一个PDU在多个套接字连接上动态发送,同时服务发现与SOME/IP模块通过套接字适配器完成信息交互。
在工具中,建立相应的SWC和相应的接口。服务软件组件设计完成后,网关控制器可以通过服务发现将服务的可用性和位置发布到其他ECU。服务消息类型包括search service, provide / stop service, stop / subscribe event group and subscribe event group feedback。
软件架构:其应用层的SWC组件在实时操作环境(RTE)上运行。在网关控制器的底层通信协议中,需要定义以太网报文的路由方式,并将服务的传输实例化为特定的信号和消息。