主题中讨论的其他器件: OMAP-L138
您好!
客户在 AM1808 EMAC 上遇到问题、即使 MACHASH1和2已清零、它仍会接收多播数据包:
我们发现、如果我们的测试 PC 发送一个发送到 MAC 地址01:80:C2:00:00:01的以太网帧(请注意、这是一个多播地址)、那么 EMAC 将为此帧生成一个接收中断。 即使 MACHASH1和 MACHASH2寄存器都设为0、也会发生这种情况。 请参阅随附的 AM1808_EMAC_machash_eq_0_receive.pcapng、了解我们从测试 PC 传输的帧的捕获。
我们通过设置 RXUNICASTSET 的位0将 EMAC 配置为在通道0上接收单播流量。 我们在 RXMBPENABLE 中将 RXMULTEN 设置为"1"、将 RXMULTCH 设置为"001"、从而将通道1配置为接收多播流量。 我们通过设置 C1RXEN 的位1来启用接收多播流量的中断。 尽管我们在通道1上启用了多播接收、并且在通道1上启用了接收中断、但我们不希望生成任何中断、因为 MACHASH1和 MACHASH2寄存器都设置为0。
您能不能帮助我们了解为什么尽管 MACHASH 寄存器设置为0、但附加 Wireshark 捕获中的多播帧会在 EMAC 中生成接收中断? 尽管 MACHASH 寄存器被设置为0、是否还有其他形式的以太网帧可作为"详细信息"接收? 除了以太网帧中的目的 MAC 地址字段外、是否还有其他字段会影响 EMAC 是否接收到帧?
e2e.ti.com/.../6507.am1808_5F00_emac_5F00_machash_5F00_eq_5F00_0_5F00_receive.7z
谢谢、
-Gunter