主题中讨论的其他器件: HALCOGEN、 DP83869HM、DP83640、 DP83869
工具与软件:
HII、
我正在使用 带以太网 phy dp83869hm 的 tms570lc4357、我无法 与 TMS 建立以太网连接、因为 halcogen 是83860的发电驱动程序、请建议解决方案
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.
工具与软件:
HII、
我正在使用 带以太网 phy dp83869hm 的 tms570lc4357、我无法 与 TMS 建立以太网连接、因为 halcogen 是83860的发电驱动程序、请建议解决方案
尊敬的 Gourav:
从 HALCoGen 生成的驱动程序代码适用于 DP83640
您可以按照以下过程使此 DP83640驱动程序与 DP83869配合使用。
1.首先需要在应用程序代码中标识 DP83640中正在使用的 API。
在我的验证中、他们使用代码中突出显示的以下四个 API:
2.现在、您应该需要验证 PHY 寄存器以及这些 API 中正在使用的相应位
在我的验证中、我发现它们使用了下面突出显示的寄存器。
在我的验证中、我发现它们使用了以下突出显示的位:
3.现在我们需要比较上述突出显示的寄存器地址在两个 PHY IC (DP83640和 DP83869)中是否相同。
在 PHY IC 中它们看起来是相同的。
因此、我的建议是以现有的 DP83640示例为例、或者创建一个示例。 并对 DP83869进行测试、它很可能会起作用。
您可以在以下链接中找到以太网示例:
——
谢谢、此致、
Jagadish。
你好 Jagadish 先生,请求解决上述 Jagadish gundavarapu
尊敬的 Gourav:
我收到了类似的问题主题:
此处、客户遇到问题、原因是使用了旧的 HALCoGen 代码。 因此、请验证您是否仅使用新的 HALCoGen (4.7.1)。
同时 确保 pinmux 设置正确。
只需确保您的 pinmux 设置符合以下工程:
e2e.ti.com/.../8865.LwIP-_2800_1_2900_.zip
在上面的项目中、我们也使用与您的 MII 引脚相同的 MII 引脚。 因此、请确保您的 pinmux 设置与上述项目一致。
——
谢谢、此致、
Jagadish。
我能够成功运行 EMAC 环回、数据正在 pbuf_array 中、感谢您的支持、是否意味着我的控制器能够与 Phy 通信、我还不熟悉 jagadish gundavarapu
尊敬的 Gourav:
我们没有任何 Lwip 上的 MQTT 示例。
我只能在下面找到一些可能对您有用的线程。
(9) LAUNCHXL2-570LC43:LAUNCHXL2-570LC43 -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
(9) TMS570LS3137:lwip 和 FreeRTOS 示例项目-基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛
——
谢谢、此致、
Jagadish。
尊敬的 Gourav:
您能否请参阅以下常见问题解答?
这里、我用示例代码逐步介绍了动态 IP 分配的过程。
——
谢谢、此致、
Jagadish。
尊敬的 Gourav:
您如何设计此定制板、您是否参考了我们的 Lauchpad 或 HDK?
提出问题的原因是、launchpad 和 HDK 采用不同的设计。
如果您验证 PHY CLK IN Put in Launchpad 和我们的 HDK:
LaunchPad:
HDK:
如您所见、在我们的 launchpad 中、我们使用来自控制器的 ECLK 提供 PHY 时钟、但在 HDK 中、我们使用外部时钟发生器提供时钟。
因此、如果您遵循 LaunchPad 设计、则应需要在 ECLK1引脚上生成25MHz ECLK。
有关配置的更多详细信息、请参阅以下链接一次:
用于 Hercules LaunchPad 的最小 lwIP 项目- Hackster.io
——
谢谢、此致、
Jagadish。
尊敬的 Jagadish:
请找到附件中的原理图。 我们使用开源工具进行研究。 提供25 MHz 的外部时钟。
dp83869和 dp83640的时钟配置是否相同、因为此处我们使用的是83869、
标记的引脚无法使用 halcogen 进行配置、这在数据表中未找到、
我更担心引脚 T9 MDC 引脚、当 MDIO 读取 th phy 寄存器时、代码也会卡住、
尊敬的 Gourav:
我已验证您的原理图、它与 LaunchPad PHY 连接完全相同、 如下所示:
LAUNCHXL2-570LC43开发套件|德州仪器 TI.com
因此、我建议您在以下链接中下载 Launchpad LwIP 示例代码:
并确保完全使用与上述示例相同的引脚配置。
——
谢谢、此致、
Jagadish。
尊敬的 Gourav:
VCLK4对 PHY 没有任何依赖:
该时钟仅用于内部 EMAC 逻辑。
您可以做一个测试吗、您可以尝试将 MDC 时钟频率增加到2.5MHz 吗?
以前、该值为1MHz、您可以使用2.5MHz 进行测试吗?
该1MHz MDIO 时钟适用于 DP83640、但不确定 DP83869
请尝试使用2.5MHz、告诉我结果。
——
谢谢、此致、
Jagadish。
尊敬的 Gourav:
我更改了 MDC 配置,也给出了静态 IP,相同的结果 dp83640也具有相同的时钟配置,
您是对的。
您能否在此设置一次现场调试会话、以便我能直接验证您的代码和测试结果。
注意、您对 FreeRTOS 有示例代码。 [报价]LwIP 上只有一个 FreeRTOS 示例、您可以在下面的链接中找到该示例:
——
谢谢、此致、
Jagadish。
或 (无标题)
7月19日星期五·下午1:30–2:30
时区:亚洲/加尔各答
Google 会议加入信息
视频呼叫链接: meet.google.com/kjf-nkez-hvr
(无标题)
7月19日、星期五·下午6:40–7:40
时区:亚洲/加尔各答
Google 会议加入信息
视频呼叫链接: https://meet.google.com/dkg-qovr-oie
尊敬的 Gourav:
我认为这可能会造成一个问题:
由于您的原理图中有两个名称、我也首次在验证中感到困惑、PHY 端的红色名称看起来正确、但 PHY 端的蓝色名称看起来错误。
但是、我想 PHY 与控制器之间的连接是使用蓝色名称建立的。 PHY 和控制器之间的实际连接如下所示:
您可以看到、控制器上的 TXD0最终连接到 PHY 上的 TXD3、类似地、控制器上的 TXD1连接到 PHY 上的 TXD2、控制器上的 TXD2连接到 PHY 上的 TXD1、控制器上的 TXD3连接到 PHY 上的 TXD0。
这可能不会影响 PHY 和控制器之间的 MDIO 通信、因为这种通信发生在其他 MDC 和 MDIO 线路上、这可能是我们不存在 PHY ID 接收和 PHY 链路状态等问题的原因 但是、这可能会给以太网数据通信带来问题、此处的位可能会随机播放、数据可能被其他终端设备(如路由器或 PC)错误接收。
——
谢谢、此致、
Jagadish。
尊敬的 Gourav:
我认为固件无法纠正此问题、因为它与硬件引脚连接有关。
我想到两种方式:
1.我认为我们应该以某种方式断开控制器和 PHY IC 之间的这些引脚连接,并且应该使用外部导线正确连接它们。
也许我们需要在 PCB 上识别这四个轨道、并需要切断它们、还需要使用外部导线进行正确连接。 这可能不是一个容易的过程。
2.我希望这块 PCB 是一个原型 PCB、因此您可能需要设计另一块具有正确连接的 PCB。
我不知道其他任何可能的方法。
——
谢谢、此致、
Jagadish。
尊敬的 Gourav:
除了更换硬件、我不知道还有什么其他简单的选择。
可能有一种可能的方法、但它需要付出很大的努力、而且 不确定它是否也起作用。
也就是说、更改将通过 EMAC 发送出去的每个半字节(4位)的数据位顺序。 这是一个非常困难的过程、需要投入大量精力来了解将要传输的完整数据、我们应该需要更改从 EMAC 传输的每个半字节的顺序。
这是因为当天结束时、来自 MAC 的数据将通过四条线路并行传输、对吧? 我是指 TXD_3、TXD_2、TXD_1和 TXD_0。 如果我们考虑一个字节的传输、它将以两个半字节的形式进行传输、对吧?
在本例中、从 MSB 到 LSB 的半字节顺序应为 TXD0、TXD1、TXD2和 TXD3、因此我们需要按此方式更改每个半字节数据顺序。 我最后不能这样做、因为这需要大量的努力和时间。 如果要进行试用、则需要构建自己的应用。
但我的建议 最好只针对我之前的两项建议。
——
谢谢、此致、
Jagadish。
尊敬的 Gourav:
将分配自动分配的 IP IP 地址、但不分配 ping。
您是指静态 IP?
dhcp 显示 phy 活动状态错误
如果对于静态 IP PHY、活动状态成功意味着 DHCP、则也应该仅成功。 在仅 PHY 活动状态之后、我们将分配 IP 地址、因此对于静态 IP、如果 PHY 活动状态成功意味着 DHCP 有效、它不应停留在 PHY 活动状态?
您对静态和 DHCP 使用相同的代码吗? 我们只需将 lwIPInit 参数更改为 IPADDR_USE_DHCP、对吧?
——
谢谢、此致、
Jagadish。
尊敬的 Gourav:
下面有一个 FreeRTOS + TCP 示例:
您能验证此代码一次、对您可能有所帮助吗?
——
谢谢、此致、
Jagadish。
e2e.ti.com/.../1067.hdkif.ce2e.ti.com/.../HL_5F00_phy_5F00_dp83640.ce2e.ti.com/.../HL_5F00_phy_5F00_dp83640.hHii、Jagadish 正如我们讨论过的有关错误引脚配置的内容、我们有反转的引脚、此外、我尝试在 hdkif.c 中进行更改、现在每次代码陷入硬件初始化错误时、我都是 DHCP 和静态 IP、可能的原因是什么。
我能够正确读取所有寄存器值、广播1000bps 禁用、根据数据设置、链接状态也正确值接收、但最后显示硬件初始化错误