主题中讨论的其他器件: DP83869
大家好!
我们需要 通过两个 DP83869EVM 套件将 Basler www.baslerweb.com/.../上的 GigE Vision 摄像机连接到笔记本电脑。 几秒钟后,连接就会中断,并需要几秒钟时间才能在 Basler Viewer 中重新启动。 只有当我开始流式传输视频时、才会发生这种情况、因此使单张图片可以正常工作。 我假设视频流的高数据速率会导致某些控制信号丢失。 在 Wireshark 中、我们可以看到使用 GVSP 和 GVCP 协议的 UDP 数据包、第一个用于流、第二个用于控制。
例如、Wee 看到通过 GVCP 协议从计算机到摄像机进行寄存读取、而这并未得到摄像机的响应、因此这些 GVCP 数据记录可能会在视频流(GVSP)之间丢失。
当直接将摄像头连接到笔记本电脑或使用来自其他 PHY 供应商的两个 EVM 套件时、我们不会看到此问题。 当我们通过开关将摄像头连接到笔记本电脑时、我们也不会看到这个问题、因此我们假设它与此 PHY 相关。
我们也会在使用两个 DP83867 EVM 套件时看到这个问题、但我们不知道它们在内部有多相似。
我们在使用数据包间隙过小的类似器件方面遇到问题、因此我们已经将0x53寄存器中的值降低到0x4。
为了进行调试、我已经在链路断开前后进行了寄存器转储。
这个是在链路断开之前。 列式计算机是笔记本电脑旁边的 Phy、列式摄像头位于摄像头旁边。
┏━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┓ ┃ Register ┃ computer ┃ camera ┃ ┡━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━┩ │ 0x0000 │ 0x1140 │ 0x1140 │ │ 0x0001 │ 0x796d │ 0x796d │ │ 0x0002 │ 0x2000 │ 0x2000 │ │ 0x0003 │ 0xa0f3 │ 0xa0f3 │ │ 0x0004 │ 0x01e1 │ 0x01e1 │ │ 0x0005 │ 0xc1e1 │ 0xcde1 │ │ 0x0006 │ 0x006d │ 0x006d │ │ 0x0007 │ 0x2001 │ 0x2001 │ │ 0x0008 │ 0x4806 │ 0x4006 │ │ 0x0009 │ 0x0300 │ 0x0300 │ │ 0x000a │ 0x3800 │ 0x7800 │ │ 0x000b │ 0x0000 │ 0x0000 │ │ 0x000c │ 0x0000 │ 0x0000 │ │ 0x000d │ 0x401f │ 0x401f │ │ 0x000e │ 0x2054 │ 0x2054 │ │ 0x000f │ 0xf000 │ 0xf000 │ │ 0x0010 │ 0x5048 │ 0x5048 │ │ 0x0011 │ 0xaf02 │ 0xaf02 │ │ 0x0012 │ 0x0000 │ 0x0000 │ │ 0x0013 │ 0x0000 │ 0x0000 │ │ 0x0014 │ 0x29c7 │ 0x29c7 │ │ 0x0015 │ 0x0000 │ 0x0003 │ │ 0x0016 │ 0x0000 │ 0x0000 │ │ 0x0017 │ 0x0040 │ 0x0040 │ │ 0x0018 │ 0x6150 │ 0x6150 │ │ 0x0019 │ 0x4444 │ 0x4444 │ │ 0x001a │ 0x0002 │ 0x0002 │ │ 0x001b │ 0x0000 │ 0x0000 │ │ 0x001c │ 0x0000 │ 0x0000 │ │ 0x001d │ 0x0000 │ 0x0000 │ │ 0x001e │ 0x0012 │ 0x0012 │ │ 0x001f │ 0x0000 │ 0x0000 │ │ 0x0053 │ 0x2054 │ 0x2054 │ └──────────┴──────────┴────────┘
此转储在链路断开后:
┏━━━━━━━━━━┳━━━━━━━━━━┳━━━━━━━━┓ ┃ Register ┃ computer ┃ camera ┃ ┡━━━━━━━━━━╇━━━━━━━━━━╇━━━━━━━━┩ │ 0x0000 │ 0x1140 │ 0x1140 │ │ 0x0001 │ 0x796d │ 0x796d │ │ 0x0002 │ 0x2000 │ 0x2000 │ │ 0x0003 │ 0xa0f3 │ 0xa0f3 │ │ 0x0004 │ 0x01e1 │ 0x01e1 │ │ 0x0005 │ 0xc1e1 │ 0xcde1 │ │ 0x0006 │ 0x006d │ 0x006d │ │ 0x0007 │ 0x2001 │ 0x2001 │ │ 0x0008 │ 0x4806 │ 0x4006 │ │ 0x0009 │ 0x0300 │ 0x0300 │ │ 0x000a │ 0x3800 │ 0x7800 │ │ 0x000b │ 0x0000 │ 0x0000 │ │ 0x000c │ 0x0000 │ 0x0000 │ │ 0x000d │ 0x401f │ 0x401f │ │ 0x000e │ 0x2054 │ 0x2054 │ │ 0x000f │ 0xf000 │ 0xf000 │ │ 0x0010 │ 0x5048 │ 0x5048 │ │ 0x0011 │ 0xaf02 │ 0xaf02 │ │ 0x0012 │ 0x0000 │ 0x0000 │ │ 0x0013 │ 0x0000 │ 0x0000 │ │ 0x0014 │ 0x29c7 │ 0x29c7 │ │ 0x0015 │ 0x0000 │ 0x0006 │ │ 0x0016 │ 0x0000 │ 0x0000 │ │ 0x0017 │ 0x0040 │ 0x0040 │ │ 0x0018 │ 0x6150 │ 0x6150 │ │ 0x0019 │ 0x4444 │ 0x4444 │ │ 0x001a │ 0x0002 │ 0x0002 │ │ 0x001b │ 0x0000 │ 0x0000 │ │ 0x001c │ 0x0000 │ 0x0000 │ │ 0x001d │ 0x0000 │ 0x0000 │ │ 0x001e │ 0x0012 │ 0x0012 │ │ 0x001f │ 0x0000 │ 0x0000 │ │ 0x0053 │ 0x2054 │ 0x2054 │ └──────────┴──────────┴────────┘
我们如何解决此问题?
如果这再次成为数据包间隙问题、我们可以再次减小寄存器0x53中的值吗?
在这种情况下、是否需要观察其他寄存器?
测试后、我们在转储中又看到3个 RXERR、我们能否看到这里到底发生了什么故障?
此致
弗朗茨