SoCs y herramientas Bluetooth de baja energía son compatibles con Bluetooth 4.1, 4.2 y 5 para afrontar los desafíos del IoT (Parte 2)
Colaboración de Editores de DigiKey de América del Norte
2017-04-20
Nota del editor: Las importantes actualizaciones de Bluetooth de baja energía introducidas a través de las versiones 4.1, 4.2 y 5 fueron diseñadas para hacer del estándar inalámbrico de corto alcance una mejor opción para las aplicaciones inalámbricas del Internet de las cosas (IoT). En la primera parte de esta serie de dos partes se describen esas actualizaciones y se describen sus ventajas. En la segunda parte se presentan los SoC, módulos y kits de Bluetooth de baja energía y se analizan sus ventajas relativas como enfoque de diseño. Al final de la serie, un diseñador competente debería sentirse cómodo al iniciar un diseño de Bluetooth de baja energía.
Aunque varios proveedores de chips ya suministran sistemas en chip (SoC) de transceptores Bluetooth de baja energía que cumplen con la última versión de los estándares, aprovechar toda la nueva funcionalidad es complicado. Si se parte de una hoja en blanco, el desarrollador debe enfrentarse a un diseño de circuito periférico de RF relativamente complejo y, a continuación, escribir un software de aplicación que optimice su aplicación y, al mismo tiempo, interactúe sin problemas con el software de protocolo ("pila") de Bluetooth de baja energía probado y verificado por los fabricantes. A continuación, deben obtener la conformidad normativa para su prototipo inalámbrico. Optar por un módulo puede facilitar el proceso al eliminar el diseño del circuito periférico y las pruebas de conformidad, pero esto puede aumentar tanto el costo como el espacio de la solución.
A partir de ejemplos de chips y módulos comerciales de Bluetooth de baja energía, pilas, software de aplicación de código abierto, diseños de referencia y herramientas de desarrollo suministradas por los proveedores, este artículo describe cómo los ingenieros con escasos conocimientos de diseño de RF pueden afrontar los distintos desafíos y aprovechar al máximo las ventajas que aporta la conectividad inalámbrica.
Diseño de hardware
En la primera parte de este artículo se describe cómo los proveedores de silicio han adoptado generalmente un enfoque de SoC altamente integrado para sus productos de Bluetooth de baja energía. Los SoC se basan casi exclusivamente en radios de 2.4 GHz, supervisados por procesadores integrados ARM Cortex-M0, M3 o M4F con flash y RAM para almacenar el firmware de la pila y el software de aplicación. Otros recursos en el chip suelen incluir la gestión de la energía, una selección de periféricos y E/S como la modulación de ancho de pulso (PWM), la conversión analógica-digital (ADC) y un receptor/transmisor asíncrono universal (UART).
Junto con la introducción de hardware de un solo chip, los proveedores de silicio están trabajando para facilitar a los ingenieros de RF no expertos el diseño de productos inalámbricos mediante el suministro de diseños de referencia, notas de aplicación y herramientas de diseño. Algunos conocimientos de RF son una ventaja, por supuesto, pero es posible que un ingeniero sin experiencia diseñe y desarrolle un producto inalámbrico totalmente funcional.
El SoC transceptor Bluetooth 4.2 CYBL1xx7x de Cypress Semiconductor, las herramientas de diseño y la documentación son un buen ejemplo de este enfoque de solución completa por parte de los proveedores. El SoC de Cypress comprende cinco subsistemas integrados en un único CI. Esto elimina muchos de los componentes periféricos que antes eran necesarios para una solución de Bluetooth de baja energía. (Figura 1).

Figura 1: Los fabricantes de chips de Bluetooth de baja energía suelen adoptar un enfoque de SoC altamente integrado. Las soluciones requieren pocos componentes periféricos y utilizan procesadores ARM Cortex-M[x] para ejecutar tanto la pila como el código de la aplicación. El esquema muestra el SoC Bluetooth de baja energía CYBL1xx7x de Cypress Semiconductor. (Fuente de la imagen: Cypress Semiconductor)
El principal de estos subsistemas es el de la CPU, que suele incluir un procesador ARM integrado y bloques de memoria. Un controlador de acceso directo a la memoria (DMA) permite realizar ciertas operaciones sin utilizar los recursos de la MCU. El núcleo ARM integrado aporta muchas ventajas. Entre ellas se encuentran la amplia adopción, un sólido ecosistema y el apoyo de varios entornos de diseño integrados (IDE) populares. El núcleo se ha diseñado específicamente para un bajo consumo de energía y el dispositivo tiene suficiente carga computacional para ejecutar simultáneamente la pila y el sofisticado código de la aplicación. Esto elimina la complejidad, el costo y los requisitos de espacio de un procesador de aplicaciones independiente.
El subsistema Bluetooth de baja energía del CYBL1xx7x está formado por el motor de la capa de enlace (LL) y la capa física (PHY). (Consulte la primera parte de este artículo para obtener más detalles sobre la pila). El motor de la LL es compatible con los roles de Bluetooth Central y Periférico. El transceptor de RF incorpora un balun integrado, que sirve como una clavija de puerto de RF de un solo extremo para conducir un terminal de antena de 50 Ω a través de una red de adaptación (ver más abajo). La potencia de salida es programable de -18 dBm a +3 dBm para adaptarse a la aplicación.
Los otros subsistemas del SoC de Cypress incluyen recursos del sistema como la gestión de la energía y el control del reloj, los periféricos y la E/S. Los periféricos y las E/S se han seleccionado en gran medida para ajustarse a las aplicaciones típicas de los sensores de los SoC con Bluetooth de baja energía.
Mientras que un SoC como el Cypress CYBL1xx7x incorpora todo el hardware (y el firmware) para una solución completa de Bluetooth de baja energía, es poco probable que el simple hecho de soldar el chip a una placa de PC y aplicar la energía dé como resultado una solución que funcione. Como todos los diseños de RF, un sistema que funcione requiere circuitos adicionales en forma de componentes pasivos que crean circuitos de adaptación (Figura 2).
Figura 2: Muchos SoC de Bluetooth de baja energía están altamente integrados, minimizando el número de componentes externos necesarios para un buen funcionamiento, como se muestra en este circuito de aplicación para el SoC CC2640 de Texas Instruments. Sin embargo, el diseño de los circuitos externos sigue siendo complicado y se aconseja consultar los diseños de referencia de los fabricantes. (Fuente de la imagen: Texas Instruments).
El parámetro clave que determina un buen circuito de RF de uno deficiente es su impedancia (Z). A altas frecuencias, como en el caso de una radio de 2.4 GHz, la impedancia en un punto determinado de una traza de RF está relacionada con la impedancia característica de esa traza (Z0), que a su vez depende del sustrato de la placa de PC, de las dimensiones de la traza, de su distancia a la carga y de la impedancia de la carga.
Resulta que cuando la impedancia de carga (ZL), que para un sistema de transmisión será la antena y para un sistema de recepción es el SoC con Bluetooth de baja energía, es igual a Z0, la impedancia medida (Z) permanece igual a cualquier distancia a lo largo de la traza desde la carga. Como resultado, se minimizan las pérdidas en la línea y se transfiere la máxima potencia del transmisor a la antena. Dada esta característica, es una práctica común utilizar una red de adaptación diseñada para garantizar que la impedancia de un dispositivo de RF sea igual a la impedancia característica de la traza.
El rendimiento de los SoC con Bluetooth de baja energía es optimizado por el proveedor, basándose en la suposición de que las trazas a las que se unirá el chip tienen una impedancia característica de 50 Ω. Para conseguirlo, los SoC integran un balun con una impedancia nominal de 50 Ω. Sin embargo, suele ser necesario el ajuste con un circuito externo para garantizar que la impedancia del SoC sea precisamente de 50 Ω. La sintonización se realiza mediante un circuito compuesto por un inductor en derivación y un condensador en serie (o viceversa, según el valor medido de la impedancia antes de la compensación).
El tipo de antena depende de la aplicación: por ejemplo, una aplicación de bluetooth de baja energía, como un ratón inalámbrico, requiere un alcance de RF y un ancho de banda relativamente cortos. En este caso, una solución habitual es utilizar una antena de F invertida con meandros (MIFA). La MIFA se forma con un trazo de placa de circuito impreso. Ocupa poco espacio, es barato y ofrece una ganancia moderada (figura 3).
Sin embargo, un mando a distancia con una aplicación de reconocimiento de voz requiere mayor alcance y ancho de banda, lo que hace que una antena de cable sea una mejor opción. Esto ofrece un mayor alcance y ganancia que un MIFA, con las contrapartidas de costo y espacio.

Figura 3: Una antena MIFA es una solución habitual para las aplicaciones de Bluetooth de baja energía porque puede formarse utilizando una traza de placa de PC, ocupa poca superficie, es barata y ofrece una ganancia moderada. (Fuente de la imagen: Cypress Semiconductor)
La mayoría de los SoC con Bluetooth de baja energía incorporan un circuito de resistencia-capacitor (RC) para proporcionar una señal de 16 o 32 kHz con fines de temporización. Se trata de una opción económica y de bajo consumo. Si se necesita una mayor precisión en la temporización, se debe añadir un oscilador de cristal externo de 32.768 kHz (XTAL). Además, suele ser necesario un XTAL externo de alta frecuencia de 16 o 32 MHz para proporcionar una frecuencia de referencia y un reloj del sistema.
Ventajas del módulo
El diseño de un circuito con Bluetooth de baja energía con componentes discretos tiene algunas ventajas, sobre todo el menor costo de la factura de materiales y el ahorro de espacio. Sin embargo, es fácil hacer las cosas mal, lo que no sólo compromete el rendimiento del producto, sino que también dificulta el cumplimiento de la normativa.
Afortunadamente, la ayuda está a mano en forma de diseños de referencia de los fabricantes de SoC con Bluetooth de baja energía. Se dirigen a muchas aplicaciones comunes, que van desde los dispositivos para vestir hasta los mandos a distancia y las balizas. Ajustarse a un diseño de referencia es una buena manera de obtener un rendimiento razonable para un primer prototipo, lo que facilita mucho la optimización para la aplicación específica.
Una alternativa es recurrir a uno de los muchos módulos de terceros. Las ventajas de hacerlo son muchas. Por lo general, los dispositivos aprovechan los mismos SoC con Bluetooth de baja energía en los que se basan los diseños discretos, los componentes externos y los circuitos se han optimizado para el rendimiento y, quizá lo más importante, en la mayoría de los casos el módulo ya estará certificado según las normas de Bluetooth SIG y (por ejemplo) de la FCC. Las desventajas también son abundantes. Mayor gasto (dependiendo del volumen), mayor tamaño, dependencia de un único proveedor y de su capacidad de envío en volumen, y (a veces) un número reducido de pines accesibles en relación con el SoC en el que se basa el módulo.
Los módulos suelen estar respaldados por una selección de herramientas de desarrollo. El módulo transceptor Bluetooth 4.2 NINA-B111 de u-blox es un buen ejemplo de lo que hay disponible. El módulo está basado en un SoC nRF52832 de Nordic Semiconductor y es totalmente compatible con Bluetooth 4.2. Además del SoC de Nordic, el módulo está equipado con una antena interna (o una antena externa a través de un pin dedicado) e incluye cristales de 32 MHz y 32.786 kHz (Figura 4). El alcance está especificado en más de 300 metros y el módulo cuenta con la certificación global de Bluetooth SIG y el cumplimiento internacional de RF. El NINA-B111 se presenta en un embalaje de 10 x 14 mm (para la versión con antena interna).

Figura 4: El NINA-B111/2 de u-blox es un módulo con Bluetooth de baja energía probado y verificado que no requiere desarrollo de hardware y ofrece varias vías para facilitar el desarrollo de software. (Diagrama dibujado con DigiKey Scheme-it®. Imagen original de u-blox)
El NINA-B111 (y otros módulos similares basados en SoCs Bluetooth de baja energía) permite a los ingenieros con poca o ninguna experiencia en hardware de RF trabajar con un hardware y una pila de protocolos de RF totalmente verificados. Esto les permite concentrarse en el software de aplicación para diferenciar su producto.
La pila de protocolos de RF suele estar preprogramada en el SoC. La memoria flash suele utilizarse para almacenar la pila, ya que puede actualizarse en la fábrica o sobre el terreno a medida que evoluciona la especificación de Bluetooth de baja energía. Con esta metodología, no es necesario asignar recursos del cliente al desarrollo de la pila. Una vez que la pila ha sido resuelta, el siguiente paso es el desarrollo del código de la aplicación.
Desarrollo del código de la aplicación Bluetooth
Hay dos vías para desarrollar un código de aplicación exitoso. En primer lugar, el Bluetooth SIG fomenta el desarrollo y la adopción de "perfiles". Se trata de aplicaciones de software que personalizan el producto Bluetooth de baja energía para un propósito específico, como un dispositivo de interfaz humana (HID). El software define el comportamiento general de los dispositivos que ejecutan el mismo perfil, cómo se comunican y qué tipo de datos se intercambian. Los perfiles también suelen contener información como las dependencias de otros perfiles y los formatos de interfaz de usuario sugeridos. Además de los HID, hay docenas de perfiles disponibles para aplicaciones tan diversas como la monitorización de la salud y el estado físico, la detección ambiental y las alertas de estado del teléfono. Los diseñadores pueden elegir entre utilizar los perfiles adoptados por Bluetooth de baja energía o utilizar el perfil genérico de atributos (GATT) para crear los suyos propios.
Sin embargo, incluso con una amplia gama de perfiles y la opción de crear perfiles personalizados, siempre existe la posibilidad de que no se ajuste a la aplicación prevista por el desarrollador. En este caso, el software de aplicación puede codificarse en kits de desarrollo (DK) y software DK (SDK) de los fabricantes de SoC o de terceros, como ARM.
Una de las complejidades que puede sorprender a los incautos es la integración del software de aplicación con la pila de protocolos de radiofrecuencia. Sin el debido cuidado, el elegante firmware de Bluetooth de baja energía puede ser corrompido durante la compilación por el código de la aplicación. Esto puede ampliar enormemente el proceso de depuración.
Algunos proveedores han abordado este reto. Por ejemplo, el u-blox NINA-B111 aprovecha la arquitectura de software dividida de Nordic en su SoC nRF52832. Las pilas de Nordic se conocen como "SoftDevices" y se entregan como archivos binarios probados y verificados que permanecen separados del código de la aplicación del desarrollador. La ventaja es que el ingeniero no tiene que preocuparse de corromper la pila durante el desarrollo. Los DK y SDK de la Empresa se encargan de interconectar el código de la aplicación con la pila de protocolos de RF durante la compilación.
Para aplicaciones sencillas, el NINA-B111 está "preconfigurado" con el propio software de conectividad de u-blox, lo que permite el acceso al Servicio de Puerto Serie de Baja Energía (SPS) de la compañía. Utilizando el software gratuito s-center de la empresa, el módulo puede configurarse mediante comandos AT a través de la interfaz UART del dispositivo (Listado 1).
Set up Central (Device A)
Enable Central Role: AT+UBTLE=1Default peer to Serial Port Service and always connected (use the address of Device B): AT+UDDRP=0 , sps://112233445566 , 2Startup NINA-B1 in data mode: AT+UMSM=1Store configuration: AT&WRestart NINA-B1: AT+CPWROFF
Set up Peripheral (Device B) (SPS is enabled by default)
Startup in data mode: AT+UMSM=1Store configuration: AT&WRestart: AT+CPWROFF
Lista 1. Este ejemplo de código muestra lo sencillo que es conectar dos módulos u-blox a través de SPS con uno en rol de Central y el otro en rol de Periférico. (Fuente del código: u-blox s center)
El NINA-B111 también puede soportar aplicaciones complejas como la iluminación, el seguimiento de activos y la medición. Hay tres herramientas de diseño que apoyan este desarrollo de software de aplicación más desafiante. El primero es el SDK nRF5 de Nordic, que incluye una amplia selección de controladores, bibliotecas y aplicaciones de ejemplo. La segunda es la posibilidad de desarrollar código de aplicación en el sistema operativo (SO) ARM mbed de código abierto. mbed OS incluye todas las funciones necesarias para diseñar un producto conectado, como seguridad, conectividad, un RTOS y controladores para sensores y dispositivos de E/S. La tercera es un paquete de software con licencia de un proveedor como Wirepas. Si los módulos están diseñados para aplicaciones de red mallada a gran escala, pueden configurarse mediante la pila de software (Figura 5).

Figura 5: La arquitectura de software del NINA-B111 aprovecha la pila de protocolos de RF y el código de aplicación separados de Nordic (izquierda). Esta separación evita la corrupción de la pila durante el desarrollo y la compilación de la aplicación. El SoftDevice de Nordic (la pila) y el software de conectividad de u-blox están preconfigurados en el módulo. Las herramientas de desarrollo de malla de Nordic, ARM y Wirepas pueden utilizarse para crear aplicaciones más complejas. (Fuente de la imagen: u-blox).
Aprovechar las ventajas de Bluetooth 5
La primera parte de este artículo describía el alcance, el rendimiento y otras mejoras introducidas con Bluetooth 5. Ya están saliendo al mercado algunos chips comerciales compatibles con la nueva versión. El SoC Bluetooth de baja energía CC2640R2F de Texas Instruments se encuentra entre estos dispositivos y es compatible con una serie de herramientas de desarrollo.
Una ventaja es que el CC2640R2F forma parte de la plataforma de microcontroladores SimpleLink de TI y, por tanto, comparte un entorno de desarrollo común con otros chips inalámbricos (y no inalámbricos) controlados por MCU SimpleLink. Esta disposición permite reutilizar el código de las aplicaciones inalámbricas, aunque tenga que adaptarse a las aplicaciones de Bluetooth de baja energía.
La herramienta de diseño clave de TI para el CC2640R2 es el LaunchPad DK. Cuenta con más memoria flash que sus predecesores para el código de la aplicación y soporta la programación y depuración desde los IDE Code Composer Studio e IAR Embedded Workbench.
Comienza el desarrollo descargando su pila de Bluetooth de baja energía y luego familiarízate con el DK jugando con la aplicación del periférico de Bluetooth de baja energía. La aplicación presenta un código de ejemplo que demuestra el control de los LED del LaunchPad DK desde la aplicación iOS del kit TI SimpleLink SensorTag, o cualquier dispositivo compatible que soporte la conectividad Bluetooth de baja energía. El proyecto también demuestra la flexibilidad de la pila y utiliza el puerto serie USB integrado del DK para mostrar información de diagnóstico sobre la conexión Bluetooth de baja energía.
Nordic Semiconductor es otro proveedor que ha anunciado un SoC BLE compatible con Bluetooth 5. El nRF52840 (actualmente sólo de muestra) se basa en un procesador ARM® Cortex®-M4F y una radio Bluetooth de baja energía rediseñada. La flash y la RAM se han incrementado a 1 Mbyte y 256 Kbytes respectivamente, en relación con el nRF52832 descrito anteriormente. Mientras que la producción completa del nRF52840 está prevista para mediados de 2017, se ha puesto a la venta una versión preliminar (PDK) para los desarrolladores que quieran explorar las capacidades del chip y empezar a escribir código de aplicación (Figura 6).

Figura 6: El PDK nRF52840 de Nordic Semiconductor (junto con un SDK nRF) permite a los desarrolladores explorar las mejoras de alcance y rendimiento de Bluetooth 5 reconfigurando los parámetros de Bluetooth de baja energía. (Fuente de la imagen: Nordic Semiconductor).
El PDK incluye el hardware, el código fuente del firmware, la documentación, los esquemas del hardware y los archivos de diseño. El DK se basa en el SoC nRF52840 y está habilitado para ARM mbed. Incluye botones y LED para la interacción con el usuario, USB, flash y programación de dispositivos de almacenamiento masivo de arrastrar y soltar. Nordic también pone a disposición el código fuente de los ejemplos incluidos en el DK y las bibliotecas de código para el desarrollo de aplicaciones.
Utilizando dos PDK nRF52840 y el SDK nRF de Nordic (13.0.0-1.alpha) ejecutando el ejemplo de rendimiento ATT_MTU, los desarrolladores pueden configurar varios parámetros de Bluetooth de baja energía como la Unidad de Transmisión Máxima (MTU), el intervalo de conexión, la Extensión de Longitud de Datos y la tasa de datos PHY para probar su impacto en el rendimiento y el alcance. De este modo, podrán familiarizarse con las principales mejoras de Bluetooth 5.
Conclusión:
En la primera parte de este artículo se describen las mejoras de la especificación del núcleo de Bluetooth introducidas con Bluetooth 4.1, 4.2 y 5, que han hecho que la tecnología sea práctica para una amplia gama de aplicaciones del Internet de las cosas (IoT). Estas mejoras se incluyen en las pilas probadas y verificadas que los proveedores de silicio envían con sus SoC de Bluetooth de baja energía. Bluetooth 5 también requiere algunas adaptaciones de hardware, incluida una PHY de 2 Mbit/s, por lo que no todos los chips actuales pueden soportar esta versión.
La segunda parte del artículo ha llevado a los diseñadores a través de los pasos básicos necesarios para poner en marcha una aplicación sencilla, a la vez que se discuten algunas de las muchas compensaciones que hay que tener en cuenta en el camino.
Los SoC con Bluetooth de baja energía altamente integrados no requieren ningún microprocesador externo, lo que simplifica el hardware, pero se necesitan algunos circuitos periféricos para garantizar un buen alcance y tasa de producción. Como alternativa, una amplia gama de empresas de terceros ofrece módulos probados y conformes construidos en torno a los últimos SoC, lo que elimina la necesidad de diseñar circuitos externos con las contrapartidas de un mayor coste y dimensiones del paquete.
Las pilas suministradas de fábrica se encargan de los requisitos del protocolo inalámbrico y hay muchas bibliotecas oficiales y de código abierto con código de aplicación probado para las aplicaciones más comunes de Bluetooth de baja energía. Además, la proliferación de DK y SDK de proveedores y terceros, asociados a IDE muy extendidos y fáciles de usar, hacen que el desarrollo de nuevas aplicaciones sea relativamente sencillo para un ingeniero competente.
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.





