硬件设计基础之闲聊千兆以太网

news/2024/10/18 1:17:31/

一、千兆以太网的介绍

常见的以太网有几种形式,10Mbps、100MHz、1000Mbps、10Gbps等,当然还有更高的,接触的少些,暂且不聊。

10Mbps、100Mbps,多见于单片机使用,比如STM32/GD32

1000Mbps、10Gbps,多见于FPGA使用,比如Altera的低端Cyclone系列、中端A系列、高端S系列;Xilinx的低端Spartan7系列、ZYNQ系列,中低端A7系列、中端K7系列、高端V系列。

当然CPU也会用到,常见笔记本使用的就是千兆以太网

当然千兆以太网传输,也可以使用光口(不使用RJ45),目前技术也成熟,有专用的座子。

千兆以太网,顾名思义,就是传输的数据1000Mbps,每秒传输1000Mbit。

因为使用4组差分对传输,所以单组差分对的数据量=1000Mbit/4=250Mbit

二、千兆以太网的接口协议

        千兆以太网信号通过RJ45座子与外部设备连接;

        支持千兆以太网的协议有,GMII.html" title=RGMII>RGMII协议、GMII协议、GMII.html" title=SGMII>SGMII协议;

1)GMII.html" title=RGMII>RGMII协议

GMII.html" title=RGMII>RGMII协议,发送端,数据线有4根,时钟线有1根,接收端也是如此,具体使用引脚见下面的图片;

当向外发送数据,PHY芯片的输入连接到处理器,比如FPGA,输出端通过RJ45和外部设备连接;

如果传输1000Mbps,FPGA端,传输时钟在125MHz,在时钟的上升沿和下降沿均传输数据,传输数据量计算公式=125MHz*2边沿*4根线=1000Mbps。

        

2)GMII协议

GMII协议,发送端,数据线有8根,时钟线有1根,接收端也是如此,具体使用引脚见下面的图片;

当向外发送数据,PHY芯片的输入连接到处理器,比如FPGA,输出端通过RJ45和外部设备连接;

如果传输1000Mbps,FPGA端,传输时钟在250MHz,在时钟的上升沿和下降沿均传输数据,传输数据量计算公式=125MHz*8根线=1000Mbps。

       

3)GMII.html" title=SGMII>SGMII协议

GMII.html" title=SGMII>SGMII协议,发送端1个差分对,接收端1个差分对,时钟占用一个差分对,数据引脚可以接到FPGA的GPIO引脚(需要注意,同一个BANK,间隔放差分对,最好做Quartus软件仿真),也可以接到FPGA的高速BANK引脚,传输数据的速率1.25Gbps,具体使用引脚见下面的图片;

当向外发送数据,PHY芯片的输入连接到处理器,比如FPGA,输出端通过RJ45和外部设备连接;

如果传输1000Mbps,FPGA端,传输时钟在1.25Gbps,在时钟的上升沿和下降沿均传输数据,传输数据量计算公式=1.25Gbps*80%(8B/10B编码)=1000Mbps。

三、常用芯片介绍

支持千兆以太网的芯片,按照协议选型:

1)支持GMII.html" title=RGMII>RGMII协议和GMII协议的芯片

RTL8211E-VB-CG、RTL8211E-G-VB-VL-CG、RTL8211F(D)(I)-CG88E1111、88E1512、DP83867IR、

2)支持GMII.html" title=RGMII>RGMII协议的芯片

RTL8211F-CG、KSZ9031RNX、88E1518、

3)支持GMII.html" title=RGMII>RGMII协议和GMII.html" title=SGMII>SGMII协议的芯片

dp83867is、RTL8211FS-CG、88E1512、

4)支持GMII.html" title=RGMII>RGMII协议和MII协议的芯片

88E1510

5)支持GMII.html" title=RGMII>RGMII协议、GMII协议、PCIE的芯片

RTL8111C

6)支持QGMII.html" title=SGMII>SGMII协议的芯片

88E1680

7)支持MII协议的芯片(十兆/百兆)

RTL8201CP、DM9000CEP


http://www.ppmy.cn/news/1532837.html

相关文章

MySQL之内置函数

目录 一、日期函数 二、字符串函数 三、数学函数 四、其它函数 一、日期函数 常见的日期函数如下: 函数名称说明current_date()获取当前日期current_time()获取当前时间current_timestamp()获取当前时间戳date_add(date, interval d_value_type)在date中添加日…

Safari 浏览器中的 <audio> 标签的控件无效 - 解决方法

Safari 浏览器中的 <audio> 标签的控件无效&#xff0c;可能是由以下几个原因导致的&#xff1a; 1. HTML 代码问题 确保 HTML 代码中正确使用了 <audio> 标签&#xff0c;并且 controls 属性被正确设置。一个简单的例子如下&#xff1a; <audio controls>…

Kali Linux语言设置成中文

要将Kali Linux设置成中国地区&#xff08;简体中文&#xff09;&#xff0c;可以按照以下步骤进行操作&#xff1a; 一、更新软件包列表 打开Kali Linux的终端。输入以下命令来更新软件包列表&#xff1a; sudo apt-get update二、安装语言包 输入以下命令来安装locales包…

Flask 实现登录状态持久化:让用户 1 天内无需重新登录

在开发 Web 应用时&#xff0c;用户登录状态的管理至关重要。默认情况下&#xff0c;Session 是临时的&#xff0c;一旦用户关闭浏览器&#xff0c;Session 通常会被清除&#xff0c;这意味着用户需要重新登录。然而&#xff0c;在许多应用场景中&#xff0c;我们希望实现持久化…

leetcode每日一题day19(24.9.29)——买票需要的时间

思路&#xff1a;在最开始的情况下每人需要买的票数减一是能保持相对位置不变的&#xff0c; 如果再想减一就有可能 有某些人只买一张票&#xff0c;而离开了队伍&#xff0c; 所有容易想到对于某个人如果比当前的人买的多就按当前的人数量算 因为在一次次减一的情况下&#xf…

【学习笔记】手写 Tomcat 六

目录 一、线程池 1. 构建线程池的类 2. 创建任务 3. 执行任务 测试 二、URL编码 解决方案 测试 三、如何接收客户端发送的全部信息 解决方案 测试 四、作业 1. 了解工厂模式 2. 了解反射技术 一、线程池 昨天使用了数据库连接池&#xff0c;我们了解了连接池的优…

学MybatisPlus

1.设置MySql的数据库 spring:datasource:url: jdbc:mysql://127.0.0.1:3306/mp?useUnicodetrue&characterEncodingUTF-8&autoReconnecttrue&serverTimezoneAsia/Shanghaidriver-class-name: com.mysql.cj.jdbc.Driverusername: rootpassword: MySQL123 logging:l…

如何使用Optuna在PyTorch中进行超参数优化

所有神经网络在训练过程中都需要选择超参数,而这些超参数对收敛速度和最终性能有着非常显著的影响。 这些超参数需要特别调整,以充分发挥模型的潜力。超参数调优过程是神经网络训练中不可或缺的一部分,某种程度上,它是一个主要基于梯度优化问题中的“无梯度”部分。 在这…