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.

[参考译文] DP83826E:应用手册:如何以及为何要在 EtherCAT®︎ 应用中使用 DP83826E

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1221907/dp83826e-app-note-how-and-why-to-use-the-dp83826e-for-ethercat-applications

器件型号:DP83826E

我尝试在 Sitara 处理器  DP83826E 上运行 EtherCAT。在 阅读 TI 应用手册"如何以及为何将 DP83826E 用于 EtherCATRegistered应用"后,第7页。  我将使用以下代码写入 PHY 寄存器。 不过。 我的寄存器转储、紧接在写入函数之后、与应用手册中的不同。 这背后的原因是什么?

void dp83826WritePhyReg (uint32_t mdioBaseAddress、uint32_t phyNum)

CSL_MDIO_phyRegWrite (mdioBaseAddress、phyNum、0x00、0x3300);
CSL_MDIO_phyRegWrite (mdioBaseAddress、phyNum、0x04、0x01E1);
CSL_MDIO_phyRegWrite (mdioBaseAddress、phyNum、0x09、0x0020);
CSL_MDIO_phyRegWrite (mdioBaseAddress、phyNum、0x0A、0x0001);
CSL_MDIO_phyRegWrite (mdioBaseAddress、phyNum、0x0B、0x0008);
CSL_MDIO_phyRegWrite (mdioBaseAddress、phyNum、0x18、0x0080);
CSL_MDIO_phyRegWrite (mdioBaseAddress、phyNum、0x19、0x8020);

}

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

    Jagbir、您好!

    我看到了以下差异。

    1. 0x0003:您正在观察的读取值是正确的(该值表示您正在使用符合预期的芯片的最新版本。 但是、我看到您在基本模式下绑定了器件。 对于 EtherCAT 应用、需要在增强模式下使用 PHY。
    2. 0x000D、E:您可以忽略应用手册中的值。 这些值将因设置而异

    我必须与我们的团队核实其他价值观并与您联系。

    --
    此致、
    Gokul.

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

    Gokul、您好!

    我通过上拉模式引脚切换到增强模式。 etheCAT 无法正常工作、但这里是我的寄存器内容。

    [CortxA8]在 MDI 配置前的寄存器转储  
    寄存器0x0000:0x2000  
    寄存器0x0001:0x7849  
    寄存器0x0002:0x2000  
    寄存器0x0003:0xa111  
    寄存器0x0004:0x0081  
    寄存器0x0005:0x0000  
    寄存器0x0006:0x0004  
    寄存器0x0007:0x2001  
    寄存器0x0008:0x0000  
    寄存器0x0009:0x0020  
    寄存器0x000a:0x0102  
    寄存器0x000b:0x0009  
    寄存器0x000c:0x0000  
    寄存器0x000d:0x0000  
    寄存器0x000e:0x0000  
    寄存器0x000f:0x0000  
    寄存器0x0010:0x4000  
    寄存器0x0011:0x010b  
    寄存器0x0012:0x0000  
    寄存器0x0013:0x0800  
    寄存器0x0014:0x0000  
    寄存器0x0015:0x0000  
    寄存器0x0016:0x0100  
    寄存器0x0017:0x0061  
    寄存器0x0018:0x0400  
    寄存器0x0019:0x8001  
    寄存器0x001a:0x0000  
    寄存器0x001b:0x007d  
    寄存器0x001c:0x05ee  
    寄存器0x001d:0x0000  
    寄存器0x001e:0x0102  
    寄存器0x001f:0x0000  
    分机 寄存器0x25:0x0041  
    分机 寄存器0x304:0x0008  
    分机 寄存器0x460:0x0565  
    分机 寄存器0x469:0x0000  
    分机 寄存器0x467:0x0093  
    分机 寄存器0x468:0x0194

     

    MDI 配置后的寄存器转储  
    寄存器0x0000:0x3100  
    寄存器0x0001:0x7849  
    寄存器0x0002:0x2000  
    寄存器0x0003:0xa111  
    寄存器0x0004:0x01e1  
    寄存器0x0005:0x0000  
    寄存器0x0006:0x0004  
    寄存器0x0007:0x2001  
    寄存器0x0008:0x0000  
    寄存器0x0009:0x0020  
    寄存器0x000a:0x0001  
    寄存器0x000b:0x0008  
    寄存器0x000c:0x0000  
    寄存器0x000d:0x401f  
    寄存器0x000e:0x0008  
    寄存器0x000f:0x0000  
    寄存器0x0010:0x0002  
    寄存器0x0011:0x010b  
    寄存器0x0012:0x0000  
    寄存器0x0013:0x0800  
    寄存器0x0014:0x0000  
    寄存器0x0015:0x0000  
    寄存器0x0016:0x0100  
    寄存器0x0017:0x0000  
    寄存器0x0018:0x0080  
    寄存器0x0019:0x8021  
    寄存器0x001a:0x0000  
    寄存器0x001b:0x007d  
    寄存器0x001c:0x05ee  
    寄存器0x001d:0x0000  
    寄存器0x001e:0x0102  
    寄存器0x001f:0x0000  
    分机 寄存器0x25:0x0041  
    分机 寄存器0x304:0x0008  
    分机 寄存器0x460:0x0005  
    分机 寄存器0x469:0x0004  
    分机 寄存器0x467:0x0093  
    分机 寄存器0x468:0x0194  

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

    Jagbir、您好!

    我可以看看寄存器读取。

    但是、我看到该器件未建立链路。 如果器件建立链路、则0x0001应为0x786D。

    在另一主题中、您提到中心抽头连接到3.3V。 这可能是器件未链接的原因。

    --
    此致、
    Gokul.

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

    修复中心抽头直流偏置后、我能够成功连接。 我的系统中有两个 DP83826、我连接了地址0x5的第一个 Phy (PHY0)和地址0x3的第二个 Phy (PHY1)。 我在连接到从器件后收到端口交叉警告。 即使我删除 PH1后也会收到相同的警告。 下面是最新的寄存器转储和端口交叉警告。

    [CortxA8]在 MDI 配置前的寄存器转储
    寄存器0x0000:0x3100
    寄存器0x0001:0x7849
    寄存器0x0002:0x2000
    寄存器0x0003:0xa131
    寄存器0x0004:0x01e1
    寄存器0x0005:0x0000
    寄存器0x0006:0x0004
    寄存器0x0007:0x2001
    寄存器0x0008:0x0000
    寄存器0x0009:0x0000
    寄存器0x000a:0x0100
    寄存器0x000b:0x0000
    寄存器0x000c:0x0000
    寄存器0x000d:0x0000
    寄存器0x000e:0x0000
    寄存器0x000f:0x0000
    寄存器0x0010:0x0002
    寄存器0x0011:0x0108
    寄存器0x0012:0x0000
    寄存器0x0013:0x0800
    寄存器0x0014:0x0000
    寄存器0x0015:0x0000
    寄存器0x0016:0x0100
    寄存器0x0017:0x0041
    寄存器0x0018:0x0400
    寄存器0x0019:0xc005
    寄存器0x001a:0x0000
    寄存器0x001b:0x007d
    寄存器0x001c:0x05ee
    寄存器0x001d:0x0000
    寄存器0x001e:0x0102
    寄存器0x001f:0x0000
    分机 寄存器0x25:0x0041
    分机 寄存器0x304:0x000e
    分机 寄存器0x460:0x0565
    分机 寄存器0x469:0x0404
    分机 寄存器0x467:0x0014
    分机 寄存器0x468:0x28a7

    MDI 配置后的寄存器转储
    寄存器0x0000:0x3100
    寄存器0x0001:0x7849
    寄存器0x0002:0x2000
    寄存器0x0003:0xa131
    寄存器0x0004:0x01e1
    寄存器0x0005:0x0000
    寄存器0x0006:0x0004
    寄存器0x0007:0x2001
    寄存器0x0008:0x0000
    寄存器0x0009:0x0020
    寄存器0x000a:0x0001
    寄存器0x000b:0x0008
    寄存器0x000c:0x0000
    寄存器0x000d:0x401f
    寄存器0x000e:0x0008
    寄存器0x000f:0x0000
    寄存器0x0010:0x0002
    寄存器0x0011:0x0108
    寄存器0x0012:0x0000
    寄存器0x0013:0x0800
    寄存器0x0014:0x0000
    寄存器0x0015:0x0000
    寄存器0x0016:0x0100
    寄存器0x0017:0x0000
    寄存器0x0018:0x0080
    寄存器0x0019:0x8025
    寄存器0x001a:0x0000
    寄存器0x001b:0x007d
    寄存器0x001c:0x05ee
    寄存器0x001d:0x0000
    寄存器0x001e:0x0102
    寄存器0x001f:0x0000
    分机 寄存器0x25:0x0041
    分机 寄存器0x304:0x0008
    分机 寄存器0x460:0x0005
    分机 寄存器0x469:0x0004
    分机 寄存器0x467:0x0014
    分机 寄存器0x468:0x28a7

    PHY 引脚32 (复位、绿色)和 引脚30 (LED0、灰色)的示波器捕获。 BootConfigFetDisable (FET1、紫色)和  BootConfigFetEnable (FET2、RED) 这些 FET 的工作方式与 ICE110评估板中的相同。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在连接到从属设备后收到端口交叉警告

    您好、Jagbir、

    您能告诉我道路交叉警告是什么意思吗?

    日志显示链接似乎仍没有建立。 您能否断开链路伙伴 PHY、端接发射线路(TD_P、TD_M)并捕获示波器上的波形?

    --
    此致、
    Gokul.

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

    链路已经建立;我可以在 EC-Engineer 软件上看到 EtherCAT 从站。

    当我扫描端口上的从器件时、Wireshark 还可以识别 EtherCAT 通信。  

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

    您好、Jagbir、

    寄存器0x0001读数为0x7849、而读数应为0x786D。 您能寄存器0x1吗 两次 并确认寄存器现在显示为0x786D?

    --
    此致、
    Gokul.

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

    寄存器0x0001无法读取0x7849的原因是我 在裸机代码上运行 EtherCAT 堆栈、并且必须在使用 ER-Engineer 建立 ECAT 通信之前打印寄存器。

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

    您好、Jagbir、

    感谢您的更新。

    我不知道道路交叉警告的含义。 您能告诉我这意味着什么吗? 我可以尝试查看出了什么问题。

    --
    此致、
    Gokul.

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

    端口交叉警告意味着:  输入(PHY0)和输出端口(PHY1)发生变化。 有趣的是、我在 AMICICE110 EVM 上收到了相同的警告。 以下是 EC 工程师工具中的警告说明。

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

    您好、Jagbir、

    从单个 PHY 的角度来看、PHY 0和 PHY1之间是什么意思?

    我仅具有 PHY 级别的专业知识、从未使用过任何 EtherCAT 工具。

    --
    此致、
    Gokul.

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

    请参阅 ESC 硬件数据表。 具体来说就是第3节

    download.beckhoff.com/.../ethercat_esc_datasheet_sec1_technology_2i3.pdf

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

    Jagbir、您好!

    我仍然无法了解 PHY0和 PHY1的互换为何会成为 PHY 问题。 您能指出 PHY 中可导致此警告的部分吗?

    --
    此致、
    Gokul.

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

    Gokul、您好!

    我有一个单独的问题:在 TDx 和 RDX 线路上有4.7pF 的滤波电容器。  因为我 在 DP83826参考设计中没有任何此类电容器、所以这是否违反了任何 DP83826设计规范。  

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

    Jagbir、您好!

    我不建议在 TDx 和 RDX 线路上使用这些滤波电容器。 我还建议根据数据表的10.2.1节更改中心抽头电容。

    --
    此致、
    Gokul.