gmac网卡驱动1-------mac与phy基础知识

GMAC简介

网卡

用于报文控制,一般有mac和phy组成。
mac:	一般用于数据的过滤
phy:	操作数据实际的收发

在这里插入图片描述

mac

分类:
mac按最大传输速率可以分为emac,gmac

组成:
帧发送(Frame Transmission)
接收上层协议传来的数据,加头尾(控制信息),组成以太网帧,以位数据流形式传到物理层。
帧接收(Frame Reception)
接收物理层位数据流,检查是否有效(目的IP,校验码,字节对齐),发送给上层协议,或丢弃。
GMAC控制(GMAC Control)
用于全双工模式下控制帧的生成、检测,它处在主机和发送、接收模块之间,对普通的数据帧来说是透明的。
媒体独立接口管理(GMII)
控制物理层的输入输出操作,检查物理层的状态信息。(控制PHY)

phy

phy有两个重要的概念:
addr:	取值0-31,由板卡电路图决定
id:	由硬件厂商决定,同一类型的phy,id是一样的。一般通过读id来判断操作phy是否成功。

mac工作模式:全双工与半双工

半双工:
半双工模式:GMAC client将数据传给GMAC后,GMAC先给数据加上Preamble、FSD、FCS,组成以太网帧;
然后检查载波侦听信号(CRS);
若有载波信号,表示有数据正在 本地网段上传播,就等待直到载波信号消失;
载波信号消失后,GMAC还要等待一个帧间延时(interFrame Spacing);
若在帧间延时期间,一直没有载波信号,该以太网帧就可以开始向物理层传输。

全双工:
全双工模式:GMAC从GMAC Client接收到数据后,不需要载波侦听和冲突检测,
直接向物理层传送,其它操作与半双工相同。

mac外部引脚:

以太网MAC芯片的一端接计算机PCI总线,另外一端就接到PHY芯片上,它们之间是通过MII接口通信的。

MII接口:
包括数据接口,管理接口。
数据接口:16线;
管理接口:2线(MDC:管理时钟,MDIO:管理数据)。
支持10兆和100兆的总线接口速度,时钟都由PHY或FPGA提供。
16个数据线如下:(7+7+2 = 14)
TX:使能,错误,时钟,数据*4。
RX:使能,错误,时钟,数据*4。
CRS载波检测,COL冲突检测。

GMII接口--(数据线: 11 * 2 + 2 == 24线)
GMII采用8位接口数据,工作时钟125MHz,因此传输速率可达1000Mbps(每个数据收发口每秒有125M个周期的电平变换,收发各8个口)。同时兼容MII所规定的10/100 Mbps工作方式。
发送:
GTXCLK/TXCLK:
	千兆模式下,MAC提供这个时钟(与MII区别),其他信号和这个信号同步
	百兆模式下,PHY提供这个时钟,其他信号和这个同步)
TXEN——发送器使能信号
TXER——发送器错误(用于破坏一个数据包)
TXD[7..0]——被发送数据

接收:
RXCLK——接收时钟信号(从收到的数据中提取,因此与GTXCLK无关联)
RXDV——接收数据有效指示
RXER——接收数据出错指示
RXD[7..0]——接收数据

管理配置:(用于配置PHY)
	MDC——配置接口时钟
	MDIO——配置接口I/O

RGMII接口	(24 - 10 = 14)
由GMII的24线简化为14线,TX/RX数据宽度从8为变为4位。
为了保持1000Mbps的传输速率不变,RGMII接口在时钟的上升沿和下降沿都采样数据,时钟频率仍旧为125MHz。
(100M和10M时参考时钟为25Mhz和2.5MHz)
在参考时钟的上升沿发送GMII接口中的TXD[3:0]/RXD[3:0];
在参考时钟的下降沿发送GMII接口中的TXD[7:4]/RXD[7:4]。

使能和error合到一根线上:
TX_EN信号线上传送TX_EN和TX_ER两种信息,在TX_CLK的上升沿发送TX_EN,下降沿发送TX_ER;RX同理。

GMAC控制PHY的方式:
在这里插入图片描述
在这里插入图片描述

以T3为例,通过以上两个寄存器读写phy芯片的寄存器,控制phy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值