使用AM335x的Dual MAC Mode,外接两个PHY,一个是AR8035,PHY地址为4;另一个是AR8031,PHY地址为1。MDC时钟设为10.4M左右。两路PHY均支持最高25M的MDC时钟。由于在实际应用中我需要通过MDIO总线不断向AR8031这个PHY写入和读取寄存器数据(每秒可能高达50多次),经多次长时间测试发现:当两个PHY同时连上网络时,读取PHY寄存器的值偶尔会出错,概率大概是万分之一。而当我断开AR8035这个PHY的连接后,读取另一个PHY(AR8031)的寄存器值就不会出错。
听说AM335x的MDIO总线会自动轮询每个PHY的寄存器值,不知道是不是因为自动轮询与我手动读写时偶尔发生冲突导致的。还望赐教!谢谢!