MII接口笔记

1、背景

1.1通用知识

网口结构简图,其中包括CPU、MAC和PHY三部分组成。DMA控制器通常是CPU的一部分,用虚线表示DMA控制器可能会参与到网口数据传输中。

对于上图中的三部分,并不一定都是独立的芯片,根据组合形式可分为下面几种类型:

<1>CPU中集成MAC与PHY;典型

<2>CPU中集成MAC控制器,PHY采取独立芯片;典型LAN8720A、KSZ8081

<3>CPU不集成MAC和PHY,MAC和PHY采用集成芯片;典型DM9000、3C905/82559等

工业级的CPU采用类型2的较多,以类型2做说明。

MAC控制器集成在CPU中,PHY芯片通过MII接口语CPU上MAC控制器连接。

在软件上对网口的操作通常分为下面几步:

1>为数据收发分配内存;

2>初始化MAC寄存器

3>初始化PHY寄存器(通过MIIM接口)

4>启动收发

1.2 MAC控制器的作用

以集成在CPU中的MAC控制器来说明作用。MAC从总线上收到IP数据包(或者其他网络层协议的数据包)后,将之拆分并重新打包成最大为1518Byte,最小为64Byte的帧。这个帧包括目标MAC地址、源MAC地址和数据包里面的协议类型还有32位CRC码。

 

1.3 PHY的作用

PHY发送数据:接收MAC控制器并行发送过来的数据,每4bit就增加1bit的检错码,然后把并行数据转化为串行流数据,在按照物理层的编码规则(10Based-T的NRZ编码或100based-T的慢切斯特编码)把数据编码,在变成模拟信号把数据送出去。

PHY接收数据:流程相关。

PHY还有一个重要的功能就是实现CSMA/CD的部分功能,它能检测网路中时候又数据在传送,有则等待,空闲就等待一个随机时间后在把数据发出去。

不同PHY碰撞后计算随机时间的方法设计上不同,因此就存在有些网卡"抢线"能力强。

1.4 参考资料

MII与RMII接口的区别 https://blog.csdn.net/fun_tion/article/details/70270632

 

2、MII接口(独立语介质的接口)

MII用于MAC与外接的PHY互联,支持10Mbit和100Mbit数据传输模式。MII的信号线如下图所示

MII用于连接MAC和PHY,包含两种信号接口:

1. 一个数据接口用于MAC和PHY之间接收和发送以太网帧数据。

2. 一个PHY管理接口,即MDIO,用于读写每个PHY的控制寄存器和状态寄存器,以达到控制PHY行为和监控PHY状态的目的。

信号名称Direction描述Belong to
TxD[3:0]MAC to PHY发送数据,是MAC控制器驱动的,每次传输4bit数据(并行),数据在Tx_EN信号有效时有效。Tx_EN信号无效时,PHY忽略传输的数据,这时候可改信号。MAC层到物理层的发送数据接口
Tx_ENMAC to PHY发送使能信号,此信号必须与数据前导符的起始位同步出现,并在传输完毕前一直保持。
Tx_CLKPHY to MAC发送时钟信号,由PHY驱动的。对于10Mbit/s的数据传输,需要10/4=2.5MHz;对于100Mbit/s的数据传输,则使用25MHz的时钟
Tx_ERMAC to PHY报错线
RxD[3:0]PHY to MAC接收数据,是PHY驱动的。每次接收4位数据,数据在Rx_DV信号有效时有效。当Rx_EN无效,而Rx_ER有效时,根据RxD[3:0]可判断Error原因。物理层到MAC层的接收数据接口
Rx_DVPHY to MAC接收使能信号,由PHY控制。当PHY准备好数据供MAC接收时,使能该信号。此信号必须和帧数据的首位同步出现,并保持有效直到数据数据传输完成。
Rx_CLKPHY to MAC接收时钟信号,由PHY驱动
Rx_ERPHY to MAC接收出错信号,保持一个或多个时钟周期(Rx_CLK)的有效装填,标明MAC在接收过程中检测到错误。
CRSPHY to MAC空闲监听 carrier sense物理层到MAC层状态信号
COLPHY to MAC冲突监听 collision detected
MDCMAC to PHYPHY 管理时钟MAC和物理层控制和状态信息
MDIOIO串行发送管理数据

 

 

CPU集成MAC

CPU上通过读写两组寄存器 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值