网口调试步骤_万兆光口和千兆光口对接

网口调试步骤_万兆光口和千兆光口对接千兆网口、光口调试总结配置6096端:工作模式的配置方式:1、 硬件配置,通过电阻上下拉确定;6096的硬件配置不可以错,其在portstatus寄存器状态中有相应的寄存器位体现硬件配置的工作模式。2、 软件配置,主要是配置链路层的工作模式。主要是设置PCS(Physicalcodingsublayer)寄存器。3、 Marvell的PHY芯片有个特性,叫P

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

千兆网口、光口调试总结

配置

6096端:

工作模式的配置方式:

1、  硬件配置,通过电阻上下拉确定;6096的硬件配置不可以错,其在port status寄存器状态中有相应的寄存器位体现硬件配置的工作模式。

2、  软件配置,主要是配置链路层的工作模式。主要是设置PCS(Physical coding sublayer)寄存器。

3、  Marvell的PHY芯片有个特性,叫PPU(phy polling unit),PPU会和外部连接的PHY交换其自身的link、speed、Duplex、Pause的信息,这样就可以发现PHY,直观的表现是如果外接了link的LED,那么LED会被点亮,只有在传输数据时link才会是闪烁的状态。如果没有连接上。不过有点奇怪的是,6096的port10配置成RGMII模式时,其LED并不能指示port10的工作状态,在1000BASE-X方式下,该LED才起作用。

 

ARM端:

配置MAC工作模式,通常:

1、  硬件部分通过电阻上下拉实现控制,MII、GMII、RGMII等接口方式是否由外接电阻上下拉某些管脚确定需要注意。

2、  软件部分对寄存器设置,这个配置方式可能能够代替上述1中的配置,也可能硬件必须配置,对MAC工作模式的配置方式依赖于芯片手册。

PCS层所处位置极其意义

网口调试步骤_万兆光口和千兆光口对接

1000BASE-X模式下PCS所在的OSI七层模型

PCS是物理编码子层,通过将8bit的数据编码成10bit发送给PMA(physical media attach)层,千兆编码方式是8B/10B,每个传送码元表示5符号-2-1012中的一个符号,故每个码元代表2比特信息(4电平中每个电平代表2位,还有一个前向纠错码FEC),这比二电平编码提高了带宽利用率,并能把波特率和所需信号带宽减为原来的一半,但多电平编码需要用多位A/D,D/A转换,采用更高的传输信噪比和更好的接受均衡性能。

下图是MAC和PHY连接的图,通常MAC集成在ARM核内,PHY是集成在switch中的。下面这张图是SGMII的连接方式和这里的RGMII方式还有区别。不过这张图展现了MAC,PHY以及PCS的关系。上面的6096的PPU用来发现其对等的PHY,通常是网线的另一头,但是也有PHY级联的情况,6096就可以级联88e1111使用。

网口调试步骤_万兆光口和千兆光口对接

SGMII下MAC和PHY连接方式–摘自思科文档

RGMII收发数据线各四根,其在时钟的上升沿和下降沿都会锁存数据,RGMII发送侧在时钟的上升沿锁存[0:3]低四位,在时钟的下降沿,锁存[4:7]高四位,速率计算125Mbps*(4+4)=1000Mbps,有效载荷会小于该值。接收类似,MAC和PHY侧都有接收和发送这样的概念存在。时序调节,就是调节这里的上下沿和数据的关系,只有正确的数据配合适当时序,传输时校验和才会正确。

调试过程:

1、确认环境,光端机需要使用千兆的,而不是百兆的,百兆光纤可以比百兆网络传输的距离要远很多,单模下可以达到20KM~120KM。光纤线线头保持洁净,不要让灰尘阻塞。

光模块分为,多模;对于多模注意收发的波长要对应,一般光模块上有蓝色和黄色,收发使用两种不同的颜色,即蓝色配黄色才行。多模光纤使用一根光纤线,光纤线上的光波长为1.31um和1.55um居多。

2、单板加电看6096的LED灯是否亮,如果有对等的PCS层(PHY芯片、switch芯片会包括PCS),灯会亮,port8/9工作在1000BASE-X等也会亮。

3、uboot下通过mii命令读取和适当调节6096上电初始PCS寄存器的参数。如果设置参数包括速率、双工模式、link状态以及时序调节,需要根据不同的模式进行不同的设置。

4、uboot下使用ping命令测试网络是否通。注意观察ping时光端机和6096上的LED指示灯,如果ping不通,但是6096的灯有闪烁,则不同转入5,调节6096的时序,如果等无反应也请转入无调节时序试试。如果ping时通时不通,请转入5.

5、uboot下使用mii命令,调节6096时序调节寄存器,包括收、发及其组合的四种可能,再次转入4,当各种可能均试过后,依然不行,转入6.

6、示波器测试在ubootping时6096收发端口有无信号,测量时钟信号和数据线信号。百兆时,时钟是25MHz,千兆时是125MHz。数据线上的信号对于千兆时五电平信道编码、对于百兆是三电平信道编码。三电平和五电平信道编码看它们的电平表现还是挺有意思的,一些示波器能够诱导外届设备发送测试信号。这里指的测试只需要看看总线上是否有电平跳变就可以了。如果有信号,重复步骤3读取6096的状态寄存器,以确认6096PCS寄存器设置是否正确。如果没有信号,检查6096设计原理图和PCB以及器件的焊接。如果没有问题转入7。

7、使用mr、mw命令修改ARM端GMAC相关配置寄存器。查看DMA和EMAC相关信息、统计收发数据包寄存器。重复4下的ping过程。如果还是不行。

8、检查ARM端的原理图、PCB、硬件上拉、下拉的配置。

9、Linux下该芯片驱动代码添加在drivers/net/phy/目录。修改相关Makefile和配置脚本,编译。

另外:如果光口热插拔出问题,即光模块在上电完成后拔下再插上出现网络不通,此时端口设置成自协商模式,可以解决此问题。

 iperf性能测试

不同的网络测试环境结果可能有所差异。

# ./iperf -c 10.12.39.18 -b 1000M -t 120 -i1 u

[  5]112.0-113.0 sec  41.4 MBytes   347 Mbits/sec

[  5]113.0-114.0 sec  41.4 MBytes   348 Mbits/sec

[  5]114.0-115.0 sec  41.4 MBytes   348 Mbits/sec

[  5]115.0-116.0 sec  42.1 MBytes   353 Mbits/sec

[  5]116.0-117.0 sec  42.5 MBytes   356 Mbits/sec

[  5]117.0-118.0 sec  42.3 MBytes   355 Mbits/sec

[  5]118.0-119.0 sec  42.3 MBytes   355 Mbits/sec

[ 5]  0.0-120.0 sec  4.94 GBytes  354 Mbits/sec

[  5]Sent 3608196 datagrams

[  5]Server Report:

[ 5]  0.0-120.0 sec  4.65 GBytes  333 Mbits/sec   0.069 ms 212912/3608194(5.9%)

 

ping包延迟

# ping 10.12.39.18

PING 10.12.39.18 (10.12.39.18): 56 databytes

64 bytes from 10.12.39.18: icmp_seq=0ttl=128 time=0.7 ms

某百兆PHY测试结果:

Tcp网速

后pc端 iperf  -s -i 1 -w 1M

先client端# ./iperf -c 10.12.39.18 –w nk –t 20 –i

 [ID] Interval       Transfer     Bandwidth

[ 5]  0.0-20.0 sec   225 MBytes 94.1 Mbits/sec

 

Udp网速

 

pc端先 iperf.exe -s -i 10 -u

先client端# ./iperf -c 10.12.39.18 -b 100M -t 20 -i 1-u

 [ID] Interval       Transfer     Bandwidth

[ 5]  0.0- 1.0 sec  11.6 MBytes 97.3 Mbits/sec

[ 5]  1.0- 2.0 sec  11.4 MBytes 95.7 Mbits/sec

[ 5]  2.0- 3.0 sec  11.3 MBytes 94.8 Mbits/sec

[ 5]  3.0- 4.0 sec  11.4 MBytes 95.7 Mbits/sec

[ 5]  4.0- 5.0 sec  11.4 MBytes 95.8 Mbits/sec

[  5]Sent 162892 datagrams

[  5]Server Report:

[ 5]  0.0-20.0 sec   223 MBytes 93.4 Mbits/sec   0.602 ms 3887/162891(2.4%)

[ 5]  0.0-20.0 sec  1 datagrams received out-of-order

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194145.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 百度地图API显示多个标注点并添加百度样式检索窗口

    百度地图API显示多个标注点并添加百度样式检索窗口

    2021年10月10日
    47
  • 游戏建模:手绘暗黑小萝莉「建议收藏」

    平时喜欢画画,最近呐再做一些个人作品。然后再A站各种淘原画,从一堆原画中挑选自己喜欢的,把它画成模型。然后发现选的原画每次都给自己挖了很多的坑。在选这张原画的时候想的是,小萝莉卡哇伊。一身金闪闪发光blingbling的,贼漂酿。头发直接就是一个条一个条的,全身除了头上的装饰还有肩部的就没啥了,还是ok的。但是在实际的模型制作还有贴图制作中发现,emmmm,有一个深坑,快爬不出来了。谁来救一下可爱的小哥哥。下面呐就是我选的卡哇伊小姐姐。挑战一下这种非正常肤色。(图1原画)下面呐…

    2022年4月11日
    48
  • webpack版本区别_webpack和vue cli区别

    webpack版本区别_webpack和vue cli区别首先我们查看一下webpack的版本信息吧:现在已经更新到4.2.0版本了,理论上,我们可以选择任何一个版本,但是新的版本也不一定就是最好的选择,可能存在各种各样的问题,一旦出现了让人纠结的问题,解决麻烦还是挺浪费时间的,并且4.0以后的版本已经分离了webpack-cli,所以目前,无论是学习还是开发项目,我们可以先选择之前较为稳定的版本,个人还是用的3.0的版本;当然了,新的版本还是要测试着…

    2022年8月10日
    34
  • GitLab分支介绍

    GitLab分支介绍GitLab简介:GitLab是由GitLabInc.开发,使用MIT许可证的基于网络的Git仓库管理工具,且具有wiki和issue跟踪功能。使用Git作为代码管理工具,并在此基础上搭建起来的web服务。GitLab由乌克兰程序员DmitriyZaporozhets和ValerySizov开发,它由Ruby写成。后来,一些部分用Go语言重写。截止2018年5月,该公司约有290名团队成员,以…

    2025年5月25日
    3
  • QQ图片回复变色:从制作到发送「建议收藏」

    QQ图片回复变色:从制作到发送「建议收藏」如果您不知道这指的是什么,您可能不需要阅读本文。原料Photoshop,建议使用CC新版。手机QQ,电脑版未测试。制作用Photoshop打开图片,并从“图层”窗口点击

    2022年8月10日
    5
  • python缩进错误-如何改正python缩进错误[通俗易懂]

    广告关闭2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。我正在尝试制作一个程序,给我一个可能的密码列表,并将它们放入记事本文件中完整的错误回溯如下:文件“pass_crack_list.py”,第16行file.write(猜测+尝试)#unexpectedindenterror..为什么?!taberror:缩进中不…

    2022年4月8日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号