LWIP----ethernet硬件设计

目录

[1. 系统连接框图](#1. 系统连接框图)

2.接口管理

MII接口:

RMII接口:

介质接口MII、RMII收发位宽:

接口连接原理图

3.MAC层

3.1、FIFO

3.2、DMA

4、PHY层


1. 系统连接框图

使用的是STM32F407 (MAC层)+ LAN8720以太网芯片(物理层) + RJ45插头的系统结构。

2.接口管理

MII接口:

10/100M的MAC子层和PHY间的互联。(速率为10Mbit/s时要提供的为2.5MHZ,速率为100Mbit/s时为25MHZ)

RMII接口:

相比于MII,降低了控制器以太网外设与外部PHY间的引脚数。仅为7个。(REF_CLK必须是50MHZ,但其实只需要提供25MHZ就行了,因为STM32内部存在PLL倍频)

介质接口MII、RMII收发位宽:

MII接口一周期发送4bit数据、RMII一个周期发送2bit数据;

接口连接原理图

这里我使用的是YT8512C。通讯接口是RMII与MAC层进行连接。

YT8512C原理图:

3.MAC层

以太网外设包括带专用 DMA 控制器的 MAC 802.3(介质访问控制)。它支持介质独立接口(MII) 和简化介质独立接口 (RMII),并通过一个选择位在两个接口间进行切换。

以太网外设由 4 个主要功能模块组成:

  • 控制和状态寄存器模块 (CSR),用于控制通过 AHB 32 位从接口进行的寄存器访问;
  • 直接存储器访问接口 (DMA),此为逻辑 DMA 模块,具有 1 条用于接收的物理通道和 1 条用于发送的物理通道。该模块用于控制通过 AMBA AHB 32 位主接口在 MAC 和系统存储器之间进行的数据传输;
  • 介质访问控制模块 (MAC),负责实现以太网协议;
  • MAC 事务层 (MTL),负责控制应用和 MAC 之间的数据流;

此外,还增添了协议适配模块以支持 RMII PHY 介质独立接口:

  • MAC帧格式
  • 帧发送过程

从系统存储器读取的以太网帧由DMA推入FIFO,然后将帧弹出并传输到MAC内核。帧传输结束时,从MAC内核获取发送状态并传回DMA。

  • 帧填充和CRC计算

当从应用程序接收到的字节数少于46时,会向发送帧附加零,使数据长度正好为46字节,以满足IEEE 802.3的最小数据字段要求。

3.1、FIFO

FIFO向MAC内核弹出数据有两种模式:

  • **阈值模式:**只要FIFO中的字节数超过配置的阈值,数据就准备好弹出并转发到MAC内核
  • **存储转发模式:**仅在FIFO中存储完整的帧后,才会想MAC内核弹出帧

3.2、DMA

DMA基于描述符的链表传输数据。应用程序在系统存储器(SRAM)中创建描述符。支持正常描述符和上下文描述符两种。

以太网模块中的接收/发送FIFO和内存之间的以太网数据包传输时以太网DMA使用DMA描述符完成的。

一共有两个描述符列表:一个用于接收、一个用于发送,两个列表的基地址分别写入DMACRDLAR寄存器和DMACTDLAR寄存器中。

  • DMA描述符环形结构
  • **DMA描述符环链接结构:**到达环结束处时,DMA会自动基于基址进行回卷
  • DMA描述符格式:

常规发送描述符:

增强发送描述符:

常规接收描述符:

4、PHY层

YT8512C支持RMII接口与以太网MAC通讯,内置10-BASE-T/100BASE-TX全双工传输模块,支持10Mbps和100Mbps。可以通过自协商的方式与目的主机最佳的连接方式(速度和双工模式)。支持HP Auto-MDIX自动翻转功能,无需更换网线即可将连接更改为直连或交叉连接。

YT8512C的配置及使用详见其数据手册,下面简单介绍几种常用的功能设置:

  • **中断管理:**当中断事件发生且相应事件的中断位使能,YT8512C就会在nINT(11脚)产生一个低电平有效的中断信号。提供主中断和复用中断两种模式;
  • **PHY地址设置:**MAC层通过SMI总线对PHY进行读写操作,YT8512C通过设置LED0/PHYADD0引脚或者LED1/PHYADD1来设置PHY地址,默认情况下为0;
  • **nINT/REFCLKO配置:**nINTSEL(2脚)用于设置nINT/REFCLKO(14脚)引脚的功能;
  • **内部寄存器:**所有以太网的PHY芯片都遵循IEEE 802.3标准,标准通用寄存器0~15;(所有PHY芯片都一样)

16~31扩展通用寄存器,不同的PHY芯片它们的功能都高度相似;

>= 32厂商自定义寄存器,每个芯片不一样,这是按厂商规定来的;

相关推荐
小洁忘了怎么分身1 小时前
多样本空间转录组 Harmony 整合与标签转移指南
网络·r语言·生信分析
三言老师4 小时前
CentOS8 Firewalld 高级规则中级实操教程
linux·运维·服务器·网络·centos
rcms152702692185 小时前
TEL 3308-000065-13 印刷电路板
网络
xywww1685 小时前
Claude Opus 5 企业使用怎么选:场景分层、成本测算和接入风险清单
网络
望安认证5 小时前
CRA 与 CE、RED、EUCC、NIS2、GDPR、AI Act、Data Act、DORA 等欧盟法规的关系:从法案结构看数字产品出海合规
网络·欧盟·cra·网络弹性法案·cra认证
Hrain-AI6 小时前
2026企业AI Agent本地化落地:6平台横评+搭建步骤+成本模板
服务器·网络·人工智能
便利店10247 小时前
企业远程办公如何打通内网?网络层隧道与封装直觉
运维·服务器·网络·vpn·隧道
砚凝霜7 小时前
软考网络工程师|第 6 章 网络安全基础、攻击、等保完整备考笔记
网络·笔记·web安全
运维行者_8 小时前
网络监控与ITSM集成:从告警到工单,实现运维自动化闭环
开发语言·网络·分布式·后端·架构·flask·php
数据知道8 小时前
SSRF 漏洞实战:内网探测、云元数据窃取一条龙
网络·安全·网络安全