DEENESPTFRRUARHIKOZHNL

Ethernet Driver (Eth)

ModulEth (Ethernet Driver)
BSW-Modul-ID88
Standard-Header#include "Eth.h"
SWS-SpezifikationAUTOSAR_SWS_EthernetDriver.pdf
ClusterEthernet Services

模块指南人工智能生成

将 Ethernet 控制器连接到 AUTOSAR 栈:初始化、模式、发送、接收和诊断。
AI 生成 未审核 模型: claude-opus-5-5 · 推理强度: high · 温度: 不可控 · 提示词: 7ed698a8fca3 来源 未决问题(3)
因果锚点:R20-11 自 R20-11 起有效 为此规范版本重新合成。
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

将 Ethernet 控制器连接到 AUTOSAR 栈:初始化、模式、发送、接收和诊断。

Ethernet 驱动将 Ethernet 控制器连接到 Ethernet 接口。它初始化控制器,在 ETH_MODE_DOWN 和 ETH_MODE_ACTIVE 之间异步切换其 Rx/Tx 通信,并通过指示报告切换([SWS_Eth_00276])。发送分两个阶段进行:请求缓冲区,然后交付。驱动对每次发送均以 E_OK 或 E_NOT_OK 进行应答([SWS_Eth_00243])。此外,它还提供带地址过滤的接收、MII 访问、时间戳和诊断计数器。在关闭时,必须释放锁定的发送缓冲区。

Ethernet 驱动 Eth 为 Ethernet 接口(EthIf)抽象出一个或多个 Ethernet 控制器。EthIf 可以捆绑来自不同制造商的多个驱动(SWS Eth 第17页)。Eth 通过 EthIf_RxIndication、EthIf_TxConfirmation 和 EthIf_CtrlModeIndication 报告结果([SWS_Eth_00244]、[SWS_Eth_00243]、[SWS_Eth_00119])。其他相邻模块为 EthTrcv、EthSwt、DET 和 DEM([SWS_Eth_00241]、[SWS_Eth_00120])。

kontext EcuM EcuM Eth Eth (Ethernet-Treiber) EcuM->Eth Eth_Init EthIf EthIf (Ethernet Interface) EthIf->Eth Eth_SetControllerMode, Eth_ProvideTxBuffer, Eth_Transmit, Eth_Receive, Eth_TxConfirmation, Eth_WriteMii / Eth_ReadMii Eth->EthIf EthIf_RxIndication, EthIf_TxConfirmation, EthIf_CtrlModeIndication EthTrcv EthTrcv (Transceiver-Treiber) Eth->EthTrcv EthTrcv_WriteMiiIndication, EthTrcv_ReadMiiIndication EthSwt EthSwt (Switch-Treiber) Eth->EthSwt EthSwt_EthRxProcessFrame, EthSwt_EthTxPrepareFrame u. a. Det Det Eth->Det Det_ReportError Dem Dem Eth->Dem Dem_SetEventStatus HW Ethernet-Controller (Hardware) Eth->HW 寄存器与缓冲区访问

上下文图:Ethernet 驱动的调用方与回调接收方。来源:[SWS_Eth_00119]、[SWS_Eth_00120]、SWS Eth 第17页

Eth_Init 停用所有已配置控制器的 Rx/Tx 通信,配置这些控制器并丢弃待处理的请求([SWS_Eth_00027]、[SWS_Eth_00275])。异步的 Eth_SetControllerMode 在 ETH_MODE_DOWN 和 ETH_MODE_ACTIVE 之间切换([SWS_Eth_91009]、[SWS_Eth_00276])。在关闭时,驱动释放锁定的发送缓冲区([SWS_Eth_00280])。结果通过 EthIf_CtrlModeIndication 返回,在轮询模式下从 Eth_MainFunction 返回([SWS_Eth_00240])。

为了发送,上层使用 Eth_ProvideTxBuffer 请求缓冲区并使用 Eth_Transmit 进行交付([SWS_Eth_00077]、[SWS_Eth_00087])。确认状态为 E_OK 或 E_NOT_OK([SWS_Eth_00243]、[SWS_Eth_00256])。Eth_Receive 从 FIFO 读取以太网帧并报告是否存在更多帧([SWS_Eth_00095]、[SWS_Eth_00162])。Eth 丢弃目的地址不匹配的帧([SWS_Eth_00245]、[SWS_Eth_00246])。

轮询模式下发送帧Obere Schicht (UL)EthIfEthEthIf_ProvideTxBuffer(...)Eth_ProvideTxBuffer(CtrlIdx, Priority,BufIdxPtr, BufPtr, LenBytePtr)BUFREQ_OK、BufIdx、BufPtr、准予长度BUFREQ_OK, Puffer将有效负载数据复制到缓冲区中EthIf_Transmit(...)Eth_Transmit(CtrlIdx, BufIdx, FrameType,TxConfirmation = TRUE, LenByte, PhysAddrPtr)Ethernet-Header bilden,触发发送E_OKE_OKUse Case: zyklisch in EthIf_MainFunctionTx()Eth_TxConfirmation(CtrlIdx)altSenden erfolgreichEthIf_TxConfirmation(..., E_OK)Senden fehlgeschlagenEthIf_TxConfirmation(..., E_NOT_OK)UL_TxConfirmation(CtrlIdx, BufIdx)

时序图:轮询模式下的缓冲区请求、发送和确认。来源:[SWS_Eth_00077]、[SWS_Eth_00087]、[SWS_Eth_00243]、SWS EthIf 第87页

其他功能包括 MII 访问(在 R20-11 中是异步的,[SWS_Eth_00058])、硬件时间戳([SWS_Eth_00190])、统计服务([SWS_Eth_00233])以及可选的基于信用的整形器(Credit Based Shaper,DRAFT,[SWS_Eth_00263])。Eth 将错误作为开发错误报告给 DET([SWS_Eth_00016])。生产错误(如 ETH_E_ACCESS 或 ETH_E_RX_FRAMES_LOST)发送给 DEM([SWS_Eth_00173]、[SWS_Eth_00174])。

在 Ethernet 栈中的角色与系统边界

Ethernet 驱动 Eth 作为底层硬件模块位于 Ethernet 接口(EthIf)之下。根据协议栈基本结构图,EthIf 捆绑了一个或多个来自不同制造商且分别具有各自控制器类型的 Eth 驱动(SWS Eth 第17页)。向上,Eth 提供诸如 Eth_Init、Eth_SetControllerMode、Eth_ProvideTxBuffer、Eth_Transmit 和 Eth_Receive 的服务([SWS_Eth_00027]、[SWS_Eth_91009]、[SWS_Eth_00077]、[SWS_Eth_00087]、[SWS_Eth_00095])。它通过回调 EthIf_RxIndication、EthIf_TxConfirmation 和 EthIf_CtrlModeIndication 返回结果([SWS_Eth_00244]、[SWS_Eth_00243]、[SWS_Eth_00119])。

其他相邻模块如下:

如果多个控制器共享外设资源,Eth 对上层模拟出相互独立的控制器。协调工作随后由上层承担([SWS_Eth_00258])。

kontext EcuM EcuM Eth Eth (Ethernet-Treiber) EcuM->Eth Eth_Init EthIf EthIf (Ethernet Interface) EthIf->Eth Eth_SetControllerMode, Eth_ProvideTxBuffer, Eth_Transmit, Eth_Receive, Eth_TxConfirmation, Eth_WriteMii / Eth_ReadMii Eth->EthIf EthIf_RxIndication, EthIf_TxConfirmation, EthIf_CtrlModeIndication EthTrcv EthTrcv (Transceiver-Treiber) Eth->EthTrcv EthTrcv_WriteMiiIndication, EthTrcv_ReadMiiIndication EthSwt EthSwt (Switch-Treiber) Eth->EthSwt EthSwt_EthRxProcessFrame, EthSwt_EthTxPrepareFrame u. a. Det Det Eth->Det Det_ReportError Dem Dem Eth->Dem Dem_SetEventStatus HW Ethernet-Controller (Hardware) Eth->HW 寄存器与缓冲区访问

上下文图:Eth 由 EthIf 和 EcuM 调用,并向 EthIf、EthTrcv、EthSwt、DET 和 DEM 报告。来源:[SWS_Eth_00119]、[SWS_Eth_00120]、[SWS_Eth_00241]、SWS Eth 第17页

从 Eth_Init 到 ETH_MODE_ACTIVE:启动与控制器模式

Eth_Init 接收指向 Post-Build 结构 Eth_ConfigType 的指针([SWS_Eth_00027]、[SWS_Eth_00156])。对于当前 EthConfigSet 的每个控制器,该函数执行以下步骤([SWS_Eth_00275],DRAFT;旧版本 [SWS_Eth_00034] 已作废):

  • 停用 Rx/Tx 通信,
  • 清除待处理的中断,
  • 配置控制器参数以及发送/接收资源,
  • 丢弃待处理的请求。

Eth_StateType 区分 ETH_STATE_UNINIT 与 ETH_STATE_INIT,并用于开发错误检测(Development Error Detection)([SWS_Eth_00159])。较新的版本对调用规则进行了总结:除 Eth_GetVersionInfo 和规划中的函数(如 Eth_MainFunction)外,仅在初始化后才允许使用各服务(SWS Eth 第27页)。R20-11 通过针对 ETH_E_UNINIT 的检查按服务对此进行控制,例如在 [SWS_Eth_00066] 中。

以太网驱动启动及首次 MII 访问EcuMEthIfEthEthTrcv理解:EcuM 调用顺序;Eth_Init 必须在 MII 访问之前执行Eth_Init(CfgPtr)Rx/Tx aller Controller deaktivieren,清除中断,配置参数和缓冲区,丢弃作业EthTrcv_Init(...)EthIf_WriteMii(...)Eth_WriteMii(CtrlIdx, TrcvIdx, RegIdx, RegVal)E_OK (Dienst angenommen)E_OKMII 访问在 R20-11 中异步运行EthTrcv_WriteMiiIndication(...)EthIf_Init(...)

时序图:使用 Eth_Init 启动,以及收发器驱动首次异步应答的 MII 访问。来源:[SWS_Eth_00275]、[SWS_Eth_00058]、[SWS_Eth_00241]、SWS EthIf 第84页

在 R20-11 中,Eth_SetControllerMode 采用异步且不可重入的版本 [SWS_Eth_91009];它替代了 [SWS_Eth_00041]。这两种模式的作用如下([SWS_Eth_00276]):

  • ETH_MODE_DOWN:驱动停用 Rx/Tx 并重置所有缓冲区。锁定的和待处理的发送缓冲区被释放([SWS_Eth_00280]、[SWS_Eth_00281])。
  • ETH_MODE_ACTIVE:驱动激活所有缓冲区以及 Rx/Tx 通信。

Eth 通过 EthIf_CtrlModeIndication 异步报告模式切换的结果([SWS_Eth_00119])。在轮询模式下,Eth_MainFunction 检测到切换并调用此回调([SWS_Eth_00171]、[SWS_Eth_00240])。当前状态由 Eth_GetControllerMode 提供([SWS_Eth_91010]、[SWS_Eth_00277])。

Eth_ModeType 还额外支持 ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST。在 ETH_MODE_DOWN 下,硬件可以触发休眠过程,例如在 OA-TC10 硬件上([SWS_Eth_91008])。然而,Eth_SetControllerMode 的参数描述仅提及 ETH_MODE_DOWN 和 ETH_MODE_ACTIVE([SWS_Eth_91009])。

zustand cluster_init ETH_STATE_INIT (je Controller) start 开始 UNINIT ETH_STATE_UNINIT start->UNINIT DOWN Rx/Tx deaktiviert (Interpretation: entspricht ETH_MODE_DOWN) UNINIT->DOWN Eth_Init: 停用 Rx/Tx、进行配置、 丢弃作业 ACTIVE ETH_MODE_ACTIVE Rx/Tx aktiv DOWN->ACTIVE Eth_SetControllerMode(ETH_MODE_ACTIVE): Puffer aktivieren, Rx/Tx aktivieren; danach EthIf_CtrlModeIndication ACTIVE->DOWN Eth_SetControllerMode(ETH_MODE_DOWN): 停用 Rx/Tx、重置缓冲区、 释放锁定和挂起的发送缓冲区

状态图:驱动状态 UNINIT/INIT 以及各控制器具有转换职责的模式 DOWN 和 ACTIVE。来源:[SWS_Eth_00159]、[SWS_Eth_00275]、[SWS_Eth_00276]、[SWS_Eth_00280]

激活以太网控制器EthSMEthIfEthEthIf_SetControllerMode(CtrlIdx, ETH_MODE_ACTIVE)Eth_SetControllerMode(CtrlIdx, ETH_MODE_ACTIVE)E_OK激活发送与接收缓冲区,Rx/Tx-Kommunikation aktivierenoptPolling-BetriebEth_MainFunction(): Moduswechsel erkanntEthIf_CtrlModeIndication(CtrlIdx, ETH_MODE_ACTIVE)EthSM_CtrlModeIndication(CtrlIdx, ETH_MODE_ACTIVE)

时序图:由 EthSM 进行激活,带有同步接受和异步模式指示。来源:[SWS_Eth_91009]、[SWS_Eth_00119]、[SWS_Eth_00240]、SWS EthIf 第85页

发送路径:请求缓冲区、发送、确认

发送过程分两个阶段进行。首先,Eth_ProvideTxBuffer 根据 Priority 选择发送 FIFO。该服务提供一个 Eth_BufIdxType 类型的索引、一个缓冲区指针并通过 LenBytePtr 提供所授予的长度([SWS_Eth_00077]、[SWS_Eth_00175])。可能的返回值包括 BUFREQ_OK、BUFREQ_E_NOT_OK、BUFREQ_E_BUSY 和 BUFREQ_E_OVFL。缓冲区保持锁定,直到带有该索引的 Eth_Transmit 紧随其后被调用(SWS Eth 第91页)。

随后,Eth_Transmit 使用 FrameType、目的 MAC 地址和标志位 TxConfirmation 触发发送([SWS_Eth_00087]、[SWS_Eth_00160])。在此过程中,驱动构建以太网头部(SWS Eth 第93页)。Eth_Transmit 对于不同的缓冲区和控制器索引是可重入的([SWS_Eth_00087])。

如果请求了确认,Eth 会使用 E_OK 调用 EthIf_TxConfirmation。在中断模式下,这是从中断服务程序中调用的;在轮询模式下,这是从 Eth_TxConfirmation 中调用的([SWS_Eth_00243]、[SWS_Eth_00100])。如果发送失败,结果为 E_NOT_OK([SWS_Eth_00256])。上层可以确信,每个 Eth_Transmit 之后都会跟随一个确认(SWS Eth 第32页)。

在轮询示意图中,EthIf_MainFunctionTx 调用函数 Eth_TxConfirmation(SWS EthIf 第87页)。在中断模式下,由 Eth_TxIrqHdlr_<CtrlIdx> 负责此项工作(SWS EthIf 第88页)。驱动何时释放缓冲区由具体实现决定(SWS Eth 第93页)。

轮询模式下发送帧Obere Schicht (UL)EthIfEthEthIf_ProvideTxBuffer(...)Eth_ProvideTxBuffer(CtrlIdx, Priority,BufIdxPtr, BufPtr, LenBytePtr)BUFREQ_OK、BufIdx、BufPtr、准予长度BUFREQ_OK, Puffer将有效负载数据复制到缓冲区中EthIf_Transmit(...)Eth_Transmit(CtrlIdx, BufIdx, FrameType,TxConfirmation = TRUE, LenByte, PhysAddrPtr)Ethernet-Header bilden,触发发送E_OKE_OKUse Case: zyklisch in EthIf_MainFunctionTx()Eth_TxConfirmation(CtrlIdx)altSenden erfolgreichEthIf_TxConfirmation(..., E_OK)Senden fehlgeschlagenEthIf_TxConfirmation(..., E_NOT_OK)UL_TxConfirmation(CtrlIdx, BufIdx)

时序图:请求缓冲区、填充、发送并在轮询模式下进行确认,包含成功分支与错误分支。来源:[SWS_Eth_00077]、[SWS_Eth_00087]、[SWS_Eth_00243]、[SWS_Eth_00256]、SWS EthIf 第87页

接收路径和地址过滤器

Eth_Receive 从通过 FifoIdx 寻址的 FIFO 中读取一个帧。该服务对于不同的 FIFO 是可重入的,但对于同一个 FIFO 则不可重入([SWS_Eth_00095])。RxStatusPtr 返回 ETH_RECEIVED、ETH_NOT_RECEIVED 或 ETH_RECEIVED_MORE_DATA_AVAILABLE([SWS_Eth_00162])。解释:轮询调用方只要获知存在更多帧,就可以重复调用 Eth_Receive。 问题 Q-8f1484413f850bda (未决)在轮询模式下由谁调用未作规定;推测是 EthIf。

Eth 通过 EthIf_RxIndication 报告接收,该操作既可以来自中断,也可以来自 Eth_Receive([SWS_Eth_00244])。广播帧在此过程中被指示为广播([SWS_Eth_00153])。较新的版本将该参数命名为 QueueIdx(SWS Eth 第110页)。

自身源地址由 Eth_SetPhysAddr 设置;Eth_GetPhysAddr 用于读取它([SWS_Eth_00151]、[SWS_Eth_00052])。Eth_UpdatePhysAddrFilter 使用 ETH_ADD_TO_FILTER 将多播目的地址加入接收过滤器,并使用 ETH_REMOVE_FROM_FILTER 将其移除([SWS_Eth_00152]、[SWS_Eth_00163]、[SWS_Eth_00150])。

如果目的地址匹配,Eth 会通知上层;否则它将丢弃该帧([SWS_Eth_00245]、[SWS_Eth_00246])。如果硬件无法进行过滤,则初始化会启用混杂模式(Promiscuous Mode)([SWS_Eth_00146])。地址 00:00:00:00:00:00 将过滤器精简为自身的单播地址,并退出混杂模式([SWS_Eth_00147];参见 SWS Eth 第74页)。

轮询与中断模式下的接收EthIfEthUse Case: Polling-Betrieb理解:EthIf 周期性调用 Eth_ReceiveloopInterpretation: solange RxStatus == ETH_RECEIVED_MORE_DATA_AVAILABLEEth_Receive(CtrlIdx, FifoIdx, RxStatusPtr)从 FIFO 读取帧,根据过滤器检查目标地址altRahmen empfangen, Adresse passtEthIf_RxIndication(...)地址不匹配Rahmen verwerfenRxStatusUse Case: Interrupt-BetriebEmpfangs-InterruptEthIf_RxIndication(...)

时序图:轮询模式和中断模式下的接收,并在指示之前进行地址检查。来源:[SWS_Eth_00095]、[SWS_Eth_00162]、[SWS_Eth_00244]、[SWS_Eth_00246]

filter a Eth_UpdatePhysAddrFilter(CtrlIdx, PhysAddrPtr, Action) z PhysAddrPtr = 00:00:00:00:00:00? a->z reset 将过滤器缩减至自身的单播地址, 退出混杂模式 z->reset 是 act Action? z->act 不 rx 帧到达 reset->rx add ETH_ADD_TO_FILTER: 允许该地址接收 act->add 添加 rem ETH_REMOVE_FROM_FILTER: Empfang blockieren act->rem entfernen hw 控制器能否进行过滤? add->hw rem->hw hwf Hardware-Filter nutzen hw->hwf 是 swf Filterung in Software (Promiscuous Mode seit Initialisierung) hw->swf 不 hwf->rx swf->rx m 目标地址是否与过滤器匹配? rx->m ind EthIf_RxIndication m->ind 是 drop Rahmen verwerfen m->drop 不

活动图:过滤器更新(包含零地址特例)、硬件或软件过滤以及接收时的接受或丢弃。来源:[SWS_Eth_00146]、[SWS_Eth_00147]、[SWS_Eth_00163]、[SWS_Eth_00245]、[SWS_Eth_00246]

收发器访问、硬件时间戳和诊断计数器

Eth_WriteMii 和 Eth_ReadMii 在 R20-11 中是异步且不可重入的([SWS_Eth_00058]、[SWS_Eth_00064])。Eth 通过 EthTrcv_WriteMiiIndication 或 EthTrcv_ReadMiiIndication 报告完成情况([SWS_Eth_00241]、[SWS_Eth_00242])。符合 Clause 45 的寄存器通过 Annex 22D 的寄存器 13 和 14 访问([SWS_Eth_00273]、[SWS_Eth_00274])。该访问通过 EthCtrlEnableMii 进行使能([SWS_Eth_00069])。相比之下,R24-11 将 Eth_WriteMii 描述为同步的(SWS Eth 第95页);对于 R20-11,适用异步定义。

时间戳功能通过 EthGlobalTimeSupport 使能([SWS_Eth_00210]、[SWS_Eth_00211])。具体规则如下:

上层丢弃质量为 ETH_UNCERTAIN 或 ETH_INVALID 的时间戳([SWS_Eth_00177])。从 R23-11 开始,Eth_GetCurrentTime 已废弃(SWS Eth 第82页);在 R20-11 中该服务具有规范性。

通过以太网驱动获取发送时间戳EthTSynEthIfEth[EthTSynHardwareTimestampSupport == TRUE]EthIf_EnableEgressTimeStamp(CtrlIdx, BufIdx)Eth_EnableEgressTimeStamp(CtrlIdx, BufIdx)EthIf_Transmit(...)Eth_Transmit(...)EthIf_TxConfirmation(CtrlIdx, BufIdx, Result)EthTSyn_TxConfirmation(CtrlIdx, BufIdx, Result)在 TxConfirmation 上下文中获取EthIf_GetEgressTimeStamp(CtrlIdx, BufIdx, ...)Eth_GetEgressTimeStamp(CtrlIdx, BufIdx,timeQualPtr, timeStampPtr)E_OK、质量、时间戳E_OK、质量、时间戳alt质量 == ETH_VALIDZeitstempel verwendenETH_UNCERTAIN 或 ETH_INVALIDZeitstempel verwerfen

时序图:激活发送时间戳、发送并在确认上下文中进行质量检查读取。来源:[SWS_Eth_00186]、[SWS_Eth_00190]、[SWS_Eth_00177]、SWS EthTSyn 第70页、SWS EthTSyn 第55页

四个诊断服务可分别单独启用:

在统计服务中,最大值表示不可用的计数器(SWS Eth 第98页)。

配置、分区与 SW 缓冲区管理(CBS)

借助 EthCtrlEnableOffloadChecksumIPv4、EthCtrlEnableOffloadChecksumICMP、EthCtrlEnableOffloadChecksumTCP 和 EthCtrlEnableOffloadChecksumUDP,控制器在硬件中计算校验和。在接收时,它会丢弃校验和错误的帧([SWS_Eth_00216]、[SWS_Eth_00217])。缓冲区的基地址必须满足所有 AUTOSAR 数据类型的对齐要求([SWS_Eth_00218])。必须拒绝不受支持的分区分配。EthCtrlEcucPartitionRef 中的分区必须是 EthEcucPartitionRef 的子集([SWS_Eth_00257]、[SWS_Eth_00260]、[SWS_Eth_CONSTR_00001])。

若硬件中缺少公平调度,则可在软件中使用基于信用的整形器(Credit Based Shaper)(SWS Eth 第38页)。在 R20-11 中,所有相关的 Requirement 均为 DRAFT。该机制的工作方式如下:

cbs mf Eth_MainFunction() (EthCtrlConfigSwBufferHandling = TRUE) c1 软件 FIFO 按优先级降序: 将信用值增加 EthCtrlConfigShaperIdleSlope (仅限非空 FIFO) mf->c1 c2 下一个软件 FIFO (最高优先级优先) c1->c2 q 存在报文且信用值 >= EthCtrlConfigShaperMinCredit? c2->q mv 将首个报文移至硬件 FIFO, 从信用值中扣除报文大小 q->mv 是 more Weitere SW-FIFO? q->more 不 b EthTrcvPhysLayerPLCAMaxBurstCount = 0? mv->b stop Iteration beenden b->stop 是 burst 移动更多报文直至突发上限, 每条报文扣除相应信用值 b->burst 不 ende Ende stop->ende burst->more 理解:继续处理下一个 FIFO more->c2 是 more->ende 不

活动图:Eth_MainFunction 中的 CBS 运行过程,包含信用更新、最小信用检查和 PLCA 突发分支。来源:[SWS_Eth_00266]、[SWS_Eth_00270]、[SWS_Eth_00271]、[SWS_Eth_00272]、SWS Eth 第56页

发生错误时的行为

Eth 向 DET 报告开发错误([SWS_Eth_00120])。错误代码为 ETH_E_INV_CTRL_IDX、ETH_E_UNINIT、ETH_E_PARAM_POINTER、ETH_E_INV_PARAM 和 ETH_E_INV_MODE([SWS_Eth_00016])。典型的检查涉及初始化、CtrlIdx 以及指针([SWS_Eth_00066]、[SWS_Eth_00067]、[SWS_Eth_00068])。若 DET 被关闭,统计服务在这些情况下会返回 E_NOT_OK([SWS_Eth_00228]、[SWS_Eth_00236]、[SWS_Eth_00248]、[SWS_Eth_00254])。

生产错误通过 Dem_SetEventStatus 发送至 DEM([SWS_Eth_00119])。控制器访问失败将导致 ETH_E_ACCESS 并伴随 DEM_EVENT_STATUS_PREFAILED;随后 Eth_SetControllerMode 返回 E_NOT_OK([SWS_Eth_00039]、[SWS_Eth_00173]、[SWS_Eth_00168])。Eth_MainFunction 报告以下扩展生产错误([SWS_Eth_00169]、[SWS_Eth_00172]):

在运行期间,错误也会通过返回值体现。这包括 BUFREQ_E_BUSY 和 BUFREQ_E_OVFL(SWS Eth 第91页)以及发送确认失败([SWS_Eth_00256])。当控制器处于非活动状态时,Eth_Receive 的行为取决于发布版本。R23-11 和 R24-11 要求 ETH_E_INV_MODE(SWS Eth 第94页、SWS Eth 第116页),R25-11 要求立即返回(SWS Eth 第110页)。对于 R20-11,由于 [SWS_Eth_00016] 的存在,推测应适用 DET 变体。 问题 (未决)

进一步详细证据

基于有效载荷中规范摘录的 AI 生成指南。以 R20-11 中链接的 Requirement 为准;来自其他发布版本的文档出处已作相应标注。

Ethernet Driver (Eth)

Provides uniform hardware access to Ethernet controller interfaces.

Funktionen — Übersicht

Typen — Übersicht

Funktionen & Typen — Detailansicht

函数 Eth_Init [SWS_Eth_00027] 📄 PDF

void Eth_Init (const Eth_ConfigType* CfgPtr);

Initializes the Ethernet Driver

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 6639db5c607b 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 Eth_Init 用于初始化以太网驱动程序 [SWS_Eth_00027]。它通过头文件 Eth.h 声明,具有服务 ID 0x01,且没有返回值(void)[SWS_Eth_00027]。它需要 CfgPtr 作为输入参数,该参数指向 Eth_ConfigType 类型的实现特定配置结构体 [SWS_Eth_00027]。该调用为同步调用,并被定义为不可重入(Non Reentrant)[SWS_Eth_00027]。

在操作流程中,Eth_Init 构成了使用该模块的基本前置条件。所有其他函数都强制要求预先通过 Eth_Init 进行控制器初始化 [SWS_Eth_00070]、[SWS_Eth_00167]、[SWS_Eth_00185]。该依赖关系针对驱动程序的各类控制器服务进行了强制性规定 [SWS_Eth_00189]、[SWS_Eth_00194]、[SWS_Eth_00199]、[SWS_Eth_00232]。

对于未初始化访问的情况,提供了针对性的错误处理机制:在启用开发错误检测(Development Error Detection,DET)时,驱动程序函数会检查服务 Eth_Init 事先是否已按规范调用 [SWS_Eth_00066]。如果该检查未通过,它们将触发开发错误 ETH_E_UNINIT [SWS_Eth_00164]、[SWS_Eth_00182]、[SWS_Eth_00187]、[SWS_Eth_00196]。反之,如果 DET 被停用,受影响的函数将拒绝执行,并通过返回状态 E_NOT_OK 来指示该不允许的状态 [SWS_Eth_00228]、[SWS_Eth_00235]、[SWS_Eth_00248]、[SWS_Eth_00252]。

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 I2)

函数 Eth_SetControllerMode [SWS_Eth_00041] 📄 PDF

Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);

Enables / disables the indexed controller Tags: atp.Status=obsolete

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 58bddef3c196 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 Eth_SetControllerMode 用于激活(ETH_MODE_ACTIVE)或停用(ETH_MODE_DOWN)通过参数 CtrlIdx 寻址的 Ethernet 控制器 [SWS_Eth_00041]。在 AUTOSAR Classic R20-11 中,此服务被归类为已过时(obsolete)[SWS_Eth_00041]。

该服务的执行是异步且不可重入的(Non Reentrant)[SWS_Eth_00041]。作为返回值,该函数在成功启动时返回 E_OK,如果无法切换运行模式,则返回 E_NOT_OK [SWS_Eth_00041]。解释:由于调用被指定为异步,但有效负载中未定义回调,因此实际的状态采纳可能在函数返回后在靠近硬件的驱动程序后台完成。 问题 Q-d7ec04578e921eb9 (未决)

如果通过 Eth_SetControllerMode 停用控制器或其发送和接收通信,则适用具有约束力的缓冲区清理规则:

由于属性 Non Reentrant,对于相同或其他控制器实例,不得并发执行该函数 [SWS_Eth_00041]。未列出特定的 DET 或 DEM 错误消息;错误状态通过返回值 E_NOT_OK 通知调用者 [SWS_Eth_00041]。

本使用说明基于 AUTOSAR Classic R20-11 规范数据自动生成。

实现者指南即将推出(复杂度 I2)

函数 Eth_SetControllerMode [SWS_Eth_91009] 📄 PDF

Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);

Enables / Disables Rx/ Tx communication of the indexed controller Tags: atp.Status=draft

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 45ebc5b270a4 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数Eth_SetControllerMode(服务ID 0x03,通过Eth.h提供)用于激活和停用特定以太网控制器的接收和发送通信(Rx/Tx)[SWS_Eth_91009]。

使用和调用条件

该函数的执行是异步的,且被指定为不可重入(Non Reentrant)[SWS_Eth_91009]。调用时传递两个参数:

  • CtrlIdx:在以太网驱动程序上下文中相关控制器的索引[SWS_Eth_91009]。
  • CtrlMode:控制器的目标模式,为用于激活Rx/Tx通信的ETH_MODE_ACTIVE,或用于停用通信的ETH_MODE_DOWN [SWS_Eth_91009]。

该函数返回状态Std_ReturnType作为返回值:E_OK表示执行成功,而E_NOT_OK表示控制器的模式未能切换[SWS_Eth_91009]。

交互与缓冲区管理

如果指定索引的控制器的Rx/Tx通信通过Eth_SetControllerMode被停用(模式ETH_MODE_DOWN),则必须强制执行发送缓冲区的清理操作:

  • 必须释放所有锁定的发送缓冲区(locked transmit buffers)[SWS_Eth_00280]。
  • 同样必须释放所有待处理的发送缓冲区(pending transmit buffers)[SWS_Eth_00281]。

关于释放锁定和待处理缓冲区的当前规定以及函数定义本身均具有“草案”(draft)状态[SWS_Eth_91009]、[SWS_Eth_00280]、[SWS_Eth_00281]。它们取代了历史上先前被归类为已废弃的需求[SWS_Eth_00137]和[SWS_Eth_00138]。

本说明由人工智能基于 AUTOSAR 规范生成。

实现者指南即将推出(复杂度 I2)

函数 Eth_GetPhysAddr [SWS_Eth_00052] 📄 PDF

void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);

Obtains the physical source address used by the indexed controller

函数 Eth_SetPhysAddr [SWS_Eth_00151] 📄 PDF

void Eth_SetPhysAddr (uint8 CtrlIdx, const uint8* PhysAddrPtr);

Sets the physical source address used by the indexed controller

函数 Eth_UpdatePhysAddrFilter [SWS_Eth_00152] 📄 PDF

Std_ReturnType Eth_UpdatePhysAddrFilter (uint8 CtrlIdx, const uint8* PhysAddrPtr, Eth_FilterActionType Action);

Update the physica l source address to/ from the indexed controller filter. If the Ethernet Controller is not capable to do the filtering, the software has to do this.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 3be26284fad7 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步接口 Eth_UpdatePhysAddrFilter 通过头文件 Eth.h 提供,并具有服务 ID 0x12 [SWS_Eth_00152]。该函数用于将物理地址添加到索引指定的以太网控制器的过滤器中或从中移除 [SWS_Eth_00152]。

该函数的参数包含三个输入值 [SWS_Eth_00152]:

  • CtrlIdx:确定驱动程序上下文中相关以太网控制器的索引 [SWS_Eth_00152]。
  • PhysAddrPtr:指向包含按网络字节序排列的物理目标地址(MAC 地址)的内存区域的指针;这是第 2 层以太网数据包的组播目标地址 [SWS_Eth_00152]。
  • Action:通过枚举类型 Eth_FilterActionType 指定是将给定地址添加到控制器的过滤器中还是从中删除 [SWS_Eth_00152]。

该函数返回类型为 Std_ReturnType 的状态:E_OK 确认过滤器更改成功,而 E_NOT_OK 报告无法更改过滤器 [SWS_Eth_00152]。如果以太网控制器在硬件层面无法独立进行过滤,则必须由软件实现过滤任务 [SWS_Eth_00152]。

对于执行存在严格的可重入性限制:该函数对于相同的控制器索引(CtrlIdx)是不可重入的,但对于彼此不同的控制器索引,可以并发且可重入地调用 [SWS_Eth_00152]。

本使用说明由 AI 系统基于 AUTOSAR Classic R20-11 规范生成。

实现者指南即将推出(复杂度 I1)

函数 Eth_WriteMii [SWS_Eth_00058] 📄 PDF

Std_ReturnType Eth_WriteMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal);

Configures a transceiver register or triggers a function offered by the receiver

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 59aa765351e8 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

函数 Eth_WriteMii 用于通过 MII 接口配置以太网收发器的寄存器,或触发收发器提供的功能 [SWS_Eth_00058]。其声明可通过头文件 Eth.h 获取 [SWS_Eth_00058]。

用法与参数

该调用使用服务 ID 0x05,并处理四个输入参数 [SWS_Eth_00058]:

该服务的执行被指定为异步 [SWS_Eth_00058]。这意味着通过硬件接口进行的实际写入过程通常应在后台处理,而函数在接受请求后立即返回。 问题 Q-0f9a9e682985d796 (未决)

返回值与限制

该函数提供类型为 Std_ReturnType 的返回值 [SWS_Eth_00058]:

在并发性方面,Eth_WriteMii 被指定为不可重入(Non Reentrant)[SWS_Eth_00058]。因此,未经调用方相应同步,不得并发执行调用。

本使用说明由 AI 基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 I1)

函数 Eth_ReadMii [SWS_Eth_00064] 📄 PDF

Std_ReturnType Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr);

Reads a transceiver register

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 6906f4ae5194 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与参数

函数 Eth_ReadMii(服务 ID 0x06)用于通过 MII 接口读取收发器寄存器,并通过头文件 Eth.h 提供 [SWS_Eth_00064]。调用时,CtrlIdx 标识驱动程序上下文中的相应 Ethernet 控制器,TrcvIdx 标识 MII 上寻址的收发器,RegIdx 标识具体的收发器寄存器 [SWS_Eth_00064]。确定的寄存器值被写入指针 RegValPtr 所引用的内存区域 [SWS_Eth_00064]。

执行与并发性

执行异步进行(Asynchronous)[SWS_Eth_00064]。返回值 E_OK 仅确认服务或读取请求已被成功接受(Service accepted),而 E_NOT_OK 发出请求被拒绝的信号(Service denied)[SWS_Eth_00064]。由于其异步特性,为 RegValPtr 传递的内存区域在读取过程最终完成之前可能必须保持有效。 问题 Q-04a94624b96bf51f (未决)由于该函数还被归类为不可重入(Non Reentrant)[SWS_Eth_00064],因此调用者在没有外部同步的情况下不得通过不同的任务或中断上下文执行同时访问。

错误处理

如果驱动程序无法接受读取请求,则直接以 E_NOT_OK 确认该调用 [SWS_Eth_00064]。在与元素相关的规范数据中,未针对该函数列出特定错误码、DET 运行时检查或 DEM 诊断事件。

本使用说明由 AI 基于规范创建。

实现者指南即将推出(复杂度 I1)

函数 Eth_GetRxStats [SWS_Eth_00233] 📄 PDF

Std_ReturnType Eth_GetRxStats (uint8 CtrlIdx, Eth_RxStatsType* RxStats);

Returns the following list according to IETF RFC281 9, where the maximal possible value shall denote an invalid value, e.g. if this counter is not available: 1. ether Stats Drop Events 2. ether Stats Octets 3. ether Stats Pkts 4. ether Stats Broadcast Pkts 5. ether Stats Multicast Pkts 6. ether Stats Crc Al ign Errors 7. ether Stats Undersize Pkts 8. ether Stats Oversize Pkts 9. ether Stats Fragments 10. ether Stats Jabbers 11. ether Stats Collisions 12. ether Stats Pkts64Octets 13. ether Stats Pkts65to127Octets 14. ether Stats Pkts128to255Octets 15. ether St ats Pkts256to511Octets 16. ether Stats Pkts512to1023Octets 17. ether

函数 Eth_GetTxStats [SWS_Eth_91005] 📄 PDF

Std_ReturnType Eth_GetTxStats (uint8 CtrlIdx, Eth_TxStatsType* TxStats);

Returns the list of Transmission Statistics out of IETF RFC1213 defined with Eth_ Tx Stats Type, where the maximal possible value shall denote an invalid value, e.g. this counter is not available.

函数 Eth_GetTxErrorCounterValues [SWS_Eth_91006] 📄 PDF

Std_ReturnType Eth_GetTxErrorCounterValues (uint8 CtrlIdx, Eth_TxErrorCounterValuesType* TxErrorCounterValues);

Returns the list of Transmission Error Counters out of IETF RFC1213 and RFC1643 defined with Eth_ Tx Error Counter Values Type, where the maximal possible value shall denote an invalid value, e.g. this counter is not available.

函数 Eth_GetCurrentTime [SWS_Eth_00181] 📄 PDF

Std_ReturnType Eth_GetCurrentTime (uint8 CtrlIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Returns a time value out of the HW registers according to the capability of the HW. Is the HW resolution is lower than the Eth_ Time Stamp Type resolution resp. range, than an the remainin g bits will be filled with 0. Important Note: Eth_ Get Current Time may be called within an exclusive area.

函数 Eth_EnableEgressTimeStamp [SWS_Eth_00186] 📄 PDF

void Eth_EnableEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx);

Activat es egress time stamping on a dedicated message object. Some HW does store once the egress time stamp marker and some HW needs it always before transmission. There will be no "disable" functionality, due to the fact, that the message type is always "time st amped" by network design.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 28883e2189c8 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Eth_EnableEgressTimeStamp 为以太网驱动程序的专用消息对象激活发送时间戳(Egress Time Stamping)捕获 [SWS_Eth_00186]。该调用通过头文件 Eth.h 进行,服务 ID 为 0x17,并且没有返回值 [SWS_Eth_00186]。

调用时应传入以下输入参数 [SWS_Eth_00186]:

  • CtrlIdx:寻址的以太网控制器索引 [SWS_Eth_00186]。
  • BufIdx:上层应用程序期望为其生成出口时间戳的消息缓冲区索引 [SWS_Eth_00186]。

在并发性方面,该函数被指定为不可重入(Non Reentrant)[SWS_Eth_00186]。因此,针对相同或其他缓冲区的并行调用必须在调用端进行同步或予以避免。

硬件行为因控制器实现而异:某些硬件会永久保存发送时间戳标记,而其他控制器则强制要求在每次传输前进行激活 [SWS_Eth_00186]。解释:为了实现与硬件无关的控制,建议在所需缓冲区的每次发送过程之前调用该函数。 问题 Q-c2b8d2db03e9d13b (未决)由于根据网络设计,该消息类型始终带有时间戳进行传输,因此不存在停用接口 [SWS_Eth_00186]。

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

函数 Eth_GetEgressTimeStamp [SWS_Eth_00190] 📄 PDF

Std_ReturnType Eth_GetEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Reads back the egress time stamp on a dedicated message object. It must be called within the Tx Confirmation() function.

函数 Eth_GetIngressTimeStamp [SWS_Eth_00195] 📄 PDF

Std_ReturnType Eth_GetIngressTimeStamp (uint8 CtrlIdx, const Eth_DataType* DataPtr, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Reads back the ingress time stamp on a dedicated message object. It must be called within the Rx Indication() function.

函数 Eth_ProvideTxBuffer [SWS_Eth_00077] 📄 PDF

BufReq_ReturnType Eth_ProvideTxBuffer (uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType* BufIdxPtr, uint8* * BufPtr, uint16* LenBytePtr);

Provides access to a transmit buffer of the FIFO related to the specified priority

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 44e533ef4911 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用

同步函数 Eth_ProvideTxBuffer 提供对分配给所传入优先级的 FIFO 的以太网发送缓冲区的访问 [SWS_Eth_00077]。它通过头文件 Eth.h 提供,并被指定为可重入 [SWS_Eth_00077]。通过输入参数传入控制器索引 CtrlIdx 以及用于 FIFO 选择的帧优先级 Priority [SWS_Eth_00077]。输入输出参数 LenBytePtr 传入所需的缓冲区大小,并在调用后返回实际授予的字节大小 [SWS_Eth_00077]。输出参数 BufIdxPtr(用于后续请求的资源索引)和 BufPtr(指向缓冲区的指针)提供对内存区域的引用 [SWS_Eth_00077]。

错误处理与返回值

该函数通过类型为 BufReq_ReturnType 的返回值指示结果 [SWS_Eth_00077]:

相互作用

当 EthCtrlConfigSwBufferHandling 配置为 TRUE 时,内部将保存由传入 BufIdxPtr 的软件缓冲区池缓冲区索引与指定优先级 Priority 组成的元组 [SWS_Eth_00267]。

如果随后调用 Eth_Transmit(),则给定的缓冲区索引将被分配给其配置 EthCtrlConfigEgressFifoPriorityAssignment 与先前在 Eth_ProvideTxBuffer() 中传入的优先级相符的软件 FIFO [SWS_Eth_00268]。

本段文本由人工智能基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 I1)

函数 Eth_Transmit [SWS_Eth_00087] 📄 PDF

Std_ReturnType Eth_Transmit (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8* PhysAddrPtr);

Triggers transmission of a previously filled transmit buffer

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 964b3772cde6 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

同步接口 Eth_Transmit 为先前提供并填充的以太网发送缓冲区触发发送过程 [SWS_Eth_00087]。它接收以下参数:

  • CtrlIdx:驱动程序上下文中以太网控制器的索引 [SWS_Eth_00087]。
  • BufIdx:要传输的缓冲区资源索引 [SWS_Eth_00087]。
  • FrameType:特定以太网帧类型 [SWS_Eth_00087]。
  • TxConfirmation:用于激活发送确认的开关 [SWS_Eth_00087]。
  • LenByte:有效载荷的数据长度(以字节为单位)[SWS_Eth_00087]。
  • PhysAddrPtr:指向按网络字节序排列的物理目标地址(MAC 地址)的指针 [SWS_Eth_00087]。

类型为 Std_ReturnType 的返回值通过 E_OK 指示传输成功启动,通过 E_NOT_OK 指示失败 [SWS_Eth_00087]。

交互与缓冲区处理

在发送流程中,Eth_Transmit 将缓冲区指针 BufIdx 分配给其配置元素 EthCtrlConfigEgressFifoPriorityAssignment 与先前在 Eth_ProvideTxBuffer() 中指定的优先级相匹配的软件 FIFO [SWS_Eth_00268]。通过该调用,相应的消息将从软件 FIFO 传输至硬件 FIFO [SWS_Eth_00269]。

并发性

对于使用不同缓冲区索引(BufIdx)以及不同控制器索引(CtrlIdx)的调用,该函数是可重入的 [SWS_Eth_00087]。

本使用说明基于 AUTOSAR 规范 R20-11 自动生成。

实现者指南即将推出(复杂度 I2)

函数 Eth_Receive [SWS_Eth_00095] 📄 PDF

void Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType* RxStatusPtr);

Receive a frame from the related fifo.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: aeb0a2bc1424 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

同步函数 Eth_Receive 用于从以太网控制器的特定 FIFO 缓冲区接收以太网帧 [SWS_Eth_00095]。它没有返回值,但通过类型为 Eth_RxStatusType 的指针 RxStatusPtr 向调用方返回查询结果 [SWS_Eth_00095]。该输出参数指示是否已成功接收帧,以及对于相关 FIFO 缓冲区是否还有其他帧等待提取 [SWS_Eth_00095]。

参数与调用上下文

作为输入参数,该函数需要以太网驱动程序内部的控制器索引 CtrlIdx 以及要读取的 FIFO 的索引 FifoIdx [SWS_Eth_00095]。该函数在头文件 Eth.h 中声明 [SWS_Eth_00095]。该调用通常应在上层驱动程序层或接口层通过轮询机制周期性进行。 问题 Q-f5ec0693a5887bcf (未决)

并发性与限制

在并发性方面,Eth_Receive 针对不同 FIFO 的实现是可重入的,但针对同一 FIFO 则是不可重入的 [SWS_Eth_00095]。查询同一控制器的同一 FIFO 的并发调用是不允许的,必须由调用软件予以排除。

与以太网接口的交互

在轮询模式下,在接收过程成功时,以太网驱动程序有义务直接从例程 Eth_Receive 中调用函数 EthIf_RxIndication,以便将接收到的帧报告给上层以进行进一步处理 [SWS_Eth_00244]。

本文本由 AI 基于规范生成。

实现者指南即将推出(复杂度 I1)

函数 Eth_TxConfirmation [SWS_Eth_00100] 📄 PDF

void Eth_TxConfirmation (uint8 CtrlIdx);

Triggers frame transmission confirmation

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 72b1ce9d790c 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

通过头文件 Eth.h 可用的函数 Eth_TxConfirmation 用于针对性地触发已发送 Ethernet 帧的传输确认 [SWS_Eth_00100]。它具有服务 ID 0x0C 并同步执行 [SWS_Eth_00100]。作为唯一的传递参数,该函数期望 CtrlIdx,其确定 Ethernet 驱动程序实例内要寻址的控制器的逻辑索引 [SWS_Eth_00100]。不存在返回值(void),并且不传递任何输出参数 [SWS_Eth_00100]。

发送流程中的交互

在层间交互中,Eth_TxConfirmation 负责将发送状态传递给上层 Ethernet 接口。只要启用了相应的通知,Ethernet 驱动程序就有义务调用带有结果值 E_OK 的 EthIf_TxConfirmation,以发出传输成功的信号 [SWS_Eth_00243]。在轮询模式下,此调用明确在例程 Eth_TxConfirmation 的上下文中进行,而在中断控制模式下,它也可以替代地直接从中断例程中发出 [SWS_Eth_00243]。

并发性和执行条件

对于执行,适用的限制是 Eth_TxConfirmation 被定义为不可重入(Non Reentrant)[SWS_Eth_00100]。因此,调用者必须防止针对同一控制器同时进行调用。在轮询操作中,调用通常可能由上层流程控制周期性执行。 问题 Q-c19295838459b689 (未决)函数规范中未指定特定错误码以及关于 DET 或 DEM 消息的规定,因此不需要单独的错误处理。

此文本由 AI 创建;以引用的规范为准。

实现者指南即将推出(复杂度 I1)

函数 Eth_MainFunction [SWS_Eth_00171] 📄 PDF

void Eth_MainFunction (void);

The function checks for controller errors and lost frames. Used for polling state changes. Calls Eth If_ Ctrl Mode Indication when the controller mode changed.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 395137d99dcb 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

用法与调用上下文

函数 Eth_MainFunction 具有签名 void Eth_MainFunction(void) 并通过头文件 SchM_Eth.h 提供 [SWS_Eth_00171]。由此可以理解为:调用可能由调度管理器(SchM)在基于任务的上下文中周期性执行,因为没有定义传递参数或返回值。 问题 Q-690a2dc372d49c6a (未决)

功能范围与轮询

该函数的主要任务是对状态改变进行轮询,并检查控制器错误以及丢失的以太网帧[SWS_Eth_00171]。如果该函数确定以太网控制器的模式已发生更改,则调用函数EthIf_CtrlModeIndication,以通知上层状态切换[SWS_Eth_00171]。

发送路径中的处理顺序

在Eth_MainFunction()的上下文中,预先规定了软件FIFO的处理固定顺序[SWS_Eth_00270]:

  • 首先遍历所有SW-FIFO并更新其信用账户(Credits Account)[SWS_Eth_00270]。
  • 随后再次遍历所有SW-FIFO并检查是否有准备好发送的消息[SWS_Eth_00270]。
  • 然后针对每个遍历到的SW-FIFO尝试进行传输[SWS_Eth_00270]。

本使用说明由 AI 基于 AUTOSAR 规范 R20-11 生成。

实现者指南即将推出(复杂度 I2)

类型 Eth_ModeType [SWS_Eth_00158] 📄 PDF

This is an generic type and used in the layers of the Ethernet communication stack (e.g. EthIf, Eth, EthSwt, EthTrcv) to enable and disable, resp ectively, the Ethernet communcation channel and set the corresponding hardware (e.g. Ethernet controller, Ethernet Switch port, Ethernet transceiver) to an lowpower sleep and power on mode, respectively. Tags: atp.Status=obsolete

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 12ea280a995a 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

通用枚举类型 Eth_ModeType 用于以太网通信栈的各层(如 EthIf、Eth、EthSwt 和 EthTrcv),以激活或停用以太网通信通道,并将关联硬件(如以太网控制器、以太网交换机端口或以太网收发器)置于低功耗休眠状态或激活模式 [SWS_Eth_00158]。

该类型可通过头文件 Eth_GeneralTypes.h 获取,并定义了以下取值范围 [SWS_Eth_00158]:

  • ETH_MODE_DOWN(0x00):停用以太网通信通道,并将关联硬件置于低功耗休眠模式(Low-Power Sleep Mode)[SWS_Eth_00158]。
  • ETH_MODE_ACTIVE(0x01):激活以太网通信通道,并将硬件置于工作模式(Power-On Mode)[SWS_Eth_00158]。

在生命周期和使用方面需要注意的是,Eth_ModeType 在版本 R20-11 中被标记为 obsolete 状态 [SWS_Eth_00158]。因此在新的开发中应避免使用该类型,因为过时的接口类型在未来标准中通常会被更现代的控制结构所取代。

本使用说明由自动生成。规范依据仅指提供的需求上下文。

实现者指南即将推出(复杂度 I1)

类型 Eth_ModeType [SWS_Eth_91008] 📄 PDF

This is an generic type and used in the layers of the Ethernet commun ication stack (e.g. Eth If, Eth, Eth Swt, Eth Trcv) to enable and disable, respectively, the Ethernet communcation channel and set the corresponding hardware (e.g. Ethernet controller, Ethernet Switch port, Ethernet transceiver) to an lowpower sleep and po wer on mode, respectively. The type also support to transfer a wake - up request from the services layer (Com M) to the communication drivers (Eth Trcv). This could be used e.g. for Ethernet hardware that has the capability to wake - up and sleep on data line (see OA TC10) Tags: atp.Status=draft

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: bd78c0f35c62 来源
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

枚举类型 Eth_ModeType 通过 Eth_GeneralTypes.h 声明,并在 AUTOSAR 以太网通信栈中用作跨层模式类型([SWS_Eth_91008])。它用于 EthIf、Eth、EthSwt 和 EthTrcv 等模块中,以有针对性地激活或停用通信通道,并在节能睡眠模式与活动工作模式之间切换关联的硬件组件(以太网控制器、交换机端口或收发器)([SWS_Eth_91008])。

该类型包含三种用于模式控制的状态([SWS_Eth_91008]):

  • ETH_MODE_DOWN(0x00):停用 Rx 和 Tx 通信,并将关联硬件置于低功耗睡眠模式。若硬件支持,还将同时启动睡眠流程(例如根据 OPEN Alliance TC10 在数据线上请求 Sleep)。
  • ETH_MODE_ACTIVE(0x01):激活 Rx 和 Tx 通信,并将关联硬件切换到常规工作模式(上电)。
  • ETH_MODE_ACTIVE_WITH_WAKEUP_REQUEST(0x02):激活 Rx 和 Tx 通信,将硬件置于工作模式,并且如果硬件具备唤醒能力,还会在网络上触发唤醒请求(例如符合 OPEN Alliance TC10 的数据线唤醒)。

在协议栈交互中,Eth_ModeType 特别支持将唤醒请求从服务层(ComM)经由中间层向下传递至通信驱动程序(EthTrcv),从而根据需要控制在数据线上具有唤醒和睡眠功能的硬件([SWS_Eth_91008])。

本使用说明基于规范 SWS_Eth_91008 自动生成。

实现者指南即将推出(复杂度 I1)

类型 Eth_StateType [SWS_Eth_00159] 📄 PDF

Status supervision used for Development Error Detection. The state shall be available for debugging.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: c3ab864e1cec 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

枚举类型 Eth_StateType 通过头文件 Eth_GeneralTypes.h 提供,并根据 [SWS_Eth_00159] 用于 Ethernet 驱动程序的状态监控。其目的在于支持开发错误检测(Development Error Detection),根据规范,当前状态必须可用于调试目的([SWS_Eth_00159])。

对于状态管理,Eth_StateType 定义了两个离散的枚举值([SWS_Eth_00159]):

  • ETH_STATE_UNINIT(值 0x00):表示 Ethernet 驱动程序尚未配置([SWS_Eth_00159])。
  • ETH_STATE_INIT(值 0x01):表示 Ethernet 驱动程序已成功配置([SWS_Eth_00159])。

在错误处理和交互方面,该状态类型构成了内部错误检测的基础。可以推测,只要驱动程序处于未初始化状态 ETH_STATE_UNINIT,驱动程序 API 就会查询此状态并拒绝调用([SWS_Eth_00159])。 问题 Q-35a17e3267274d70 (未决)只有当驱动程序转换到状态 ETH_STATE_INIT 时,它才被视为已配置并准备就绪([SWS_Eth_00159])。由于类型定义位于 Eth_GeneralTypes.h 中,因此它是跨驱动程序可用的([SWS_Eth_00159])。

此文本由 AI 基于 AUTOSAR CP R20-11 规范生成。

实现者指南即将推出(复杂度 I1)

类型 Eth_FrameType [SWS_Eth_00160] 📄 PDF

This type defines the Ethernet frame type used in the Ethernet frame header

类型 Eth_DataType [SWS_Eth_00161] 📄 PDF

This type defines the Ethernet data type used for data transmission. Its definition depends on the used CPU.

类型 Eth_RxStatusType [SWS_Eth_00162] 📄 PDF

Used as out parameter in Eth_ Receive() indicates whether a frame has been received and if so, whether more frames are available or frames go t lost.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: 91a81f4cdad3 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用与取值范围

枚举类型 Eth_RxStatusType 根据 [SWS_Eth_00162] 在头文件 Eth_GeneralTypes.h 中定义。它在函数 Eth_Receive() 中用作输出参数(out parameter),以太网驱动程序通过它指示是否已接收到以太网帧,以及随后缓冲区中是否存在更多帧或数据是否已丢失 [SWS_Eth_00162]。

规范为该类型定义了三个离散的枚举值 [SWS_Eth_00162]:

  • ETH_RECEIVED(0x00):已接收到一个以太网帧;控制器中不再有其他可用帧。
  • ETH_NOT_RECEIVED(0x01):未接收到以太网帧;没有更多帧。
  • ETH_RECEIVED_MORE_DATA_AVAILABLE(0x02):已接收到一个以太网帧,且有额外的帧等待提取。

帧处理中的交互

在调用 Eth_Receive() 时,调用层会传入一个指向类型为 Eth_RxStatusType 的变量的指针。对该输出参数的求值控制着接收周期的后续流程:返回值 ETH_RECEIVED_MORE_DATA_AVAILABLE 应作为调用方立即再次调用 Eth_Receive() 的判据,以便迅速处理接收缓冲区中剩余的帧 [SWS_Eth_00162]。 问题 Q-4ed309522aa004f8 (未决)相比之下,状态 ETH_RECEIVED 和 ETH_NOT_RECEIVED 则指示缓冲区已耗尽,没有更多数据等待处理。通过 Eth_GeneralTypes.h 提供该类型确保了跨模块的一致类型使用 [SWS_Eth_00162]。

本段文本由 AI 生成,并完全基于 AUTOSAR R20-11 的规范数据。

实现者指南即将推出(复杂度 I1)

类型 Eth_FilterActionType [SWS_Eth_00163] 📄 PDF

The Enumeration Type Eth_ Filter Action Type describes the action to be taklen for the MAC address given in *Phys Addr Ptr.

类型 Eth_TimeStampQualType [SWS_Eth_00177] 📄 PDF

Depending on the HW, quality information regarding the evaluated time stamp might be supported. If not supported, the value shall be always Valid. For Uncertain and Invalid values, the upper layer shall discard the time stamp.

类型 Eth_TimeStampType [SWS_Eth_00178] 📄 PDF

Variables of this type are used for expressing time stamps including relative time and absolute calendar time. The absolute time starts at 1970 - - 01. 0 to 281474976710655s == 3257812230d [0x FFFF FFFF FFFF] 0 to 999999999ns [0x3B9A C9FF] invalid value in nanoseconds: [0x3B9A CA00] to [0x3FFF FFFF] Bit 30 and 31 reserved, default: 0

类型 Eth_MacVlanType [SWS_Eth_91001] 📄 PDF

This type is used to read out addresses from the address resolution logic (A RL) table of the switch. typedef struct { uint8 Mac Addr[6U]; uint16 Vlan Id; uint32 Switch Port; } Eth_ Mac Vlan Type; In case of Macaddr contains a Multicast Address Mac Vlan Type.Switch Port shall be handled as Bitmask, each bit represents a Switch Port , Bit 0 represents Eth Swicht Port Idx = 0 , Bit 1 represents Eth Swicht Port Idx = 1 and so on. In case of Macaddr contains not a Multicast Address Mac Vlan Type.Switch Port shall be handled as a value representing the Eth Switch Port Idx.

类型 Eth_TxErrorCounterValuesType [SWS_Eth_91004] 📄 PDF

Type Eth_TxErrorCounterValuesType.

AI 生成 未审核 模型: gemini-3.8-flash-medium · 推理强度: medium · 温度: 不可控 · 提示词: cf651d8e65c0 来源 未决问题(1)
译自德文指南gemini-3.8-flash-low · 2026-10-13 · 德文原文

使用与目的

根据 [SWS_Eth_91004],数据类型 Eth_TxErrorCounterValuesType 被规范为以太网驱动中用于诊断目的的统计计数器结构体。该定义通过头文件 Eth_GeneralTypes.h 提供。该结构体汇集了多个 32 位计数器(uint32),用于映射接口级别的特定传输状态和发送障碍。

结构体组件与语义

根据 [SWS_Eth_91004],各个计数器参考了标准化的网络 MIB 定义:

  • Tx Dropped No Error Pkts:尽管处于无错误状态但仍被丢弃的出站数据包数量,例如为了释放缓冲内存(RFC1213 ifOutDiscards)。
  • Tx Dropped Error Pkts:由于发生错误而未能传输的数据包数量(RFC1213 ifOutErrors)。
  • Tx Deferred Trans:因传输介质忙碌而导致首次发送尝试被延迟的帧数量(RFC1643 dot3StatsDeferredTransmissions)。
  • Tx Single Collision 和 Tx Multiple Collision:成功传输但在发送过程中分别因恰好一次或多次冲突而延迟的帧(RFC1643)。
  • Tx Late Collision:在数据包传输开始后超过 512 位时间才检测到的冲突(RFC1643 dot3StatsLateCollisions)。
  • Tx Excessive Collison:由于冲突过多而最终失败的传输次数(RFC1643 dot3StatsExcessiveCollisions)。

调用上下文与限制

Interpretation:由于规范摘录未列出关联的 API 函数,推测该诊断类型可能是通过指针作为输出参数传递给相应的驱动函数以进行计数器查询。 问题 Q-2bfbe59d1fb81938 (未决)在源材料中,未针对该纯数据结构定义关于错误处理、DET 报告或并发性的特定要求。

此文本由 AI 基于 AUTOSAR CP R20-11 规范生成。

Request a governed re-review of this record. The record is not changed immediately.

Record
AUTOSAR/AP/record/CP_MOD_Eth
Status
unspecified
Version
AUTOSAR/AP/record/CP_MOD_Eth@rel:R20-11#49968559
Content hash
49968559
Source
https://www.autosar.org/fileadmin/standards/R20-11/CP/AUTOSAR_SWS_EthernetDriver.pdf#nameddest=SWS_Eth_00027

初始化与状态

Returns the version information of this module

void Eth_GetVersionInfo (Std_VersionInfoType* VersionInfoPtr);
Eth_Init 函数

Initializes the Ethernet Driver

void Eth_Init (const Eth_ConfigType* CfgPtr);

服务 · Get…

Obtains the state of the indexed controller Tags: atp.Status=obsolete

Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);

Obtains the communication state of the indexed controller Tags: atp.Status=draft

Std_ReturnType Eth_GetControllerMode (uint8 CtrlIdx, Eth_ModeType* CtrlModePtr);

Reads a list with drop counter values of the corresponding controller. The meaning of these values is described at Eth_ Counter Type.

Std_ReturnType Eth_GetCounterValues (uint8 CtrlIdx, Eth_CounterType* CounterPtr);

Returns a time value out of the HW registers according to the capability of the HW. Is the HW resolution is lower than the Eth_ Time Stamp Type resolution resp. range, than an the remainin g bits will be filled with 0. Important Note: Eth_ Get Current Time may be called within an exclusive area.

Std_ReturnType Eth_GetCurrentTime (uint8 CtrlIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Reads back the egress time stamp on a dedicated message object. It must be called within the Tx Confirmation() function.

Std_ReturnType Eth_GetEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Reads back the ingress time stamp on a dedicated message object. It must be called within the Rx Indication() function.

Std_ReturnType Eth_GetIngressTimeStamp (uint8 CtrlIdx, const Eth_DataType* DataPtr, Eth_TimeStampQualType* timeQualPtr, Eth_TimeStampType* timeStampPtr);

Obtains the physical source address used by the indexed controller

void Eth_GetPhysAddr (uint8 CtrlIdx, uint8* PhysAddrPtr);

Returns the following list according to IETF RFC281 9, where the maximal possible value shall denote an invalid value, e.g. if this counter is not available: 1. ether Stats Drop Events 2. ether Stats Octets 3. ether Stats Pkts 4. ether Stats Broadcast Pkts 5. ether Stats Multicast Pkts 6. ether Stats Crc Al ign Errors 7. ether Stats Undersize Pkts 8. ether Stats Oversize Pkts 9. ether Stats Fragments 10. ether Stats Jabbers 11. ether Stats Collisions 12. ether Stats Pkts64Octets 13. ether Stats Pkts65to127Octets 14. ether Stats Pkts128to255Octets 15. ether St ats Pkts256to511Octets 16. ether Stats Pkts512to1023Octets 17. ether

Std_ReturnType Eth_GetRxStats (uint8 CtrlIdx, Eth_RxStatsType* RxStats);

Returns the list of Transmission Error Counters out of IETF RFC1213 and RFC1643 defined with Eth_ Tx Error Counter Values Type, where the maximal possible value shall denote an invalid value, e.g. this counter is not available.

Std_ReturnType Eth_GetTxErrorCounterValues (uint8 CtrlIdx, Eth_TxErrorCounterValuesType* TxErrorCounterValues);

Returns the list of Transmission Statistics out of IETF RFC1213 defined with Eth_ Tx Stats Type, where the maximal possible value shall denote an invalid value, e.g. this counter is not available.

Std_ReturnType Eth_GetTxStats (uint8 CtrlIdx, Eth_TxStatsType* TxStats);

服务 · Set…

Enables / disables the indexed controller Tags: atp.Status=obsolete

Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);

Enables / Disables Rx/ Tx communication of the indexed controller Tags: atp.Status=draft

Std_ReturnType Eth_SetControllerMode (uint8 CtrlIdx, Eth_ModeType CtrlMode);

Sets the physical source address used by the indexed controller

void Eth_SetPhysAddr (uint8 CtrlIdx, const uint8* PhysAddrPtr);

服务 · 其他

Activat es egress time stamping on a dedicated message object. Some HW does store once the egress time stamp marker and some HW needs it always before transmission. There will be no "disable" functionality, due to the fact, that the message type is always "time st amped" by network design.

void Eth_EnableEgressTimeStamp (uint8 CtrlIdx, Eth_BufIdxType BufIdx);

Provides access to a transmit buffer of the FIFO related to the specified priority

BufReq_ReturnType Eth_ProvideTxBuffer (uint8 CtrlIdx, uint8 Priority, Eth_BufIdxType* BufIdxPtr, uint8* * BufPtr, uint16* LenBytePtr);

Reads a transceiver register

Std_ReturnType Eth_ReadMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16* RegValPtr);

Receive a frame from the related fifo.

void Eth_Receive (uint8 CtrlIdx, uint8 FifoIdx, Eth_RxStatusType* RxStatusPtr);

Triggers transmission of a previously filled transmit buffer

Std_ReturnType Eth_Transmit (uint8 CtrlIdx, Eth_BufIdxType BufIdx, Eth_FrameType FrameType, boolean TxConfirmation, uint16 LenByte, const uint8* PhysAddrPtr);

Update the physica l source address to/ from the indexed controller filter. If the Ethernet Controller is not capable to do the filtering, the software has to do this.

Std_ReturnType Eth_UpdatePhysAddrFilter (uint8 CtrlIdx, const uint8* PhysAddrPtr, Eth_FilterActionType Action);

Configures a transceiver register or triggers a function offered by the receiver

Std_ReturnType Eth_WriteMii (uint8 CtrlIdx, uint8 TrcvIdx, uint8 RegIdx, uint16 RegVal);

回调

Triggers frame transmission confirmation

void Eth_TxConfirmation (uint8 CtrlIdx);

周期性

The function checks for controller errors and lost frames. Used for polling state changes. Calls Eth If_ Ctrl Mode Indication when the controller mode changed.

void Eth_MainFunction (void);

类型

Ethernet buffer identifier type.

Implementation specific structure of the post build configuration

Type Eth_CounterType.

This type defines the Ethernet data type used for data transmission. Its definition depends on the used CPU.

The Enumeration Type Eth_ Filter Action Type describes the action to be taklen for the MAC address given in *Phys Addr Ptr.

This type defines the Ethernet frame type used in the Ethernet frame header

This type is used to read out addresses from the address resolution logic (A RL) table of the switch. typedef struct { uint8 Mac Addr[6U]; uint16 Vlan Id; uint32 Switch Port; } Eth_ Mac Vlan Type; In case of Macaddr contains a Multicast Address Mac Vlan Type.Switch Port shall be handled as Bitmask, each bit represents a Switch Port , Bit 0 represents Eth Swicht Port Idx = 0 , Bit 1 represents Eth Swicht Port Idx = 1 and so on. In case of Macaddr contains not a Multicast Address Mac Vlan Type.Switch Port shall be handled as a value representing the Eth Switch Port Idx.

This is an generic type and used in the layers of the Ethernet communication stack (e.g. EthIf, Eth, EthSwt, EthTrcv) to enable and disable, resp ectively, the Ethernet communcation channel and set the corresponding hardware (e.g. Ethernet controller, Ethernet Switch port, Ethernet transceiver) to an lowpower sleep and power on mode, respectively. Tags: atp.Status=obsolete

This is an generic type and used in the layers of the Ethernet commun ication stack (e.g. Eth If, Eth, Eth Swt, Eth Trcv) to enable and disable, respectively, the Ethernet communcation channel and set the corresponding hardware (e.g. Ethernet controller, Ethernet Switch port, Ethernet transceiver) to an lowpower sleep and po wer on mode, respectively. The type also support to transfer a wake - up request from the services layer (Com M) to the communication drivers (Eth Trcv). This could be used e.g. for Ethernet hardware that has the capability to wake - up and sleep on data line (see OA TC10) Tags: atp.Status=draft

Variables of this type are used to express frequency ratios.

Type Eth_RxStatsType.

Used as out parameter in Eth_ Receive() indicates whether a frame has been received and if so, whether more frames are available or frames go t lost.

Status supervision used for Development Error Detection. The state shall be available for debugging.

Variables of this type are used to express time differences.

Depending on the HW, quality information regarding the evaluated time stamp might be supported. If not supported, the value shall be always Valid. For Uncertain and Invalid values, the upper layer shall discard the time stamp.

Variables of this type are used for expressing time stamps including relative time and absolute calendar time. The absolute time starts at 1970 - - 01. 0 to 281474976710655s == 3257812230d [0x FFFF FFFF FFFF] 0 to 999999999ns [0x3B9A C9FF] invalid value in nanoseconds: [0x3B9A CA00] to [0x3FFF FFFF] Bit 30 and 31 reserved, default: 0

Type Eth_TxErrorCounterValuesType.

Statistic counter for diag nostics.