Cómo construir sistemas inalámbricos de bajo consumo utilizando Bluetooth Smart 4.0
Colaboración de Editores europeos de DigiKey
2014-06-12
El mercado de los dispositivos inalámbricos portátiles de bajo consumo está explotando, y las especificaciones de Bluetooth 4.0 de baja energía son una parte importante del desarrollo de esos sistemas. Este artículo explica cómo los módulos de fabricantes tales como Laird Wireless, connectBlue y Bluegiga, que son compatibles con las especificaciones de la versión 4.0, se pueden utilizar para desarrollar equipos de uso médico fáciles de llevar y de bajo consumo en entornos de desarrollo tales como el que proporciona CSR.
Gracias al creciente enfoque en los equipos informáticos fáciles de llevar, la conectividad de Bluetooth 4.0 de baja energía permite una amplia variedad de dispositivos, desde sistemas de acondicionamiento físico portátiles hasta pelotas de baloncesto inteligentes.
Los artículos de uso diario, tales como relojes, brazaletes, guantes y hasta cepillos de dientes, se actualizarán con la tecnología inalámbrica Bluetooth, lo que les permitirá recopilar datos y volver a enviarlos a una aplicación en un teléfono inteligente o tableta. Los deportes y los programas de acondicionamiento físico conforman el 96 % de los dispositivos fáciles de llevar enviados en 2013 y ABI Research prevé que se enviarán 32 millones de dichos dispositivos con Bluetooth Smart en 2014.
Alimentar a un dispositivo mediante una batería pequeña o recargable es importante para el mercado de equipos fáciles de llevar y de deportes, mientras que la capacidad de ejecutar un enlace integrado por muchos años con una batería impulsa la adopción de Bluetooth Smart. Esto requiere algunas consideraciones clave en el diseño, desde la perspectiva del hardware y del software.
La clave de Bluetooth Smart es su capacidad de funcionar con una aplicación en un teléfono inteligente o tableta existente. Sin embargo, a pesar de que el Bluetooth de baja energía utiliza las mismas frecuencias de banda ISM de 2.4 GHz al igual que el Bluetooth clásico anterior, utiliza un protocolo de cambio de frecuencia gaussiano para reducir el consumo de energía. Además usa canales de 2 MHz más pequeños y modulación de espectro ensanchado de secuencia directa (DSSS).
Esta combinación significa que las especificaciones de baja energía y clásica no son directamente compatibles. Sin embargo, esto no es un problema para el programador ya que todos los chips y módulos que están certificados como compatibles con Bluetooth pueden funcionar en cualquier modo: clásico para los dispositivos más antiguos o como Bluetooth Smart con la versión DSSS. Al principio, un producto "listo para Bluetooth Smart" indicaba un dispositivo de modo doble, por lo general una computadora portátil o teléfono inteligente, cuyo hardware es compatible con periféricos clásicos y de Bluetooth de baja energía, mientras que la etiqueta "Bluetooth Smart" indica un dispositivo solo de baja energía.
Bluetooth Smart obtiene sus ventajas de bajo consumo mediante cuarenta de los canales de 2 MHz, que dan un índice de bit de enlace de 1 Mbit/s y una tasa de producción de la aplicación de 270 kbit/s. Aunque esto es más bajo para el Bluetooth clásico, el índice de bit para las aplicaciones se compensa con la reducción de la latencia a 6 ms desde los 100 ms. La energía máxima de transmisión también se reduce a 10 mW, lo que reduce el rango por debajo de 50 metros. Esto es más que suficiente para las aplicaciones domésticas y fáciles de llevar de rango corto. Gracias a esto también es más fácil implementar un sistema BLE4.0, ya que no es necesario preocuparse tanto por el presupuesto de enlace total.
Un creador de módulo, como Laird Wireless, puede ocultar gran parte de esta complejidad. El módulo Laird Wireless BL600 combina un transceptor del semiconductor nórdico con una antena y las interfaces, todo en un espacio compacto de 19 mm x 12.5 mm. Los módulos incorporan todo el hardware y firmware requeridos para apoyar el desarrollo de aplicaciones de Bluetooth de baja energía, que incluyen las interfaces UART, SPI, I²C, ADC y GPIO para conectar periféricos y sensores. La conexión a través de estas interfaces es relativamente directa con enlaces de cable simple, doble o múltiple.

Figura 1: El módulo BL600 Bluetooth Smart de Laird Wireless permite que se agregue fácilmente la conectividad a los diseños existentes.
Una serie de perfiles, que incluye Blood Pressure, Heart Rate, Health Thermometer, Proximity y Find Me, administra la adquisición de los datos de estas conexiones. Estos perfiles, llamados perfil de atributo genérico (GATT), ofrecen una interfaz de programación de aplicación de cliente-servidor (API) dentro del sistema operativo, junto con los servicios y los descriptores.
Un servicio es una recopilación de características relacionadas que funcionan juntas para ejecutar una función en particular. El servicio Health Thermometer incluye las características de un valor de la medición de la temperatura y un intervalo de tiempo entre las mediciones. Un descriptor proporciona más información sobre una característica, como una indicación de sus unidades (por ejemplo, Celsius), y los valores máximo y mínimo que el sensor puede medir.
Los atributos de los servicios, características y descriptores se identifican colectivamente mediante identificadores universales (UUID). El SIG de Bluetooth reservó una variedad de UUID (de la forma xxxxxxxx-0000-1000-8000-00805F9B34FB) para atributos estándares y estos se representan como valores de forma corta de 16 o 32 bits en el protocolo, en lugar de 128 bits, para mantener el tamaño de código y la complejidad bajos.
Operaciones de GATT
El protocolo GATT ofrece varios comandos para que el cliente descubra información sobre el servidor. Estos incluyen el descubrimiento de UUID para todos los servicios primarios, encontrar un servicio con un UUID determinado y luego los servicios secundarios, así como encontrar todas las características para un servicio determinado.
También se brindan los comandos para transferir datos sobre las características desde el servidor hasta el cliente (denominado lectura) y del cliente al servidor (escritura). Puede leerse un valor al especificar el UUID de la característica o mediante un valor de código, que viene de los comandos de descubrimiento de información. Las operaciones de escritura siempre identifican la característica por código pero tienen la opción de que se requiera una respuesta del servidor o no.
GATT también ofrece notificaciones e indicaciones. El cliente puede solicitar una notificación para una característica particular del servidor que luego puede enviar el valor al cliente cuando se vuelva disponible. Por ejemplo, un servidor de un sensor de temperatura puede notificar a su cliente cada vez que realiza una medición. Esto evita la necesidad de que el cliente sondee el servidor, lo que reduce la necesidad de un enlace de radio regular. Una indicación es similar a una notificación, excepto que requiere una respuesta del cliente, como confirmación de que ha recibido el mensaje.
Laird agrega un lenguaje de programación impulsado por eventos que permite una operación independiente del módulo a través de la cual los sensores pueden acoplarse mediante cualquiera de las interfaces sin la necesidad de un procesador externo. Una simple aplicación smartBASIC encapsula el proceso completo de extremo a extremo de lectura, escritura y procesamiento de datos del sensor y luego el uso de Bluetooth de baja energía para transferirlo a cualquier dispositivo Bluetooth v4.0: teléfono inteligente, tableta, compuerta o computadora.
Además de contar con las aprobaciones modulares de la FCC, CI, CE y MIC, los módulos pueden obtener la calificación completa de productos finales Bluetooth. Esto permite a los diseñadores integrar los módulos en sus dispositivos existentes sin la necesidad de obtener la calificación de Bluetooth adicional, lo que aumenta en gran medida la velocidad de los desarrollos.
Otros fabricantes de módulos, como Bluegiga y connectBlue, utilizan silicio del Bluetooth de baja energía de Texas Instruments para los módulos que son compatibles con la versión v4.0. El módulo BLE112 de Bluegiga puede accionarse con una batería tipo botón de 3 V o dos baterías AAA que se adapten en los diseños más pequeños, desde de llaveros a control remoto hasta accesorios para iPhone. En el modo de reposo con más baja potencia, solo consume 500 nA y se reactivará en unos cuantos cientos de microsegundos para extender la duración de la batería. El módulo connectBlue integra un sensor de temperatura y un acelerómetro. Asimismo, puede funcionar hasta por 10 años con una batería tipo botón simple.
El módulo OLP425 de ConnectBlue está calificado como subsistema de controlador, y admite los perfiles de Bluetooth de baja energía, los servicios y los atributos desarrollados por el cliente. El módulo se basa en el sistema en chip TI CC2540 que ejecuta la aplicación y la pila de protocolo Bluetooth de baja energía. Esto incluye el código de objeto con la última pila de protocolo Bluetooth de baja energía, que admite muchas conexiones, proyectos de muestra y aplicaciones que cubren un conjunto amplio de perfiles con código de fuente.
El paquete de código de muestra de OLP425 de connectBlue incluye proyectos de muestra para acceder a los LED, al sensor de temperatura y a los acelerómetros con el software integrado que fue desarrollado con el banco de trabajo integrado de IAR para el núcleo 8051 en el chip.
Transceptor
El diseño del CC2540 se divide en tres categorías principales: módulos relacionados con la unidad central de procesamiento; módulos relacionados con la distribución de potencia, prueba y señal de reloj; y módulos relacionados con radio (Figura 2).

Figura 2: Diagrama de bloque del transceptor Bluetooth Smart 4.0 CC2540 de TI.
Unidad central de procesamiento y memoria
Desde la perspectiva del desarrollador, el centro del SoC es el núcleo de la unidad central de procesamiento compatible con 8051 de ciclo único. Cuenta con tres buses de acceso a la memoria diferentes (SFR, DATA, y CODE/XDATA), una interfaz de depuración, y una unidad de interrupción prolongada de 18 entradas.
El árbitro de la memoria es el centro del sistema, ya que conecta la unidad central de procesamiento y el DMA con las memorias físicas y todos los periféricos mediante el bus de SFR. Tiene cuatro puntos de acceso a la memoria, y cada punto puede asignarse a una de las tres memorias: SRAM, Flash, y registros XREG/SFR. También es responsable de ejecutar el arbitraje y la secuenciación entre los accesos simultáneos de la memoria a la misma memoria física.
El bus SFR se muestra de modo conceptual en la Figura 2 como un bus común que conecta todos los periféricos del hardware al árbitro de la memoria. El bus SFR en el diagrama de bloque también da acceso a los registros de radio en el banco de registros de radio, a pesar de que estos realmente están asignados en el espacio de memoria XDATA. La memoria SRAM de 8 KB se asigna al espacio de memoria DATA y a las partes de los espacios de memoria XDATA. Esta es una memoria SRAM de consumo ultrabajo que mantiene su contenido incluso si la parte digital está apagada (es decir, en modos de potencia 2 y 3). El bloque de la memoria Flash de 128/256 KB proporciona una memoria de programa no volátil programable en circuito para el dispositivo, y se asigna en los espacios de memoria CODE y XDATA.
Periféricos
La escritura en el bloque de la memoria Flash se realiza a través de un controlador Flash, que permite la eliminación del asistente de la página y la programación de 4 bytes. Además, un controlador DMA versátil de cinco canales está disponible en el sistema. Esto accede a la memoria mediante el espacio de memoria XDATA, y por ende tiene acceso a todas las memorias física. Cada canal (disparador, prioridad, modo de transferencia, modo de direccionamiento, punteros de destino y fuente, y conteo de transferencia) se configura con los descriptores de DMA. Estos pueden encontrarse en cualquier parte de la memoria. Muchos de los periféricos del hardware (núcleo de AES, controlador de memoria Flash, USART, temporizadores, interfaz de ADC, y más) se pueden utilizar con el controlador DMA para obtener un funcionamiento eficiente mediante la realización de transferencias de datos entre una sola dirección SFR o XREG y la memoria Flash/SRAM.
Cada CC2540 contiene una dirección IEEE de 48 bits que se puede usar como la dirección pública del dispositivo para un dispositivo Bluetooth. Los diseñadores pueden usar con libertad esta dirección, o proporcionar su propia dirección, tal como se describe en la especificación de Bluetooth.
El controlador de interrupción mantiene un total de dieciocho fuentes de interrupción, divididas en seis grupos de interrupciones, y cada grupo está asociado a uno de los cuatro sistemas principales de interrupción. Las solicitudes de interrupción de E/S y del temporizador del modo reposo se mantienen incluso si el dispositivo está en modo de reposo (modos de potencia 1 y 2) al devolver el CC2540 al modo activo.
La interfaz de depuración implementa una interfaz serial de dos conductores patentada, que se utiliza para la depuración en circuito. Mediante esta interfaz de depuración, es posible eliminar o programar toda la memoria Flash, controlar qué osciladores están activados, detener e iniciar la ejecución del programa de usuario, ejecutar las instrucciones en el núcleo 8051, configurar las interrupciones de código, y realizar las instrucciones en un solo paso en el código. Con estas técnicas, es posible realizar la depuración en circuito y la programación de la memoria Flash externa.
El controlador de E/S es el encargado de todas las clavijas de E/S de uso general. La unidad central de procesamiento puede configurar si los módulos periféricos controlan algunas clavijas o si son controladas por el software, así como si cada clavija se configura como una entrada o salida, y si está conectada una resistencia de empuje o conexión en la almohadilla. Cada periférico que se conecta a las clavijas de E/S puede elegir entre dos ubicaciones diferentes de la clavija de E/S para asegurar la flexibilidad en distintas aplicaciones.
El temporizador de modo de reposo es un temporizador con consumo ultrabajo que puede usar un oscilador de cristal externo de 32.768 kHz o un oscilador RC interno de 32.753 kHz. El temporizador de modo de reposo funciona de manera continua en todos los modos de funcionamiento, excepto del modo de potencia 3. Las aplicaciones frecuentes de este temporizador son como un contador en tiempo real o como un temporizador de reactivación para salir de los modos de potencia 1 o 2.
Un temporizador de vigilancia integrado permite que el CC2540 se restablezca por si mismo si se suspende el firmware. Al ser activado por el software, el temporizador de vigilancia debe borrarse de manera periódica, ya que de lo contrario, el dispositivo se restablece cuando se acaba el tiempo.
El temporizador 1 es un temporizador de 16 bits con la funcionalidad del temporizador/contador/PWM. Tiene un preescalador programable, un valor de período de 16 bits, y cinco canales de contador/captura programables individuales. Cada uno tiene un valor de comparación de 16 bits. Cada canal de contador/captura puede usarse como una salida de PWM o para captar la sincronización de los bordes en las señales de entrada. También se puede configurar en un modo de generación de IR, en el que se cuente los períodos del temporizador 3 y la salida está interconectada con la salida del temporizador 3 para generar señales moduladas de IR del consumidor y con la interacción de la unidad central de procesamiento mínima.
El temporizador 2 es un temporizador de 40 bits que utiliza la pila de Bluetooth de baja energía. Tiene un contador de 16 bits con un período de temporizador configurable y un contador de desbordamiento de 24 bits que se puede utilizar para hacer el seguimiento del número de períodos que se han realizado. Un registro de captura de 40 bits también se utiliza para registrar el tiempo exacto en el que se recibe/transmite un delimitador de inicio de marco, o el tiempo exacto en el que finaliza la transmisión. Existen dos registros de comparación de temporizador de 16 bits y dos registros de comparación de desbordamiento de 24 bits que se pueden utilizar para el arranque de RX o TX en las interrupciones generales o de radio.
El temporizador 3 y el temporizador 4 son temporizadores de 8 bits con la funcionalidad del temporizador/contador/PWM. Ellos tienen un preescalador programable, un valor de período de 8 bits y un canal de contador programable con un valor de comparación de 8 bits. Cada uno de los canales de contador se pueden utilizar como salida de PWM.
El USART 0 y el USART 1 son configurables al igual que un SPI maestra/esclava o un UART (transmisor receptor asíncrono universal). Ellos proporcionan un doble almacenamiento en RX y TX, y en el control del flujo del hardware. Por lo tanto, con compatibles con las aplicaciones de transmisión bidireccional de alta tasa de producción. Cada USART tiene su propio generador de velocidad de transmisión de alta precisión, que libera los temporizadores comunes para otros usos. Cuando se configura como SPI esclava, los USART ponen a prueba la señal de entrada con el SCK directamente en vez de utilizar algunos esquemas de sobremuestreo, y que por lo tanto admiten las altas velocidades de transmisión.
Para aplicaciones más seguras, el núcleo de cifrado/descifrado en AES permite al usuario cifrar y descifrar los datos con el algoritmo de AES y las claves de 128 bits. El núcleo en AES también admite el ECB, CBC, CFB, OFB, CTR, y CBC-MAC, y tiene soporte de hardware para el CCM.
El ADC admite de 7 a 12 bits de resolución con un rango correspondiente de anchos de banda desde 30 kHz hasta 4 kHz, respectivamente. Las conversiones de CC y de audio hasta con ocho canales de entrada (clavijas del controlador de E/S) son posibles. Las entradas se pueden seleccionar como únicas o diferenciales. El voltaje de referencia puede ser interno, AVDD, o una señal externa única o diferencial. El ADC también tiene un canal de entrada para sensor de temperatura. El ADC puede automatizar el proceso de muestreo periódico o conversión de una secuencia de canales.
El amplificador operacional está destinado a proporcionar almacenamiento de cliente y ganancia al ADC. Ambas entradas, así como la salida, están disponibles con clavijas, de manera que la red de retroalimentación está completamente personalizada. El modo de interruptor estabilizado está disponible para las aplicaciones que necesitan una óptima exactitud y altas ganancias.
El comparador analógico de consumo ultrabajo permite que las aplicaciones se activen desde PM2 o PM3 basadas en una señal analógica. Ambas entradas salen hacia las clavijas. El voltaje de referencia debe proporcionarse de manera externa. La salida del comparador está conectada al detector de interrupción del controlador de E/S, y el MCU puede tratarla como una interrupción de clavija de E/S regular.
CSR, otro fabricante de transceptores Bluetooth y chips SoC, también proporciona un conjunto de herramientas para el desarrollo del software, el diseño de la placa y la prueba de producción de su chip uEnergy. Este chip se sitúa en un módulo de referencia con una interfaz de programación USB e interfaces para distribuir la E/S a los sensores y los accionadores específicos de la aplicación. El entorno de desarrollo de software CSR xIDE de licencia completa incluye aplicaciones de ejemplo para perfiles populares de Bluetooth Smart y aplicaciones huésped para que iOS y los teléfonos inteligentes Android simplifiquen el proyecto. La placa de destino normalmente es alimentada desde la conexión USB huésped pero también se acciona independientemente desde un tipo botón integrado para permitir que se realicen mediciones de energía.

Figura 3: El sistema de desarrollo CSR Bluetooth Smart.
La integración de los módulos en diseños es relativamente directa, aunque existen muchas elecciones clave que hacer cuando se usan baterías para brindar alimentación para estos dispositivos.
El BLE112 de Bluegiga se puede utilizar directamente con una batería tipo botón. Debido a la resistencia interna relativamente alta de una batería tipo botón, se recomienda colocar un capacitor de 100 μF en paralelo con la batería. La resistencia interna de una batería tipo botón inicialmente está en el rango de 10 Ohm, pero la resistencia aumenta rápidamente a medida que se usa la capacidad.
Mientras más alto sea el valor del capacitor, más alta será la capacidad efectiva de la batería y más larga será la vida para la aplicación. El valor máximo del capacitor depende de la aplicación final y la energía máxima de transmisión usada. La corriente de fuga de un capacitor de 100 μF está en el rango de 0,5 μA a 3 μA, y generalmente, los capacitores de cerámica tienen una corriente de fuga más baja que los capacitores electrolíticos de tantalio o aluminio.

Figura 4: El módulo BLE112 Bluetooth Smart de BlueGiga. Usar un capacitor en la batería puede extender la vida de la batería.
Otra opción es utilizar el convertidor de CC/CC para disminuir el consumo de corriente durante TX/RX y las etapas del procesamiento de datos. Existen varios convertidores de CC/CC de consumo ultrabajo, y con el modo de derivación se reducirá el consumo de corriente durante la transmisión de modo nominal por aproximadamente 20 % al utilizar una batería tipo botón de 3 V. Se recomienda utilizar una perla de ferrita para filtrar cualquier exceso de ruido en las líneas de alimentación y garantizar el rendimiento de radio.
Conclusión
Se configura una generación totalmente nueva de equipos domésticos portátiles, fáciles de llevar y conectados para beneficiarse de la tecnología Bluetooth Smart. Con la versión 4.0 del Bluetooth de baja energía, los diseños existentes se pueden actualizar fácilmente para conectar los teléfonos inteligentes y las tabletas a una amplia variedad de aplicaciones nuevas. Los módulos con calificación previa y los kits de desarrollo que admiten los dispositivos de silicio altamente integrados ayudan a los desarrolladores a aumentar esta capacidad de manera rápida y fácil.
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.

