秉火429笔记之十八 ETH--以太网

本文详细介绍了STM32F42x系列控制器的以太网外设,包括介质访问控制(MAC)功能、站管理接口(SMI)、MII和RMII接口,以及MAC 802.3帧格式和数据包发送接收。STM32的ETH外设通过DMA与PHY芯片交互,支持CSMA/CD和冲突检测。此外,文章还提及了官方例程和硬件设计实例,如LAN8720A PHY芯片的RMII接口应用。
摘要由CSDN通过智能技术生成

目录

1. 以太网简介

2.  SMI 接口 (站管理接口)

2.1 SMI帧格式

2.2 SMI 读写操作

3. MII 和 RMII接口

4. MAC 802.3

4.1 MAC 802.3 帧格式

 4.2 MAC数据包发送和接收

4.2.1 MAC数据包发送

4.2.2 MAC数据包接收

4.2.3 MAC过滤

5. 官方例程及应用笔记(LWIP)

6. 硬件设计实例PHY: LAN8720A


1. 以太网简介

STM32F42x 系列控制器内部集成了一个以太网外设,它实际是一个通过DMA 控制器进行介质访问控制(MAC),它的功能就是实现MAC 层的任务。

借助以太网外设,STM32F42x 控制器可以通过ETH 外设按照IEEE 802.3-2002 标准发送和接收MAC 数据包。

ETH 内部自带专用的DMA 控制器用于MAC,ETH 支持两个工业标准接口介质独立接口(MII)和简化介质独立接口(RMII)用于与外部PHY 芯片连接。MII 和RMII 接口用于MAC数据包传输,ETH 还集成了站管理接口(SMI)接口专门用于与外部PHY 通信,用于访问PHY 芯片寄存器。

物理层定义了以太网使用的传输介质、传输速度、数据编码方式和冲突检测机制,PHY 芯片是物理层功能实现的实体,生活中常用水晶头网线+水晶头插座+PHY 组合构成了物理层。

ETH 有专用的DMA 控制器,它通过AHB 主从接口与内核和存储器相连,AHB 主接口用于控制数据传输,而AHB 从接口用于访问“控制与状态寄存器”(CSR)空间。在进行数据发送是,先将数据有存储器以DMA 传输到发送TX FIFO 进行缓冲,然后由MAC 内核发送;接收数据时,RX FIFO 先接收以太网数据帧,再由DMA 传输至存储器。

2.  SMI 接口 (站管理接口)

SMI是MAC内核访问PHY寄存器标志接口,它由两根线组成,数据线MDIO和时钟线MDC。SMI支持访问32个PHY,这在设备需要多个网口时非常有用,不过一般设备都只使用一个PHY。PHY芯片内部一般都有32个16位的寄存器,用于配置PHY芯片属性、工作环境、状态指示等等,当然很多PHY芯片并没有使用到所有寄存器位。MAC内核就是通过SMI向PHY的寄存器写入数据或从PHY寄存器读取PHY状态,一次只能对一个PHY的其中一个寄存器进行访问。SMI最大通信频率为2.5MHz,通过控制以太网MAC MII地址寄存器 (ETH_MACMIIAR)的CR位可选择时钟频率。

2.1 SMI帧格式

一般由PHY硬件设计决定,所以是固定不变的。

2.2 SMI 读写操作

3. MII 和 RMII接口

 MII : Media-independent interface,即介质独立接口,介质独立接口 (MII) 定义了 10 Mbit/s 和 100 Mbit/s 的数据传输速率下 MAC 子层与 PHY 之 间的互连。

RMII: Reduced media-independent interface, 即精简介质独立接口。

 

 

  • TX_CLK:数据发送时钟线。标称速率为10Mbit/s时为2.5MHz;速率为100Mbit/s时为25MHz。RMII接口没有该线
  • RX_CLK:数据接收时钟线。标称速率为10Mbit/s时为2.5MHz;速率为100Mbit/s时为25MHz。RMII接口没有该线。
  • TX_EN:数据发送使能。在整个数据发送过程保存有效电平。
  •  TXD[3:0]或TXD[1:0]:数据发送数据线。对于MII有4位,RMII只有2位。只有在TX_EN处于有效电平数据线才有效。
  • CRS:载波侦听信号,由PHY芯片负责驱动,当发送或接收介质处于非空闲状态时使能该信号。在全双工模式该信号线无效。
  • COL:冲突检测信号,由PHY芯片负责驱动,检测到介质上存在冲突后该线被使能,并且保持至冲突解除。在全双工模式该信号线无效。
  • RXD[3:0]或RXD[1:0]:数据接收数据线,由PHY芯片负责驱动。对于MII有4位,RMII只有2位。在MII模式,当RX_DV禁止、RX_ER使能时,特定的RXD[3:0]值用于传输来自PHY的特定信息。
  •  RX_DV:接收数据有效信号,功能类似TX_EN,只不过用于数据接收,由PHY芯片负责驱动。对于RMII接口,是把CRS和RX_DV整合成CRS_DV信号线,当介质处于不同状态时会自切换该信号状态。
  • RX_ER:接收错误信号线,由PHY驱动,向MAC控制器报告在帧某处检测到错误。
  • REF_CLK:仅用于RMII接口,由外部时钟源提供50MHz参考时钟。

因要达到100Mbit/s传输速度,MII和RMII数据线数量不同,使用MII和RMII在时钟线的设计是完全不同的。

对于MII接口,一般是外部为PHY提供25MHz时钟源,再由PHY提供TX_CLK和RX_CLK时钟。

对于RMII接口,一般需要外部直接提供50MHz时钟源,同时接入MAC和PHY。

4. MAC 802.3

适用于局域网 (LAN) 的 IEEE 802.3 国际标准将 CSMA/CD(带有冲突检测的载波侦听多路 访问)用作访问方法。

以太网外设包括一个带介质独立接口 (MII) 的 MAC 802.3(介质访问控制)控制器和一个专 用 DMA 控制器。

MAC 模块对以下系列的系统使用 LAN CSMA/CD 子层:数据速率为 10 Mbit/s 和 100 Mbit/s 的基带系统和宽带系统。支持半双工和全双工工作模式。冲突检测访问方法仅适用于半双工工作模式。支持 MAC 控制帧子层。

4.1 MAC 802.3 帧格式

正如 IEEE 802.3-2002 标准规定,MAC 块使用 MAC 子层和可选 MAC 控制子层 (10/100 Mbit/s)。

为使用 CSMA/CD MAC 的数据通信系统指定了两个帧格式:

● 基本 MAC 帧格式

● 标记 MAC 帧格式(扩展了基本 MAC 帧格式)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值