Teoría de la información y buses de datos en aviación (I)

En este post (algo técnico) vamos a hablar de bits, de transmisiones y buses de datos en aviación. Para entender estos conceptos generales de aviónica moderna debemos empezar por saber lo que es el concepto de información y cómo puede ésta llegar ser calculada. Parte del texto está extraído y adaptado del libro Información e ingeniería del lenguaje, del doctor ingeniero de minas D. Manuel M. Represa del Prado.




Concepto y formalización matemática de la información

En nuestro contexto, la información es un conjunto organizado de datos procesados, que constituyen un mensaje que cambia el estado del sistema que recibe dicho mensaje. En el mensaje se acepta que existe algo físico, pues toda comunicación requiere que se aplique alguna cantidad de energía en el transcurso de un intervalo finito de tiempo. Siempre que se almacena información hay que disponer de un espacio físico (sea un libro, disco, película, cinta magnética, etc., etc.). Jamás se ha observado un mensaje desprovisto de soporte material pero, no obstante, la información en sí parece como algo inmaterial y completamente diferente del ropaje físico que necesariamente la acompaña. Atendiendo al concepto matemático nos conformaremos con establecer que la información se identifica con los estados que puede adoptar una magnitud "I".

Si tenemos que enviar un mensaje a nuestra compañía sobre la llegada de nuestro vuelo, podríamos comparar los dos mensajes siguiente: "EL VUELO LX2020 LLEGARÁ CON RETRASO DE UNA HORA" y este otro "EL VUELO LX2020 LLEGARÁ A MADRID CON RETRASO DE UNA HORA". El segundo es más largo, costará más tiempo transmitirlo y si nos cobraran por palabra, como se hacía antiguamente en los telegramas, sería más caro, pero no contiene más información que el primero, pues para los que trabajamos en la compañía ya sabemos que la ruta cubierta por el LX2020 es Zurich-Madrid con salida a las 7 de la mañana y tiempo de vuelo 1:45.

La información suministrada por un mensaje depende solo de la imprevisibilidad de su contenido para el destinatario, mientras lo ya conocido por este no aumenta su información. En general se acepta que dos mensajes igualmente imprevisibles contienen la misma cantidad de información.

Consideremos ahora estos dos mensajes: "EXISTE UN RETRASO EN LA RUTA ZURICH-MADRID DE LA COMPAÑÍA SWISS" y "LX2020". Al recibir el primero de ellos no se sabe cuál es el vuelo que está retrasado. Existen tres vuelos diarios en esa ruta (LX2020, LX2026 y LX2032). De esta forma tenemos tres alternativas igualmente posibles, pero el problema desaparece cuando recibimos el segundo mensaje que suma información al anterior y deja claro que esto ocurre en el primer vuelo del día. Puede así aceptarse que la información suministrada por dos mensajes independientes es la suma de las informaciones contenidas en cada uno de los mensajes.

Mediante ambos ejemplos se ha introducido intuitivamente el concepto de igualdad y suma de los estados de una variable I, lo cual justifica que se trate la información como una magnitud física.

Deliberadamente se utilizó la palabra imprevisible al tratar de la igualdad de la información, pero imprevisible puede sustituirse por improbable y, en definitiva, por probable. La información que aporta un mensaje será por consiguiente, función de la probabilidad de éste, pudiendo escribirse I = f(p). Como la probabilidad de dos mensajes independientes, con probabilidades respectivas p1 y p2, está dado por p = p1p2, según el teorema de la probabilidad compuesta, deberá verificarse I = f(p1p2) = f(p1) + f(p2). Establecida esta ecuación funcional es trivial para cualquier matemático, tal como se indica en el cuadro a continuación, eliminar la función arbitraria f, llegándose a una expresión I = C1Ln p + C2, en la que C1 y C2 son constantes arbitrarias.


Para determinar el valor de C2 consideremos que la fórmula anterior, cuando p1 = 1 no se aporta información y, por tanto, I = 0. Para que esto ocurra deberá tnerse C2 = 0. Expresando el logaritmo neperiano que se obtuvo al integrar la ecuación diferencial de arriba, en base x, podrá escribirse:
con una sola constante K. Según la base de logaritmos que se adopte cambiará el valor de K. Convendremos, para determinar un valor numérico de esta constante, tal como se hace al definir la unidad de cualquier magnitud física, que I =1 cuando sea p = 1/2; es decir, cuando el mensaje aclare una de dos alternativas posibles que se excluyan y se completen. Si tomamos como base de logaritmos x = 2, lo que resulta conveniente en ciertas aplicaciones, se tendrá K = -1 y, en definitiva, llamando a
entonces 


La unidad de información elegida, que consiste en conocer una de dos alternativas posibles y equiprobables, se llama bit o  bitio y se representa por b. Conocer una alternativa de 6, por ejemplo, dará



y será aproximadamente equivalente a elegir una alternativa entre 2,6 posibles (La puntuación de un dado puede siempre adivinarse mediante tres preguntas "si o no").

Si tuviéramos que adivinar la posición de una "X" puesta en uno de los 8 sectores en los que está dividido un círculo solo tendríamos que hacer tres preguntas del tipo "si o no"

1.- ¿Está en la mitad superior? (respuesta: no)
2.- ¿Está en algún sector del lado derecho? (respuesta: si)
3.- ¿Está en el sector 4? (respuesta: no)

...ya sabemos entonces que la "x" está en el sector que queda (el número 3).

La información de los ordenadores de abordo debe de ser transmitida hasta y desde los diferentes componentes del sistema de aviónica. La información puede ser una señal eléctrica u óptica y el medio por el cual es transportada esta señal se conoce como bus de datos. 

La transmisión de datos en general

El diseño de un interfaz, o simplemente el uso de una, para conectar dos componentes implica un montón de cuestiones que deben ser establecidas. Por ejemplo, un interfaz digital puede clasificarse como paralelo o en serie,  interno o externo, asincrónico o sincrónico. Otras cuestiones adicionales pueden ser el grado de degradación o error de los datos transmitidos, los métodos utilizados en la detección de errores, el formato de la señal o estandarización, etc. El parámetro relacionado con el formato de la señal es particularmente importante, pues se han desarrollado diferentes estándares y convenciones que deben de ser consideradas.  

Señal en paralelo versus señal en serie

Si quisiéramos comunicarnos por medio de tarjetas que contienen letras con un individuo que se encuentra al otro lado de la habitación, podríamos utilizar las tarjetas mostrándolas para formar una palabra. Si sostenemos cuatro tarjetas a la vez, podremos formar una palabra, por ejemplo "HOLA". Se puede decir en este caso que transmitimos una señal en paralelo. Si por el contrario, no podemos sostener todas las cartas con la mano, debemos de ir mostrándolas una a una hasta terminar la palabra. Primero mostramos la "H", luego la "O", luego la "L" y por último la "A". En este sentido estamos transmitiendo la información en serie. Otros ejemplos de información en serie podrían ser los códigos morse a base de rayas y puntos o la comunicación entre barcos a base de banderas.

Paralelo sencillamente significa que todos los bits en grupo son tratados exactamente al mismo tiempo. Serial significa que cada uno de los bits se manda por turnos por el mismo canal o cable de transmisión en una secuencia preestablecida de antemano. En el gráfico que sigue se puede ver la diferencia entre la señal en serie y la señal en paralelo.



Ambas señales son igualmente apropiadas según que casos. Las señales transmitidas en paralelo son más rápidas porque los bits son transmitidos simultáneamente, pero por otra parte, cada bit necesita su propio canal o conductor, lo cual hace el sistema más complicado y probablemente más caro. La  señal en paralelo se da con más frecuencia en comunicaciones internas. Para comunicaciones a larga distancia, como por ejemplo dispositivos externos, la señal en serie suele ser más apropiada. En este caso, cada bit es enviado en turno o secuencia, por lo que la comunicación es más lenta, pero por otra parte, resulta menos cara porque se necesitan menos canales entre los dos dispositivos. 

La mayoría de aplicaciones en aeronáutica utiliza transmisiones en serie, puesto que el peso es menor y ya se sabe que el peso en aviación es de suma importancia. Otro motivo por el que se elige tener este tipo de comunicación es la menor complejidad y por lo tanto menos posibilidades de tener un error. El número de canales que se necesitan para una transmisión ya sea en serie o en paralelo depende en gran medida del modo de operación: un canal por bit para transmisiones "simplex" (unidireccional o de un transmisor a un receptor), o también es posible la utilización de un solo canal para las "half-duplex" (comunicación en ambos sentidos, pero sólo una transmisión a un tiempo, esto es, una dispositivo transmite y el otro recibe hasta que la transmisión haya terminado y viceversa). Para una transmisión "full duplex" se utilizan dos canales por bit (comunicación simultánea en ambas direcciones).

Interfaz en paralelo I/O (entrada/salida)

En una configuracion típica, solemos encontrar 8 lineas de datos y una o más líneas de enlace o handshaking. Estas últimas pueden estar relacionadas con un número diferente de funciones de coordinación dedicadas a la transferencia de datos. Por ejemplo, la línea LISTO indica que existen datos disponibles en las 8 líneas. Pero si utilizamos solamente la línea LISTO, entonces el receptor puede que no sea capaz de aceptar todos los datos. Por ello, se añade la línea YA, para que el receptor pueda monitorizar y estar seguro de que el transmisor está listo para el siguiente carácter.


Interfaz en serie I/O (entrada/salida)

Los interfaces (input/output) en serie son más complejos que los interfaces paralelos, porque los datos deben de ser transmitidos en una frecuencia preestablecida de antemano. Por ejemplo, transmitir los 8 bits (b7, b6, b5, ...b0) de una palabra incluye la especificación de si el bit menos significativo (b0) o el más significativo (b7) se debe de enviar primero. Por fortuna se han ido desarrollando una serie de protocolos o estandarizaciones que definen de forma inequívoca cual es la secuencia preestablecida o esquema de codificación.

Conversiones

En el interior de los ordenadores y otros dispositivos electrónicos digitales, usualmente se procesan los datos, se almacenan y se transmiten de forma paralela. Para la comunicación con dispositivos externos, sin embargo, los datos son usualmente convertidos de un formato en paralelo a un formato en serie y viceversa. Esta conversión es llevada a cabo usualmente por los llamados shift registers o registros de cambio. Estos pueden ser "left shifters" a izquierdas, "right shifters" a derechas o "controlled to shift" en cualquier dirección. El formato más común es un registro de cambio universal (universal shift register), el cual contiene dos entradas de control que pueden adoptar cuatro estados diferentes: Hold, Shift right, Shift left y Load. La mayoría, además contiene entradas asincrónicas para la preselección, el borrado y la carga en paralelo.

Comunicación sincrónica y asincrónica

Para recibir los datos de forma correcta, el interfaz del receptor debe de conocer el momento en el que ocurre un bit de datos, por ello debe  de estar sincronizado con el transmisor. En una comunicación asincrónica el receptor se sincroniza con cada uno de los caracteres que se envía. Cada carácter debe de incluir bits de comienzo (start bit) y de final (stop bit) para indicar el comienzo y el final de cada uno de los caracteres. Por el contrario, en una comunicación sincrónica, los datos son enviados en bloques largos sin ninguna clase de bits de comienzo o final y de forma contínua sin ninguna interrupción entre caracteres.

Comunicacion asincrónica

En este tipo de comunicación cada carácter transmitido comienza con un bit llamado start bit y finaliza con un stop bit. (ver figura debajo). El start bit es generalmente un cero (0) y le dice al receptor que está comenzando un carácter. El stop bit es generalmente un uno (1) y le dice al receptor que termina el carácter. Entre dos caracteres el circuito transmisor envía el stop bit.

Como el receptor tiene establecido como debe de comenzar y terminar un bit, los caracteres pueden ser enviados a intervalos irregulares. Esto es una ventaja a la hora de procesar datos que se teclean en una unidad MCDU por ejemplo. Los datos de la persona que teclea son casi siempre más lentos que el equipo que comunica los datos y generalmente este tecleo se producirá a ritmos diferentes. Otra ventaja de los datos asincrónicos es que no necesita de una circuitería muy complicada para poder mantener los datos sincronizados. El receptor es resincronizado cada vez que los datos llegan a él con cada uno de los primeros bit del carácter transmitido. Además, gracias a que estos caracteres no necesitan mantener un ritmo constante, no se genera la necesidad de forzar a la persona (o al equipo que transmite) a mantener un ritmo concreto y constante en el proceso de generar caracteres.

Una desventaja de la comunicación asincrónica es precisamente la inclusión de los start bit y los stop bit en la transmisión, porque, como se decía al principio del artículo estos no aportan información relevante o no son parte  de ella. Si estamos transmitiendo 8 datos en bits, uno será el start bit y otro se tendrá que dedicar al stop bit, con lo cual el 20% (2 de bits de 10) no son información.

Comunicación sincrónica

En la comunicación sincrónica los datos se envían en bloques, generalmente mucho más largos que un simple carácter. Ver figura debajo. Al comienzo de cada bloque el transmisor envía una serie de bits con una secuencia específica. Esta secuencia de bits es utilizada por el receptor para una sincronización inicial. Una vez que el receptor se encuentra sincronizado al comienzo del bloque, el receptor debe de permanecer sincronizado durante todo el bloque. El emisor y el receptor pueda que utilicen relojes con una frecuencia ligeramente diferente, así que lo adecuado es que no solo se haga una sincronización inicial, sino una sincronización continua a lo largo de todo el bloque. Existen muchas formas de que el receptor y el emisor permanezcan sincronizados. Una de ellas es que el emisor mande la señal del reloj en un canal separado, pero esto es poco eficiente. Una de las desventajas de la transmisión sincrónica es que los datos deben de ser enviados en bloque en una emisión contínua, por lo que los caracteres deben de ser situados inicialmente en una unidad de almacenamiento o buffer hasta que se tengan los suficientes como para ser enviados en bloque. La mayor ventaja de este tipo de transmisiones reside en el hecho de que las transmisiones no están repletas de los start bit y stop bit que, como ya habíamos, dicho no llevan información. Los caracteres están limpios. Esta es una importante consideración a la hora de tener que transmitir grandes cantidades de información.

Comentarios

Entradas populares de este blog

Neumáticos de avión: mucho más que caucho

El MAC o cuerda aerodinámica media

Sistema de detección de fuego y extinción