13686|4

222

帖子

2

TA的资源

一粒金砂(高级)

楼主
 

网卡如何识别10M/100M,如何检测网线插入 [复制链接]

对网卡的工作机制缺乏理论基础,遇到问题无从下手,请赐教

本人对网卡的基本了解
处理器——MAC控制器——pyh芯片——RJ45——网线
              |<------  网卡范围   ----------------->|

linux下做网卡驱动,偶尔启动后看起来网口的LED灯也闪烁了,但网口的状态不对,正常情况表现如下:
carrier为1表示检测到载波--------------------状态2
duplex为full表示通信方式全双工
speed位1000,具体含义我不太清除

出现问题的状态:-------------状态1
carrier=0
duplex=half
speed=100

网卡从状态1状态2需要经历什么,我用winshark抓包,插拔网线过程没有任何数据包,我猜测
这个过程本就没什么数据,应该只是电频检测,网线对端频率检测等,整个过程更本就不存在任何与“上层”关系的数据包,phy自然不会传递给MAC控制器,winshark也就抓不到数据包。大致流程猜测:
  • 状态1应该是phy芯片的休眠状态,当插入网线后,由于电平关系激活了phy,从而phy检测到载波,carrier为1
  • phy用最低的速率100与对端发送预定义的信号,此时是半双工的(half),当接收端在收到后,也以100的速率发送相同的信号,本地收到后变成全双工(full)
  • 本地网卡用100通信速率问对方,你还能支持更高的1000速率吗?对方回答,没问题,之后speed为1000




出现问题的原因除了软件驱动之外,不排除网卡外围电路硬件缺陷,我手上有250M采样率的四通道示波器用它怎么测试网卡外围电路,需要测量什么参数

  • 检测网线插入是不是通过电平状态???
  • 网卡识别10M/100M的依据是不是载波频率???


最新回复

speed=1000是指 通信速率为千兆 首先你应该确定PHY芯片有没有正常工作,首先看看有没有时钟,应该是晶体产生的,直接测时钟脚,通常是25M。还可以测一下RMII参考时钟输出,百兆PHY的话应该是25M,千兆PHY是125兆。有时钟的话测PHY芯片LINK脚,如果拉低,说明link上。还可以测一下PHY芯片连接MAC芯片的RGMII接口有没有数据变化。你的示波器带宽是250M还是采样率250M,250M采样率略低啊。 没有建立LINK的PHY芯片会不断发送脉冲信号检测对端设备,一旦检测到有设备插入,两者就会协商,包括连接速度,双工模式等。有时候工作在1000M的时候,假如信号质量变差,有些PHY会自动会自动降到100M,等稳定后重新LINK到1000M,但是网卡通常通信质量不会这么差。 另外,网口的绿灯闪烁一般说明工作正常。我也只知道这么些了。  详情 回复 发表于 2017-2-9 19:57
点赞 关注

回复
举报

366

帖子

1

TA的资源

一粒金砂(高级)

沙发
 
speed=1000是指 通信速率为千兆

首先你应该确定PHY芯片有没有正常工作,首先看看有没有时钟,应该是晶体产生的,直接测时钟脚,通常是25M。还可以测一下RMII参考时钟输出,百兆PHY的话应该是25M,千兆PHY是125兆。有时钟的话测PHY芯片LINK脚,如果拉低,说明link上。还可以测一下PHY芯片连接MAC芯片的RGMII接口有没有数据变化。你的示波器带宽是250M还是采样率250M,250M采样率略低啊。

没有建立LINK的PHY芯片会不断发送脉冲信号检测对端设备,一旦检测到有设备插入,两者就会协商,包括连接速度,双工模式等。有时候工作在1000M的时候,假如信号质量变差,有些PHY会自动会自动降到100M,等稳定后重新LINK到1000M,但是网卡通常通信质量不会这么差。

另外,网口的绿灯闪烁一般说明工作正常。我也只知道这么些了。

点评

能抽时间帮看下子我的测试有什么问题吗  详情 回复 发表于 2017-2-14 17:37
谢谢,这一句非常有用 “没有建立LINK的PHY芯片会不断发送脉冲信号检测对端设备,一旦检测到有设备插入,两者就会协商,包括连接速度,双工模式等” 我会按你说的测试 我的示波器是可以测试网卡的,测试过,只是  详情 回复 发表于 2017-2-9 20:17

赞赏

1

查看全部赞赏

 
 

回复

222

帖子

2

TA的资源

一粒金砂(高级)

板凳
 
飞翔荷兰人号 发表于 2017-2-9 19:57
speed=1000是指 通信速率为千兆

首先你应该确定PHY芯片有没有正常工作,首先看看有没有时钟,应该是晶体 ...

谢谢,这一句非常有用
“没有建立LINK的PHY芯片会不断发送脉冲信号检测对端设备,一旦检测到有设备插入,两者就会协商,包括连接速度,双工模式等”
我会按你说的测试
我的示波器是可以测试网卡的,测试过,只是当初看不懂信号的含义
 
 
 

回复

222

帖子

2

TA的资源

一粒金砂(高级)

4
 
本帖最后由 lzwml 于 2017-2-14 17:59 编辑

本帖作为工作笔记,下面是我用示波器测试dps83848 PHY芯片的记录,目前网卡仍旧不能100%工作

测试方法:
pc与电路板连接在同一交换机下,pc 不断ping 电路板IP;
电路板上的网线时而插拔,比较信号差异;

测试结果:
1. 上电后网口绿灯长亮
2. PHY输入时钟信号测得25MHz方波
3. PHY输出时钟没有(无论正常或异常的板子均无信号)
4. MIDO和MDC信号看不懂求教
        MDC信号1.8MHz方波,幅度0-3.3V
        MDIO偏移3.3V,幅度约700mV,锯齿波
mdc信号

mdio信号


5. X1-X2晶体,一个正弦波,一个三角波
6. 网线没有插入式LINK为高电平,插入网线后高低电平交替,面板上黄色LED灯闪烁
7.
没有插入网线时TX、RX上有毛刺脉冲,
脉冲周期 64us,脉冲宽度 100ns,
脉冲组间隔16ms,脉冲组宽度 2ms

脉冲周期
脉冲宽度


脉冲组间隔


脉冲组宽度


个人理解:
为什么RX上能收到与TX相同的脉冲?
802.1使用CSMA/CD机制,处于半双工模式,在发送过程同样接受自己发送的信号,若收发内容不一致判断有其他机器在抢占带宽。
所以RX上的信号是Tx经过PHY内部电路环回到Rx上。

8. 接入网线后,能ping通时,Tx信号幅度“必定”大于Rx;不能ping通时信号强度大多时候RX幅度 > Tx幅度
能ping通时Rx信号幅度1.08V

能ping通时Rx信号幅度1.41V


个人理解:
1)Rx幅度 > Tx幅度
远端ping本地,由上面的过程可知PHY芯片的RX和TX是可以导通的,导通后必定有压降,信号流向Rx----PHY----TX,在PHY上能量损耗。
所以:RX幅度 > Tx

2)TX幅度 > RX幅度
本地收到远端的ping本地,得到协议栈的处理,给予反馈,数据流向:

|   输入数据   | 处理  |    输出    |
Rx----PHY----MAC----协议栈----MAC---PHY----TX

由1)的分析推断PHY的Rx、Tx管脚之间是有“开关”允许导通的,Rx上的信号是Tx信号的探测,
所以:Tx幅度 > Rx

3)由1)、2)推断有自相矛盾:
若网卡工作在半双工模式,那么探头测试Tx信号应该是“强弱交替”进行的,而实际测试过程看不到该现象,该现象使得1)、2)自相矛盾
Tx > Rx 本地发送
Tx < Rx 接收发送


处于半双工模式下设想的Tx信号,测试Rx信号样子也一样,只是正好相反,幅度大的时候接受,幅度小的时候发送


由此得出推断3):在网线接入网卡后,PHY完成某些网络参数探测,包括:速率、工作模式(具体过程我尚不清楚)。探测结束后PHY工作在全双工模式。
这样才能圆2)里的矛盾。

所以:
        1)现象里网卡工作在“半双工”;
        2)工作在“全双工”;









 
 
 

回复

222

帖子

2

TA的资源

一粒金砂(高级)

5
 
飞翔荷兰人号 发表于 2017-2-9 19:57
speed=1000是指 通信速率为千兆

首先你应该确定PHY芯片有没有正常工作,首先看看有没有时钟,应该是晶体 ...

能抽时间帮看下子我的测试有什么问题吗
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表