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

Por Stephen Evanczuk

Colaboración de Editores de DigiKey de América del Norte

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 aún más los límites de energía ya limitados. Aunque los protocolos Wi-Fi y Bluetooth proporcionan 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 importancia de la conectividad Wi-Fi/Bluetooth de modo dual y cómo complica los diseños de IoT. A continuación, mostrará cómo una placa de desarrollo y el software asociado de Cypress Semiconductor puede utilizarse para el 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 interactuar con los usuarios a través de teléfonos inteligentes con Bluetooth y otros dispositivos móviles. Sin embargo, para muchas aplicaciones de IoT, los dispositivos de IoT necesitan conectividad Wi-Fi para acceder a una red de área local inalámbrica (WLAN) para llegar directamente a la Internet, o para interactuar con otros dispositivos pares y sistemas host en la misma red.

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

Para seguir respondiendo, los dispositivos de IoT deben proporcionar la apariencia de una conectividad continua, permaneciendo alerta al tráfico entrante para poder responder en un período de tiempo aceptable. Si los desarrolladores intentan satisfacer este requisito fundamental despertando repetidamente sus dispositivos para recibir el tráfico entrante, la batería de su dispositivo se agotará rápidamente. De hecho, 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. Por supuesto, la energía consumida por el procesador host del dispositivo por su parte en cada operación de recepción añade su propia carga sustancial al presupuesto de energía. Afortunadamente, los estándares inalámbricos definen protocolos que permiten a los desarrolladores reducir la energía mientras mantienen la ilusión de una conectividad continua.

Cómo los estándares de conectividad inalámbrica ayudan 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 gestión de la red, los AP transmiten regularmente balizas que contienen un mapa de bits, llamado mapa de indicación de tráfico (TIM), que indica 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 indica la disponibilidad de datos de multidifusión o de radiodifusión en memoria intermedia. Se espera que los STA se despierten regularmente dentro del 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 período DTIM permitiría a los dispositivos de su red reducir el consumo de energía porque podrían estar inactivos más tiempo antes de activar a su receptor para recibir una baliza que indicara que el AP está sujetando marcos para él. Este es el enfoque fundamental que subyace al mecanismo de poll de ahorro de energía estándar 802.11 que se discute a continuación.

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

Los dispositivos periféricos pueden utilizar otra característica del BLE llamada latencia esclava que permite al periférico saltarse los eventos de conexión. Al igual que con el Wi-Fi DTIM, la latencia esclava del BLE permite que los dispositivos permanezcan en modo de baja potencia durante un período de tiempo más largo. En lugar de aumentar simplemente el intervalo de conexión, este modo especial permite que el dispositivo periférico salte los eventos de conexión con un host, pero sin embargo despierta y envía datos según sea necesario sin incurrir en una latencia adicional.

Soporte para conectividad de modo dual y una mayor duración de la batería

Estos métodos ayudan a reducir la duración y la frecuencia del funcionamiento a plena potencia en los dispositivos Wi-Fi y Bluetooth, pero los desarrolladores pueden hacer mucho más para prolongar la duración de la batería utilizando las capacidades de hardware y software demostradas en el Kit Pioneer Wi-Fi BT CY8CKIT-062S2-43012 de Cypress Semiconductor. Junto con los cables de puente y un cable USB, el kit Cypress incluye la placa PSoC 62S2 Wi-Fi BT Pioneer, que proporciona una plataforma de desarrollo integral y un completo sistema de hardware para implementar diseños de IoT de baja potencia. Utilizado con el software de Cypress, el kit de Cypress permite a los desarrolladores evaluar inmediatamente y desplegar rápidamente una variedad de sofisticadas capacidades de administración de energía.

Junto con múltiples conectores de interfaz, botones y LED, la placa del kit integra un dispositivo PSoC 5LP CY8C5868LTI-LP038 que proporciona 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 512 megabit (Mbit) y su memoria serial, ferroeléctrica, de acceso aleatorio (FRAM) de la serieCY15B104 de 4 Mbit serial de memoria (Figura 1).

Diagrama de la placa Pioneer Wi-Fi BT PSoC 62S2 de Cypress (hacer clic para ampliar)Figura 1: La placa Pioneer Wi-Fi BT PSoC 62S2 de Cypress proporciona un conjunto completo de características 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 2.45 gigahercios (GHz)/5 GHz mini chip completan los dispositivos de respaldo.

Diseñado específicamente para eliminar el compromiso convencional entre el rendimiento de procesamiento y el consumo de energía, el PSoC 6 integra un procesadorArm® Cortex®-M4 de 150 megahercios (MHz), que sirve como el principal procesador de aplicaciones, y un Arm Cortex-M0+ de 100 MHz, que se encarga del funcionamiento de baja potencia. Junto con 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 2).

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 utiliza 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 proporciona un subsistema de radio completo en un paquete de 10.0 x 7.2 x 1.4 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 MurataFigura 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 alrededor de un dispositivo WICED CYW43012 de Cypress. (Fuente de la imagen: Murata Electronics)

El módulo admite 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 proporciona un modo compatible con 802.11ac, que admite la modulación de amplitud en cuadratura (QAM) de 256 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 sólo utilizan 802.11n. Diseñado para acelerar el desarrollo, el módulo LBEE59B1LV de Murata está precertificado en múltiples regiones, eliminando los largos retrasos asociados a las pruebas de conformidad y certificación.

Dentro del 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á disponible para el código de cliente, 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 usando el kit de desarrollo de software WICED (SDK) de Cypress.

Uso de métodos de ahorro de energía en los diseños de IoT inalámbricos

Diseñado para minimizar el consumo de energía, el PSoC 6 y el módulo de conectividad inalámbrica cuentan con un amplio conjunto de modos de alimentación y capacidades de reducción de energía. Cypress respalda esta plataforma de hardware de bajo consumo con un importante complemento de software diseñado para simplificar el uso de métodos de ahorro de energía en los diseños de IoT inalámbricos. Por ejemplo, los desarrolladores pueden implementar fácilmente el método de poll de ahorro de energía mencionado anteriormente 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 más tarde en el dispositivo. Cuando se activa, el STA notifica al AP que se ha desactivado. Como se mencionó anteriormente, el AP amortigua cualquier cuadro destinado al STA durmiente y configura su baliza periódica para indicar que los cuadros están disponibles. Cuando el STA se despierta para comprobar la baliza, comienza un proceso estándar para recuperar esos cuadros.

Aunque el mecanismo de poll de ahorro de energía está destinado a los STA con ciclos de trabajo bajos, un método similar, llamado ahorro de energía sin poll, admite los STA con requisitos de rendimiento más altos. Aquí, el STA transmite una trama de datos de función nula, que inicia la transferencia de trama desde el AP.

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

Además de los paquetes no deseados, el tráfico de red legítimo podría hacer que el procesador del host se active innecesariamente. Por ejemplo, el protocolo de resolución de direcciones estándar (ARP) de Wi-Fi utiliza paquetes 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 paquetes de solicitud y respuesta ARP son tan fundamentales para las operaciones de red que el procesador host de un dispositivo de IoT puede verse sobrecargado simplemente procesando las solicitudes y respuestas ARP. Si la interfaz WLAN del dispositivo simplemente pasa las solicitudes y respuestas 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 6 está ocupado en su funcionalidad de aplicación de IoT primaria, esta capacidad preserva los ciclos del procesador para la ejecución de la aplicación. Si el PSoC 6 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 solicitud ARP entrante no puede ser satisfecha por las entradas almacenadas en la memoria intermedia del módulo Murata (Figura 4, 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 del procesador del host (derecha), respondiendo automáticamente cuando la caché satisface la petición (arriba) y activando únicamente al procesador en la caché falla (abajo). (Fuente de la imagen: Cypress Semiconductor)

Este mismo enfoque también puede ayudar a reducir el consumo de energía de la WLAN. En funcionamiento normal, el módulo Murata puede monitorizar (snoop) el tráfico de la red y el caché de los pares IP:MAC de otras respuestas ARP. Al usar la respuesta automática del host, el módulo Murata puede responder a las peticiones 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 4, derecha).

Implementación sencilla basada en un menú de funciones de ahorro de energía

Implementar la descarga del ARP con el kit Pioneer es notablemente simple. Incluido en el entorno de desarrollo integrado (IDE) ModusToolBox (MTB) de Cypress, la herramienta Cypress Device Configurator permite a los desarrolladores implementar esta capacidad con unas pocas selecciones de menú. Cypress proporciona archivos de configuración preconstruidos que permiten a los desarrolladores seleccionar rápidamente diferentes configuraciones, incluyendo la descarga de ARP.

Usar la herramienta Device Configurator para definir explícitamente las configuraciones es casi tan sencillo. 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 parámetros del pin (Figura 5).

Imagen de la herramienta Device Configurator de Cypress (hacer clic para ampliar)Figura 5: La herramienta Device Configurator de Cypress permite a los desarrolladores usar 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ña 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ú permiten la descarga de ARP, establecer la función de respuesta automática de los pares, habilitan el snooping en la red 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 CypressFigura 6: Al usar las pestañas de menú adicionales en la herramienta Device Configurator de Cypress, los desarrolladores pueden habilitar la descarga ARP y características específicas como la respuesta automática de los pares. (Fuente de la imagen: Cypress Semiconductor)

Después de guardar la configuración, los desarrolladores simplemente generan los archivos fuente, construyen el proyecto modificado y programan la placa Pioneer. Al usar un procedimiento similar, los desarrolladores pueden configurar el módulo Murata para descargar el filtrado de paquetes Wi-Fi y ocuparse 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 necesario para mantener la conectividad Wi-Fi, todo ello sin despertar al procesador host de IoT.

En las operaciones normales de WLAN, un dispositivo cliente y un servidor host mantienen las conexiones TCP mediante el intercambio de paquetes "keep alive". Si cualquiera de los dos lados de este intercambio no recibe una respuesta después de unos pocos intentos, termina la conexión. Incluso en los dispositivos de IoT de potencia limitada, el procesador host debe despertarse continuamente para participar en este intercambio o utilizar aún más potencia para restablecer continuamente las conexiones.

Al igual que con la descarga de ARP, los desarrolladores pueden usar la herramienta Device Configurator para permitir que el TCP se mantenga vivo descargando. Una vez que esta característica está activada, el módulo de Murata ejecuta automáticamente el protocolo de "keep alive" sin activar al PSoC 6 (Figura 7).

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, permitiendo que el procesador host permanezca en modo de suspensión de baja potencia. (Fuente de la imagen: Cypress Semiconductor)

Aunque Cypress recomienda el uso de la herramienta Device Configurator, como el camino más fácil para la implementación, los desarrolladores también pueden implementar 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.

Subyacente a ambos enfoques está el middleware del Asistente de Bajo Consumo (LPA) de Cypress que soporta estas características de ahorro de energía para Wi-Fi, Bluetooth y el microcontrolador PSoC 6, junto con otras características más allá de las mencionadas aquí.

Después de que el desarrollador define las configuraciones utilizando 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 automáticamente el uso de las características 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 combinar un subsistema de radio capaz de descargar las tareas de procesamiento de la red con un microcontrolador de baja potencia, el Kit Pioneer Wi-Fi BT CY8CKIT-062S2-43012 de Cypress Semiconductor permite a los diseñadores cumplir con sus requisitos de conectividad inalámbrica IoT y de baja potencia.

DigiKey logo

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.

Información sobre el autor

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk tiene más de 20 años de experiencia escribiendo para y sobre la industria de electrónica en un amplio rango de temas, entre ellos hardware, software, sistemas y aplicaciones, que incluyen IoT. Se doctoróen neurociencias (redes neuronales) y trabajó en la industria aeroespacial en sistemas seguros con distribución masiva y métodos de aceleración de algoritmos. Actualmente, cuando no escribe artículos sobre tecnología e ingeniería, trabaja en aplicaciones de aprendizaje profundo sobre sistemas de reconocimiento y recomendaciones.

Información sobre la editorial

Editores de DigiKey de América del Norte