Other Parts Discussed in Thread: DP83825I
大家好、
我已经调试过此芯片 DP83825I 一段时间、并且到目前为止遇到了一些无法解决的问题。
调试 DP83825I 的 TDR 功能时、我主要参考其数据表和 www.ti.com/.../snla330 应用手册。 SNLA330本手册调用一些数据表中未描述的寄存器。 第4页和第5页之间的表存在打印错误、因此我无法确定是否将正确的参数传递到寄存器中。
优点是 DP838's TDR 功能在大多数情况下工作正常、但当电缆长度在3米到10米之间时、测试结果非常不稳定、并且与电缆长度相差很大。 根据 SNLA330中提供的公式、这个范围内的电缆的测试结果全部计算在10米左右、而电缆_诊断_测试_Fil 在寄存器0x1E 中
寄存器0x1E 中的 EIL 位显示频繁测试故障。
值得注意的是、在本测试故障情况下、0x1E 寄存器的返回值与测试更长电缆长度时的测试情况不同(通常是0x102、一切正常)、它返回0x303或0x301。在数据表中、 0x1E 寄存器中的这些位标记为保留、标记为保留的寄存器的含义是什么? SNLA330中有一个数据表中未提及的寄存器、该寄存器写入(0x411)、这些寄存器的含义是什么?
以下伪代码是我的程序通过 MDIO 接口与 DP83825I 通信并执行 TDR 测试的主要流程、希望能找出问题。 是否遗漏了任何需要注意的寄存器。
复位芯片(WR 0x1f 0x8000)
关闭自动诊断(WR 0x0 0X2100)
禁用 MDIO 自动协商(WR 0x19 0x0)
将0x456寄存器配置为0x0608
将0x411寄存器配置为0x0813
将0x416寄存器配置为0x08A0
将0x170寄存器配置为0x5C12
将0x173寄存器配置为0x0D07
将0x175寄存器配置为0x1004
将0x177寄存器配置为0x1E00
将0x178寄存器配置为0x2
将0x1E 寄存器配置为0x8000
查询0x1E 寄存器、直至超时或测试成功或测试失败
读取0x180寄存器
读取0x185寄存器
读取0x18A 寄存器
根据上述寄存器的值计算电缆长度、并在未发生峰值时测试下一个 SEG
祝你一切顺利。
