Inicio Artículos Cómo maximizar la vida de la batería en los diseños de Wi-Fi/Bluetooth...

Cómo maximizar la vida de la batería en los diseños de Wi-Fi/Bluetooth IoT de modo dual

bluetooth
bluetooth

Se está pidiendo a los diseñadores de dispositivos de Internet de las cosas (IoT) alimentados por baterías y otros productos conectados que cumplan los requisitos contradictorios de conectividad inalámbrica continua y de una mayor duración de las baterías. La creciente demanda de Bluetooth 5 y Wi-Fi en el mismo dispositivo aumenta todavía más los límites de energía ya limitados. Si bien los protocolos Wi-Fi y Bluetooth dan protocolos estándar para ayudar a reducir el consumo de energía, el apoyo más directo se da en forma de una arquitectura que combina subsistemas de radio que pueden descargar las tareas de procesamiento de la red con un microcontrolador de baja potencia.

Este artículo esbozará la relevancia de la conectividad Wi-Fi/Bluetooth de modo dual y cómo complica los diseños de IoT. A continuación, va a mostrar de qué forma una placa de desarrollo y el software asociado de Cypress Semiconductor puede usarse de cara al desarrollo de dispositivos Wi-Fi/Bluetooth IoT de modo dual, capaces de una conectividad continua y una mayor duración de la batería.

La creciente necesidad de un modo dual Wi-Fi/Bluetooth de conectividad continua
La conectividad Bluetooth se considera un requisito estándar para muchos dispositivos de IoT diseñados para interaccionar con los usuarios mediante teléfonos inteligentes con Bluetooth y otros dispositivos móviles. No obstante, para muchas aplicaciones de IoT, los dispositivos de IoT precisan conectividad Wi-Fi para acceder a una red de área local inalámbrica (WLAN) para llegar directamente a la Internet, o bien para interactuar con otros dispositivos pares y sistemas host en la misma red.

En muchos sentidos, la capacidad de los desarrolladores para alargar la duración de la batería sería considerablemente más fácil si estos dispositivos de IoT solo necesitaran conectarse al host de WLAN o bien Bluetooth cuando necesitaran trasmitir sus datos u otros mensajes. Debido a que el ciclo de servicio activo de muchos dispositivos de IoT es por norma general bajo, estos dispositivos podrían prolongar la vida de la batería al operar predominantemente en el modo de reposo de baja potencia, despertándose lo suficiente para efectuar mediciones de los sensores, llenar las tareas de procesamiento relacionadas y transmitir los datos resultantes antes de volver al modo de baja potencia. Realmente, la mayoría de los dispositivos de IoT deben contestar rápidamente a los comandos y datos asincrónicos entrantes de dispositivos pares, sistemas host y usuarios finales.

Para proseguir respondiendo, los dispositivos de IoT deben suministrar la apariencia de una conectividad continua, permaneciendo alarma al tráfico entrante para poder contestar en un período de tiempo aceptable. Si los desarrolladores intentan satisfacer este requisito fundamental despertando reiteradamente sus dispositivos para percibir el tráfico entrante, la batería de su dispositivo se agotará de forma rápida. En verdad, los receptores de radio de los dispositivos Wi-Fi alimentados con pilas suelen consumir más energía con el tiempo que los transmisores de radio, a pesar del mayor consumo de energía asociado a una operación de transmisión individual. Evidentemente, la energía consumida por el procesador host del dispositivo por su lado en cada operación de recepción añade su carga sustancial al presupuesto de energía. Por fortuna, los estándares inalámbricos definen protocolos que permiten a los desarrolladores reducir la energía mientras que sostienen la ilusión de una conectividad continua.
De qué manera los estándares de conectividad inalámbrica asisten a los dispositivos a reducir el consumo de energía.

En el funcionamiento normal, las estaciones receptoras de Wi-Fi (STA) ahorran energía al apagar la mayor parte de su subsistema de Wi-Fi. Debido a que los marcos de buffer de los puntos de acceso (AP) para los STA inactivos, no se pierden mensajes. Como parte de sus operaciones normales de administración de la red, los AP transmiten de forma regular balizas que poseen un mapa de bits, llamado mapa de indicación de tráfico (TIM), que señala si el AP tiene tráfico en espera para cada STA. Los PA también transmiten periódicamente una baliza que contiene un mapa de indicación del tráfico de entrega (DTIM), que señala la disponibilidad de datos de multidifusión o bien de radiodifusión en memoria intermedia. Se espera que los STA se despierten de manera regular en el valor del período DTIM, que es un múltiplo del intervalo normal de la baliza. Una red de IoT configurada con un alto valor de periodo DTIM dejaría a los dispositivos de su red reducir el consumo de energía por el hecho de que podrían estar inactivos más tiempo ya antes de activar a su receptor para percibir una baliza que indicara que el AP está sosteniendo marcos para él. Este es el enfoque esencial que subyace al mecanismo de poll de ahorro de energía estándar 802.11 que se discute ahora.

El Bluetooth de baja energía (BLE) deja a los dispositivos reducir el consumo de energía optimando su frecuencia de publicidad Bluetooth y su carga útil. Al acrecentar el intervalo de publicidad, los dispositivos de IoT pueden retrasar las operaciones del transmisor; al reducir la carga útil, los dispositivos de IoT pueden reducir la duración de los eventos del transmisor. Naturalmente, no todas las aplicaciones pueden permitir largos intervalos de publicidad o cargas útiles mínimas. En un dispositivo de audio o bien de detección en tiempo real, por poner un ejemplo, los largos intervalos de publicidad significan conexiones retrasadas que podrían afectar de manera negativa al comportamiento de la aplicación en su conjunto.

Los dispositivos periféricos pueden utilizar otra característica del BLE llamada latencia esclava que deja al periférico saltarse los acontecimientos de conexión. De la misma manera que con el Wi-Fi DTIM, la latencia esclava del BLE deja que los dispositivos continúen en modo de baja potencia durante un período más largo. En vez de aumentar simplemente el intervalo de conexión, este modo singular deja que el dispositivo periférico salte los acontecimientos de conexión con un host, sin embargo despierta y envía datos conforme sea preciso sin incurrir en una latencia adicional.
Soporte para conectividad de modo dual y una mayor duración de la batería
Estos métodos asisten a reducir la duración y la frecuencia del funcionamiento a plena potencia en los dispositivos Wi-Fi y Bluetooth, mas los desarrolladores pueden hacer mucho más para alargar la duración de la batería utilizando las capacidades de hardware y software probadas en el Kit Pioneer Wi-Fi BT CY8CKIT-062S2-cuarenta y tres mil doce de Cypress Semiconductor. Así como los cables de puente y un cable USB, el kit Cypress incluye la placa PSoC 62S2 Wi-Fi BT Pioneer, que da una plataforma de desarrollo integral y un completo sistema de hardware para implementar diseños de IoT de baja potencia. Empleado con el software de Cypress, el kit de Cypress deja a los desarrolladores evaluar de manera inmediata y desplegar rápidamente una variedad de sofisticadas capacidades de administración de energía.

Así como múltiples conectores de interfaz, botones y LED, la placa del kit integra un dispositivo PSoC 5LP CY8C5868LTI-LP038 que da programación y depuración integrada del KitProg3 de Cypress. Para el almacenamiento adicional integrado, Cypress integra su dispositivo de memoria flash NOR serial S25FL512S de quinientos doce megabit (Mbit) y su memoria serial, ferroeléctrica, de acceso azaroso (FRAM) de la serieCY15B104 de cuatro Mbit serial de memoria (Figura 1).

bluetooth
bluetooth

Figura 1: La placa Pioneer Wi-Fi BT PSoC 62S2 de Cypress proporciona un conjunto completo de peculiaridades del sistema construido alrededor de un módulo portador que integra un microcontrolador PSoC 6 y un módulo de conectividad inalámbrica Wi-Fi/Bluetooth. (Fuente de la imagen: Cypress Semiconductor)
En el corazón de la placa, un módulo portador integra un microcontrolador PSoC 6 de Cypress Semiconductor y un módulo de conectividad inalámbrica de tipo 1LV LBEE59B1LV de Murata Electronics con componentes pasivos. Un interruptor de radiofrecuencia (RF) y una antena de doble banda de dos.45 gigahercios (GHz)/5 GHz mini chip completan los dispositivos de respaldo.

Diseñado específicamente para suprimir el compromiso convencional entre el rendimiento de procesamiento y el consumo de energía, el PSoC seis integra un procesadorArm® Cortex®-M4 de ciento cincuenta megahercios (MHz), que sirve como el primordial procesador de aplicaciones, y un Arm Cortex-M0+ de cien MHz, que se hace cargo del funcionamiento de baja potencia. Así como el flash integrado y la RAM estática (SRAM), el PSoC6 incluye un motor de criptografía, periféricos analógicos y digitales programables, soporte de detección táctil CapSense, y múltiples interfaces de sistema (Figura dos).

bluetooth
bluetooth

Diagrama del módulo portador de la tarjeta Pioneer Wi-Fi BT PSoC 62S2 de Cypress (hacer clic para ampliar)

Figura 2: Construido en el módulo portador de la placa Pioneer Wi-Fi BT PSoC 62S2 de Cypress, un microcontrolador PSoC 6 usa una arquitectura multinúcleo para cumplir los requisitos tanto de procesamiento de aplicaciones como de ejecución en tiempo real de baja potencia. (Fuente de la imagen: Cypress Semiconductor)
El módulo LBEE59B1LV de Murata da un subsistema de radio completo en un bulto de 10.0 x setenta y dos x catorce milímetros (mm) que contiene un dispositivo Wi-Fi + Bluetooth CYW43012 de Cypress para conectividad inalámbrica a Internet para dispositivos integrados (WICED), un reloj de referencia y filtros (Figura 3).

Diagrama del módulo de conectividad inalámbrica Tipo 1LV LBEE59B1LV de Murata
Figura 3: El módulo de conectividad inalámbrica tipo 1LV LBEE59B1LV de Murata proporciona un subsistema de radio Wi-Fi + Bluetooth completo y precertificado construido en torno a un dispositivo WICED CYW43012 de Cypress. (Fuente de la imagen: Murata Electronics)

El módulo acepta una conectividad inalámbrica de 2.4 y 5 GHz con Bluetooth 5.0 y Wi-Fi 802.11a/b/g/n. Además, el módulo da un modo compatible con 802.11ac, que acepta la modulación de amplitud en cuadratura (QAM) de doscientos cincuenta y seis de 802.11ac para los canales de 20 MHz en la banda de 5 GHz, lo que ofrece un mayor rendimiento y una menor energía por bit que los productos que solo utilizan 802.11n. Diseñado para apresurar el desarrollo, el módulo LBEE59B1LV de Murata está precertificado en múltiples regiones, suprimiendo los largos retrasos asociados a las pruebas de conformidad y certificación.

En el módulo, el dispositivo WICED de Cypress integra un procesador Arm Cortex-M3 y un procesador Arm Cortex-M4 en los subsistemas Wi-Fi y Bluetooth, respectivamente. Aunque no está libre para el código de usuario, el procesador Arm Cortex-M3 ejecuta el firmware Cypress que soporta operaciones Wi-Fi y funcionalidad adicional, incluyendo la funcionalidad de descarga que se describe a continuación. El Arm Cortex-M4 en el subsistema de Bluetooth ejecuta el firmware del controlador de Bluetooth, la pila de Bluetooth y los perfiles. Además, este núcleo puede ejecutar código de cliente programado utilizando el kit de desarrollo de software WICED (SDK) de Cypress.
Empleo de métodos de ahorro de energía en los diseños de IoT inalámbricos
Diseñado para disminuir al mínimo el consumo de energía, el PSoC seis y el módulo de conectividad inalámbrica cuentan con un extenso conjunto de modos de nutrición y capacidades de reducción de energía. Cypress respalda esta plataforma de hardware de bajo consumo con un importante complemento de software desarrollado para simplificar el empleo de métodos de ahorro de energía en los diseños de IoT inalámbricos. Por servirnos de un ejemplo, los desarrolladores pueden incorporar de manera fácil el procedimiento de poll de ahorro de energía mencionado previamente utilizando la biblioteca delcontrolador host Wi-Fi (WHD) independiente e integrada.

Los desarrolladores simplemente llaman a la función de la interfaz de programación de aplicaciones (API) de WHD whd_wifi_enable_powersave() para habilitar el ahorro de energía y whd_wifi_disable_powersave() para deshabilitarla después en el dispositivo. Cuando se activa, el STA avisa al AP que se ha desactivado. Como se mencionó anteriormente, el AP amortigua cualquier cuadro destinado al STA yacente y configura su baliza periódica para señalar que los cuadros están libres. Cuando el STA se despierta para comprobar la baliza, comienza un proceso estándar para recobrar esos cuadros.
Aunque el mecanismo de poll de ahorro de energía está destinado a los STA con ciclos de trabajo bajos, un procedimiento afín, llamado ahorro de energía sin poll, acepta los STA con requisitos de rendimiento más altos. Aquí, el STA transmite una trama de datos de función nula, que inicia la trasferencia de trama desde el AP.

El poll de ahorro de energía y el ahorro de energía sin poll dejan a los dispositivos reducir las operaciones del receptor, mas no ayudan a quitar las transacciones innecesarias relacionadas con los gastos generales de las operaciones de la red. Por poner un ejemplo, cualquier red que incluya una WLAN de IoT llevará tráfico de bultos no deseado cuando se conecte a una red externa, en particular la Internet pública. La capacidad de filtrar esos bultos dentro del subsistema de comunicaciones sin involucrar al procesador host del dispositivo IoT dejaría que el procesador host permaneciera en modo de suspensión de baja potencia.

Además de los bultos no deseados, el tráfico de red legítimo podría hacer que el procesador del host se active innecesariamente. Por poner un ejemplo, el protocolo de resolución de direcciones estándar (ARP) de Wi-Fi usa bultos de emisión como parte de su función para asignar una dirección IP asociada a un dispositivo a la dirección de control de acceso a los medios (MAC) del dispositivo. Esta operación es esencial para el funcionamiento normal de la WLAN, ya que permite que los dispositivos lleguen a otros en su red, detecten las direcciones IP duplicadas y notifiquen a otros dispositivos si se cambia una dirección IP por cualquier motivo.

Los bultos de petición y contestación ARP son tan esenciales para las operaciones de red que el procesador host de un dispositivo de IoT puede verse sobrecargado simplemente procesando las peticiones y respuestas ARP. Si la interfaz WLAN del dispositivo sencillamente pasa las peticiones y contestaciones entre el host y la red, cada solicitud de ARP despertará al host, a veces innecesariamente.

En cambio, el módulo de conectividad inalámbrica Murata interviene en este intercambio, descargando el manejo de las peticiones ARP del microcontrolador PSoC 6. Cuando el PSoC seis está ocupado en su funcionalidad de aplicación de IoT primaria, esta capacidad conserva los ciclos del procesador para la ejecución de la aplicación. Si el PSoC seis está en modo de espera, esta capacidad ayuda a reducir el consumo general de energía del dispositivo IoT. Al habilitar la descarga ARP con respuesta automática de los pares, el módulo Murata solo activará al PSoC 6 si una petición ARP entrante no puede ser satisfecha por las entradas guardadas en la memoria intermedia del módulo Murata (Figura cuatro, izquierda).

El diagrama de descarga de ARP intercepta las solicitudes de ARP de la red o del procesador del host (hacer clic para ampliar)
Figura 4: Cuando está activada, la descarga ARP intercepta las peticiones ARP de la red (izquierda) o bien del procesador del host (derecha), respondiendo de manera automática cuando la caché satisface la solicitud (arriba) y activando solamente al procesador en la caché falla (abajo). (Fuente de la imagen: Cypress Semiconductor)
Este enfoque asimismo puede asistir a reducir el consumo de energía de la WLAN. En funcionamiento normal, el módulo Murata puede controlar (snoop) el tráfico de la red y el caché de los pares IP:MAC de otras contestaciones ARP. Al emplear la respuesta automática del host, el módulo Murata puede responder a las solicitudes ARP del PSoC 6, invocando su subsistema de radio solo si la petición del PSoC 6 no puede ser satisfecha desde la caché ARP (Figura cuatro, derecha).

Implementación sencilla basada en un menú de funciones de ahorro de energía
Incorporar la descarga del ARP con el kit Pioneer es de forma notable simple. Incluido en el ambiente de desarrollo integrado (IDE) ModusToolBox (MTB) de Cypress, la herramienta Cypress Device Configurator deja a los desarrolladores incorporar esta capacidad con unas pocas escojas de menú. Cypress proporciona archivos de configuración preconstruidos que dejan a los desarrolladores escoger de manera rápida distintas configuraciones, incluyendo la descarga de ARP.
Usar la herramienta Device Configurator para delimitar explícitamente las configuraciones es prácticamente tan fácil. Los desarrolladores utilizan las opciones del menú de la herramienta para habilitar el pin de activación del host, nombrar el pin (CYBSP_WIFI_HOST_WAKE) y establecer los factores del pin (Figura 5).

Figura 5: La herramienta Device Configurator de Cypress permite a los desarrolladores utilizar los menús para establecer las opciones de ahorro de energía disponibles con la placa Pioneer. (Fuente de la imagen: Cypress Semiconductor)
En la pestañita Wi-Fi de la herramienta, los desarrolladores habilitan la activación del host y establecen el pin de interrupción en el nombre introducido anteriormente (CYBSP_WIFI_HOST_WAKE). Las entradas adicionales del menú dejan la descarga de ARP, establecer la función de respuesta automática de los pares, habilitan el snooping en internet y establecer el tiempo de caducidad de la entrada de la caché (Figura 6).

Imagen de las pestañas de menú adicionales en la herramienta Device Configurator de Cypress

Figura 6: Al utilizar las pestañitas de menú auxiliares en la herramienta Device Configurator de Cypress, los desarrolladores pueden habilitar la descarga ARP y características concretas como la contestación automática de los pares. (Fuente de la imagen: Cypress Semiconductor)
Después de guardar la configuración, los desarrolladores simplemente producen los ficheros fuente, construyen el proyecto cambiado y programan la placa Pioneer. Al utilizar un procedimiento afín, los desarrolladores pueden configurar el módulo Murata para descargar el filtrado de bultos Wi-Fi y encargarse de otros tipos comunes de operaciones de red. Este mismo enfoque permite incluso que un dispositivo de IoT realice el protocolo Wi-Fi TCP keep alive preciso para mantener la conectividad Wi-Fi, todo ello sin despertar al procesador host de IoT.

En las operaciones normales de WLAN, un dispositivo usuario y un servidor host sostienen las conexiones TCP a través de el intercambio de bultos «keep alive». Si cualquiera de los 2 lados de este intercambio no recibe una contestación después de unos pocos intentos, termina la conexión. Incluso en los dispositivos de IoT de potencia limitada, el procesador host debe despertarse de forma continua para participar en este intercambio o bien utilizar todavía más potencia para restablecer de forma continua las conexiones.
De la misma manera que con la descarga de ARP, los desarrolladores pueden usar la herramienta Device Configurator para permitir que el TCP se sostenga vivo descargando. Una vez que esta característica está activada, el módulo de Murata ejecuta de manera automática el protocolo de «keep alive» sin activar al PSoC seis (Figura siete).

Diagrama del dispositivo WLAN que realiza automáticamente el protocolo «keep alive» (hacer clic para ampliar)
Figura 7: Cuando se habilita la descarga de TCP keep alive, el módulo de conectividad inalámbrica (dispositivo WLAN) realiza automáticamente el protocolo keep alive, dejando que el procesador host permanezca en modo de suspensión de baja potencia. (Fuente de la imagen: Cypress Semiconductor)
Si bien Cypress aconseja el uso de la herramienta Device Configurator, como el camino más fácil para la implementación, los desarrolladores asimismo pueden incorporar manualmente las características de ahorro de energía de la plataforma Cypress, incluyendo la descarga de ARP, el filtrado de paquetes, la descarga de TCP keep alive, y otras.

Latente a los dos enfoques está el middleware del Asistente de Bajo Consumo (LPA) de Cypress que aguanta estas peculiaridades de ahorro de energía para Wi-Fi, Bluetooth y el microcontrolador PSoC 6, junto con otras características alén de las mencionadas acá.
Después de que el desarrollador define las configuraciones usando menús o añadiendo manualmente el código de configuración, el firmware de la LPA funciona de forma transparente a la aplicación, orquestando de forma automática el empleo de las peculiaridades de hardware y las capacidades de software de bajo consumo.
Conclusión:

La necesidad de una conectividad inalámbrica continua y una mayor duración de la batería en los dispositivos de IoT presenta requisitos contradictorios para los diseñadores que solo se ven exacerbados por la necesidad de soportar tanto Wi-Fi como Bluetooth. Como se muestra, al conjuntar un subsistema de radio capaz de descargar las labores de procesamiento de la red con un microcontrolador de baja potencia, el Kit Pioneer Wi-Fi BT CY8CKIT-062S2-cuarenta y tres mil doce de Cypress Semiconductor permite a los diseñadores cumplir con sus requisitos de conectividad inalámbrica IoT y de baja potencia.