Articulo de referencia

Transporte lógico asíncrono orientado a la conexión

El transporte lógico orientado a la conexión asíncrona de Bluetooth ( ACL ) es uno de los dos tipos de transporte lógico definidos en la especificación principal de Bluetooth: B...

El transporte lógico orientado a la conexión asíncrona de Bluetooth ( ACL ) es uno de los dos tipos de transporte lógico definidos en la especificación principal de Bluetooth: BR/EDR ACL o LE ACL. BR/EDR ACL es la variante de transporte lógico ACL utilizada con Bluetooth Basic Rate/Enhanced Data Rate (BR/EDR, también conocido como Bluetooth Classic), mientras que LE ACL es la variante de transporte lógico ACL utilizada con Bluetooth Low Energy (LE).

Las listas de control de acceso (ACL) forman parte de la arquitectura de transporte de datos de Bluetooth.

Tenga en cuenta que todas las definiciones de la terminología, los protocolos y los procedimientos de Bluetooth, incluido ACL, están definidos en la Especificación principal de Bluetooth [ 1 ] que es publicada por la organización de desarrollo de estándares, el Grupo de Interés Especial de Bluetooth (Bluetooth SIG).

Arquitectura de transporte de datos Bluetooth

La sección de arquitectura de la especificación principal de Bluetooth define una serie de conceptos que, en conjunto, constituyen la arquitectura de transporte de datos de Bluetooth . Entre estos conceptos, destacan el canal físico, el enlace físico, el enlace lógico y el transporte lógico. Ciertas combinaciones están diseñadas para su uso en diferentes tipos de aplicaciones con requisitos específicos en cuanto a topología, sincronización, fiabilidad y uso del canal de radio.

El transporte lógico LE ACL se utiliza con un enlace lógico LE-C, que transporta datos de control, o con un enlace lógico LE-U, destinado a datos de usuario. Se basa en un enlace físico activo LE y en el canal físico de piconet LE. Véase la figura 1.

Figura 1 - El transporte lógico LE-ACL dentro de la arquitectura de transporte de datos Bluetooth

El transporte lógico ACL de BR/EDR se utiliza con un enlace lógico ACL-C para datos de control o un enlace lógico ACL-U para datos de usuario, y se basa en un enlace físico activo de BR/EDR y en el canal físico de piconet básico de BR/EDR o en el canal físico de piconet adaptado de BR/EDR. Véase la figura 2.

Figura 2 - Transporte lógico de ACL BR/EDR dentro de la arquitectura de transporte de datos Bluetooth

Ambas variantes de ACL están diseñadas para proporcionar una comunicación bidireccional y fiable punto a punto.

LE ACL

Descripción general

Un dispositivo central Bluetooth LE puede establecer una conexión con un dispositivo periférico que realiza publicidad respondiendo a un paquete de publicidad de conexión recibido con una PDU que solicita una conexión. En la solicitud se especifican varios parámetros, entre ellos el intervalo de conexión , el tiempo de espera de supervisión , la latencia del periférico y el mapa de canales .

El parámetro de intervalo de conexión define con qué frecuencia, en milisegundos, se puede utilizar la radio para gestionar esta conexión. Cuando expira el temporizador del intervalo de conexión, se inicia un evento de conexión y, en ese momento, el dispositivo central de la conexión puede transmitir un paquete de capa de enlace. Al inicio de cada evento de conexión, se selecciona el canal de radio que se utilizará mediante un procedimiento conocido como salto de frecuencia adaptativo .

El dispositivo periférico, al tener los mismos parámetros de conexión que el dispositivo central, sabe cuándo esperar paquetes transmitidos por este último y a través de qué canal. Si el valor del parámetro de latencia del periférico es cero, el periférico debe responder al dispositivo central 150 microsegundos (+/- 2 µs) después de recibir el último bit del paquete del dispositivo central. Posteriormente, el dispositivo central y el periférico pueden intercambiar un número adicional de paquetes, definido por la implementación, durante el resto del evento de conexión. Cabe destacar que el comportamiento del periférico puede verse modificado por un valor distinto de cero en el parámetro de latencia del periférico .

La figura 3 muestra un intercambio básico de paquetes durante dos eventos de conexión, donde C>P indica la transmisión de paquetes por el dispositivo central y P>C por el periférico.

Figura 3 - Intercambio básico de paquetes a través de una conexión Bluetooth LE-ACL (C representa el dispositivo central, P representa el dispositivo periférico).

Los paquetes intercambiados a través de una conexión LE ACL contienen PDU de datos LL o PDU de control LL asociadas a procedimientos de control de la capa de enlace. Si alguno de los dispositivos no tiene datos que transmitir y se requiere la transmisión de un paquete, debe enviar una PDU de datos LL vacía.

El parámetro Supervision Timeout especifica el tiempo máximo que puede transcurrir entre la recepción de dos paquetes de datos de la capa de enlace antes de que se considere que el enlace se ha perdido.

El dispositivo periférico no necesita estar a la escucha de paquetes del dispositivo central durante cada conexión. El parámetro de latencia del periférico define el número de conexiones consecutivas durante las cuales el periférico no tiene que estar a la escucha. Esto le permite ahorrar energía.

La figura 4 muestra el comportamiento del dispositivo periférico con latencia de 1, que solo escucha durante eventos de conexión alternos. El dispositivo central puede transmitir durante aquellos eventos en los que el periférico no está escuchando, pero dichos paquetes no se recibirán y, por lo tanto, no se confirmará la recepción, finalizando así el evento de conexión.

Figura 4 - Conexión Bluetooth LE-ACL con latencia periférica = 1 (C representa el dispositivo central, P representa el dispositivo periférico).

Reconocimiento y control de flujo

Los paquetes de datos de la capa de enlace contienen tres campos importantes que contribuyen a la fiabilidad de la comunicación. Estos campos se denominan Número de Secuencia (SN), Siguiente Número de Secuencia Esperado (NESN) y Más Datos. Los tres son campos de un solo bit y su uso proporciona un sistema de acuses de recibo y un método para verificar el orden correcto de los paquetes recibidos.

La comunicación comienza cuando el dispositivo central (Dispositivo A en la Figura 5) envía un paquete de datos de capa de enlace con SN y NESN establecidos en cero. A partir de ese momento, en cada intercambio de paquetes, si todo va bien, el valor del campo SN, establecido por el Dispositivo A, alternará entre cero y uno. Por lo tanto, el otro dispositivo (Dispositivo B) siempre sabe cuál debería ser el valor de SN del siguiente paquete que recibirá y lo verifica.

Si el Dispositivo B recibe un paquete del Dispositivo A con el valor SN esperado, responde con un paquete de datos de capa de enlace cuyo valor NESN está configurado con el valor lógico NOT(SN). Por ejemplo, si el valor SN recibido fue 1, entonces NESN en la respuesta será 0.

Cuando el Dispositivo A recibe una respuesta del Dispositivo B con NESN configurado con el valor que el Dispositivo A pretende usar para SN en su siguiente paquete, el Dispositivo A lo interpreta como una confirmación del Dispositivo B, que indica que recibió correctamente el último paquete transmitido. La Figura 5 ilustra este proceso.

Figura 5 - Intercambio exitoso de paquetes Bluetooth en la capa de enlace

Si el Dispositivo B recibe un paquete con un valor SN incorrecto, asume que el paquete es la retransmisión del paquete recibido anteriormente, lo confirma pero no lo pasa a la siguiente capa para su posterior procesamiento.

Si el Dispositivo A recibe un valor NESN inesperado en la respuesta del Dispositivo B o no recibe ninguna respuesta, reenvía el paquete con el mismo valor SN utilizado originalmente. Las distintas implementaciones de controladores pueden implementar algoritmos diferentes para determinar cuántas veces reenviar el paquete antes de concluir que la comunicación ha fallado. Véase la Figura 6.

Figura 6 - Retransmisiones de la capa de enlace Bluetooth

Cada paquete contiene un campo CRC, y los paquetes cifrados también contienen un campo MIC. Al recibir un paquete, la capa de enlace verifica el CRC y, si está presente, el MIC. Si alguna de las verificaciones falla, el paquete no se confirma, lo que generalmente resulta en que el remitente lo reenvíe. Véase la figura 7.

Figura 7 - Comportamiento de la capa de enlace Bluetooth cuando se produce un fallo de CRC.

Uso del canal

LE-ACL emplea un esquema de espectro ensanchado conocido como salto de frecuencia adaptativo . Al inicio de cada conexión, se produce un salto de frecuencia , seleccionando uno de los 37 canales de radio Bluetooth LE de propósito general del conjunto de canales disponibles mediante un algoritmo de selección de canal . Cada dispositivo conectado cambia al canal seleccionado y, con el tiempo y tras una serie de conexiones, la comunicación se realiza mediante una serie de canales diferentes que cambian con frecuencia, distribuidos en la banda de 2,4 GHz, lo que reduce significativamente la probabilidad de colisiones.

El dispositivo central mantiene un mapa de canales , que también puede ser mantenido por el dispositivo periférico. Este mapa es una tabla de datos que indica qué canales están disponibles y cuáles no. Las implementaciones marcan los canales como usados ​​o no usados ​​según su rendimiento, considerando errores y la presencia de interferencias. El algoritmo de selección de canales no selecciona los canales no usados. De esta manera, el salto de frecuencia adaptativo ajusta dinámicamente los canales utilizados para la comunicación activa según las condiciones de radiofrecuencia del entorno.

Se definen varios procedimientos de control relacionados con las conexiones LE ACL. En la Tabla 1 se muestra una selección de ejemplos.

Conexiones subclasificadas

Las conexiones subrateadas son conexiones LE ACL que tienen propiedades adicionales asignadas y se comportan de manera diferente en algunos aspectos. Las propiedades adicionales se denominan factor de subrate , evento base de subrate y número de continuación .

Las propiedades de conexión con ancho de banda limitado proporcionan un mecanismo para indicar que solo un subconjunto específico de eventos de conexión debe ser utilizado activamente por los dispositivos conectados, sin que la radio se utilice en otros eventos de conexión. Por lo tanto, una conexión con ancho de banda limitado puede tener un intervalo de conexión ACL corto, lo que permite una baja latencia en la capa de aplicación, pero aun así presenta un ciclo de trabajo bajo.

La figura 8 ilustra los conceptos básicos relacionados con las conexiones subaceleradas.

Figura 8 - Concepto básico de conexión Bluetooth LE subacelerada

Aquí podemos observar que solo uno de cada cinco eventos de conexión es utilizado por la red central o periférica. Los otros cuatro se omiten, por lo que no hay actividad de radio durante esos eventos. Esta proporción de eventos de conexión utilizados y omitidos viene determinada por el parámetro del factor de subvelocidad , que en este ejemplo está configurado en 5.

Las conexiones de ancho de banda reducido cuentan con una serie de procedimientos de control de capa de enlace específicos. Por ejemplo, existe un procedimiento para actualizar los parámetros de estas conexiones que funciona de manera diferente al procedimiento general de actualización de conexión. Es fundamental destacar que los cambios en los parámetros de las conexiones de ancho de banda reducido se aplican casi instantáneamente, mientras que los cambios en los parámetros de conexión generales pueden tardar bastante tiempo en surtir efecto. Por lo tanto, la ventaja de las conexiones de ancho de banda reducido radica en que permiten establecer conexiones persistentes con un ciclo de trabajo bajo y un consumo energético reducido, y cambiarlas a una conexión de alto ciclo de trabajo y gran ancho de banda sin demoras perceptibles para el usuario. Esta capacidad resulta especialmente útil en algunos escenarios de audio para usuarios con necesidades energéticas limitadas, como los que involucran audífonos y teléfonos inteligentes.

El documento "Mejoras de características de la versión 5.3 de la especificación principal de Bluetooth" incluye un capítulo extenso dedicado al tema de las conexiones con ancho de banda reducido y se recomienda como fuente de información adicional.

BR/EDR ACL

Descripción general

La comunicación mediante un transporte lógico ACL BR/EDR es similar a la variante ACL LE y proporciona un mecanismo de comunicación asíncrono punto a punto para el intercambio de datos entre un dispositivo central y un periférico.

Cuando un dispositivo BR/EDR se une a una piconet, se crea automáticamente un transporte lógico ACL predeterminado. Otros tipos de transporte lógico (por ejemplo, SCO - BR/EDR síncrono orientado a la conexión) entre el mismo par de dispositivos dependen de la ACL predeterminada y, si se elimina, los demás transportes lógicos también se eliminan.

Las conexiones BR/EDR ACL utilizan intervalos de tiempo definidos por el canal físico subyacente. Los dispositivos centrales y periféricos transmiten y reciben alternativamente durante un subconjunto de estos intervalos de tiempo, asignados por la implementación. Se da prioridad a los transportes lógicos síncronos, de modo que las conexiones BR/EDR solo utilizan los intervalos de tiempo que no se han reservado para la comunicación síncrona.

Seis tipos de paquetes definidos para Bluetooth Basic Rate (BR) se denominan DM1, DH1, DM3, DH3, DM5 y DH5. Bluetooth Enhanced Data Rate (EDR) define otros seis tipos de paquetes denominados 2-DH1, 3-DH1, 2-DH3, 3-DH3, 2-DH5 y 3-DH5. Se define un tipo de paquete AUX1 para su uso en pruebas.

Una conexión BR/EDR ACL se establece mediante un dispositivo periférico que envía una solicitud de paginación a un dispositivo central. El dispositivo central realiza el escaneo de la página .

Confirmaciones y pedidos

Los campos de encabezado de 1 bit ARQN y SEQN se utilizan para permitir que se realicen confirmaciones positivas o negativas y para verificar que el orden de los paquetes recibidos sea el correcto.

Control de flujo

El búfer RX asociado a las conexiones ACL BR/EDR puede llenarse. El campo de encabezado FLOW se utiliza para proporcionar un mecanismo de control de flujo simple, con valores en las respuestas que indican DETENER o AVANZAR.

Uso del canal

El salto de frecuencia adaptativo (responsabilidad del canal físico subyacente) se activa al usar el transporte lógico ACL de BR/EDR, seleccionándose un canal en cada evento de recepción o transmisión. Se definen 79 canales para su uso con Bluetooth BR/EDR y existen varios patrones de salto posibles.

El Protocolo de Administrador de Enlaces (LMP) define una serie de tipos de PDU que permiten controlar y negociar los detalles del transporte lógico de la ACL BR/EDR. Las PDU LMP se envían a través de un enlace lógico ACL-C.

Referencias

  1. "Especificación principal de Bluetooth" . 12 de julio de 2021.
  • Bluetooth SIG - Sitio web del Grupo de Interés Especial en Bluetooth
  • Lista de todas las especificaciones de Bluetooth
  • Documento de descripción general de las características de la versión 5.2 de la especificación principal de Bluetooth
  • Documento sobre las mejoras de las funciones de la especificación principal de Bluetooth 5.3