本帖最后由 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信号
mdc.gif (160.04 KB, 下载次数: 0)
2017-2-14 17:33 上传
mdio信号
mdio.gif (142.13 KB, 下载次数: 0)
2017-2-14 17:36 上传
5. X1-X2晶体,一个正弦波,一个三角波
6. 网线没有插入式LINK为高电平,插入网线后高低电平交替,面板上黄色LED灯闪烁
7.没有插入网线时TX、RX上有毛刺脉冲,脉冲周期 64us,脉冲宽度 100ns,脉冲组间隔16ms,脉冲组宽度 2ms
脉冲周期
td-signal-t.gif (148.1 KB, 下载次数: 0)
2017-2-14 17:18 上传
脉冲宽度
td-signal.gif (144.29 KB, 下载次数: 0)
2017-2-14 17:19 上传
脉冲组间隔
8013-1.gif (160.12 KB, 下载次数: 0)
2017-2-14 17:22 上传
脉冲组宽度
8013-2.gif (152.67 KB, 下载次数: 0)
2017-2-14 17:20 上传
个人理解:
为什么RX上能收到与TX相同的脉冲?
802.1使用CSMA/CD机制,处于半双工模式,在发送过程同样接受自己发送的信号,若收发内容不一致判断有其他机器在抢占带宽。
所以RX上的信号是Tx经过PHY内部电路环回到Rx上。
8. 接入网线后,能ping通时,Tx信号幅度“必定”大于Rx;不能ping通时信号强度大多时候RX幅度 > Tx幅度能ping通时Rx信号幅度1.08V
ok-rx.gif (161.29 KB, 下载次数: 0)
2017-2-14 17:29 上传
能ping通时Rx信号幅度1.41V
ok-tx.gif (163.58 KB, 下载次数: 0)
2017-2-14 17:30 上传
个人理解:
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信号样子也一样,只是正好相反,幅度大的时候接受,幅度小的时候发送
tuili.png (11.33 KB, 下载次数: 0)
2017-2-14 17:38 上传
由此得出推断3):在网线接入网卡后,PHY完成某些网络参数探测,包括:速率、工作模式(具体过程我尚不清楚)。探测结束后PHY工作在全双工模式。
这样才能圆2)里的矛盾。
所以:
1)现象里网卡工作在“半双工”;
2)工作在“全双工”;