¿Hay alguna forma de enviar datos en serie a través de la capa Ethernet física sin encapsulación?

4

Me pregunto si puedo usar la capa física de Ethernet como un puerto serie. ¿Es posible? El caso sería leer señales con un dispositivo electrónico sin tratar con encabezados de red.

    

6 respuestas

10

Sí, absolutamente puede deshacerse de las capas de protocolo de red y enviar datos "directamente". Pero, probablemente no quieras.

Lo que haces es usar Ethernet estándar, magnéticos y conectores. Pero en lugar de usar un MAC Ethernet (controlador de acceso a medios), se utiliza un FPGA para enviar / recibir datos sin la sobrecarga de la red. Esto se ha hecho para varias interfaces "no bastante compatibles con Ethernet" como Ethersound y otros protocolos industriales.

Una cosa que no puedes deshacer es la naturaleza del paquete. Aún debe transmitir datos en paquetes de 64 a aproximadamente 1500 bytes (algunos Phy permiten paquetes de hasta 8192 bytes). No puede transmitir paquetes de menos de 64 bytes o más de 1500. Y debe permitir el "espacio" adecuado entre los paquetes. Pero tiene control completo sobre lo que hay en los paquetes y cualquier encabezado (si lo hay).

Sin embargo, estoy pasando por alto muchos detalles. En realidad no es tan fácil, y los requisitos son diferentes según el estándar de Ethernet que desee usar (10/100/1000 mbps). En algunos casos, hay problemas de codificación de señal con los que lidiar.

Le aconsejaría que no haga esto a Ethernet. Se requiere una gran cantidad de habilidad para diseñar la lógica FPGA, una habilidad que la mayoría de las personas no tienen. Y los beneficios de hacer esto son mínimos. Es mucho más fácil simplemente usar los controladores Ethernet estándar y las pilas de protocolos asociados que soñar tus propias cosas.

    
respondido por el user3624
5

De hecho, puede ejecutar RS232 a través del cable Ethernet Cat5. Los enrutadores y dispositivos similares a veces tienen puertos de "consola" seriales con conectores modulares 8P8C (conectores RJ45).

Sin embargo, si desea enviar datos en serie a través de una NIC Ethernet sin que aparezcan paquetes Ethernet reales en el cable, no tendrá suerte.

Por otro lado, muchos fabricantes venden convertidores de serie a Ethernet que se pueden usar en pares para conectar de forma transparente los dispositivos serie mediante la infraestructura de Ethernet. Busque "Ethernet Serial"

Aveces,estosvienenconel"ComPort Redirector Software" que crea un puerto Com virtual en una computadora. Probablemente funcionen con la mayoría de las aplicaciones que esperan un puerto serie real. Es posible que no funcionen si estás haciendo giros de bits de bajo nivel.

    
respondido por el RedGrittyBrick
5

Según su pregunta, creo que sé lo que quiere, pero primero quiero aclarar algunas cosas.

  • Ethernet (o como el estándar se llama IEEE 802.3 ) está en la capa 2 ( capa de enlace de datos ) del modelo OSI .
  • Los conectores de cable (el cable cat5 / 6 y RJ45 ) están realmente definidos en la Capa 1 ( Physical Layer ), es posible que haya oído hablar del término 100BASE-T antes, eso es la definición de la capa física.
  • Ethernet no tiene que ejecutar más de 100BASE-T, y 100BASE-T no necesita llevar Ethernet

Ahora en tu pregunta:

Puede comprar dispositivos que se trasladarán en serie. 100BASE-T pero no hará ninguna encapsulación. Estos dispositivos no funcionarán con su red doméstica, ya que su conmutador / hub / enrutador espera que los paquetes IEEE 802.3 salgan por el cable y no los paquetes seriales.

También puede obtener dispositivos que funcionarán en serie sobre IP, pero no tiene que usar el cable 100BASE-T (o Ethernet).

    
respondido por el Scott Chamberlain
4

Sí y no; el cobre es cobre y el cobre RJ45 funciona muy bien para las conexiones en serie, pero no lo confunda con Ethernet a menos que esté hablando del protocolo Ethernet: los conmutadores y otros dispositivos Ethernet no lo aprobarán.

A Cisco ciertamente le gusta esta idea, por ejemplo; El cable estándar de la consola serie de Cisco es cobre RJ45 en el extremo del dispositivo.

    
respondido por el Shane Madden
3

No, no con lo que generalmente se entiende como la "capa física" de Ethernet. Esto incluye el cable, el magnetismo y el PHY (significa "físico"). Incluso en la capa física, no solo estás enviando niveles arbitrarios de 0 y 1 al otro extremo.

También hay varias cosas llamadas "ethernet" que son diferentes en la capa física. Ahí está el original, 10base-2, 10base-T, 100base-T, etc. Los más antiguos y más lentos usaban la codificación de Manchester, si recuerdo bien. A 100 Mbit / s las cosas fueron cambiadas para alcanzar la velocidad más alta. Incluso si se restringiera a las antiguas versiones codificadas de manchester de 10 Mbit / s, la respuesta seguiría siendo no. Los datos se envían inherentemente en paquetes. Estos tienen un preámbulo privado a la capa phy que se utiliza en parte para la detección de colisiones (en algunas variantes), la sincronización del reloj y el inicio de la identificación de paquetes. Luego hay algo de señalización de paquetes, como pulsos de enlace, que se maneja en la capa física. Dado que Ethernet está acoplado a un transformador, todo tiene que suceder con una frecuencia mínima, ya que el nivel de CC se pierde de un extremo a otro. Esta es una razón para la codificación de Manchester.

Puede configurar una red Ethernet privada con solo un phy en cada extremo y enviar paquetes individuales. Técnicamente, no necesita una capa MAC si solo desea obtener paquetes de bits en bruto de un extremo al otro. En la práctica, probablemente también sea más fácil usar una capa MAC en cada extremo, incluso si solo desea paquetes de bits de un extremo al otro. Los chips Phy generalmente están diseñados para ser manejados solo por chips MAC específicos, o algunas veces se obtiene el PHY y el MAC todos integrados en un chip, llamado MAC / PHY. Aún puedes enviar paquetes de datos sin procesar en el nivel MAC al ignorar algunas de las cosas del contenedor.

    
respondido por el Olin Lathrop
1

Para hacer eso, deberías tomar la capa física PHYceiver de una tarjeta Ethernet y conéctelo a un puerto serie en lugar de a un controlador Ethernet.

Tenga en cuenta que solo puede usar este punto a punto. No se pueden usar hubs o switches. Algunos concentradores podrían funcionar por suerte, pero los conmutadores definitivamente no lo harán.

¿Cuál es el problema exterior? Probablemente hay maneras mucho mejores de hacer el trabajo.

    
respondido por el David Schwartz

Lea otras preguntas en las etiquetas