Establecimiento de conexiones en Bluetooth.

Para establecer nuevas conexiones se utilizan los procedimientos de acceso que son los de búsqueda opagingy los de pregunta oinquiry. Si no se conoce nada sobre el dispositivo remoto debe seguirse tanto el procedimiento inquiry como el de paging. Si se conocen algunos detalles del dispositivo remoto sólo será necesario el procedimiento de paging

Pregunta (Inquiry)

El procedimiento de “inquiry” permite a un dispositivo descubrir qué dispositivos están en su zona de cobertura, determinando sus direcciones y el reloj de todos aquellos que respondan al mensaje de búsqueda. Entonces, si el dispositivo emisor lo desea, establecerá una conexión con alguno de los dispositivos descubiertos.

El mensaje de búsqueda no contiene ningún tipo de información sobre la fuente emisora del mensaje, no obstante, puede indicar qué clase de dispositivos deberían responder. Para poder conseguir esto existe un código de acceso de pregunta (GIAC) para preguntar por algún tipo de dispositivo en especial, y una serie de códigos de acceso de pregunta dedicados (DIAC) para tipos de dispositivos.

Así pues un dispositivo que quiera conectar con otro dispositivo en concreto continuamente transmite el mensaje GIAC en diferentes frecuencias de salto. La secuencia de saltos está determinada en el parte menos significativa de la dirección del GIAC, incluso cuando se utilizan los DIAC.

Un dispositivo que quiera ser descubierto, cada cierto tiempo entrará en un estado de escaneo de preguntas llamado “inquiry scan” para atender a estos mensajes.

Una vez atendida la pregunta, el dispositivo destino, entrará en el modo”inquiry response” y transmite un mensaje de respuesta que consiste en una paquete FHS (Frequency Hop Synchronization), que tiene los parámetros del dispositivo. El maestro escucha las diferentes respuestas, pero nada más leer una respuesta continua escaneando por diferentes respuestas. En el caso de que exista contienda entre diferentes dispositivos, éstos, al no recibir respuesta del maestro, esperan un número aleatorio de slots y se mantienen a la escucha de un nuevo mensaje de pregunta del maestro.

Búsqueda (Paging)

El procedimiento de “paging” sigue al de “inquiry”. El procedimiento de paging pregunta por la dirección de un dispositivo Bluetooth con el que queremos establecer la conexión. Este identificador del dispositivo se obtenido de las siguientes tres formas:

  • Obtenida en la respuesta de un “inquiry”.
  • Introducida por el usuario.
  • Preprogramada por el fabricante del dispositivo.

Entonces el dispositivo maestro, que se encuentra en el estado page, inicia la transmisión transmite el código de acceso o DAC (Device Access Code) al dispositivo que deseamos que sea esclavo deforma repetida en diferentes canales de salto.

Establecimiento de conexiones bluetooth

Debido a que los relojes del maestro y del esclavo no están sincronizados, el maestro no sabe exactamente cuando y en qué frecuencia de salto se activará el esclavo por lo tanto maestro se quedará a la escucha entre los diversos intervalos de transmisión hasta recibir respuesta del esclavo.

Después de haber recibido su propio código de acceso de dispositivo, el esclavo transmite un mensaje de respuesta, simplemente indicará su código de acceso, y se queda activado en espera de la llegada del paquete FHS (Frequency Hop Synchronization), Cuando el maestro ha recibido este paquete ACK, envía un paquete de control con información acerca de su reloj, dirección, clase de dispositivo, etc. El maestro se queda a la espera de una respuesta.

El esclavo se activa y responde con un nuevo mensaje ACK donde envía de nuevo su dirección y a la vez cambia el código de acceso del canal y su reloj, tomando los del maestro incluido en el paquete FHS. El esclavo establece la conexión usando para ello el reloj y la BD_ADDR del maestro para determinar la secuencia de salto del canal y el código de acceso.

Si el maestro no obtiene esta respuesta en un determinado tiempo, él reenvía el paquete de control. Si el esclavo excede el tiempo de espera, entonces vuelve al estado de page scan.Si es el maestro quien lo excede, entonces vuelve al estado

de pagee informa a las capas superiores. Con el ACK, el maestro entra en modo de conexión establecida y usa su BD_ADDR para cambiar a una nueva secuencia.