EthSM产品参考手册

缩写词注解

缩写词

英文全称

中文解释

EthSM

Ethernet State Manager

以太网状态管理

EthIf

Ethernet Interface

以太网接口模块

SoAd

Socket Adapter

Socket适配层

简介

EthSM模块提供一套抽象的接口给ComM用于打开和关闭以太网通信。

image1

图1-1 EthSM模块层次图

参考资料

[1] AUTOSAR_SWS_EthernetStateManager.pdf,R19-11

[2] AUTOSAR_SWS_EthernetInterface.pdf,R19-11

[3] AUTOSAR_SWS_ComManager.pdf,R19-11

功能描述

以太网通信状态管理功能

以太网通信状态管理功能介绍

EthSM提供接口给ComM,用于接受来自ComM的通信模式请求。EthSM根据ComM提供的参数,处理内部的网络模式状态机。根据状态机的迁移条件,调用EthIf和TcpIp的接口控制以太网控制器,收发器以及TcpIp协议栈来控制以太网通信的状态。并将当前的通信模式通过ComM和BswM的接口通知给ComM和BswM。

以太网通信状态管理功能功能实现

EthSM根据以下状态机管理以太网通信状态:

image2

图2-1 EthSM网络状态转换状态机

状态机包括以下几个状态:

  1. ETHSM_STATE_OFFLINE

  2. ETHSM_STATE_WAIT_TRCVLINK

  3. ETHSM_STATE_WAIT_ONLINE

  4. ETHSM_STATE_ONLINE

  5. ETHSM_STATE_ONHOLD

  6. ETHSM_STATE_WAIT_OFFLINE

状态迁移过程

初始化后EthSM处于ETHSM_STATE_OFFLINE状态。

当EthSM_RequestComMode(COMM_FULL_COMMUNICATION)被调用,EthSM调用EthIf_SetControllerMode(ETH_MODE_ACTIVE)请求EthIf将以太网控制器设置为ACTIVE模式,并调用BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_TRCVLINK)通知BswM模块。之后EthSM从ETHSM_STATE_OFFLINE迁移到ETHSM_STATE_WAIT_TRCVLINK状态。

当EthSM_TrcvLinkStateChg(ETHTRCV_LINK_STATE_ACTIVE)被调用,EthSM从ETHSM_STATE_WAIT_TRCVLINK迁移到ETHSM_STATE_WAIT_ONLINE状态。同时调用TcpIp_RequestComMode(TCPIP_STATE_ONLINE)请求将TCPIP模块将TCPIP协议栈设置到ONLINE模式,并调用BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_ONLINE)接口通知BswM模块。

当EthSM_TcpIpModeIndication(TCPIP_STATE_ONLINE)被调用,EthSM从ETHSM_STATE_WAIT_ONLINE迁移到ETHSM_STATE_ONLINE模式,并调用BswM_EthSM_CurrentState(ETHSM_STATE_ONLINE)通知BswM模块,调用ComM_BusSM_ModeIndication(COMM_FULL_COMMUNICATION)通知ComM模块。

当EthSM_RequestComMode(COMM_NO_COMMUNICATION)被调用,EthSM调用TcpIp_RequestComMode(TCPIP_STATE_OFFLINE)请求TcpIp模块将TCPIP协议栈设置为OFFLINE模式,并调用BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_OFFLINE)通知BswM模块。之后EthSM从ETHSM_STATE_ONLINE迁移到ETHSM_STATE_WAIT_OFFLINE状态。

当EthSM_TcpIpModeIndication(TCPIP_STATE_OFFLINE)被调用,EthSM从ETHSM_STATE_WAIT_OFFLINE迁移到ETHSM_STATE_OFFLINE状态。并调用EthIf_SetControllerMode(ETH_MODE_DOWN)请求EthIf将以太网控制器设置为DOWN模式,并调用BswM_EthSM_CurrentState(ETHSM_STATE_OFFLINE)通知BswM模块,调用ComM_BusSM_ModeIndication(COMM_NO_COMMUNICATION)通知ComM模块。

状态对照表

EthSM各状态下以太网控制器,收发器,TCPIP与ComM状态对照表:

image3

图2-2 EthSM状态对照表

源文件描述

表3-1 EthSM组件文件描述

文件

说明

EthSM_Cfg.h

用于定义EthSM模块预编译时用到的宏。

EthSM_Cfg.c

配置参数源文件,包含各个配置项的定义。

EthSM_Types.h

EthSM模块类型定义头文件。

EthSM_SchM.h

提供给SchM的 头文件,用于公开周期调度函数:EthSM_MainFunction()

EthSM_TcpIp.h

提供给TcpIp的 头文件,用于公开回调函数:EthSM_TcpIpModeIndication ()

EthSM_MemMap.h

EthSM模块函数和变量存储位置定义文件。

EthSM.h

EthSM模块头 文件,通过加载该头文件访问EthSM公开的函数和数据类型

EthSM.c

EthSM模块实现源文件,各API实现在该文件中

image4

图3-1 EthSM组件文件交互关系图

API接口

类型定义

EthSM_NetworkModeStateType类型定义

名称

EthSM_NetworkModeStateType

类型

枚举

范围

ETHSM_STATE_OFFLINE

ETHSM_STATE_WAIT_TRCVLINK

ETHSM_STATE_WAIT_ONLINE

ETHSM_STATE_ONLINE

ETHSM_STATE_ONHOLD

ETHSM_STATE_WAIT_OFFLINE

描述

表示EthSM状态机中的网络模式

输入函数描述

输入模块

API

BswM

BswM_EthSM_CurrentState

ComM

ComM_BusSM_ModeIndication

Dem

Dem_SetEventStatus

EthIf

EthIf_SetControllerMode

EthIf_GetControllerMode

TcpIp

TcpIp_RequestComMode

Det

Det_ReportError

静态接口函数定义

EthSM_Init函数定义

函数名称:

EthSM_Init

函数原型:

void EthSM_Init (void)

服务编号:

0x07

同步/异步:

同步

是 否可重入:

不可重入

输入参数:

输 入输出参数:

输出参数:

返回值:

功能概述:

EthSM模块初始化

EthSM_GetVersionInfo函数定义

函数名称:

Eth SM_GetVersionInfo

函数原型:

void Eth SM_GetVersionInfo (

Std_ VersionInfoType* versioninfo

)

服务编号:

0x02

同步/异步:

同步

是 否可重入:

可重入

输入参数:

输 入输出参数:

输出参数:

versioninfo

值域:

版本信息存储变量指针

返回值:

功能概述:

获取 EthSM模块版本信息

EthSM_RequestComMode函数定义

函数名称:

EthS M_RequestComMode

函数原型:

Std_ReturnType EthS M_RequestComMode (

N etworkHandleType NetworkHandle,

ComM_ModeType ComM_Mode

)

服务编号:

0x05

同步/异步:

非同步

是 否可重入:

不可重入

输入参数:

NetworkHandle

值域:

请求的通信通道(ComM 通道号)

ComM_Mode

值域:

请求的通信模式

输 入输出参数:

输出参数:

返回值:

E_OK: 请求被接受

E_NOT_OK: 请求被拒绝

功能概述:

模式切换请求处理

EthSM_GetCurrentComMode函数定义

函数名称:

EthSM_ GetCurrentComMode

函数原型:

Std_ReturnType EthSM_ GetCurrentComMode (

NetworkHandleType NetworkHandle,

ComM_ModeType* ComM_ModePtr

)

服务编号:

0x04

同步/异步:

同步

是 否可重入:

不可重入

输入参数:

NetworkHandle

值域:

请求的通信通道(ComM 通道号)

输 入输出参数:

输出参数:

ComM_ModePtr

值域:

指向 存储ComM_Mode变量的指针

返回值:

E_OK: 请求被接受

E_NOT_OK: 请求被拒绝

功能概述:

获 取当前的通信模式

EthSM_CtrlModeIndication函数定义

函数名称:

EthSM_C trlModeIndication

函数原型:

void EthSM_C trlModeIndication (

uint8 CtrlIdx,

Eth_ModeType CtrlMode

)

服务编号:

0x09

同步/异步:

同步

是 否可重入:

可重 入(仅限不同通道)

输入参数:

CtrlIdx

值域:

模式 发生变化的EthIf控制器Id

CtrlMode

值域:

EthIf控制器模式

输 入输出参数:

输出参数:

返回值:

功能概述:

当以太网控制器 的模式发生改变时 ,EthIf会调用该函 数将控制器最新的 状态通知给EthSM。

EthSM_TrcvLinkStateChg函数定义

函数名称:

EthS M_TrcvLinkStateChg

函数原型:

void EthS M_TrcvLinkStateChg (

uint8 CtrlIdx,

Eth Trcv_LinkStateType Tr ansceiverLinkState

)

服务编号:

0x06

同 步/异步:

同步

是 否可重入:

不可重入

输入参数:

CtrlIdx

值域:

收发器连接状态 发生变化的EthIf控制器Id

Tr ansceiverLinkState

值域:

收发器连接状态

输入 输出参数:

输出参数:

返回值:

功能概述:

当收 发器连接状态发生改 变时,EthIf会调用 当前接口通知EthSM

EthSM_TcpIpModeIndication函数定义

函数名称:

EthSM_Tc pIpModeIndication

函数原型:

void EthSM_Tc pIpModeIndication (

uint8 CtrlIdx,

TcpIp_StateType TcpIpState

)

服务编号:

0x08

同步/异步:

同步

是 否可重入:

不可重入

输入参数:

CtrlIdx

值域:

TcpIp模式 发生变化的EthIf控制器Id

TcpIpState

值域:

变化后的TcpIp状态

输 入输出参数:

输出参数:

返回值:

功能概述:

TcpIp通过该 接口报告TcpIp状态

EthSM_MainFunction函数定义

函数名称:

E thSM_MainFunction

函数原型:

void Et hSM_MainFunction( void )

服务编号:

0x01

同步/异步:

同步

是 否可重入:

不可重入

输入参数:

值域:

输 入输出参数:

输出参数:

返回值:

功能概述:

EthS M模块周期调度函数

可配置函数定义

无。

配置

EthSMGeneral

image5

图5-1 EthSMGeneral容器配置图

表5‑1 EthSMGeneral属性描述

UI 名称

描述

E thSMDe vError Detect

取值范围

STD_ON / STD_OFF

默认取值

STD_OFF

参数描述

EthSM是 否支持DET检测功能开关

依赖关系

Et hSMDum myMode

取值范围

STD_ON / STD_OFF

默认取值

STD_OFF

参数描述

DUMMY模式是否开启开关

依赖关系

EthSM MainFu nction Period

取值范围

0 .. INF

默认取值

参数描述

EthS M周期处理函数调用周期

依赖关系

E thSMVe rsionI nfoApi

取值范围

STD_ON / STD_OFF

默认取值

STD_OFF

参数描述

EthSM是否支 持获取版本信息API开关

依赖关系

EthSMNetwork

image6

图5-2 EthSMNetwork容器配置图

表5‑2 EthSMNetwork属性描述

UI名称*

** 描述**

EthSM ChannelId

取 值范围

STD_ON / STD_OFF

默认取值

参 数描述

EthSM分配的通道ID

依 赖关系

EthSMCo mMNetwork HandleRef

取 值范围

默认取值

参 数描述

引用到一个C omM中定义的通道,用于 识别一个特定的网络。

依 赖关系

EthSM EthIfCont rollerRef

取 值范围

默认取值

参 数描述

引用到Et hIf中定义的一个通道。

依 赖关系

EthSMDem EventPara meterRefs

取 值范围

默认取值

参 数描述

引用到DEM E vent,用于向Dem报告ET HSM_E_LINK_DOWN错误。

依 赖关系