一、以太网简介
是当今现有局域网采用的最通用的通信协议标准,它规定了包括物理层的连线、电子信号和介质访问层协议的内容。成本低,通信速率高,抗干扰能力强。
1、分类
标准以太网:10Mbit/s
快速以太网:100Mbit/s
千兆以太网:1000Mbit/s
.........
以太网和千兆网口其实不完全相同。以太网是一种局域网技术标准,而千兆网口通常指的是支持1Gb/s(即千兆位每秒)速度的网络接口。
以太网是一种通用的局域网技术标准,定义了数据传输的规范和硬件设备之间的通信方式。而千兆网口是一种物理接口标准,用于连接计算机或其他网络设备到网络中,支持更高的数据传输速度。
因此,可以说千兆网口是以太网的一种实现方式,它提供了更快的数据传输速度,但并不等同于以太网。在实际应用中,通常会使用以太网技术,并通过千兆网口进行连接,以实现更快的网络通信速度。
2、以太网接口
以太网通信离不开连接端口的支持,网络数据连接的端口就是以太网接口。以太网接口类型有RJ45接口,RJ11接口(电话线接口),SC光纤接口等其中RJ45接口是我们现在最常见的网络设备接口(如:电脑网口)
3、6一对是为了向下兼容10/100M
上图为RGMII接口,时钟为双沿2.5MHz、25MHz、250MHz。位宽为4位。(节省引脚)
GMII接口,时钟为单沿1.25MHz、12.5MHz、125MHz。位宽为8位。
MAC侧完成对报文的封包和解包过程
PHY芯片:实现模数转换
ETH_RXC | 接收端时钟 |
ETH_RXCTL | 接收端数据使能(接受报文有效,该引脚拉高) |
ETH_RXD[3:0] | 接收数据 |
ETH_TXC | 发送端时钟 |
ETH_TXCTL | 发送端数据使能(发送报文有效,该引脚拉高) |
ETH_TXD[3:0] | 发送数据 |
ETH_RST_N | 复位脚 |
ETH_MDC | |
ETH_MDIO |
MDIO接口:(默认即可实现功能)
3、UDP网络协议简介
UDP(User Datagram Protocol,用户数据报协议)是一种无连接的网络传输协议,位于OSI模型的传输层。以下是UDP网络协议的简介:
(1)无连接性:UDP是一种无连接的协议,发送端在发送数据之前不需要与接收端建立连接,也不会维护连接状态。
(2)面向数据报:UDP以数据报(Datagram)的形式传输数据,每个数据报都是独立的,互相之间没有关联。
(3)不可靠性:UDP不提供数据可靠性保证,数据报可能会丢失、重复或无序到达。也不会进行数据校验和重传。
(4)高效性:由于没有连接建立和维护的开销,以及简化的功能,UDP比TCP更轻量级,传输效率更高。
(5)适用场景:UDP适用于对实时性要求高、数据传输完整性要求不高的应用场景,如音频、视频流媒体传输、在线游戏等。
总的来说,UDP是一种简单、高效但不可靠的网络传输协议,适用于对实时性要求高、能容忍少量数据丢失的应用场景。
4、数据链路
数据通过FPGA进行数据协议的打包和MAC协议处理,通过RGMII总线协议传输将数据传送至PHY芯片,PHY芯片将数据进行处理后发送至RJ45接口进行数据发送。
物理层(RJ45网口接口)、数据链路层(PHY芯片和MAC协议)、网络层(在FPGA中处理的MAC协议)、传输层(在FPGA中处理的数据协议打包,用UDP或者TCP协议就是说的这一层)
二、以太网PHY芯片简介RTL8211
1、PHY芯片:物理层芯片(物理接口收发器)
自动协商通信速率,或自行配置
2、BMCI寄存器配置(RTL8211为例)
BMCI寄存器addr为:0x00
(1)0.15:软件复位,1复位,0工作。结束复位后,无需手动写0,结束复位会自动归0,
(2)0.14:环回,主要用于检测,1使能,0失能。
(3)0.13,0.6:Speed配置,配置不同速率(先失能自协商)
(4)0.12:自协商配置,默认使能,1使能,0失能。
(5)0.11:掉电模式配置,1掉电模式,0正常工作模式。
(6)0.10:隔离配置,RGMII接口隔离,引脚失能,只有MDIO,MDC配置有效
(7)0.9:重新开始自协商配置。
(8)0.8:双工模式配置
(9)0.7:冲突测试
(10)0.5:单向使能:1双方建立连接成功后通信,0直接通信
3、BMSR寄存器配置
BMCI寄存器addr为:0x01
(1)1.5:自协商完成
(2)1.2:是否连接OK
4、PHYSR寄存器配置
BMCI寄存器addr为:0x11
(1)17.15:14 :连接速率(前提link ok,自协商完成)
三、以太网PHY芯片简介YT8531
1、PHY芯片
网线差分模拟信号转换数字信号,FPGA数字信号转换网线差分模拟信号。
2、引脚复用
3、硬件原理图(正点原子达芬奇开发板)
22R电阻做阻抗匹配。
4、PHY地址接口
一定会响应0x00!!
5、基本控制寄存器配置
寄存器地址0x00
(1) 15:软复位,带自清0,默认为0 。0工作,1复位。
(2) 14:内部环回,默认为0。0失能,1使能。
(3) 13:速率配置低位,关闭自协商才可以使用,bit6,13进行配置。
(4) 12:自协商使能,默认支持。1使能,0失能。
(5) 11:掉电模式,1掉电,0正常。
(6) 10:隔离模式,一般为0正常模式
(7) 9:重新自协商,自带置1。
(8) 8:配置双工,关闭自协商才可以使用,1双工,0半双工。
6、基本状态寄存器配置
寄存器地址0x01
(1) 13:双工模式检测。 0:半双工, 1:全双工。
(2) 15~14:传输速度等级检测。10:1000M 01:100M 00:10M
(3) 2:连接状态。 1:连接已建立, 0:链接未建立。
(4) 3:自协商能力, 1具有, 0不具备。
(5) 4:远端错误指示位:读取后自动清0 0:远端设备正常 1:远端设备异常
(6) 5:自协商完成标志,软复位后自动清0 1:完成自协商 0:未完成自协商。
(7) 6:前导码模式,1:不检测前导码直接接受 0:检测前导码
(8) 7:单项传输能力:0:当检测到建立有效连接才开始传输 1:直接开始传输。
7、特定状态寄存器
寄存器地址0x11
四、MDIO接口时序
MDIO: Management Data Input/Output
也被称为SMI ( Serial Management Interface