正点原子lwIP学习笔记——MAC简介

1.MAC简介

stm32自带有10/100Mbit/s的以太网MAC内核,他提供地址以及媒体访问的控制方式。
MAC内核特性:

  1. 传输速率:支持外部PHY接口实现10/100Mbit/s数据传输速率;
  2. 协议标准:符合IEEE802.3/3u的MII和RMII接口与快速以太网PHY通信;
  3. 工作模式:支持全双工和半双工操作;
  4. 站管理接口:支持通过MDIO接口配置和管理PHY设备;

2.ST的ETH框架

正点原子lwIP学习笔记——MAC简介_第1张图片
按照从左向右的顺序介绍:

  • 以太网DMA数据包以DMA方式发送/接收
  • MAC内核以太网帧发送时,给数据加上一些控制信息;以太网接收时,去掉控制信息;
  • PHY交互接口:数据通道——介质接口RMII/MII;管理通道——SMI站管理接口。

3.SMI站管理接口

允许应用程序通过时钟线和数据线访问任意PHY寄存器,最多支持32个PHY访问

  • MDC:周期始终引脚(最大频率为2.5MHz);
  • MDIO:数据输入/输出比特流。
    正点原子lwIP学习笔记——MAC简介_第2张图片

SMI帧格式

  • PADDR:PHY地址(00_1F);
  • RADDR:寄存器地址(00_1F);
  • 数据位:16位数据位(PHY寄存器都是16位)。
    正点原子lwIP学习笔记——MAC简介_第3张图片

MDIO时序和帧结构——写周期

正点原子lwIP学习笔记——MAC简介_第4张图片
主要是看要写到哪里去,也就是PHY地址的确定,下面两个是两种stm32自带的PHY芯片,左边的芯片可以通过两个引脚设置;而右边的则只有一个引脚。

MDIO时序和帧结构——读周期

正点原子lwIP学习笔记——MAC简介_第5张图片
数据就是16位的。
其中,MDC的时钟来自于stm32内部,是通过AHB时钟树分频得到的。

4.介质接口MMI、RMII

用于MAC与外接的PHY互联,支持10/100Mbit/s数据传输模式。
以太网帧转发到PHY设备中
正点原子lwIP学习笔记——MAC简介_第6张图片
以发送数据为例,IP的数据包保存到缓冲区,经过以太网的DMA,转发到TX FIFO(2kB的大小,而以太网数据不能超过1500字节,够用了);再转发到MAC内核中,变成以太网帧;以太网帧就需要介质接口转发到PHY,一般采用RMII转发到PHY芯片。
接收的话,就换成RX然后路径反过来就行了。

介质接口MII、RMII比较

正点原子lwIP学习笔记——MAC简介_第7张图片
MII有16个引脚,RMII只有9个引脚;MII参考时钟是25MHz,而RMII是50MHz;MII是4位位宽,而RMII只能收发2位位宽。

介质接口MII、RMII引脚数量

正点原子lwIP学习笔记——MAC简介_第8张图片

  • MII所需引脚位16个,而RMII所需只有9个;
  • MII的TX_CLK和RX_CLK由PHY芯片提供,使得MAC内核以这个时钟采集收发数据;
  • RMII的REF_CLK,MAC内核以这个时钟采集收发数据。
    注意:RX_ER和RX_DV用来检测以太网帧是否有效;而CRS和COL以及CRS_DV在全双工模式下无效

介质接口MII、RMII参考时钟

正点原子lwIP学习笔记——MAC简介_第9张图片

  • MII的参考时钟源有两个:MCO输出25MHz以及外部晶振输出25MHz;
  • RMII的参考时钟源有两个:MCO经过倍频PLL输出50MHz以及外部晶振输出50MHz(必须同时提供PHY和MAC)。
    时钟源均为2选1。
    注意:MII接口的TX_CLK和RX_CLK是根据数据传输速率挂钩,10Mbit/s对应2.5MHz,100Mbit/s对应25MHz

介质接口MII、RMII收发位宽

正点原子lwIP学习笔记——MAC简介_第10张图片
MII一个周期收发位宽为4位数据,RMII则是2位数据。
注意:两者的参考时钟不同,但是单位时间传输的数据量是相等的!

你可能感兴趣的:(lwIP学习,笔记,网络协议)