自协商SGMII_板上调试篇

前言

目前,网口和网口的都调通了,但截图比较早了,而且光口的验证还有点麻烦,需要光模块和光交换机,设备需要协调,说白了,找人借,光口验的时候是先两个光口自环,然后再分别通过一个光转电的模块与电脑互ping,然后,看寄存器或者抓的信号来验证的,本篇主要分享下电口的调试和验证。

环境搭建

单板通过网线与电脑直连,PC通过串口进入单板系统,主要是BSP:寄存器读写、以太网配置,还有交换芯片的底软,监测连接状态。

在这里插入图片描述

千兆分析

Q0

前端只有PHY2有链接,所以只能抓到PHY2的data_valid脉冲信号,虽然PHY3的status_vector的[1:0]为11,但是bit[7]为0,表示link down,所以bit[7]为1的时候,状态向量显示的信息才有效。双、半双工、速率在bit[12]和bit[11:10],1、10即双工、1000
在这里插入图片描述

Q1

能看出哪里有问题吗?有两个,第一,双工、半双工显示为0,这个待会说;第二,就是PHY1的配置AN_adv16‘h9821,这是因为上一版本赋值的默认值设置为了16‘h9821,导致的问题就是因为bit[15]为1,就通知了交换芯片侧的reg5为link up!并且这一状态会一直保持,上一篇笔记已经强调并解决了这个问题。
在这里插入图片描述
但通过读交换侧的寄存器,发现已经配置好了千兆、双工模式
在这里插入图片描述

千兆转百兆全双工

咳咳,换了一个网口,所以现在是PHY1了

Q0

状态寄存器显示正确
在这里插入图片描述
这一张是前一张的放大图,时钟域是在125MHz的userclk2,有效数据的时钟刚好是空闲的1/10,即12.5MHz
在这里插入图片描述

Q1

我抓取的AN_restart信号,可以看到“重启”之后,phy mode的Q1与交换侧并没有立刻完成自协商,而是开始发送一系列数据,\C\码 AN sequence,就是上一篇所说的把Q1 reg4的内容advertise交换的reg5
在这里插入图片描述
同样,这里也有个问题,双工模式显示不正确。
在这里插入图片描述
但读寄存器显示的百兆全!至于这个问题,硬件的同事给的解释是电脑强制配置会导致全双工降至半双工,通过交换机就不会出现这种问题。
在这里插入图片描述

百兆全转百兆半

分析同上类似,可以看到读寄存器显示的信息是准确的d401-->c401

Q0

在这里插入图片描述

Q1

在这里插入图片描述
在这里插入图片描述

PING包

最直接的,两端配好IP,ping包

PCping

在这里插入图片描述

Q0

在这里插入图片描述

Q1

在这里插入图片描述

BoardPing

在这里插入图片描述

Q0

在这里插入图片描述

Q1

在这里插入图片描述

总结

目前该核的主要内容都已完成,一些细节的再慢慢补充。
但就调试的感悟就是,调试的一大目的也是为了发现问题,除了设计初期尽可能的保证设计,调试阶段则应尽可能的进行分析全面,否则,每次重新编译的时间就开销很大,对精力也是考验。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值