stringtranslate.com

Pila de protocolos UniPro

En la tecnología de telefonía móvil, la pila de protocolos UniPro [1] sigue la arquitectura del modelo de referencia OSI clásico . En UniPro , la capa física OSI se divide en dos subcapas: Capa 1 (la capa física real) y Capa 1.5 (la capa del adaptador PHY), que abstrae las diferencias entre las tecnologías de capa 1 alternativas. La capa física real es una especificación separada, ya que las diversas opciones PHY se reutilizan [2] en otras especificaciones de MIPI Alliance .

La especificación UniPro en sí misma cubre las capas 1.5, 2, 3, 4 y la DME (entidad de administración de dispositivos). La capa de aplicación (LA) está fuera del alcance porque los diferentes usos de UniPro requerirán diferentes protocolos de LA. La capa física (L1) está cubierta en especificaciones MIPI separadas para permitir que la PHY sea reutilizada por otros protocolos (menos genéricos) si es necesario.

Las capas OSI 5 (Sesión) y 6 (Presentación) se cuentan, cuando corresponde, como parte de la capa de aplicación.

Capa física (L1)

D-PHY

Las versiones 1.0 y 1.1 de UniPro utilizan la tecnología D-PHY de MIPI para la capa física externa al chip. Esta capa física permite la comunicación entre chips. Las velocidades de datos de la capa física D-PHY son variables, pero están en el rango de 500 a 1000 Mbit/s (se admiten velocidades inferiores, pero con una menor eficiencia energética). La capa física D-PHY debe su nombre al número romano 500 ("D").

La tecnología D-PHY [3] utiliza señalización diferencial para transmitir símbolos PHY a través de cableado de microbandas. Se utiliza un segundo par de señales diferenciales para transmitir la señal de reloj asociada desde la fuente hasta el destino. La tecnología D-PHY utiliza, por tanto, un total de 2 cables de reloj por dirección más 2 cables de señal por carril y por dirección. Por ejemplo, una tecnología D-PHY podría utilizar 2 cables para el reloj y 4 cables (2 carriles) para los datos en la dirección de avance, pero 2 cables para el reloj y 6 cables (3 carriles) para los datos en la dirección de retroceso. El tráfico de datos en las direcciones de avance y retroceso es totalmente independiente en este nivel de la pila de protocolos.

En UniPro, la D-PHY se utiliza en un modo (llamado codificación "8b9b") que transmite bytes de 8 bits como símbolos de 9 bits. El protocolo UniPro utiliza esto para representar símbolos de control especiales (fuera de los valores habituales de 0 a 255). La propia PHY utiliza esto para representar ciertos símbolos especiales que tienen significado para la propia PHY (por ejemplo, símbolos IDLE). Tenga en cuenta que la relación 8:9 puede causar cierta confusión al especificar la velocidad de datos de la D-PHY: una implementación de PHY que se ejecuta con una frecuencia de reloj de 450 MHz a menudo se clasifica como una PHY de 900 Mbit/s, mientras que solo 800 Mbit/s están disponibles para la pila UniPro.

El D-PHY también admite un modo de transmisión de datos de bajo consumo (LPDT) y varios otros modos de bajo consumo para usar cuando no es necesario enviar datos.

M-PHY

Las versiones 1.4 y posteriores de UniPro admiten tanto la tecnología D-PHY como la M-PHY [4] . La tecnología M-PHY todavía está en estado de borrador, pero admite velocidades de datos de alta velocidad a partir de aproximadamente 1000 Mbit/s (la M-PHY recibió su nombre del número romano 1000). Además de las velocidades más altas, la M-PHY utilizará menos cables de señal porque la señal de reloj está integrada con los datos mediante el uso de la codificación 8b10b estándar de la industria . Nuevamente, una PHY capaz de transmitir datos de usuario a 1000 Mbit/s generalmente se especifica como en modo de 1250 Mbit/s debido a la codificación 8b10b.

Se espera que las tecnologías D y M coexistan durante varios años. La D-PHY es una tecnología menos compleja, la M-PHY ofrece mayores anchos de banda con menos cables de señal y la C-PHY ofrece bajo consumo de energía.

Modos de baja velocidad y ahorro de energía

Cabe destacar que UniPro admite los modos de comunicación de baja velocidad y bajo consumo de energía que ofrecen tanto D-PHY (10 Mbit/s) como M-PHY (3 Mbit/s hasta 500 Mbit/s). En estos modos, el consumo de energía se escala aproximadamente con la cantidad de datos que se envían. Además, ambas tecnologías PHY brindan modos de ahorro de energía adicionales porque fueron optimizadas para su uso en dispositivos alimentados por batería.

Capa adaptadora PHY (L1.5)

Desde el punto de vista arquitectónico, la capa del adaptador PHY sirve para ocultar las diferencias entre las distintas opciones PHY (D-PHY y M-PHY). Esta abstracción proporciona, por tanto, principalmente flexibilidad arquitectónica. Los detalles PHY abstraídos incluyen los distintos estados de energía y los esquemas de codificación de símbolos empleados.

Símbolos L1.5

Por lo tanto, L1.5 tiene su propia codificación de símbolos (conceptual) que consta de símbolos de 17 bits. Estos símbolos de 17 bits nunca aparecen en los cables, porque L1.5 los convierte primero en un par de símbolos PHY. El bit de control adicional 17 indica símbolos de control especiales que utiliza el propio protocolo (L1.5 y L2). En las figuras, los bits de control se muestran en "rojo L1.5" como recordatorio de que están definidos en la capa 1.5 del protocolo y que son utilizados por ella.

Soporte multicarril L1.5

La característica principal que ofrece L1.5 a los usuarios es permitir que el ancho de banda de un enlace UniPro se incremente mediante el uso de 2, 3 o 4 carriles cuando un solo carril no proporciona suficiente ancho de banda. Para el usuario, un enlace de múltiples carriles de este tipo simplemente parece una capa física más rápida porque los símbolos se envían a través de 2, 3 o 4 carriles. Las aplicaciones que requieren un mayor ancho de banda en una dirección pero requieren menos ancho de banda en la dirección opuesta pueden tener diferentes cantidades de carriles por dirección.

Descubrimiento de carril L1.5

A partir de UniPro v1.4, L1.5 descubre automáticamente la cantidad de carriles M-PHY utilizables para cada dirección del enlace. Esto implica un protocolo de descubrimiento simple dentro de L1.5 que se ejecuta en la inicialización. El protocolo transmite datos de prueba en cada carril de salida disponible y recibe información de la entidad par sobre qué datos de qué carril llegaron realmente al otro extremo del enlace. El mecanismo también admite la reasignación transparente de los carriles para brindarles a los diseñadores de placas de circuitos flexibilidad en la forma en que se conectan físicamente los carriles.

Gestión de energía del enlace L1.5

A partir de UniPro v1.4, L1.5 tiene un protocolo integrado llamado PACP (PA Control Protocol) que permite a L1.5 comunicarse con su entidad L1.5 par en el otro extremo de un enlace basado en M-PHY. Su uso principal es proporcionar una forma simple y confiable para que un controlador en un extremo del enlace cambie los modos de potencia tanto de la dirección directa como de la inversa del enlace. Esto significa que un controlador situado en un extremo del enlace puede cambiar el modo de potencia de ambas direcciones del enlace en una sola operación atómica. Los intrincados pasos necesarios para hacer esto de una manera completamente confiable se manejan de manera transparente dentro de L1.5.

Control de parámetros de pares L1.5

Además de la gestión de energía del enlace L1.5, el PACP también se utiliza para acceder a los parámetros de control y estado del dispositivo UniPro par.

L1.5 garantías

Los mecanismos en L1.5 garantizan lo siguiente a los protocolos de capa superior:

Capa de enlace de datos (L2)

La tarea principal de la capa de enlace de datos (L2) de UniPro es permitir una comunicación confiable entre dos nodos adyacentes en la red, a pesar de errores de bits ocasionales en la capa física o una posible congestión del enlace si el receptor no puede absorber los datos lo suficientemente rápido.

Marcos de datos L2

L2 agrupa símbolos UniPro L1.5 de 17 bits en tramas de datos similares a paquetes (el término paquete está reservado para L3). Estas tramas de datos comienzan con un símbolo de control de inicio de trama de 17 bits, seguido de hasta 288 bytes de datos (144 símbolos de datos) y luego de un símbolo de control de fin de trama y una suma de comprobación.

Tenga en cuenta que dos o más de los 288 bytes son utilizados por capas superiores del protocolo UniPro. El tamaño máximo de trama de 288 bytes de carga útil por trama se eligió para garantizar que toda la pila de protocolos pudiera transmitir fácilmente 256 bytes de datos de aplicación en un solo fragmento. Las cargas útiles que constan de un número impar de bytes se admiten rellenando la trama con un número par de bytes e insertando un indicador correspondiente en el final.

Marcos de control L2

Además de las tramas de datos que contienen datos de usuario, L2 también transmite y recibe tramas de control. Las tramas de control se pueden distinguir de las tramas de datos por tres bits en el primer símbolo. Existen dos tipos de tramas de control:

Tenga en cuenta que estos tipos de tramas de control L2 se envían de forma autónoma por L2.

Retransmisión L2

La comunicación a alta velocidad a niveles bajos de potencia puede provocar errores ocasionales en los datos recibidos. La capa de enlace de datos contiene un protocolo para reconocer automáticamente las tramas de datos recibidas correctamente (utilizando tramas de control AFC) y para señalar activamente los errores que se pueden detectar en L2 (utilizando tramas de control NAC). La causa más probable de un error en L2 es que una trama de datos se haya dañado a nivel eléctrico (ruido, EMI). Esto da como resultado una suma de comprobación incorrecta de la trama de datos o de control en el lado del receptor y provocará su retransmisión automática. Tenga en cuenta que las tramas de datos se reconocen (AFC) o se reconocen negativamente (NAC). Las tramas de control dañadas se detectan mediante temporizadores que monitorean las respuestas esperadas o requeridas.

Un ancho de banda de 1 Gbit/s y una tasa de error de bit de 10 −12 a una velocidad de 1 gigabit/s implicaría un error cada 1000 segundos o una vez cada 1000 Gbit transmitidos. La capa 2 corrige automáticamente estos errores a costa de una pérdida marginal de ancho de banda y a costa del espacio de búfer necesario en L2 para almacenar copias de los marcos de datos transmitidos para una posible retransmisión o "reproducción".

Control de flujo L2

Otra característica de L2 es la capacidad de un transmisor L2 de saber si hay espacio en el búfer para la trama de datos en el extremo receptor. Esto depende nuevamente de las tramas de control L2 (AFC), que permiten que un receptor le diga al transmisor del otro extremo cuánto espacio en el búfer está disponible. Esto permite al receptor pausar el transmisor si es necesario, evitando así el desbordamiento del búfer de recepción. Las tramas de control no se ven afectadas por el control de flujo L2: se pueden enviar en cualquier momento y se espera que el receptor L2 las procese a la velocidad a la que llegan.

Clases de tráfico L2 y arbitraje

UniPro admite actualmente dos niveles de prioridad para tramas de datos, denominados Clase de tráfico 0 (TC0) y Clase de tráfico 1 (TC1). TC1 tiene mayor prioridad que TC0. Esto significa que si un transmisor L2 tiene una combinación de tramas de datos TC0 y TC1 para enviar, las tramas de datos TC1 se enviarán primero. Suponiendo que la mayor parte del tráfico de datos utiliza TC0 y que la red tiene congestión, esto ayuda a garantizar que las tramas de datos TC1 lleguen a su destino más rápido que las tramas de datos TC0 (de manera análoga a los vehículos de emergencia y al tráfico normal en la carretera). Además, L2 puede incluso interrumpir o "adelantarse" a una trama de datos TC0 saliente para transmitir una trama de datos TC1. Se aplican reglas de arbitraje adicionales a las tramas de control: en esencia, estas reciben mayor prioridad que las tramas de datos porque son pequeñas y esenciales para mantener el flujo del tráfico.

En una red de múltiples saltos, el arbitraje se realiza dentro de cada transmisor L2 en cada salto. La clase de tráfico asignada a los datos normalmente no cambia a medida que estos avanzan a través de la red. Depende de las aplicaciones decidir cómo utilizar el sistema de prioridad.

Opción de clase de tráfico única L2

En la versión 1.1 de UniPro, se introdujo una opción que permite que los dispositivos de punto final simples implementen solo una de las dos clases de tráfico si así lo desean. Esto puede resultar útil cuando los diseñadores de dispositivos están más preocupados por el costo de implementación que por el control sobre el arbitraje de tramas. El dispositivo par L2 conectado detecta dichos dispositivos durante la fase de inicialización del enlace y puede evitar el uso de la clase de tráfico faltante.

Garantías L2

Los diversos mecanismos L2 proporcionan una serie de garantías a los protocolos de capa superior:

De esta manera, los enlaces individuales proporcionan de forma autónoma una transferencia de datos fiable. Esto se diferencia, por ejemplo, del protocolo TCP, ampliamente utilizado , que detecta errores en los puntos finales y se basa en la retransmisión de extremo a extremo en caso de datos corruptos o faltantes.

Capa de red (L3)

Ejemplo de arquitectura de sistema que muestra varios dispositivos UniPro conectados a través de conmutadores UniPro

La capa de red tiene como objetivo enrutar los paquetes a través de la red hacia su destino. Los conmutadores dentro de una red de múltiples saltos utilizan esta dirección para decidir en qué dirección enrutar los paquetes individuales. Para habilitar esto, L3 agrega un encabezado que contiene una dirección de destino de 7 bits a todos los marcos de datos de L2. En el ejemplo que se muestra en la figura, esto permite que el Dispositivo n.° 3 no solo se comunique con los Dispositivos n.° 1, n.° 2 y n.° 5, sino que también le permite comunicarse con los Dispositivos n.° 4 y n.° 6.

La versión 1.4 de la especificación UniPro no especifica los detalles de un conmutador, pero sí especifica lo suficiente para permitir que un dispositivo funcione en un futuro entorno de red.

Direccionamiento L3

Aunque la función de la dirección L3 es la misma que la de la dirección IP en los paquetes de Internet, una dirección DeviceID de UniPro tiene solo 7 bits de longitud. Por lo tanto, una red puede tener hasta 128 dispositivos UniPro diferentes. Tenga en cuenta que, en lo que respecta a UniPro, todos los dispositivos UniPro son iguales: a diferencia de PCI Express o USB, cualquier dispositivo puede tomar la iniciativa de comunicarse con cualquier otro dispositivo. Esto hace que UniPro sea una verdadera red en lugar de un bus con un maestro.

Paquetes L3

El diagrama muestra un ejemplo de un paquete L3 que comienza en el primer byte de carga útil L2 de una trama L2 y termina en el último byte de carga útil L2 de una trama L2. Para simplificar y mejorar la eficiencia, una trama L2 solo puede transportar un único paquete L3. Esto implica que, en UniPro, los conceptos de trama L2, paquete L3 y segmento L4 (ver a continuación) están tan estrechamente alineados que son casi sinónimos. Sin embargo, la distinción (y "coloración") se sigue haciendo para garantizar que la especificación se pueda describir de forma estrictamente estratificada.

Estructura del paquete de encabezado corto L3

Los paquetes de encabezado corto UniPro utilizan un solo byte de encabezado para la información L3. Incluye la dirección de destino L3 de 7 bits. El bit restante indica el formato del paquete de encabezado corto. En el caso de los paquetes de encabezado corto, la dirección de origen L3 no se incluye en el encabezado porque se supone que los dos dispositivos que se comunican han intercambiado dicha información de antemano ( comunicación orientada a la conexión ).

Paquetes de encabezado largo L3

Los paquetes de encabezado largo están pensados ​​para ser introducidos en una versión futura de la especificación UniPro, por lo que su formato no está definido (excepto por un bit) en la especificación actual UniPro v1.4. Sin embargo, UniPro v1.4 define un gancho que permite que los paquetes de encabezado largo sean recibidos o transmitidos por un dispositivo compatible con UniPro v1.4 suponiendo que este último pueda ser actualizado a través del software. El mecanismo de "trampa de encabezado largo" de UniPro v1.4 simplemente pasa la carga útil de un marco de datos L2 recibido (siendo el paquete L3 con su encabezado y carga útil) a la extensión L3 (por ejemplo, software) para su procesamiento. El mecanismo también puede aceptar la carga útil del marco L2 de la extensión L3 para su transmisión. Este mecanismo tiene como objetivo permitir que los dispositivos UniPro v1.4 puedan ser actualizados para soportar protocolos que requieren los paquetes de encabezado largo aún no definidos.

Garantías L3

Aunque los detalles de los conmutadores aún no están incluidos en la especificación UniPro v1.4, L3 permite que los dispositivos UniPro v1.0/v1.1/v1.4 funcionen como puntos finales en una red. Por lo tanto, garantiza una serie de propiedades para los protocolos de capa superior:

Capa de transporte (L4)

Las características de la capa de transporte de UniPro no son especialmente complejas, porque los servicios básicos de comunicación ya han sido atendidos por capas de protocolo inferiores. L4 se trata esencialmente de permitir que varios dispositivos en la red o incluso varios clientes dentro de estos dispositivos compartan la red de manera controlada. Las características de L4 tienden a ser aproximadamente comparables a las características que se encuentran en las redes de computadoras (por ejemplo, TCP y UDP ), pero que se encuentran con menos frecuencia en buses locales como PCI Express, USB o buses en chip.

La capa L4 de UniPro también tiene una importancia especial porque es la capa de protocolo superior en la especificación de UniPro. Se requiere que las aplicaciones utilicen la interfaz superior de L4 para interactuar con UniPro y no se espera que pasen por alto L4 para acceder directamente a las capas inferiores. Tenga en cuenta que la interfaz en la parte superior de L4 proporcionada para transmitir o recibir datos se define en el nivel funcional o de comportamiento. Este alto nivel de abstracción evita restringir las opciones de implementación. Por lo tanto, aunque la especificación contiene un anexo con una interfaz de nivel de señal como un ejemplo no normativo, no se requiere que una implementación de UniPro tenga ningún conjunto específico de señales de hardware o llamadas de función de software en su interfaz superior.

Características de L4

La capa de transporte de UniPro puede considerarse como un nivel adicional de direccionamiento dentro de un dispositivo UniPro.

Estos puntos se explican con más detalle a continuación.

Segmentos L4

Un segmento L4 es, en esencia, la carga útil de un paquete L3. El encabezado L4, en su forma abreviada, consta de un solo byte. El campo principal del encabezado L4 corto es un identificador "CPort" de 5 bits que puede considerarse como una subdirección dentro de un dispositivo UniPro y es algo análogo a los números de puerto utilizados en TCP o UDP . Por lo tanto, cada segmento (con un encabezado corto) está dirigido a un CPort específico de un dispositivo UniPro específico.

Un solo bit en el encabezado del segmento también permite definir segmentos con encabezados de segmento largos. UniPro v1.4 no define la estructura de dichos formatos de segmento (excepto este único bit). Los segmentos con encabezado largo se pueden generar a través de la trampa de encabezado largo descrita en la sección L3.

Conexiones L4

UniPro denomina a un par de CPorts que se comunican entre sí una Conexión (de ahí la C en CPort). Configurar una conexión significa que se ha inicializado un CPort para crear segmentos que están dirigidos a un CPort L4 específico de un DeviceID L3 específico utilizando una Clase de tráfico L2 particular. Debido a que las conexiones UniPro son bidireccionales, el CPort de destino también está configurado para permitir que los datos se envíen de vuelta al CPort de origen.

En UniPro 1.0/1.1 la configuración de la conexión es específica de la implementación.

En UniPro v1.4, se supone que la configuración de la conexión es relativamente estática: los parámetros de los CPorts emparejados se configuran estableciendo los atributos de conexión correspondientes en los dispositivos locales y de pares mediante el DME. Esto se complementará con un protocolo de gestión de conexión dinámica en una versión futura de UniPro.

Control de flujo L4

Los CPorts también contienen variables de estado que se pueden utilizar para realizar un seguimiento de cuánto espacio de búfer tiene el par o el CPort conectado. Esto se utiliza para evitar la situación en la que un CPort envía segmentos a un CPort que no tiene suficiente espacio de búfer para almacenar los datos, lo que provoca un bloqueo del tráfico de datos. A menos que se resuelva rápidamente, este atasco de tráfico en el destino se convierte rápidamente en un bloqueo en toda la red. Esto es altamente indeseable ya que puede afectar en gran medida el rendimiento de la red para todos los usuarios o, peor aún, puede provocar situaciones de bloqueo. El mecanismo L4 descrito se conoce como control de flujo de extremo a extremo (E2E FC) porque involucra los puntos finales de una conexión.

Control de flujo L4 versus control de flujo L2

El control de flujo L4 es complementario al control de flujo L2. Ambos funcionan haciendo que el transmisor haga una pausa hasta que sepa que hay suficiente espacio en el búfer del receptor. Pero el control de flujo L4 funciona entre un par de puertos C (posiblemente separados por varios saltos) y tiene como objetivo aislar las conexiones entre sí (analogía del "cable virtual"). Por el contrario, el control de flujo L2 es por salto y evita la pérdida básica de datos debido a la falta de espacio en el búfer del receptor.

Aplicabilidad del control de flujo L4

El FC E2E solo es posible para la comunicación orientada a la conexión, pero en la actualidad la capa 4 de UniPro no admite opciones alternativas. El FC E2E está habilitado de manera predeterminada, pero se puede deshabilitar. Por lo general, no se recomienda hacerlo.

Red de seguridad L4

UniPro ofrece mecanismos de "red de seguridad" que exigen que un CPort absorba todos los datos que se le envían sin detenerse. Si de todos modos se detecta un bloqueo, el punto final descarta los datos entrantes que llegan a ese CPort para mantener el flujo de datos en la red. Esto puede verse como una forma de degradación elegante a nivel del sistema: si una conexión en la red no puede seguir el ritmo de la velocidad de los datos recibidos, otros dispositivos y otras conexiones no se ven afectados.

L4 y mensajes

UniPro L4 permite una conexión entre un par de CPorts para transmitir un flujo de los llamados mensajes (cada uno de ellos compuesto por una serie de bytes) en lugar de un flujo único de bytes. Los límites de los mensajes son activados por el protocolo de nivel de aplicación que utiliza UniPro y se señalan mediante un bit en el encabezado del segmento. Este bit de fin de mensaje indica que el último byte del segmento L4 es el último byte del mensaje de nivel de aplicación.

La aplicación debe indicarle a UniPro dónde o cuándo insertar límites de mensajes en el flujo de bytes: los límites no tienen un significado especial para UniPro en sí y se proporcionan como un servicio para crear protocolos de capa superior sobre UniPro. Los mensajes se pueden utilizar para indicar (por ejemplo, mediante una interrupción) a la aplicación que una unidad de datos está completa y, por lo tanto, se puede procesar. Los mensajes también pueden ser útiles como un mecanismo robusto y eficiente para implementar puntos de resincronización en algunas aplicaciones.

UniPro v1.4 introduce la noción de fragmento de mensaje, un fragmento que es una parte de un mensaje que se transmite entre la aplicación y el CPort. Esta opción puede ser útil cuando se especifican aplicaciones sobre UniPro que necesitan interrumpir la creación de mensajes en función de la información de la pila de UniPro, por ejemplo, mensajes entrantes o contrapresión.

Garantías L4

Los mecanismos en L4 proporcionan una serie de garantías a los protocolos de capa superior:

Entidad de gestión de dispositivos (DME)

La entidad de administración de dispositivos (DME) controla las capas de la pila UniPro. Proporciona acceso a los parámetros de control y estado en todas las capas, administra las transiciones del modo de energía del enlace y se encarga del arranque, la hibernación y el reinicio de la pila. Además, proporciona medios para controlar la pila UniPro de pares en el enlace.

Referencias

  1. ^ Especificación de la Alianza MIPI para el Protocolo Unificado (UniProSM) v1.10.01, requiere una cuenta en el sitio web de MIPI
  2. ^ Descripción general de las especificaciones MIPI, D-PHY se utiliza en las especificaciones DSI, CSI y UniPro, M-PHY se utiliza en las especificaciones UniPro, DigRFv4 y LLI
  3. ^ Especificación de la MIPI Alliance para D-PHY v1.00.00 Archivado el 27 de julio de 2011 en Wayback Machine , requiere una cuenta en el sitio web de MIPI
  4. ^ Especificación MIPI para M-PHY versión 1.00.00 Archivado el 7 de octubre de 2011 en Wayback Machine , requiere una cuenta en el sitio web de MIPI