尊敬的 TI 专家:关于使用单个 Mac 驱动至双端口 PHY 的正确驱动、我需要您的宝贵建议、建议和指导。
我的问题。
LWIP 堆栈传入数据会生成中断、但出于某种原因、UDP 接收或 TCP 接收回调函数无法正常工作。 我不确定接收过程中卡住了什么地方。
是否有相关的应用程序代码示例?
我看了论坛上几乎所有的主题,但我找不到解决方案。 任何信息都是我认可的
此致
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.
尊敬的 TI 专家:关于使用单个 Mac 驱动至双端口 PHY 的正确驱动、我需要您的宝贵建议、建议和指导。
我的问题。
LWIP 堆栈传入数据会生成中断、但出于某种原因、UDP 接收或 TCP 接收回调函数无法正常工作。 我不确定接收过程中卡住了什么地方。
是否有相关的应用程序代码示例?
我看了论坛上几乎所有的主题,但我找不到解决方案。 任何信息都是我认可的
此致
你好、Volkan!
我通读了你的消息以及你 在这里的上一篇文章。 我想后退一步、从高层次开始讨论、然后慢慢地深入讨论细节。 下面我总结了我对最终用途应用的理解、如果我误解了我、请纠正我。
MAC A 已连接、MAC B 悬空。
在正常模式下、数据流将从 MAC A 传输到端口 A。 您已确认此案例适用于您的应用。
在扩展器模式下、数据流将从端口 A 流向端口 B、完全绕过 MAC 接口
根据我的理解、您希望根据以太网数据包的目标地址在正常模式和扩展器模式之间切换。 我认为没有一个简单的方法可以做到这一点。 例如、如果我们处于扩展器模式、则 MAC A 上绝不会收到任何数据包、这意味着 MCU 将永远不会收到任何数据来决定何时通知849切换模式。
作为一个快速实验来确认这一点、您能不能
此致、
Alvaro
尊敬的 Volkan:
感谢您提供方框图、它对您很有帮助。 由于我在下面提到的原因、当前配置将无法实现。
例如、如果我们处于扩展器模式、则 MAC A 上不会接收到任何数据包、这意味着 MCU 永远不会收到任何数据来决定何时让849切换模式。
解决方案是同时使用 MAC、A 和 B 以及端口 A 和 B。这与在电路板上安装两个以太网 PHY 基本相同。
此致、
Alvaro
尊敬的 Volkan:
感谢您的答复、我想道歉、因为我误导了您。 是的、RX 监控功能将允许 MAC A 查看从端口 A 接收的数据包。请参阅下面的我的响应(1-3)以了解更多详细信息。
正如我之前所说的、它旨在通过动态配置多路复用器作为 PHY 寄存器的扩展器和正常端口模式、为同一网络中具有不同 IP 地址的多个节点提供数据流。
PHY 将等待扩展器模式、直到接收到匹配的以太网数据包目标地址、如果需要响应、则将其模式更改为"正常"、以建立 MAC-A 到端口 A TX 引脚有效。[/QUOT]理论上这是可能的、但这似乎是菊花链更困难的实现。 您的 MCU 可用 MAC 接口的数量是否受限?
您当前的问题出在该 RX 监控功能中。 这到底是如何实现的? 我的理解说明如下
- 节点1处于扩展器模式且已启用 RX 监控
- 节点1接收到一个 需要响应返回主机 PC 的数据包
- MCU 需要写入849寄存器、才能将其配置为正常端口模式
- 在此期间、主机 PC 将无法向节点1的下游发送数据包
- MCU 将此响应发送至主机 PC、然后使用 RX 监控将 DP83849配置回扩展器模式
如果主机 PC 尝试 ping 节点1、会发生什么情况?
此致、
Alvaro