Bogotá - Ingeniería - Maestría en Ingeniería - Telecomunicaciones · 2026
Implementación de un sistema cliente de gestión de configuración de dispositivos en aplicaciones de Internet de las Cosas (IoT) para sistemas reconfigurables FPGA en términos de desempeño
Los dispositivos en redes IoT operan bajo restricciones estrictas de energía y recursos, y en particular, los nodos de borde deben responder a requisitos funcionales cambiantes en campo sin sacrificar el desempeño. En este aspecto, los dispositivos FPGA pueden resolver esta necesidad mediante Reconfiguración Parcial Dinámica, que permite actualizar la lógica de hardware sin interrumpir la operación del sistema. Asimismo, los dispositivos SoC-FPGA amplían esta capacidad al integrar hardware reconfigurable junto con un procesador de propósito general. Sin embargo, la gestión remota de los SoC-FPGA en redes IoT carece de integración con protocolos estandarizados de dispositivos. En respuesta, se implementó un cliente de gestión LwM2M sobre un sistema embebido con un SoC-FPGA Zynq-7000, que orquesta la Reconfiguración Parcial Dinámica de la FPGA mediante el subsistema FPGA Manager de Linux. Además, se caracterizó el desempeño del sistema en términos de tiempo de aprovisionamiento, velocidad de configuración, tiempo de registro inicial y consumo de recursos (RAM y CPU). La arquitectura propuesta soporta dos modos de aprovisionamiento basados en LwM2M: aprovisionamiento directo desde el servidor vía CoAP (modo Push) y aprovisionamiento por descarga delegada al nodo vía HTTP/TCP (modo Pull). Este segundo se planteó luego de identificar las limitaciones del modo Push asociadas al mecanismo Block-wise Transfer de CoAP, cuyo comportamiento Stop-and-Wait limita la tasa de transferencia en el escenario evaluado a 3,74 KB/s (R^2 = 0,999). La campaña experimental se ejecutó a lo largo de 287 ciclos en una red WAN pública, abarcando 14 variantes de bitstream representativas de las cuatro regiones del diseño (configuración completa y tres regiones parciales), tres módulos funcionales (counter, lfsr, pass) y ambos estados de compresión. En este escenario, el sistema alcanzó una tasa de éxito del 100%, mientras que el consumo de recursos del nodo permaneció en márgenes compatibles con hardware embebido de gama media (RAM ~155 MB, CPU entre 9% y 60%). Por su parte, el modo Pull alcanzó tasas de transferencia de hasta 3 692 KB/s, lo que representa mejoras de entre 85x y 329x frente al modo Push nativo. Al separar el análisis en plano de control (señalización LwM2M/CoAP) y plano de datos (transferencia del bitstream), se identificó que la señalización del plano de control es el componente dominante en el escenario Pull (~1 664ms por ciclo), trasladando el cuello de botella desde la transferencia de datos (limitante en Push) hacia el plano de control. En contraste, la compresión nativa del bitstream tuvo un efecto asimétrico según el modo de transferencia, con ahorros de tiempo entre 46% y 83% en Push y solo de 2% a 17% en Pull. Por último, la caracterización del registro LwM2M inicial (Cold Start) sobre 15 ciclos reportó una media de 10,2 s, valor que representa el 79% del tiempo total del ciclo Pull con reinicio previo del nodo, identificando al proceso de Bootstrap como el siguiente punto de optimización. (Texto tomado de la fuente)