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.

[参考译文] TMS320F28379D:无法使用 F28379D LaunchPad/子卡将 Wiznet#39;s W5100s SPI 连接到以太网模块(专门为 wiz810sio)

Guru**** 2524550 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1164655/tms320f28379d-unable-to-interface-wiznet-s-w5100s-spi-to-ethernet-module-wiz810sio-specifically-with-f28379d-launchpad-daughter-card

器件型号:TMS320F28379D

您好!  

我正在开发逆变器。 为此、我将 F28379D 子卡用作实时 MCU。 为了监控和控制逆变器、我希望使用以太网作为通信协议。 由于 F28379D 电路板没有板载以太网端口、我将使用 Wiznet 的5100s (具体来说是 Wiz810sio) SPI 转以太网模块作为接口。 但是、我无法使用 Delfino 板对其进行设置。 它未正确初始化、ping 测试失败。 W5100s 芯片有一个芯片版本寄存器。 读取它也不会返回正确的数据。 怀疑以太网芯片出现故障、我在 Arduino Uno 上进行了测试。 连接到 Arduino Uno 时、该模块工作正常。 我能够正确读取芯片版本、ping 测试也能正常工作。 之后、我执行了以下测试:

1) 1)在 F28379D 板上进行环回测试、其中 SPI 数据宽度在一种情况下设置为8位、在另一种情况下设置为16位。 对于这两种情况、环回测试结果都是正确的。  

                     8 bit loopback test results

                                                                  8位回送测试结果

                     

                                                                  16位回送测试结果

2) 2)验证回路测试结果后、我运行简单测试来读取 W5100s 模块的芯片版本寄存器值、并使用 Saleae 的逻辑分析仪记录结果。 我再次尝试通过在一种情况下将 SPI 数据宽度设置为8位、在另一种情况下设置为16位来读取寄存器值。 我还在各种位速率下进行了测试、并在一个情况下手动选择了 STE 线路。 在所有情况下、结果都完全相同。 芯片寄存器的值应该是0x51、但是应该是0x00。  

               

               

               

               

                                                                           逻辑分析仪结果

3) 3)已尝试不同的 W5100s 模块和 F28379D 板、但结果与上述相同。  

4) 4)怀疑3.3V 时的 I/O 电压不足、我在具有3.3V I/O 输出的 ESP32板上测试了 W5100s。 W5100s 芯片在该芯片上运行良好、并给出了正确的结果。  

5)已使用 W5100模块(WIZ812MJ)旧一代 Wiznet 芯片。 令人惊讶的是、该芯片已正确初始化、Ping 测试适用于 F28379D 电路板。 但是、对于该项目、我需要使用较新的向导模块、即 W5100s。   

此时、我无法识别错误并解决问题。 请提供任何帮助。

链接:数据表 W5100s: https://docs.wiznet.io/img/products/w5100s/w5100s_ds_v127e.pdf

技术文档 Wiz810sio: https://www.wiznet.io/wp-content/uploads/2019/01/WIZ810Sio-User-Manual-V1.0-002.pdf

测试代码和逻辑分析仪完整结果: https://drive.google.com/drive/folders/1nJsVZrn1WkpddDWpQZ-RhBXa-MySZ90u?usp=sharing

希望很快收到您的回复。  

最棒的

Avyay Sah。

                                                     

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Avyay、

    首先、感谢您对本内容进行全面调试并提供问题的清晰描述!

    我怀疑所发生的情况是时钟极性和相位设置不正确。 查看提供的 WIZnet 数据表、MOSI 线路 应在 SCLK 的下降沿切换、但在分析仪图上、情况与此相反。

    我们经常看到这个问题、即每个 IC 制造商对 SPI"模式"的定义不同。 请查看 F2837xD 参考手册中的 SPI 章节。 我怀疑您需要更改 SPI 时钟和相位设置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gus、

    非常感谢您的快速回复和查找我的小错误。 我更改了 F28379D 板上的 SPI 模式、W5100s 芯片现在可以工作。 我还记得在将来放大并正确比较时序图。  

    不过,我有疑问。 根据 Wiznet 的数据表、(如果我已正确读取) SPI、对于 W5100和 W5100s 芯片、模式0的定义方式是相同的。  

    在 F28379D 电路板上、当我将 SPI 总线初始化为模式0时、即 SPI_PROT_POL0PHA0、如何在 ping 测试返回正结果而 W5100s 芯片未通过测试时正确初始化 W5100芯片?  

    最棒的

    Avyay

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我很高兴问题得到解决。

    [引用 userid="532124" URL"~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1164655/tms320f28379d-unable-to-interface-wiznet-s-w5100s-spi-to-ethernet-module-wiz810sio-specifically-with-f28379d-launchpad-daughter-card/4383340 #4383340"]W5100芯片在 ping 测试返回正结果而 W5100s 芯片未通过测试时如何正确初始化?  [/报价]

    我不熟悉这两种器件、因此我不知道。 如果您运行的代码完全相同、我会说进一步仔细查看数据表。 您可能会忽略一些小差异。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Gus、  

    不用担心。 非常感谢您的帮助。  

    最棒的

    Avyay