¿Cómo viajan los datos correctamente a través del cable?

0

Entiendo que a través del voltaje variable, los datos pueden transmitirse como "alto" y "bajo". Lo que no envuelvo en mi cabeza es cómo el extremo receptor "disecciona" el marco.

Sé que hay un concepto de trama, digamos que el extremo receptor siempre recibirá 8 bits a la vez como una trama y comenzará la siguiente trama para los siguientes 8 bits.

1111 0000 - > un cuadro

¿Pero qué pasa si un bit se pierde? No creará un efecto dominó por el resto del tiempo de ejecución, ya que el fotograma se compensará con un bit y todo lo demás no será correcto.

¿Cómo se aplica esto en el nivel de bits?

    
pregunta Zanko

2 respuestas

2

En primer lugar, la mayoría de los datos digitales (¿todos?) están "sincronizados". Esto significa que, si bien las líneas de datos pueden ser altas o bajas en cualquier momento, el receptor solo mira el estado de la línea en un momento determinado.

Enestecaso,hayotrocableconunaseñalderelojenél.Estaseñalderelojledicealreceptorexactamentecuándomirarelestadodelalínea.Enestecaso,estáenelbordeascendentedelreloj,lahoraexactaalaqueelvoltajepasadebajoaalto.Puedetenermuchaslíneasdedatosyunalíneadereloj(generalmenteparalela),ounalíneadedatosyunalíneadereloj(serie).Hayexcepcionesaestaterminologíacuandotieneflujosdedatosbidireccionales.

Puedeveraquíentonces,quemientrasserecibalaseñaldelreloj,losbitsnuncase"perderán". Puede haber ruido en la línea de datos que hace que un bit se lea como un 0 en lugar de un 1, o viceversa, pero en cualquier caso, seguirá siendo un bit (si la línea del reloj hace ruido puede causar otros problemas).

Esto se conoce como transmisión síncrona, pero también existe transmisión asíncrona. Aquí es donde no hay una línea de reloj, y en su lugar, tanto el receptor como el transmisor aceptan revisar la línea en el mismo intervalo de tiempo. Por lo general, se hace algo en la línea de datos para ayudar con la sincronización inicial. Como puede imaginar, esto requiere que tanto el receptor como el transmisor estén de acuerdo en cuándo realizar exactamente el muestreo y que sean bastante precisos en el tiempo.

    
respondido por el BeB00
1

En la comunicación asíncrona, el maestro y el esclavo deben configurarse para que funcionen a la misma velocidad en baudios, la cantidad de bits, etc., para que ambos sepan con qué frecuencia se debe leer / enviar un bit de datos y cuántos bits deben esperarse.

La línea se mantiene alta hasta que uno de los participantes que tiene la intención de enviar datos retire la línea durante un tiempo de bit (se calcula un tiempo de bit: 1 / velocidad en baudios), por lo que para 9600 baudios será 104us. Ahora, cada 104us la línea de datos cambiará y puede ser leída por el receptor.

En la comunicación síncrona, muchos protocolos de comunicación de datos vienen con una línea de reloj adicional que será controlada por el dispositivo maestro. Los datos solo pueden ser desconectados del esclavo de forma sincronizada con la línea del reloj. UART utiliza un método de comunicación muy básico como tal. Cuando comience a moverse hacia protocolos más avanzados como I2C, SPI o, en particular, USB, encontrará que hay mucha "conversación" entre el maestro y el esclavo, lo que le permite tener un control mucho mayor.

También hay mecanismos para evitar la pérdida de datos con cada byte que se conoce como paridad. Se le informará al maestro cuántos bits se debieron transferir, si es inconsistente, solicitará que el esclavo vuelva a enviar.

    
respondido por el Bilal

Lea otras preguntas en las etiquetas