目录
UDP协议:用户数据协议,无完整机制确保另一端收到数据(类似串口),是一种无连接(数据包无序),不可靠(无握手、无应答)的通信协议,具有传输效率高,占用资源小的优点。
以太网简介
1、以太网是指实现将几个电脑连接进行通信,他不是指一种网络,而是一个技术规范,即IEEE802.3通信协议标准。
2、以太网通信协议主要特点:低成本、通信速率高、抗干扰强。
3、以太网分类:标准以太网(10Mbit/s),快速以太网(100Mbit/s)、千兆以太网(1000Mbit/s)、万兆以太网(10Gbit/s)
RJ45接口简介
10M/100M
引脚编号 | 引脚名称 | 功能说明 |
Pin 1 | TX+ | 发送数据+ |
Pin 2 | TX- | 发送数据- |
Pin 3 | RX+ | 接收数据+ |
Pin 4 | NC | 未使用 |
Pin 5 | NC | 未使用 |
Pin 6 | RX- | 发送数据- |
Pin 7 | NC | 未使用 |
Pin 8 | NC | 未使用 |
1000M
引脚编号 | 引脚名称 | 功能说明 |
Pin 1 | MDI0+ | 双向数据Data0+ |
Pin 2 | MDI0- | 双向数据Data0- |
Pin 3 | MDI1+ | 双向数据Data1+ |
Pin 4 | MDI2+ | 双向数据Data2+ |
Pin 5 | MDI2- | 双向数据Data2- |
Pin 6 | MDI1- | 双向数据Data1- |
Pin 7 | MDI3+ | 双向数据Data3+ |
Pin 8 | MDI3- | 双向数据Data3- |
以太网连接示意图(以RGMII接口为例)
以太网PHY芯片是物理层芯片用于信号转换(类似CAN、RS485芯片)
引脚名称 | 功能说明 |
RXC | 接收时钟线,在千兆网通信的情况下,时钟频率为125MHz,双边沿采样,采样频率为250MHz;在百兆网通信情况下,时钟频率为25MHz;在十兆网的情况下,时钟为2.5MHz |
RXCTL | 控制接收有效 |
RXD[3:0] | 接收数据线 |
TXC | 发送时钟线,在千兆网通信的情况下,时钟频率为125MHz,双边沿采样,采样频率为250MHz;在百兆网通信情况下,时钟频率为25MHz;在十兆网的情况下,时钟为2.5MHz |
TXCTL | 控制发送有效 |
RXD[3:0] | 发送数据线 |
RST_N | 复位 |
MDC | 管理数据时钟 |
MDIO | 管理数据 |
MDIO接口时序:用该接口配置PHY芯片工作模式以及获PHY芯片的若干信息(类似IIC配置)
前导码(32bit) (Preamble) | 帧开始 (2bit) | 操作码(2bit) (OP) | PHY地址(3bit) (PHYAD) | 寄存器地址(5bit) (REGAD) | TA(2bit) | 数据(16bit) (DATA) | IDLE(1bit) | |
Read | 0xFFFFFFFF | 01 | 10 | XXX | XXX | Z0 | XXX | Z |
Write | 0xFFFFFFFF | 01 | 01 | XXX | XXX | 10 | XXX | Z |
前导码(32bit):32bit都为1。
帧开始(2bit):01。
操作码(2bit):读PHY芯片的时候为10,写PHY芯片的时候为01。
PHY地址(3bit):可以最多支持8个PHY地址。
寄存器地址(5bit):最多有32个寄存器地址来配置PHY芯片。
TA(2bit):相当于应答信号,用于避免读传输的时候发生冲突,给MDIO切换数据传输方向,之后 读取数据。前面的Z是高阻态。
数据(16bit):读写数据。
IDLE(1bit):空闲状态下会被PHY芯片拉为高电平。
以太网通信协议
对FPGA主要关注以太网通信协议的物理层、数据链路层、网络层、传输层这四个层
- 物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。如:网线、RJ45座、PHY芯片
- 数据链路层:定义在单个链路上如何传输数据,其功能就是将数据组合成数据帧,并提供数据差错校验的功能,帧是数据链路层的单位。
- 网络层:通过IP寻址来建立两个节点之间的连接,为数据包选择路由,如IP协议、ARP协议。
- 传输层:为上层协议提供端到端的可靠和透明的数据传输服务,包括处理差错控制和流量控制等,如TCP、UDP。
以太网帧格式如下图所示:其中,以太网数据端包含其他层的通信协议,即对用户数据进行逐层封装,MAC的数据段是IP协议,IP协议的数据段是UDP协议、UDP协议的数据段是用户数据。
- 前导码:7个0x55,也就是0101010101010101010101010101。
- SFD:界定符,0x05。
- 以太网帧头:包括目的MAC地址占6个字节、源MAC地址占6个字节、长度或者类型占2字节。
- 以太网数据:对用户数据逐层封装之后的数据。