En general, no es posible "olfatear" un enlace Ethernet de par trenzado sin interrumpirlo, o al menos añade muchas complicaciones innecesarias. Lo único que queremos es probar los cables, así que vamos a centrarnos en eso. Pero sin duda podemos añadir algunas características adicionales: el descubrimiento de enlaces no es difícil de implementar y podría hacerse sin utilizar un PHY Ethernet real.
El escenario en el que se conecta el comprobador a un tramo de cable no utilizado/desconectado es la línea de base. Como mínimo, querrá proteger el comprobador de las descargas electrostáticas y los transitorios inducidos en el cable desde los circuitos de red vecinos, o incluso de los rayos. Y, sin duda, querrá un aislamiento galvánico que, como mínimo, se corresponda con el de los equipos de red típicos, y para ello lo mejor es utilizar lo que usan los nodos Ethernet: un transformador 10/100BASE-TX, también llamado "magnético 10/100BASE-TX".
Los imanes se pueden conectar a la toma RJ-45 de su placa. O puede conseguir esos dos integrados juntos - transformador dentro de la toma - llamado, acertadamente, un magjack . El aislamiento del transformador proporciona una barrera de potencial (galvánico), pero todavía necesita protección ESD, y para eso querrá buscar soluciones de protección ESD específicas para Ethernet, o diseñar una usted mismo. Un circuito de aplicación existente (de una hoja de datos/nota de aplicación para un PHY de Ethernet) puede ser un buen punto de partida, y es posible que acabes utilizándolo tal cual. Este sería un ejemplo - Se utilizan supresores ESD312 en el lado secundario del transformador, y supresores LC03-3.3BTG en el lado primario.
En este punto, su dispositivo está aislado de los potenciales de CC, por lo que incluso si hubiera algún voltaje PoE presente, no pasaría gran cosa. Por supuesto, podría detectar PoE PSE (equipo de suministro de energía) si lo desea. Pero eso es opcional.
Los lados secundarios de los magnetismos (transformadores), donde normalmente se acoplaría un PHY, están centrados, por lo que se pueden producir pulsos de cualquier polaridad utilizando una alimentación unipolar. Esto es suficiente para implementar la funcionalidad de prueba de cables: puedes transmitir una forma de onda y recibirla, y también puedes utilizar una entrada analógica en una MCU para medir la amplitud de esa forma de onda. Como las señales de Ethernet no tienen corriente continua, hay una frecuencia mínima permitida para no saturar los imanes. Normalmente, los imanes especifican la pérdida de inserción a partir de 100kHz, y también especifican su inductancia a esa frecuencia, por lo que utilizar una frecuencia de prueba de 0,1MHz y superior sería una buena idea, aunque menos puede funcionar también (por ejemplo, 64kHz) con mayor pérdida y con una corriente máxima menor. Por supuesto, estarías terminando tanto los pares de transmisión como los de recepción, así que tienes que tener eso en cuenta cuando mires las amplitudes: tu driver no será una fuente de voltaje ideal, y la mayoría de los pines de la MCU son drivers CMOS inherentemente limitados por la corriente y actúan como fuentes de corriente.
Ahora, si quiere detectar un socio de enlace, busque los detalles sobre el llamado pulsos de enlace en las distintas especificaciones de IEEE802 - las de 10BASE-TX, 100BASE-TX y 1000BASE-T, puedes hacerte una idea de la detección de socios de enlace y la negociación de capacidades. Su probador de cable podría, con probablemente nada más que Arduino Mega o Zero, hacer negociación de enlaces utilizando los pulsos de enlace relativamente lentos, y proporcionan información sobre las capacidades del socio de enlace. También se podría detectar un probador de cables gemelos en el otro extremo del enlace, y proporcionar capacidades adicionales de esa manera - por un lado, ya se utilizaría un protocolo de comunicaciones establecido (autonegociación de enlace) que está diseñado específicamente para permitir la extensibilidad. También podría detectar los modernos PSE PoE (IEEE 802.3at), ya que pueden detectarse a través de ese mismo canal digital.
Recapitulando: lo más probable es que quieras implementar un circuito 100BASE-TX "estándar" hasta donde se conectaría un PHY Ethernet (ya sea un chip dedicado o uno integrado en una MCU), y luego decidir qué usar para el PHY. Con un poco de creatividad, probablemente podrías hacer que la prueba del cable y la detección/configuración del enlace funcionen usando sólo los pines "en bruto" de una MCU, sin componentes externos activos, dado que las MCU modernas tienen controladores de pines razonablemente fuertes, entradas analógicas y tienen funciones de temporizador muy capaces de recibir o transmitir pulsos de enlace.
También podrías utilizar una MCU con un PHY Ethernet incorporado, y simplemente hacer una negociación de enlace normal utilizando eso - entonces tu probador de cable no sólo podría detectar los compañeros de enlace, sino que también podría hacer pruebas de transmisión de datos reales y detectar las tasas de error y tal. Como probablemente estarías limitado a velocidades 100BASE-TX que sólo utilizan 2 de los 4 pares, para probar todos los pares tendrías que detectar un probador de cable gemelo del tuyo (pueden ser idénticos), renegociar la conexión después de probar dos pares y decidir si se utilizan los otros dos pares. Para ello, podrías utilizar un chip de conmutación de señales digitales y conectar efectivamente el PHY a los otros dos pares. Ten en cuenta que los magnéticos gigabit (1000BASE-T) admiten los 4 pares para la transmisión de datos, mientras que los magnéticos fast ethernet (100BASE-TX) suelen admitir sólo dos pares y necesitarías dos de ellos para utilizar los 4 pares.
En ese sentido, para probar los 4 pares, necesitas
-
Una toma RJ-45 y dos magnetismos discretos 100BASE-TX (transformadores), o
-
Un conector magnético 1000BASE-T, o
-
Una clavija RJ-45 y magnetismo discreto 1000BASE-T.
Hablando de PoE, no sería una preocupación a menos que quiera detectar la presencia de un PSE (equipo de suministro de energía), o a menos que se conecte a puertos de conmutación alimentados que utilicen una inyección de energía "heredada" o "tonta", es decir, no conforme a los estándares IEEE802. Esto se utiliza a veces para las cámaras de seguridad y otros dispositivos en los que, debido a consideraciones de coste, no sería factible la implementación de un PD (dispositivo alimentado) compatible. Para muchos de estos esquemas, basta con utilizar un simple "DVM front-end" sin aislamiento galvánico (DVM significa Digital VoltMeter). Es decir, se utilizaría una red de resistencias y algunos componentes de protección similares a los de los multímetros digitales para escalar la tensión diferencial entre dos derivaciones centrales cualesquiera del lado primario de los imanes y alimentarlas a un ADC diferencial autónomo o a la MCU, teniendo cuidado de que no se supere el rango de modo común en el lado A/D. La forma más fácil de hacerlo puede ser con relés de láminas o interruptores opto-mos, donde GND (0V) y ADC-IN (escalado) se unirían a cualquier par de tomas centrales.
En ese caso, debería utilizar magnetismos PoE o magjacks, ya que están diseñados para permitir la terminación de todos los pares de señales al tiempo que permiten que haya un potencial de CC entre los pares, y también proporcionan conexiones a las derivaciones centrales de los primarios del transformador, ya que la PoE se "envía" por el cable como diferencias de potencial en modo común entre pares.
El PoE conforme (es decir, estándar) está "inerte" hasta que el PSE detecta un PD adecuado, así que si no detecta energía entrante pero hay un compañero de enlace, eso significaría que si son PSE entonces son conformes, y entonces podría buscar un PSE moderno a través del canal de autonegociación, y quizás volver a la indicación de PD de "resistencia simple" 802.3af. No recuerdo de antemano si un PSE 802.3af necesita informar digitalmente al socio de enlace sobre sus capacidades; si lo hace, entonces podría olvidarse básicamente de él hasta que consiga que funcione la autonegociación y determinar el PSE sólo a ese nivel. También depende de las características que quieras que tenga tu comprobador de cables. No es difícil tener algunas resistencias conectadas al circuito usando interruptores opto-mos o similares, así que pretender ser un simple PD no es difícil.