您好!
我们的电路板 正在运行 DP83826E 硬件版本1 (PHYIDR2寄存器字段版本号= 1)。
具有 DP83826E 硬件版本0 (PHYIDR2 寄存器字段版本号= 0)且同一软件未运行的第二个 PCB。 没有链路。
这两个版本之间的区别是什么?
为了使修订版本0运行、必须在软件中修改什么?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好,Hillman,
感谢您的快速响应。
两个板的原理图是相同的。 唯一的区别是 DP83826E 的修订版本。
我们只读取自举寄存器。 两个版本的值是相同的:对应于原理图中的设置的0x0086。 但是、我们发现版本0在启动时为10Mbit/s 半双工、而不是所需的100Mbit/s 全双工。 我们现在 在软件中将芯片植入为100Mbit/s 全双工。 检查寄存器显示这样做是正确的。 当从另一个 ECU 发送以太网帧时、修订版0会释放链路并跳转到 10Mbit/s 半双工。 它会 在几秒钟后自动恢复到100Mbit/s 全双工、但当我们发送下一帧时再次失败...
修订版1芯片未显示此行为。
此致
斯文
你好,Hillman,
在启动后、我只需直接读出您要求的所有寄存器(见下文)、然后便可开始通信。 对于 rev 0芯片、我通过用于 rev 1的标准初始化读取寄存器、它可以正常工作、并对寄存器0x00和0x04进行额外设置、如下所示:
| 寄存器 | 修订版1 | 修订版0 | 修订版0 |
| 地址 | 标准初始化 | 标准初始化 | 初始化 |
| 寄存器0x00 = 0x3100 | |||
| 寄存器0x04 = 0x01E0 | |||
| 0x00 | 0x3100 | 0x3000 | 0x3100 |
| 0x01 | 0x786D | 0x786D | 0x786D |
| 0x02 | 0x2000 | 0x2000 | 0x2000 |
| 0x03 | 0xA111 | 0xA110 | 0xA110 |
| 0x04 | 0x01E1 | 0x00A1 | 0x01E1 |
| 0x05 | 0x41E1 | 0x41E1 | 0x41E1 |
| 0x06 | 0x0005 | 0x0005 | 0x0005 |
| 0x07 | 0x2001 | 0x2001 | 0x2001 |
| 0x08 | 0x0000 | 0x0000 | 0x0000 |
| 0x09 | 0x0000 | 0x0000 | 0x0000 |
| 0x0A | 0x0102 | 0x0100 | 0x0100 |
| 0x0B | 0x0009 | 0x0000 | 0x0000 |
| 0x0C | 0x0000 | 0x0000 | 0x0000 |
| 0x0D | 0x0000 | 0x0000 | 0x0000 |
| 0x0E | 0x0000 | 0x0000 | 0x0000 |
| 0x0F | 0x0009 | 0x0000 | 0x0000 |
| 0x10 | 0x4615 | 0x0611 | 0x4615 |
| 0x11 | 0x010B | 0x010B | 0x010B |
| 0x12 | 0x0000 | 0x0000 | 0x6C00 |
| 0x13 | 0x0000 | 0x2800 | 0x2800 |
| 0x14 | 0x0000 | 0x0000 | 0x0000 |
| 0x15 | 0x0000 | 0x0000 | 0x0000 |
| 0x16 | 0x0100 | 0x0100 | 0x0100 |
| 0x17 | 0x0045 | 0x0041 | 0x0041 |
| 0x18 | 0x0400 | 0x0400 | 0x0400 |
| 0x19 | 0x8C01 | 0x8401 | 0x8C01 |
| 0x1A | 0x0000 | 0x0000 | 0x0000 |
| 0x1b | 0x007D | 0x007D | 0x007D |
| 0x1C | 0x05EE | 0x05EE | 0x05EE |
| 0x1D | 0x0000 | 0x0000 | 0x0000 |
| 0x1E | 0x0102 | 0x0102 | 0x0102 |
| 0x1F | 0x0000 | 0x0000 | 0x0000 |
| 0x218 | 0x2B… 0x069 | 0x2B… 0x035 | |
| 0x467 | 0x0086 | 0x0086 | 0x0086 |
如果这是一个信号质量问题、为什么它使用修订版1芯片、为什么修订版0在启动后立即显示出不同的值?
我们如何将这两个版本区分为未来 PCB 的订购号?
在数据表的什么地方描述了这两个版本之间的差异?
此致
斯文
尊敬的 Sven:
在 rev1和 rev0之间、它主要是在 straping 选项上的变化。 在修订版1中、我们还为 EtherCAT 应用提供了增强模式。 从对0x000A 和0x000B 的寄存器读取中、我确实看到 启用了奇半字节检测、这始终会给 EtherCAT 应用带来意外问题。
如果可能、您还可以更改寄存器0x000A 和0x000B、以查看这对您的应用是否有帮助。
--
此致、
林希尔曼