Usando SMI para verificar la velocidad de ethernet phy

0

Estoy tratando de usar el ethernet PHY que viene con mi Digilent Nexus 4 DDR, un Microchip LAN8720A ( hoja de datos ). Escribí un controlador que me permite leer y escribir valores en los registros smi utilizando las señales mdio y mdc. Ahora necesito poder saber si estoy ejecutando en modo de 10 Mbps o 100 Mbps. También si estoy en modo full o half duplex. Parece que el registro 1 (REGISTRO DE ESTADO BÁSICO) contendría esta información. Sin embargo, este registro tiene los bits 14-11 habilitados. Estos bits según mi especificación significan ...

14 - 100BASE-TX Full Duplex

13 - 100BASE-TX Half Duplex

12 - 10BASE-T Full Duplex

11 - 10BASE-T Half Duplex

Supongo que esto me dice lo que puede hacer Phy, y no la velocidad del enlace actual establecido por la negociación automática. También está el registro de anuncios de negociación automática (registro 4) que tiene múltiples modos habilitados, y el registro de capacidad del socio de enlace (registro 5). Estos dos muestran los cuatro modos que se encienden.

¿Cómo puedo saber qué velocidad / modo dúplex es mi enlace? ¿Debo deducirlo seleccionando la intersección de la capacidad más alta del registro de habilidades del socio de enlace y el registro de anuncios de negociación automática?

    
pregunta chasep255

1 respuesta

0

Sí, el registro de estado básico indica las capacidades de la PHY. El mapa de registro muestra que esos bits son de solo lectura.

La hoja de datos le indica cómo leer la velocidad real del enlace:

  

Una vez que se haya completado la negociación automática, la información sobre el enlace resuelto puede devolverse al controlador a través de la Interfaz de administración en serie (SMI). Los resultados del proceso de negociación se reflejan en los bits de indicación de velocidad de   el Registro de estado / control especial de la PHY, así como en el Registro de capacidad del socio de enlace de negociación automática. El protocolo de autonegociación es una actividad puramente de capa física y se realiza independientemente del controlador MAC.

Por lo tanto, podría tomar la capacidad común más alta entre lo que anuncia su PHY y lo que anuncia su socio, pero sería más sencillo y confiable observar el estado real del enlace:

    
respondido por el ajb

Lea otras preguntas en las etiquetas