这是一个与我以前提出的一个问题有关的问题。
https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1028429/dp83822hf-the-behavior-of-linkup-status-on-basic-mode-status-register-bmsr/3806283
如果未插入 SFP 模块并且仅在以下电路中使用 SFP 盒和连接器时打开电源:
DP83822HF 的链路状态可能为有效。 (概率:70~ 80%)
基本模式状态寄存器(BMSR)为0x784D (位2 =建立有效链路)。
这会使 Link/ACT 和 Speed LED 亮起或闪烁。
[方框图]
由于未插入 SFP 模块但连接了、因此我们怀疑 DP83822HF 的输入信号发生了变化、并测量了 LED 改变前后的波形。
测量点:
(1) LED_1/GPIO1 (SD_IN):没有问题(3.3V 固定)
(2) TD_ P:没有问题(正弦波)*但是,测量点是 SFP 连接器的18引脚。
(3) TD_ N:没有问题(正弦波)*但是,测量点是 SFP 连接器的19引脚。
(4) RD_P:LED 不亮起*但是、测量点位于 SFP 连接器的13引脚(方框图中的"测量点"部分)。
(5) RD_N:无错误(0 V 固定)*但是,测量点是 SFP 连接器的12引脚。
从上面可以看出、当示波器连接至 SFP 连接器的13引脚时、不会出现这种情况。
此外、未发生用 GND 削波 SFP 连接器的13引脚的情况。
因此、链路系数被视为 TD_Ppin 的输入信号。
此外、继续测量 SFP 连接器13引脚的波形。
连接示波器后、确认从3.3V 放电到0V。
如果在连接示波器时通电、则在施加3.3V 电压后会立即发生放电。 (图1)
在电源打开后连接示波器时、此时会发生放电。 (图2)
[波形] CH1:RD_P (SFP 连接器13pin)、CH2:DP8382254的重置、ch3:+3.3V
图1
图2
在猜测中、RD_P 信号线中的交流耦合电容器已充电。
此后、噪声馈入 RD_P 引脚、并被视为链路的错误检测。
*不可能测量出现噪声时的波形,因为连接示波器时不会出现这种现象。
此外、由于元件的安装状态、无法直接测量 DP83822HF 的 RD_P 引脚。
[问题]
(1)这一猜测是否正确?
(2)首先、RD_P/RD_N 和 TX_P/TD_N 的端接电路是否正确?
(3)对于 DP83822HF、在100BASE-FX 条件下、LinkUp 状态变为有效的第一个条件是什么?
如果 RD_P/RD_N 信号波动、它是否有效?
还是不是波动,而是谈判完成后有效?
(4)另一种可能性是它处于环回模式、而不是来自寄存器转储结果。
除环回模式外、在未连接电缆或 SFP 模块时是否可以检测链路?
(5)是否可以采取任何措施、只需更改寄存器设置而不更改电路即可?
[补编]
打开电源后、DP83822HF 的寄存器设置将更改为如下。
(1)将地址0x0000设置为0x2100
[位12]:0 =禁用自动协商过程
(2)将地址0x000A 设置为0x4100
[位14]:1 =启用100BASE-FX 模式
(3)将0x010B 设置为地址0x0011
[位01]:1 =启用基于事件的中断
[bit00]:1 = INT/PWDN_N 是中断输出
(4)将0x0020设置为地址0x0012
[位05]:1 =在链路状态改变时启用中断
(5)将0x00A0设置为地址0x0017
[位07]:1 = 50MHz 时钟基准、CMOS 级振荡器
[位05]:1 =启用 RMII 运行模式
(6)将0x0100设置为地址0x0462
[位10:8]:001 = LED_3 (默认速度、100Base-TX 较高)
(7)将0x0001设置为地址0x0465
[位00]:1 =信号检测为低电平有效
发生问题时的寄存器转储如下:
0000:21 00
0001:78 4d
0002:20 00
0003:A2 40
0004:00 61
0005:00 00
0006:00 04
0007:20 01
0008:00 00
0009:00 00
000a:41 00
000b:10 00
000C:00 00
000D: 40 1F
000E:00 01
000F:00 00
0010:0A 85
0011:01 0b
0012:E2 20
0013:00 00
0014:00 FF
0015:00 00
0016:01 00
0017:00 A8
0018:04 00
0019:80 04
001A:00 00
001b:00 7D
001C:05 EE
001D:00 00
001e:00 02
001F:00 00
003e:00 00
003f:B4 FF
0040:C1 1d
0042:00 00
0101:20 02
0106:B0 BB
0107:06 05
010f:03 00
0111:60 03
0114:40 0A
0116:01 4A
0121:19 9A
0122:10 27
0123:05 1C
0126:46 1B
0129:00 0F
0130:47 50
0155:00 01
0170:0E 52
0171:C8 5C
0173:FF 1E
0177:18 9B
0180:00 00
0181:00 00
0182:00
0183:00 00
0184:00 00
0185:00 00
0186:00 00
0187:00 00
0188:00 00
0189:00 00
018A:00 00
0215:01 AF
021D:06 00
0403:9F CF
0404:00 20
040d:00 08
0410:20 00
0416:08 70
0418:00 00
041F:00 00
0421:00 07
0428:00 00
0450:0f 41
0456:00 08
0460:05 51
0461:04 10
0462:01 00
0463:00 00
0465:00 01
0467:D7 3F
0468:00
0469:00 40
04a0:10 00
04a1:00 00
04a2:00 00
04a3:00 00
04a4:00 00
04a5:00 00
04a6:00
04a7:00 00
04a8:00 00
04a9:00
04AA:00 00
04ab:00 00
04ac:00 00
04ad:00 00
04ae:00 00
04af:00 00
04b0:00 00
04b1:00 00
04b2:00 00
04b3:00 00
04b4:00 00
04b5:00 00
04b6:00 00
04b7:00 00
04b8:00 00
04b9:00 00
04ba:00 00
04bb:00 00
04bc:00 00
04BD:00 00
04be:00 00
04bf:00 00
04c0:00 00
04C1:00 00
04c2:00 00
04c3:00 00
04c4:00 00
04c5:00 00
04c6:00 00
04c7:00 00
04c8:00 00
04c9:00 00
04ca:00 00
04cb:00 00
04cc:00 0C
04d0:03 02
04d1:01 8B
04d4:72 20
04d5:FB C1
04d6:01 c1
3000:21 00
3001:78 4d
3014:00 FF
3016:01 00
703c:00 00
703d:00 00