AUTOSAR以太网状态管理器规范_第1页
AUTOSAR以太网状态管理器规范_第2页
AUTOSAR以太网状态管理器规范_第3页
AUTOSAR以太网状态管理器规范_第4页
AUTOSAR以太网状态管理器规范_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

以太网状态管理器规范声明翻译:邓孔宏此翻译件仅供学习参考,不得用于任何商业目的。对于使用该翻译件造成的后果,译者不承担任何责任。1介绍和功能概述42缩写词和缩略语53相关文档63.1输入文档63.2相关的规范74约束和假定84.1限制84.2适用于汽车领域85对其它模块的依赖96功能规范106.1网络通信模式请求转换106.2当前网络通信模式的输出106.3外围设备的控制106.3.1以太网收发器106.3.2以太网控制器116.4多个网络116.5背景和基本原理116.6网络模式状态机126.7错误通知146.8错误类别146.8.1开发错误146.8.2运行时错误146.8.3短暂的错误146.8.4产品错误146.8.5拓展的产品错误156.9调试156.10商业成品组建协议栈使用157API规范167.1输入的类型167.2类型定义167.2.1EthSM_NetworkModeStateType167.3功能定义177.3.1EthSM_Init177.3.2EthSM_GetVersionInfo187.3.3EthSM_RequestComMode187.3.4EthSM_GetCurrentComMode207.3.5EthSM_TcpIpModeIndication217.3.6EthSM_GetCurrentInternalMode237.4回调通知247.4.1EthSM_CtrlModeIndication247.4.2EthSM_TrcvModeIndication257.4.3EthSM_TrcvLinkStateChg267.5被调度的函数277.5.1EthSM_MainFunction277.6预期的接口287.6.1强制的接口287.6.2可选的接口298配置规范291 介绍和功能概述这个规范规定了AUTOSAR基础软件模块以太网状态管理器的功能、API和配置。在AUTOSAR分层软件构架里,以太网状态管理器属于ECU抽象层,或者更准确的说,它属于通信硬件抽象。以太网状态管理器的主要任务总结如下:SWS_EthSM_00001以太网状态管理器应该提供一个抽象接口给AUTOSAR通信管理器去启动和关闭在一个以太网簇上的通信。()SWS_EthSM_00002以太网状态管理器不直接访问以太网硬件(以太网通信控制器和以太网收发器),但是间接的通过以太网接口模块访问。以太网接口重定向请求到适当的驱动模块。()2 缩写词和缩略语API 应用程序接口BSW 基础软件BswM 基础软件模式管理器ComM 通信管理器DEM 诊断事件管理器DET 默认错误追踪器EcuM ECU状态管理器Eth 以太网控制器EthTrcv 以太网收发器EthSM 以太网状态管理器EthIf 以太网接口SchM BSW调度器SoAd 套接口适配器3 相关文档3.1 输入文档1基础软件模块清单AUTOSAR_TR_BSWModuleList.pdf2分层的软件构架AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf3AUTOSAR在基础软件上的一般要求AUTOSAR_SRS_BSWGeneral.pdf4AUTOSAR COM规范AUTOSAR_SWS_COM.pdf5ECU配置规范AUTOSAR_TPS_ECUConfiguration.pdf6通信协议栈类型规范AUTOSAR_SWS_CommunicationStackTypes.pdf7通信管理器规范AUTOSAR_SWS_ComManager.pdf8在模式管理器上的要求AUTOSAR_SRS_ModeManagement.pdf9基础软件模块描述模版AUTOSAR_TPS_BSWModuleDescriptionTemplate.pdf10以太网接口规范AUTOSAR_SWS_EthernetInterface.pdf11在AUTOSAR里在以太网上的要求AUTOSAR_SRS_Ethernet.pdf12标准的类型规范AUTOSAR_SWS_StandardTypes13诊断事件管理器规范AUTOSAR_SWS_DiagnosticEventManager.pdf14默认错误追踪器规范AUTOSAR_SWS_DefaultErrorTracer.pdf15基础软件模式管理器规范AUTOSAR_SWS_BSWModeManager.pdf16套接口适配器规范AUTOSAR_SWS_SocketAdapter.pdf17基础软件模块的一般规范AUTOSAR_SWS_BSWGeneral.pdf 18TcpIp规范AUTOSAR_SWS_TcpIp.pdf3.2 相关的规范AUTOSAR提供一个通用的规范在基础软件模块上,它对以太网状态管理器同样有效。这样,SWS BSW General规范应该被考虑作为额外的和必须的规范对于以太网状态管理器。4 约束和假定4.1 限制EthSM只可以被用于以太网通信。它致力于去操作EthIf去控制一个或多个底层以太网控制器和以太网收发器驱动。除了以太网之外的协议(也就是CAN、LIN或Flex-Ray)不支持。下面的术语不被当前版本的规范支持。 在LAN上唤醒现行的WthSM要求一个基于IP的通信协议栈。为了获取FULL_COMMUNICA-TION,有必要去获取一个活动的IP通信。在以后的规范里,一个可选的“low level“状态机会被引入。这个状态机只在驱动/收发器层级(没有IP通信)工作。这是必须的对于实现其它的通信协议(例如IEEE 1722)。4.2 适用于汽车领域以太网状态管理器可以被用于所有的领域应用,只要当以太网协议被使用的时候。在要求高数据率的地方,以太网BSW协议栈可以被使用。5 对其它模块的依赖AUTOSAR BSW调度器BSW调度器调用EthSM的主要功能函数,这是必要的对于EthSM循环的处理。AUTOSAR通信管理器ComM请求网络通信模式,以及在当一个通信模式到达时被EthSM告知。AUTOSAR以太网接口EthSM使用EthIf的接口去初始化以太网通信硬件、去控制分配到以太网网络的以太网控制器和以太网收发器的操作模式。以太网接口使用EthSM的API去提供收发器的连接状态。AUTOSAR默认错误追踪器为了能够去报告开发错误,以太网状态管理器必须有访问默认错误追踪器的错误hook的权利。AUTOSAR诊断事件管理器为了能够报告产品错误,以太网状态管理器必须要有权利访问诊断事件管理器。AUTOSAR Bsw管理器BswM被EthSM通知,当一个内部的状态到达。AUTOSAR TcpIpTcpIp被调用去请求TCPIP状态(例如在线,离线,挂起,)。TcpIp使用EthSM的API去提供TCPIP状态。6 功能规范一个ECU可以有不同的通信网络。每个网络必须用一个独一无二的网络handle识别。ComM从网络请求通信模式。通过它的配置,它可以知道哪一个handle被分配到一个什么类型的网络。在以太网网络里,使用以太网状态管理器,它负责控制以太网网络的流量抽象。下面的章节将详细描述。6.1 网络通信模式请求转换SWS_EthSM_00014EthSM应该提供给ComM一个API,这个API可以被ComM使用去请求以太网网络的通信模式()SWS_EthSM_00015依据这个API提交的参数,EthSM应该执行一个相关的网络模式状态机的状态转换()SWS_EthSM_00016这个转换应该传输请求到一个分别的API调用里去去控制分配的以太网外围设备()6.2 当前网络通信模式的输出一个网络当前通信模式可以跟请求的模式不同。EthSM必须提供关于当前通信模式的信息给ComM通过下面两个类别的接口:SWS_EthSM_00017EthSM应该提供一个API,它可以被ComM轮询去获取一个以太网网络当前的通信模数()SWS_EthSM_00018EthSM应该使用一个ComM的调出函数去通知ComM发生了一次通信模式的改变()6.3 外围设备的控制6.3.1 以太网收发器一个或多个以太网收发器属于某一个以太网网络(handle)。SWS_EthSM_00019在网络handle和收发器之间的分配应该是EthSM配置的一个部分()SWS_EthSM_00020EthSM应该控制以太网收发器依据它的网络模式状态机的状态转换()SWS_EthSM_00021EthSM应该使用EthIf的API来控制以太网收发器模式()6.3.2 以太网控制器一个或多个以太网控制属于某一个以太网网络(handle)。SWS_EthSM_00022依据网络模式状态机,EthSM应该控制每个以太网网络的以太网控制器模式()SWS_EthSM_00023EthSM应该使用EthIf的API去控制分配的以太网控制器的操作模式()6.4 多个网络以太网状态管理器应该能够去操作不同的以太网网络。这涉及到不同的物理网络,以及在相同物理网络上的不同的VLAN。在所有的两种情况里,通过在每个物理或虚拟网络里的各自的handle完成分割。VLAN作为不同的以太网网络出现在高软件层(ComM)。例如:如果这里有一个物理以太网控制器,且分配了两个VLAN到这个控制器上,那么就存在两个ComM信道。6.5 背景和基本原理例子:应用负责确认以太网网络是否被需要。一个可能的用例是在一个测试器连接上使用以太网网络。用例:在测试器连接上使用以太网。例如,检测将会发生在ECU的一个单独的硬件PIN上。因此,在这个情况下,硬件pin的激活和以太网网络的激活只能通过板外诊断测试仪实现。停用以太网网络的原因将是:- 测试仪通过独立的硬件pin停用网络- 应用停用网络- 应用确认一个超时- 网络的链接状态失效SWS_EthSM_00038ComM调用EthSM去请求一个确定的通信模式。以太网网络只需要通信模数FULL_COMMUNICATIONG和NO_COMMUNICATION。()SWS_EthSM_00085如果FULL_COMMUNICATION被请求,以太网控制器和以太网收发器被设置为ACTIVE连接状态。要达到FULL_COMMUNICATION,也必须去获取一个ACTIVE连接状态(以太网线缆连接)和一个ONLINE TcpIp状态(IP通信可用)。连接状态将被以太网收发器模块检测,以及通过以太网接口传达。TcpIp状态会被检测以及传达通过TcpIp模块。()SWS_EthSM_00086如果ComM请求NO_COMMUNICATION,那么以太网控制器和以太网收发器被设置为DOWN状态。()注意:对于逆初始化,单独的接口是不必要的。逆初始化在EthIf里自动实现。必须设置TcpIp状态到OFFLINE。SWS_EthSM_00087以太网网络必须被应用唤醒且要么是on(FULL_COMMUNICATION)要么是off(NO_COMMUNICATION)。这样就不需要其它的状态,例如SILENT_COMMUNICA-TION。()6.6 网络模式状态机SWS_EthSM_00024EthSM应该实现对于每个配置的网络操作一个网络模式状态机。内部的状态描述在下图SWS_EthSM_00041。()COMCOMM_NO_COMMUNICATIONETHSM_STATE_ONHOLDInitiaEthSM_RequestComMode(COMM_FULL_COMMUNICATION)/EthIf_SetControllerMode(ETH_MODE_ACTIVE)EthIf_SetTransceiverMode(ETHTRCV_MODE_ACTIVE)BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_TRCVLINK)ETHSM_STATE_OFFLINEETHSM_STATE_WAIT_TRCVLINKEthSM_RequestComMode(COMM_NO_COMMUNICATION)/EthIf_SetTransceiverMode(ETHTRCV_MODE_DOWN)EthIf_SetControllerMode(ETH_MODE_DOWN)BswM_EthSM_CurrentState(ETHSM_STATE_OFFLINE)EthSM_RequestComMode(COMM_NO_COMMUNICATION)/TcpIp_RequestComMode(TCPIP_STATE_OFFLINE)EthIf_SetTransceiverMode(ETHTRCV_MODE_DOWN)EthIf_SetControllerMode(ETH_MODE_DOWN)BswM_EthSM_CurrentState(ETHSM_STATE_OFFLINE)EthSM_TrcvLinkStateChg(ETHTRCV_LINK_STATE_DOWN)/TcpIp_RequestComMode(TCPIP_STATE_OFFLINE)BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_TRCVLINK)EthSM_RequestComMode(COMM_NO_COMMUNICATION)/TcpIp_RequestComMode(TCPIP_STATE_OFFLINE)EthIf_SetControllerMode(ETH_MODE_DOWN)EthIf_SetTransceiverMode(ETHTRCV_MODE_DOWN)BswM_EthSM_CurrentState(ETHSM_STATE_OFFLINE)ComM_BusSM_ModeIndication(COMM_NO_COMMUNICATION)EthSM_TrcvLinkStateChg(ETHTRCV_LINK_STATE_ACTIVE)/TcpIp_RequestComMode(TCPIP_STATE_ONLINE)BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_ONLINE)ETHSM_STATE_WAIT_ONLINEEthSM_TcpIpModeIndication(TCPIP_STATE_OFFLINE)/BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_TRCVLINK)ComM_BusSM_ModeIndication(COMM_NO_COMMUNICATION)EthSM_TcpIpModeIndication(TCPIP_STATE_OFFLINE)/BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_ONLINE)ComM_BusSM_ModeIndication(COMM_NO_COMMUNICATION)EthSM_TcpIpModeIndication(TCPIP_STATE_OFFLINE)/EthIf_SetControllerMode(ETH_MODE_DOWN)EthIf_SetTransceiverMode(ETHTRCV_MODE_DOWN)BswM_EthSM_CurrentState(ETHSM_STATE_OFFLINE)ComM_BusSM_ModeIndication(COMM_NO_COMMUNICATION)COMM_FULL_COMMUNICATIONEthSM_TcpIpModeIndication(TCPIP_STATE_ONLINE)/BswM_EthSM_CurrentState(ETHSM_STATE_ONLINE)ComM_BusSM_ModeIndication(COMM_FULL_COMMUNICATION)ETHSM_STATE_ONHOLDEthSM_TrcvLinkStateChg(ETHTRCV_LINK_STATE_ACTIVE)/TcpIp_RequestComMode(TCPIP_STATE_ONLINE)BswM_EthSM_CurrentState(ETHSM_STATE_ONLINE)EthSM_TrcvLinkStateChg(ETHTRCV_LINK_STATE_DOWN)/TcpIp_RequestComMode(TCPIP_STATE_ONHOLD)BswM_EthSM_CurrentState(ETHSM_STATE_ONHOLD)EthSM_RequestComMode(COMM_NO_COMMUNICATION)/TcpIp_RequestComMode(TCPIP_STATE_OFFLINE)BswM_EthSM_CurrentState(ETHSM_STATE_WAIT_OFFLINE)ETHSM_STATE_WAIT_OFFLINEETHSM_STATE_ONLINE6.7 错误通知详细信息参考SWS_BSWGeneral里的第7.2.2章“Eroor类别”和第7.2.3章“开发Error”。6.8 错误类别6.8.1 开发错误类别或错误 相关的错误代码 值(十六进制)无效的通信模式请求 ETHSM_E_INVALID_NETWORK_MODE 0X01EthSM模块没有初始化 ETHSM_E_UNINIT 0X02无效的指针在参数表里 ETHSM_E_PARAM_POINTER 0X03无效的参数在参数表里 ETHSM_E_INVALID_NETWORK_HANDLE 0X04无效的参数在参数表里 ETHSM_E_PARAM_CONTROLLER 0X076.8.2 运行时错误类别或错误 相关的错误代码 值(十六进制)无效的参数在参数表里 ETHSM_E_INVALID_TCP_IP_MODE 0X056.8.3 短暂的错误没有短暂的错误。6.8.4 产品错误错误名称:ETHSM_E_LINK_DOWN简述:链接中断检测详细描述:当收发器切换到down时应该被报告尽管通信已经被建立和由于通信请求被请求。推荐的DTC:N/A检测条件: FAIL 在从ETHSM_STATE_ONLINE转换为ETHSM_STATE_ONHOLD期间,被EthSM_TrcvLinkStateChg触发(ETHTRCV_LINK_STATE_-ACTIVE) PASS 在从ETHSM_STATE_ONHOLD转换为ETHSM_STATE_ONLINE期间,被EthSM_TrcvLinkStateChg触发(ETHTRCV_LINK_STATE_-ACTIVE)次要的参数:没有时间要求:PRE_FAIL:立即 PASS:依据配置监控频率:持续的MIL illumination:N/A6.8.5 拓展的产品错误没有拓展的产品错误。6.9 调试调试规范将要被淘汰。6.10 商业成品组建协议栈使用Variant2Variant1一个商业成品组建(COTS)协议栈应该是可用的。商业的协议栈不用改编就可以使用。然而,在这个情况下以太网状态管理器没有能力去控制以太网控制器和以太网收发器。商业的协议栈可能被改编为了使用以太网接口。在这个情况下,以太网状态管理器能够去控制以太网控制器和以太网收发器。套接口适配器套接口适配器AUTOSAR组件改编的COTS协议栈COTS协议栈非AUTOSAR组件以太网接口COTS驱动以太网驱动以太网物理媒介SWS_EthSM_00078可以设置以太网状态管理器成一个虚拟的(dummy)模式(见第十章配置规范)。在这个模式里,以太网状态管理器不支持API到以太网接口。API到ComM是有效但是功能是无效的。来自ComM的功能调用会获得返回E_OK值的响应。()7 API规范7.1 输入的类型模块 输入的类型ComM ComM_ModeTypeComStack_Types NetworkHandleTypeDem Dem_EventIdType Dem_EventStatusTypeEth_GeneralTypes EthTrcv_LinkStateType EthTrcv_ModeType Eth_ModeTypeStd_Types Std_ReturnType Std_VersionInfoTypeTcpIp TcpIp_StateType7.2 类型定义7.2.1 EthSM_NetworkModeStateTypeSWS_EthSM_00041名称:EthSM_NetworkModeStateType类型:枚举范围:ETHSM_STATE_OFFLINE EthSM被初始化在这个状态。 ETHSM_STATE_WAIT_TRCVLINK ComM请求COMM_FULLCOMMUNI-CATION在这个状态里。控制器和收发器将被设置成ACTIVE。EthSM等待收发器链接状态(ACTIVE)。 ETHSM_STATE_WAIT_ONLINE 收发器链接状态是ACTIVE,EthSM等待IP通信(TcpIP状态=ONLINE) ETHSM_STATE_ONLINE IP通信可以用,ComM状态COMM_FUL-L_COMMUNICATION到达 ETHSM_STATE_ONHOLD EthSM丢失活动的收发器链接状态,TcpIP状态仍然是ONLINE。 ETHSM_STATE_WAIT_OFFLINE 在这个状态ComM请求COMM_NO_COMMUNICATION。描述:这个类型应该定义网络模式状态机的状态()7.3 功能定义这是一个提供给上层模块的功能清单。注意:根据以太网硬件,可能有必要让实现偏离API规范对于异步/同步行为。7.3.1 EthSM_InitSWS_EthSM_00043服务名称:EthSM_Init语法:void EthSM_Init( void)服务ID:0X07异步/同步:同步可重入性:不可重入参数(in):没有参数(inout):没有参数(out):没有返回值:没有描述:这个函数初始化EthSM( BSW0405, SRS_BSW_00101, SRS_BSW_00358, SRS_BSW_00414)7.3.2 EthSM_GetVersionInfoSWS_EthSM_00046服务名称:EthSM_GetVersionInfo语法:void EthSM_GetVersionInfo( Std_VersionInfoType *versioninfo)服务ID:0X02同步/异步:同步可重入性:可重入参数(in):没有参数(inout):没有参数(out):versioninfo 指针指向存放版本信息的地方返回值:没有描述:这个服务取出这个模块的版本信息( SRS_BSW_00407, SRS_BSW_00003)7.3.3 EthSM_RequestComModeSWS_EthSM_00050服务名称:EthSM_RequestComMode语法:Std_ReturnType EthSM_RequestComMode( NetworkHandleType NetworkHandle, ComM_ModeType ComM_Mode)服务ID:0X05同步/异步:异步可重入性:不可重入参数(in):NetworkHandle 请求的指定的通信网络的handle ComM_Mode 请求的通信模式参数(inout):没有参数(out):没有返回值:Std_ReturnType E_OK:服务接受 E_NOT_OK:服务拒绝描述:操作通信模式,设置以太网网络活跃或passive()注:功能可重入性受限于不同的网络handles。这里不关注对于相同的网络的可重入性。SWS_EthSM_00051函数EthSM_RequestComMode检查请求的网络handle。它只接收请求,如果请求的网络handle是一个包含在EthSM配置里的handle(配置参数EthSMNetwork-Handle)。在这个情况里返回值被设置为E_OK。如果Handle不包含在配置里,功能函数拒绝请求。在这个情况下返回值被设置为E_NOT_OK。()SWS_EthSM_00052功能EthSM_RequestComMode应该报告ETHSM_E_INVALID_NETWORK_HAN-DLE给DET,如果它不接收请求的网络handle。()SWS_EthSM_00095功能EthSM_RequestComMode应该报告ETHSM_E_INVALID_NETWORK_MODE给DET,如果它不接收请求的ComM_Mode。()SWS_EthSM_00053如果函数EthSM_RequestComMode接受函数调用,它应该为网络handle保存通信模式且状态机的相应的网络模式切换应该被发起在最近的下一个main函数周期。()SWS_EthSM_00054函数EthSM_RequestComMode应该报告ETHSM_E_UNINIT给DET,如果EthSM还没有被初始化。()SWS_EthSM_00199功能EthSM_RequestComMode应该从ComM接收SilentCom请求以及会返回E_OK。没有错误会被报告给ComM在这个情况里,尽管SilentCom无效依据SWS_EthSM_00087()7.3.4 EthSM_GetCurrentComModeSWS_EthSM_00055服务名称:EthSM_GetCurrentComMode语法:Std_ReturnType EthSM_GetCurrentComMode( NetworkHandleType NetworkHandle, ComM_ModeType* ComM_ModePtr)服务ID:0X04异步/同步:同步可重入性:不可重入参数(in):NetWorkHandle 当前的通信模式应该被取出的网络handle参数(inout):没有参数(out):ComM_ModePtr 指针指向要取出当前通信模式的位置返回值:Std_ReturnType E_OK:服务接收 E_NOT_OK:服务拒绝描述:这个服务应该取出一个以太网网络的当前通信模式。()SWS_EthSM_00057功能EthSM_GetCurrentComMode检查服务请求的网络handle。它只有在当请求的网络handle是一个包含在EthSM配置的handle的时候才接受服务,在这个情况下返回值被设置为E_OK。如果不是配置里的handle,功能函数拒绝请求。在这个情况下返回值被设置为E_NOT_OK。()SWS_EthSM_00058功能EthSM_GetCurrentComMode应该报告ETHSM_E_INVALID_NETWORK_-HANDLE给DET,如果它不接受请求的网络handle。()SWS_EthSM_00059功能EthSM_GetCurrentComMode取出对于网络handle的当前的通信模式到指定的指针类型ComM_ModeType,如果请求被接受。()注:因为以太网硬件需要一些时间去处理请求,同时这里又没有规定通知机制,实际的硬件模式和被EthSM通知的模式可能会不同直到硬件准备就绪。SWS_EthSM_00060功能EthSM_GetCurrentComMode应该报告ETHSM_E_UNINIT给DET,如果EthSM还没有被初始化。(SRS_BSW_00406, SRS_BSW_00374,SRS_BSW_00379, SRS_BSW_00003, SRS_BSW_00318)7.3.5 EthSM_TcpIpModeIndicationSWS_EthSM_00110服务名称:EthSM_TcpIpModeIndication语法:Std_ReturnType EthSM_TcpIpModeIndication( uint8 CtrlIdx, TcpIp_StateType TcpIpState)服务ID:0X08同步/异步:同步可重入性:不可重入参数(in):CtrlIdx Ethif控制器索引去识别通信网络哪里TcpIp状态被改变。 TcpIpState 特定的网络handle的实际的TcpIp状态参数(inout):没有参数(out):没有返回值:Std_ReturnType E_OK:服务接受 E_NOT_OK:服务拒绝描述:服务被TcpIp调用去报告实际的TcpIp状态。()SWS_EthSM_00116如果功能EthSM_TcpIpModeIndication获取一个不是在EthSM模块的配置里的CtrIdx,那么它应该调用Det_ReportError用ErrorId参数ETHSM_E_PARAM_CONT-ROLLER()在这个情况里返回值被设置为E_NOT_OK。SWS_EthSM_00118如果错误检测被开启,参数TcpIpState应该被检查是否在允许的范围内。万一超出允许范围,函数EthSM_TcpIpModeIndication应该忽略状态指示,报告运行时错误ETHSM_E_INVALID_TCP_IP_MODE给DET且返回E_NOT_OK。()SWS_EthSM_00119如果函数EthSM_TcpIpModeIndication接受函数调用,它应该为影响的网络handle保存TcpIp状态,以及状态机的相应的网络模式切换应该被启动在最近的下一个main函数周期。()SWS_EthSM_00120函数EthSM_TcpIpModeIndication应该报告ETHSM_E_UNINIT给DET,如果EthSM还没有被初始化。()7.3.6 EthSM_GetCurrentInternalModeSWS_EthSM_00121服务名称:EthSM_GetCurrentInternalMode语法:Std_ReturnType EthSM_GetCurrentInternalMode(NetworkHandleType NetworkHandle,EthSM_NetworkModeStateType *EthSM_InternalMode)服务ID:0X03异步/同步:同步可重入性:不可重入参数(in):NetworkHandle 当前通信模式要被取出的网络handle参数(inout):没有参数(out):EthSM_InternalMode 指针指向取出当前内部的模式的位置返回值:Std_ReturnType E_OK:服务接受 E_NOT_OK:服务拒绝 描述:这个服务将取出一个以太网网络的当前的内部的模式。()SWS_EthSM_00122功能EthSM_GetCurrentInternalMode检查服务请求的网络handle。它只有在当请求的网络handle是一个包含在EthSM配置的handle的时候才接受服务,在这个情况下返回值被设置为E_OK。如果不是配置里的handle,功能函数拒绝请求。在这个情况下返回值被设置为E_NOT_OK。()SWS_EthSM_00123功能EthSM_GetCurrentInternalMode应该报告ETHSM_E_INVALID_NETWORK_-HANDLE给DET,如果它不接受请求的网络handle。()SWS_EthSM_00124功能EthSM_GetCurrentInternalMode取出网络handle的当前的内部模式给指定的指针类型EthSM_NetworkModeStateType,如果它接受请求。()SWS_EthSM_00125功能EthSM_GetCurrentInternalMode应该报告ETHSM_E_UNINIT给DET,如果EthSM还没有被初始化。()7.4 回调通知这是一个提供给其它模块的功能函数清单。回调函数的函数原型应该被提供在文件_Cbk.h里。7.4.1 EthSM_CtrlModeIndicationSWS_EthSM_00190服务名称:EthSM_CtrlModeIndication语法:void EthSM_CtrlModeIndication( uint8 CtrlIdx, Eth_ModeType CtrlMode)服务ID:0X09同步/异步:同步可重入性:可重入(只对于不同的以太网控制器)参数(in):CtrlIdx 模式已经改变的以太网控制器 CtrlMode 通知的以太网控制器模式参数(inout):没有参数(out):没有返回值:没有描述:当模式已经读出的时候被调用。要么被先前的EthIf_GetControllerMode要么被Eth_SetControllerMode调用触发。可以在触发器函数内直接被调用。()SWS_EthSM_00191如果函数EthSM_CtrlModeIndication获取一个CtrlIdx,而在EthSM模块的配置里该CtrIdx没有被配置,它应该调用函数Det_ReportError用ErrorId参数ETHSM_E_PARAM_CONTROLLER。()SWS_EthSM_00192如果EthSM模块没有被初始化,当函数EthSM_CtrlModeIndication被调用时,那么函数EthSM_CtrlModeIndication应该调用函数Det_ReportError用ErrorId参数ETHSM_E_UNINIT。()7.4.2 EthSM_TrcvModeIndicationSWS_EthSM_00193服务名称:EthSM_ TrcvModeIndication语法:void EthSM_TrcvModeIndication( uint8 CtrlIdx,EthTrcv_ModeType TrcvMode )服务ID:0X0a同步/异步:同步可重入性:可重入(只对于不同的以太网控制器)参数(in):CtrlIdx 在以太网接口的环境内以太网控制器的索引 TrcvMode 通知的以太网收发器模式参数(inout):没有参数(out):没有返回值:没有描述:当模式已经被读出时被调用。要么被先前的EthIf_GetTransceiverMode要么被EthIf_SetTransceiverMode调用触发。在触发器函数内可以被直接调用。()SWS_EthSM_00194如果函数EthSM_TrcvModeIndication获取一个CtrlIdx,而在EthSM模块的配置里该CtrIdx没有被配置,它应该调用函数Det_ReportError用ErrorId参数ETHSM_E_PARAM_CONTROLLER。()SWS_EthSM_00195如果EthSM模块没有被初始化,当函数EthSM_TrcvModeIndication被调用时,那么函数EthSM_TrcvModeIndication应该调用函数Det_ReportError用ErrorId参数ETHSM_E_UNINIT。()7.4.3 EthSM_TrcvLinkStateChg SWS_EthSM_00109服务名称:EthSM_ TrcvLinkStateChg语法:void EthSM_ TrcvLinkStateChg ( uint8 CtrlIdx,EthTrcv_LinkStateType TransceiverLinkState

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论