Ethernet BSW stack
Switch
交换机设备可以连接到以太网驱动程序的专用控制器索引。此场景会导致交换机驱动程序和以太网驱动程序之间的额外交互(图7.2)。以太网驱动程序要求交换机驱动程序进行特殊处理,以确保当前的以太网帧稍后可以在交换机中进行管理。
External MAC
对于MACPHY(Ethernet controller and PHY integrated in one module)(外部mac控制器),数据和管理是通过SPI模块完成的(图 7.3)
Indexing scheme
以太网驱动程序的用户使用图7.4所示的索引方案来识别控制器资源
以太网驱动程序正在使用一个基于零的索引来抽象对上层软件层的访问。配置中的参数EthCtrlIdx [ECUC_Eth_00007]对应于API中使用的参数CtrlIdx。
缓冲区索引(BufIdx)标识由以太网驱动程序API函数处理的以太网缓冲区。每个控制器的缓冲区由缓冲区索引0到(n-1)来标识,其中n是由对应的控制器处理的缓冲区的数量。缓冲区索引仅在元组<CtrlIdx,BufIdx>中有效。BufIdx唯一地标识用于以太网驱动程序的缓冲区
Communication
Transmission
以太网驱动程序提供了两种方法来处理传输请求
1. Indirect data provision(间接)
具有间接数据提供的传输请求:将对可用的出口队列资源的请求和传输请求分成两个 API 调用。上层必须在对应的以太网控制器上请求对应的 EthCtrlConfigEgressQueue (表示位于出口侧的一个队列)的可用出口队列元素。如果以太网驱动程序能够提供出口队列元素,则请求者(上层)可以用数据更新此出口队列元素。来自上层的第二个呼叫将请求传送出口队列元素:
- 上层调用Eth_ProvideTxBuffer,以根据给定的优先级在以太网驱动程序上请求出口缓冲区。返回后,上层将数据复制到所提供的出口缓冲区
- 上层调用Eth_Transmit,请求以太网驱动程序传输出口缓冲区的内容
2. Direct data provision(直接)
具有直接数据提供的传输请求:在一个API调用中执行数据和传输请求。上层调用Eth_ImmediateTransmit提供了单链接列表和有效负载长度的有效负载。单个链接列表的所有头与有效载荷一起形成整个以太网框架。列表中的每个元素都包含一个指向数据、数据长度的指针和一个指向下一个元素的指针。以太网驱动程序必须从头历到最后一个元素(尾),并将每个头的数据复制到出口队列元素。在到达最后一个元素后,有效负载将被添加到出口队列元素中。如果数据传输完成,则整个以太网框架将驻留在出口队列元素中。以太网驱动程序触发以太网帧的传输,以在以太网网络上传输数据
以太网基础理论—MAC+PHY
autosar ethernet 也遵循 OSI 模型
以太网基础理论—MAC+PHY_mac phy-CSDN博客
以太网的电路接口一般由CPU、MAC( Media Access Control)控制器和物理层接口PHY(Physical Layer PHY)组成,MAC层在 OSI 模型中属于数据链路层,其主要任务是解决数据包发给谁。
数据链路层包含MAC(介质访问控制)子层和LLC(逻辑链路控制)子层。
PHY(physical),简称物理层,是一个对OSI模型物理层的简称。PHY包括两个接口三个子层:
两个接口:
1、MII接口:媒体独立接口。PHY与MAC之间的通信方式,其中包括数据接口、管理接口。在MII的基础上,又发展了RMII(Reduced Media Independant Interface,简化了MII,比MII用的信号线更少)、GMII(Gigabit Media Independent Interface,即先兆的MII接口)、RGMII(Reduced Gigabit Media Independent Interface,及简化先兆的MII接口);
2、MDI接口:媒体相关接口;
三个子层:
1、PCS子层:物理编码子层,负责编码;
2、PMA子层:物理介质连接子层,进一步将PCS编码向各种媒介进行传送。完成串并、并串转化;
3、PMD子层:物理介质相关子层,完成物理连接;