AUTOSAR Eth模块 以太网配置开发

一、EthGeneral

AUTOSAR Eth模块 以太网配置开发_第1张图片
1、Development Error Detection
Switches the development error detection and notification on or off.
DET报错的开关信号
2、EthGetRxStatsApi
Configure ON/OFF at the precompile for the funtion Eth_GetRxStats.
获取接收状态的API的开关,有的控制器不支持。
3、EthGetCounterValuesApi
Configure ON/OFF at the precompile for the funtion Eth_GetCounterValues.
Reads a list with drop counter values of the corresponding controller.
获取drop counter状态的API的开关,用来读取一些控制器相关的一些计数。
4、EthGetTxStatsApi
Configure ON/OFF at the precompile for the funtion EthGetTxStats.
获取发送状态的API的开关,有的控制器不支持。
5、EthGetTxErrorCounterValuesApi
Configure ON/OFF at the precompile for the funtion EthGetTxErrorCounterValuesApi.
6、EthGlobalTimeSupport
Enables/Disables the GlobalTime APIs used amongst others by Global
Time Synchronization over Ethernet.
是否支持基于以太网的时间同步。
7、EthUpdatePhysAddrFilter
Enable/Disable the functions relative to hash table filtering of address.
启用/禁用与地址哈希表过滤相关的功能。
8、EthMainFunctionPeriod
Specifies the period of main function Eth_MainFunction in seconds.
正常以太网驱动不会主动调用任何功能,只需要在BSW中周期调用这个函数就可以了。
9、Offload开关
EthCtrlEnableOffloadChecksumICMP
EthCtrlEnableOffloadChecksumTCP
EthCtrlEnableOffloadChecksumIPv4
EthCtrlEnableOffloadChecksumUDP
以太网的 Offload 是将网络协议处理从MCU移动到专门的网络适配器,这样可以减轻主 CPU 的负担,提高系统性能和吞吐量。

二、EthVendorSpecific

AUTOSAR Eth模块 以太网配置开发_第2张图片

1、EthBridgeSupport
When this option is ON, the Ethernet Bridge feature allows difference
source address.
Ethernet Bridge 是一种网络设备,它能够连接两个或多个不同的以太网段(LAN)并允许它们互相通信。Ethernet Bridge 通常由硬件实现,也可以使用软件模拟。Ethernet Bridge 的主要功能是将来自一个 LAN 的数据包转发到连接的另一个 LAN 上。
在 Ethernet Bridge 中,每个以太网段都有一个唯一的 MAC 地址。当从一个 LAN 发送数据包时,这个数据包会被 Ethernet Bridge 捕获并分析其目标 MAC 地址。如果目标地址在同一 LAN 中,则数据包将被直接转发到该地址;否则,数据包将被转发到连接的另一个 LAN 中,并且只有该 LAN 上的 MAC 地址会获得该数据包。

2、EthSwtManagementSupportApi
Enables / disables the Switch management APIs to support a Switch port
specific communication attribute access.
Ethernet Switch 是一种网络设备,它能够连接多个以太网设备并允许它们互相通信。与 Ethernet Bridge 不同的是,Ethernet Switch 可以同时连接多个 LAN,并且可以在这些 LAN 之间进行数据包转发和交换。
Ethernet Switch 的主要功能是将来自一个 LAN 的数据包转发到其目标地址所在的另一个 LAN 上。当一个数据包到达 Ethernet Switch 时,该数据包会被捕获并分析其目标 MAC 地址。Ethernet Switch 会检查其内部的 MAC 地址表,以确定目标地址所在的端口,并将数据包仅发送到该端口上。

3、EthMaxTotalTxBuffNum
Limits maximum of the total number of supported transmit buffers of all
queues in one controller.
用于控制以太网(Ethernet)驱动程序中总共可用的发送缓冲区数量。

每个 Ethernet 驱动程序都必须维护一些缓冲区,用于存储待发送的数据包。这些缓冲区通常由硬件或软件实现,可以是单个缓冲区或多个缓冲区组成的队列。当数据包需要发送时,驱动程序将其放入其中一个缓冲区,并向硬件发出发送命令。硬件将在网络上传输数据包,并在发送完成后通知驱动程序。

通过设置 EthMaxTotalTxBuffNum 参数,可以确保系统中有足够的缓冲区可供使用,从而最大程度地利用系统资源,并避免过多的网络延迟和阻塞。此外,该参数还有助于优化网络性能和吞吐量,并减少网络故障和错误的发生率。

需要注意的是,EthMaxTotalTxBuffNum 参数的具体值取决于系统的设计和实现。例如,如果网络负载较轻,可以将该参数设置为较小的值,以减少系统资源的使用;反之,如果网络负载较重,应将该参数设置为较大的值,以充分利用系统资源并满足网络传输需求。

4、EthMaxTxBuffNum
Limits maximum of number of supported transmit buffers of one queue.
以太网驱动程序中每个发送队列可用的发送缓冲区数量。

5、EthMaxTxQueueNum
Number of Tx queues are supported for this HW. Dependence on
resource.
以太网驱动程序中可用的发送队列数量。

6、EthMaxRxQueueNum
Number of Rx queues are supported for this HW. Dependence on
resource.
以太网驱动程序中可用的接收队列数量。

7、EthMaxTXBuffersSize
Limits the size of transmit buffers (include buffer data and buffer descriptor)
in bytes. This value should be calculated carefully to optimzie the memory
used Eth driver. Otherwise, there will be wasted memory.
以太网驱动程序中可用的发送缓冲区大小。

8、EthMaxRXBuffersSize
Limits the size of Receive buffers (include buffer data and buffer descriptor)
in bytes. This value should be calculated carefully to optimzie the memory
used Eth driver. Otherwise, there will be wasted memory.
以太网驱动程序中可用的接收缓冲区大小。

9、EthMulticastPoolSize
Defines maximal count of addresses in multicast pool.
以太网驱动程序中可用的组播地址缓冲区数量。它指定了可用的缓冲区数量上限,以确保系统能够满足多个组播数据包的发送要求。

组播(Multicast)是一种网络传输模式,可以将一个数据包同时发送给多个接收方。组播数据包通常使用特殊的组播 MAC 地址和 IP 地址,以标识它们是组播数据包。由于组播数据包需要复制并发送到多个接收方,因此需要额外的缓冲区来存储这些数据包,以避免对其他数据包的影响。

通过设置 EthMulticastPoolSize 参数,可以确保系统中有足够的组播地址缓冲区可供使用,并避免由于缺乏缓冲区而导致的组播丢失或延迟。该参数还有助于提高网络性能和吞吐量,并支持不同类型和大小的组播数据包。

10、EthUseMultiBufferRxFrames
Enables / disables support of spreading Eth frames over multiple RX
buffers.
以太网驱动程序中接收数据帧时是否启用多缓冲区模式。它指定是否使用多个缓冲区来存储接收的数据帧,以提高网络性能和吞吐量。

在单缓冲区模式下,接收到的数据帧将被存储在一个缓冲区中,驱动程序会在该缓冲区上处理数据。但是,在高速或高负载的网络环境中,单缓冲区模式可能导致数据丢失或溢出。因此,使用多缓冲区模式可以避免这些问题并提高网络性能。

11、EthUseMultiBufferTxFrames
Enables / disables support of spreading Eth frames over multiple TX
buffers.
发送数据帧时是否启用多缓冲区模式。

12、EthEnableRxFrameWrap
Enables / disables support of multi-buffers frames wrapped over the
receive buffer ring. Parameter is only accessible and considered during
generation when value of EthUseMultiBufferRxFrames is set to ‘true’.

以太网驱动程序中接收数据帧时是否启用循环缓冲区模式。它指定是否启用循环缓冲区模式来存储接收的数据帧,以避免缓冲区溢出和数据丢失。

在循环缓冲区模式下,驱动程序使用循环缓冲区来存储接收到的数据帧。当缓冲区已满时,驱动程序会将新到达的数据写入循环缓冲区的起始位置,并覆盖最早到达的数据。这有助于避免缓冲区溢出和数据丢失,同时提高网络性能和吞吐量。

三、EthCtrlConfig

AUTOSAR Eth模块 以太网配置开发_第3张图片
1、EthCtrlEnableMii
Enables / Disables the functions communicate PHY (external loopback
mode).
用于控制以太网控制器中的 MII(Media Independent Interface)接口是否启用。它指定是否启用 MII 接口来连接以太网控制器和 PHY(Physical Layer)芯片。

MII 接口是一种标准化的硬件接口标准,用于将以太网 MAC 和 PHY 芯片之间的通信传输介质独立。通过使用 MII 接口,以太网控制器可以与多种不同类型的 PHY 芯片通信,从而扩展系统的灵活性和可移植性。

2、中断控制
EthCtrlEnableTxInterrupt
EthCtrlEnableRxInterrupt
发送和接收是否启用中断功能。

3、EthCtrlMacLayerType
Defines the MAC layer type of the ethernet controller.
ETH_MAC_LAYER_TYPE_XGMII
ETH_MAC_LAYER_TYPE_XMII
ETH_MAC_LAYER_TYPE_XXGMII

指定以太网控制器的 MAC 层类型。它指定了控制器所使用的 MAC 层协议或标准,以确保以太网控制器与其他网络设备相兼容和互通。

MAC 层是 OSI 模型中的第二层,负责管理数据包的传输和接收,并提供访问物理介质的接口。在以太网中,常见的 MAC 层标准包括 IEEE 802.3、Ethernet II 以及 ARP 等。不同的 MAC 层标准之间具有特定的帧格式和协议规范,因此需要使用正确的 MAC 层标准来确保网络设备的正常通信。

如果 EthCtrlMacLayerType 参数被设置为特定的 MAC 层标准,则以太网控制器将使用该标准来处理接收和发送的数据包。否则,控制器将使用默认的 MAC 层标准或其他标准来处理数据包。因此,指定正确的 MAC 层类型可以确保以太网控制器与其他网络设备相兼容和互通,并提高网络性能和可靠性。

RMII(Reduced Media Independent Interface)是一种低速的接口标准,最初用于 100 Mb 以太网。它提供了一个 2 位数据总线和一个 1 位时钟总线,用于传输 100 Mb/s 的数据信号。RMII 接口相对于 RGMII 接口来说,更为简单、经济,并且灵活性较强。

RGMII(Reduced Gigabit Media Independent Interface)接口需要 12 条线,其中包括 8 条数据线和 4 条时钟线。它是一种用于千兆以太网的接口标准,常用于将 MAC 层和 PHY 层设备连接在一起,并提供高速的数据传输能力。

RRGMII(Reduced Resolution Gigabit Media Independent Interface)是一种介于 RGMII 和 RMII 之间的接口标准,用于 1 Gb 以太网。它使用了类似于 RGMII 接口的 8 位数据总线和类似于 RMII 接口的 1 位时钟总线,以实现更高的速率和更低的成本。

4、EthCtrlMacLayerSpeed
Defines the baud rate of the MAC layer.
指定了控制器所使用的以太网速率或传输速度。
ETH_MAC_LAYER_SPEED_100M
ETH_MAC_LAYER_SPEED_10G
ETH_MAC_LAYER_SPEED_10M
ETH_MAC_LAYER_SPEED_1G

5、EthCtrlMacLayerSubType
Defines the MAC layer subtype of a switch port.
REDUCED
Reduced Media Independent Interface(RMII)是一种低速 Ethernet 接口标准,最初用于 100 Mb/s 以太网。它提供了一个 2 位数据总线和一个 1 位时钟总线,用于传输 100 Mb/s 的数据信号。

REVERSED
Reversed Media-Independent Interface(RGMII)是一种常用于千兆以太网的接口标准。它需要 12 条线,包括 8 条数据线和 4 条时钟线,用于高速数据传输和时钟同步。

SERIAL
Serial Media Independent Interface(SMII)是一种常见的以太网接口标准,通常用于连接 MAC 层与 PHY 层设备。它使用单个差分信号进行双向通信,并提供了比 RMII 更高的带宽和比 RGMII 更低的成本。

STANDARD
Standard Media Independent Interface(MII)是一种广泛使用的以太网接口标准,用于连接 MAC 层与 PHY 层设备。它需要 16 条并行数据线和 2 条时钟线,用于传输数据和时钟信号。

UNIVERSAL_SERIAL
Universal Serial Bus Media Independent Interface(USGMII)是一种新型的以太网接口标准,用于传输千兆以太网数据。它使用高速串行信号进行通信,提供了与 RGMII 相当的带宽和可靠性,并支持多种速率和距离要求。

6、EthCtrlPhyAddress
Specifies the unique 48-bit physical address (MAC address) of the
controller in network byte order. Regular Expression: [0-9a-fA-F]{2}[[:-]
[0-9a-fA-F]{2}]{5}

以太网的 MAC(Media Access Control)地址是一个全球唯一的地址,用于标识网络上的每个设备。它由 6 个十六进制数(每个数占 8 位)表示,并使用冒号分隔,例如:00:11:22:33:44:55。
MAC 地址的命名规则如下:

第一个数是该地址所属的公司或组织的 OUI(Organizationally Unique Identifier),占 24 位。OUI 是一个由 IEEE(Institute of Electrical and Electronics Engineers)定义的三字节码,用于区别不同的厂商或组织。前两个字节指定了厂商或组织,第三个字节用于指定其它信息。

接下来的三个数是由厂商或组织分配的设备标识符,占 24 位。这些标识符可以是随机生成的数字或由厂商分配的特定代码。

最后一个数是由设备本身分配的扩展标识符,占 24 位。在大多数情况下,这个数是由操作系统或驱动程序动态生成的,以确保每个设备都有唯一的 MAC 地址。

需要注意的是,MAC 地址的前三个数也称为“前缀”,可以用于确定设备的类型和制造商。此外,MAC 地址还可以被分为两类:单播地址和多播地址。单播地址用于标识网络上的唯一设备,而多播地址用于同时发送给多个设备。

你可能感兴趣的:(autosar,单片机,汽车,mcu,arm,车载系统)