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.
我尝试在 Sitara 处理器 DP83826E 上运行 EtherCAT。在 阅读 TI 应用手册"如何以及为何将 DP83826E 用于 EtherCAT应用"后,第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、您好!
我看到了以下差异。
我必须与我们的团队核实其他价值观并与您联系。
--
此致、
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.