近期遇到了一个关于Utopia接口的问题。
通常根据Utopia Level 2的标准,当Master在轮询PHY时,若对应的PHY有数据待发,则它要拉高其RX_CLAV。然后Master会将RX_ENB拉高,在下降沿选中该PHY,被选中的PHY会以一个RX_SOC脉冲开始数据的传输。请看从UL2 spec中摘录的描述。


而当所有PHY都没有数据传送时,Master应该拉高其RX_ENB信号,以使得下一个有数据的PHY能够被选中传输数据。
然而我所碰到的PHY和Master的行为与Utopia Level 2的描述不一致。主要表现在Master在所有PHY都没有数据传输时,它的RX_ENB信号并没有拉高,导致其它PHY的数据不能发送。
示波器看到的波形如下,4条通道分别是:
1 RX_CLAV
2 RX_ENB
3 RX_Addr_1
4 RX_Addr_0
