/** * Base de datos estructurada y completa de términos técnicos del Glosario ESP32 en español. * Abarca todas las series de chips de Espressif (ESP32, S2, S3, S31, C2, C3, C5, C6, C61, H2, H4, P4) * y sus funciones de hardware, periféricos, radio, seguridad y software. */ export const categoriasGlossario = [ { "id": "processamento", "nome": "Procesamiento, CPU y Silicio", "icone": "Cpu", "emoji": "🧠", "cor": "blue", "descricao": "Arquitecturas Xtensa y RISC-V, núcleos, coprocesadores ULP, aceleradores vectoriales de IA y unidades de punto flotante.", "termos": [ { "termo": "Arquitectura Xtensa vs RISC-V", "definicao": "Conjunto de instrucciones base del procesador. El ESP32 clásico, S2 y S3 utilizan núcleos propietarios Tensilica Xtensa (LX6/LX7). Las series modernas C (C2, C3, C5, C6, C61), H (H2, H4) y P (P4) adoptan la arquitectura abierta, modular y eficiente RISC-V (32 bits).", "exemplo": "El ESP32-S3 usa Xtensa LX7 dual-core, mientras que el ESP32-C6 usa RISC-V single-core y el ESP32-P4 usa RISC-V dual-core a 400 MHz." }, { "termo": "Núcleos de CPU (Dual-Core vs Single-Core)", "definicao": "Unidades centrales de procesamiento independientes. Los chips dual-core permiten dedicar un núcleo (Core 0) exclusivamente a la radio Wi-Fi/Bluetooth y a la planificación de FreeRTOS, dejando el segundo núcleo (Core 1) 100% libre para la aplicación y cálculos del usuario.", "exemplo": "ESP32, ESP32-S3 y ESP32-P4 son dual-core; ESP32-S2, C2, C3, C6 y H2 son single-core." }, { "termo": "Frecuencia de reloj (MHz)", "definicao": "Velocidad de procesamiento medida en Megahertz (MHz). El ESP-IDF ajusta dinámicamente la frecuencia (Dynamic Frequency Scaling - DFS) para ahorrar energía en momentos de inactividad.", "exemplo": "El ESP32-C2 opera hasta 120 MHz; ESP32, S2, S3 y C6 alcanzan 160/240 MHz; y el ESP32-P4 alcanza 400 MHz." }, { "termo": "ULP (Coprocesador de ultra bajo consumo)", "definicao": "Procesador secundario independiente de ultra bajo consumo que continúa ejecutando instrucciones, leyendo sensores analógicos (ADC), I2C y pines GPIO mientras los núcleos principales permanecen apagados en Deep Sleep.", "exemplo": "El ESP32 original cuenta con ULP FSM; ESP32-S2, S3 y C6 disponen de ULP RISC-V programable en C; ESP32-P4 cuenta con ULP dedicado de bajo consumo." }, { "termo": "Extensiones vectoriales de IA (Vector Extension / ESP-NN)", "definicao": "Instrucciones especializadas de silicio que ejecutan operaciones matemáticas vectoriales y matriciales con enteros (int8/int16) en paralelo, acelerando redes neuronales convolucionales (CNNs) y procesamiento de señales.", "exemplo": "ESP32-S3 y ESP32-P4 aceleran inferencias de reconocimiento facial, detección de voz y modelos TensorFlow Lite for Microcontrollers." }, { "termo": "FPU (Unidad de punto flotante)", "definicao": "Unidad de procesamiento de punto flotante por hardware que realiza sumas, multiplicaciones y divisiones con números decimales (`float`) en un único ciclo de reloj, sin sobrecarga por emulación de software.", "exemplo": "Presente en los núcleos Xtensa del ESP32 y ESP32-S3, y en los núcleos RISC-V de alto rendimiento del ESP32-P4." }, { "termo": "PPA (Pixel Processing Accelerator)", "definicao": "Acelerador gráfico 2D por hardware exclusivo del ESP32-P4 para manipulación acelerada de imágenes: rotación de fotogramas, escalado (scaling), mezcla alfa (alpha blending) y conversión de espacios de color (RGB565, ARGB8888, YUV420).", "exemplo": "Renderizado de interfaces gráficas complejas (LVGL) a 60 FPS sin sobrecargar los núcleos de CPU principales." } ] }, { "id": "seguranca", "nome": "Seguridad, Criptografía y eFuses", "icone": "ShieldCheck", "emoji": "🔒", "cor": "red", "descricao": "eFuses inviolables, Secure Boot V2, cifrado de flash XTS-AES, Key Manager, ECC y protección contra DPA.", "termos": [ { "termo": "eFuse (Fusibles electrónicos)", "definicao": "Conjunto de fusibles microscópicos de silicio de grabación única e irreversible (One-Time Programmable - OTP). Almacenan claves secretas de cifrado, la dirección MAC de fábrica y bloquean interfaces de depuración en productos comerciales.", "exemplo": "Utilizado con la herramienta `espefuse.py` para grabar claves de Secure Boot y desactivar puertos JTAG antes del envío al usuario final." }, { "termo": "Secure Boot (V1 y V2)", "definicao": "Protocolo de arranque seguro en el que el código de la ROM verifica criptográficamente la firma RSA-3072 o ECDSA del bootloader y del firmware antes de permitir su ejecución, impidiendo la inyección de código manipulado.", "exemplo": "ESP32 clásico usa Secure Boot V1; del ESP32-S2 en adelante todos adoptan Secure Boot V2 con múltiples claves de firma." }, { "termo": "Cifrado de flash (Flash Encryption)", "definicao": "Mecanismo de hardware que cifra y descifra en tiempo real el contenido de la memoria Flash SPI externa utilizando el algoritmo XTS-AES. Impide la lectura física del firmware en caso de robo de la placa o desoldado del chip de memoria.", "exemplo": "XTS-AES-128 en la mayoría de los chips; ESP32-S3, C5, P4 y H4 también admiten XTS-AES-256." }, { "termo": "Key Manager", "definicao": "Módulo de seguridad avanzada que aprovisiona, almacena y opera claves criptográficas en silicio sin exponerlas jamás a la memoria SRAM o al firmware, impidiendo la extracción de claves incluso ante vulnerabilidades de software.", "exemplo": "Presente en series de alta seguridad como ESP32-S31, ESP32-C5 y ESP32-P4." }, { "termo": "ECC y ECDSA en hardware", "definicao": "Aceleradores de curvas elípticas (como P-256 y P-384) y algoritmos de firma digital ECDSA en silicio, fundamentales para una conexión rápida y segura a la nube y para los requisitos de atestación del estándar Matter.", "exemplo": "ESP32-S31, C5, C61, P4, H2 y H4 disponen de acelerador de hardware para ECDSA." }, { "termo": "HMAC y Firma Digital (DS)", "definicao": "Periféricos de autenticación criptográfica que calculan códigos HMAC y firman mensajes con claves secretas grabadas en eFuses de forma invisible para el firmware.", "exemplo": "Permite autenticación rápida y segura con AWS IoT Core y Microsoft Azure IoT sin almacenar certificados en texto plano." }, { "termo": "TRNG (Generador de números aleatorios verdaderos)", "definicao": "Generador de números aleatorios verdaderos basado en el ruido térmico analógico de los circuitos de radio y silicio, esencial para generar claves de sesión en handshakes TLS/HTTPS.", "exemplo": "Disponible en todas las series de ESP32 para garantizar entropía segura en conexiones HTTPS/MbedTLS." }, { "termo": "Protección contra DPA (Differential Power Analysis)", "definicao": "Mecanismo físico de hardware que añade ruido y balanceo en el consumo de corriente eléctrica del chip para evitar que atacantes descubran claves criptográficas midiendo el consumo con osciloscopios.", "exemplo": "Presente en las series ESP32-C5, C6, C61 y H2." } ] }, { "id": "memoria", "nome": "Memoria, Buses y Almacenamiento", "icone": "Database", "emoji": "💾", "cor": "purple", "descricao": "SRAM, PSRAM externa, buses QSPI y Octal SPI, ROM de arranque, memoria RTC y sistemas de archivos.", "termos": [ { "termo": "SRAM interna (Static RAM)", "definicao": "Memoria de acceso aleatorio de ultra alta velocidad integrada en el silicio, dividida en IRAM (instrucciones) y DRAM (datos). No pierde datos mientras el chip esté alimentado en modo activo.", "exemplo": "El ESP32 dispone de 520 KB de SRAM, mientras que el ESP32-P4 ofrece 768 KB de SRAM de alto rendimiento." }, { "termo": "ROM de arranque (Boot ROM)", "definicao": "Memoria de solo lectura grabada durante la fabricación del silicio. Contiene el código de arranque primario (First-Stage Bootloader), rutinas de descarga serie y funciones criptográficas básicas.", "exemplo": "No puede ser alterada por el usuario ni infectada por malware; es la raíz de confianza de todo el chip." }, { "termo": "Flash SPI (Quad-SPI vs Octal-SPI)", "definicao": "Interfaz de comunicación con memorias Flash externas. Quad-SPI (QSPI) usa 4 líneas de datos, mientras que Octal SPI (OPI) usa 8 líneas simultáneas con soporte DDR, duplicando la tasa de transferencia.", "exemplo": "Octal SPI en ESP32-S3 y ESP32-P4 permite tasas de lectura superiores a 120 MB/s para código y recursos multimedia." }, { "termo": "PSRAM (Pseudo-Static RAM externa)", "definicao": "Memoria RAM dinámica externa empaquetada junto al chip (SiP) o conectada vía bus SPI/QSPI/OPI que expande la memoria disponible para buffers gráficos, audio y modelos de IA.", "exemplo": "Módulos ESP32-WROVER y ESP32-S3 disponen de 2 MB a 16 MB de PSRAM; ESP32-P4 admite hasta 32 MB." }, { "termo": "SRAM RTC Fast y Slow", "definicao": "Pequeños bloques de memoria SRAM (típicamente 8 KB a 32 KB) ubicados en el dominio de energía de bajo consumo (RTC / Low Power). Conservan su contenido durante el Deep Sleep.", "exemplo": "Variables declaradas con `RTC_DATA_ATTR` mantienen su valor entre reinicios tras despertar de Deep Sleep." }, { "termo": "Asignación DMA (MALLOC_CAP_DMA)", "definicao": "Solicitud de bloques de memoria RAM con direccionamiento físico continuo y accesibles por controladores DMA (Direct Memory Access) para transmisiones de alta velocidad sin intervención de la CPU.", "exemplo": "Necesario para buffers de pantallas SPI/I8080, audio I2S, transceptores Wi-Fi y lecturas de tarjetas SD." }, { "termo": "Fragmentación del heap", "definicao": "Degradación del espacio libre de memoria dinámica en múltiples bloques pequeños dispersos debido a asignaciones y liberaciones sucesivas (malloc/free), impidiendo asignar bloques grandes contiguos.", "exemplo": "Causa común de fallos en conexiones TLS o asignación de buffers de cámara tras horas de funcionamiento." } ] }, { "id": "conectividade", "nome": "Conectividad Inalámbrica y Protocolos", "icone": "Wifi", "emoji": "📡", "cor": "emerald", "descricao": "Wi-Fi 4/6, Bluetooth Classic, BLE 5.x, Zigbee 3.0, Thread 1.3, Matter y redes ESP-NOW.", "termos": [ { "termo": "Wi-Fi 6 (802.11ax)", "definicao": "Nueva generación del estándar Wi-Fi que aporta mayor eficiencia espectral, menor latencia y menor consumo energético en entornos saturados mediante OFDMA y Target Wake Time (TWT).", "exemplo": "ESP32-C6 y ESP32-C5 soportan Wi-Fi 6 en 2.4 GHz; el ESP32-C5 añade compatibilidad con la banda de 5 GHz." }, { "termo": "Wi-Fi Dual-Band (2.4 GHz y 5 GHz)", "definicao": "Capacidad de operar tanto en la banda tradicional de 2.4 GHz como en la banda más descongestionada y de mayor ancho de banda de 5 GHz.", "exemplo": "El ESP32-C5 es el primer chip de Espressif con radio Wi-Fi 6 de doble banda simultánea (2.4 GHz y 5 GHz)." }, { "termo": "OFDMA (Acceso múltiple por división de frecuencias ortogonales)", "definicao": "Tecnología de modulación de Wi-Fi 6 que divide los canales de radio en subcanales diminutos (Resource Units - RU), permitiendo transmitir datos hacia y desde múltiples dispositivos en un mismo instante.", "exemplo": "Reduce drásticamente la latencia en redes con cientos de sensores IoT conectados al mismo punto de acceso Wi-Fi 6." }, { "termo": "TWT (Target Wake Time)", "definicao": "Mecanismo de ahorro de energía de Wi-Fi 6 que permite al punto de acceso y al dispositivo acordar ventanas de comunicación específicas, manteniendo el microcontrolador dormido durante horas entre transmisiones.", "exemplo": "Sensores a batería basados en ESP32-C6 multiplican su autonomía al conectarse a enrutadores Wi-Fi 6 con soporte TWT." }, { "termo": "Bluetooth Classic (BR/EDR)", "definicao": "Modo tradicional de Bluetooth optimizado para streaming de audio continuo (perfil A2DP), transferencia de archivos y puertos serie SPP a tasas de datos de 2 a 3 Mbps.", "exemplo": "Disponible en el ESP32 original y en el ESP32-S31 para recepción y reproducción de música Bluetooth." }, { "termo": "Bluetooth Low Energy (BLE 5.0 a 5.4)", "definicao": "Versión optimizada para consumo ultra bajo con soporte para modo de alta velocidad (2 Mbps), largo alcance (Coded PHY de 125/500 kbps) y extensiones publicitarias periódicas.", "exemplo": "Soportado en ESP32, S3, C3, C6, H2 y H4 para balizas, sensores corporales y aprovisionamiento de credenciales Wi-Fi." }, { "termo": "Bluetooth LE Audio y Auracast", "definicao": "Nueva generación de audio Bluetooth basada en el códec LC3 de alta fidelidad y bajo consumo. Auracast permite transmitir audio en broadcast a un número ilimitado de receptores simultáneos.", "exemplo": "Soportado nativamente por el SoC ESP32-H4 para auriculares inalámbricos y sistemas de transmisión de audio accesible." }, { "termo": "IEEE 802.15.4 (Zigbee 3.0 y Thread)", "definicao": "Estándar de radio de baja potencia y baja tasa de transferencia en 2.4 GHz que sirve de base física para redes en malla de automatización del hogar (Zigbee 3.0 y Thread 1.3).", "exemplo": "Chips como ESP32-H2 y ESP32-C6 cuentan con radio 802.15.4 para comunicación directa sin necesidad de Wi-Fi." }, { "termo": "Matter (Estándar unificado de hogar inteligente)", "definicao": "Protocolo unificador de capa de aplicación respaldado por Apple, Google y la CSA. Funciona sobre Wi-Fi, Thread y Ethernet, garantizando interoperabilidad directa sin bridges propietarios.", "exemplo": "Un enchufe inteligente programado con ESP-Matter funciona simultáneamente en Apple HomeKit, Google Home y Home Assistant." } ] }, { "id": "perifericos", "nome": "Entradas, Salidas y Periféricos", "icone": "Sliders", "emoji": "🔌", "cor": "amber", "descricao": "GPIO, ADC, DAC, PWM (LEDC/MCPWM), UART, SPI, I2C, I2S y pines táctiles capacitivos.", "termos": [ { "termo": "GPIO (Entradas y salidas de propósito general)", "definicao": "Pines digitales configurables como entradas (lectura de botones y sensores lógicos) o salidas (control de relés, LEDs y actuadores). Cuentan con resistencias pull-up y pull-down configurables por software.", "exemplo": "El ESP32 cuenta con hasta 34 GPIOs, mientras que el ESP32-S3 dispone de hasta 45 GPIOs multifuncionales." }, { "termo": "Pines de arranque (Strapping Pins)", "definicao": "Pines GPIO específicos muestreados por el hardware durante el ciclo de reinicio (reset) para determinar el modo de arranque: ejecución normal desde Flash SPI, modo de descarga de firmware o configuración de voltajes LDO.", "exemplo": "GPIO0 y GPIO2 en ESP32, o GPIO8 y GPIO9 en ESP32-C3/C6. Circuitos externos no deben forzar niveles no deseados durante el arranque." }, { "termo": "ADC (Convertidor analógico-digital)", "definicao": "Convertidor que transforma tensiones analógicas continuas en valores numéricos digitales (resolución de 12 bits, o 13 bits en ESP32-S2), con atenuaciones ajustables para rangos de hasta ~3.1V.", "exemplo": "ADC1 puede utilizarse simultáneamente con Wi-Fi, mientras que ADC2 comparte recursos de hardware con el subsistema de radio en algunos modelos." }, { "termo": "DAC (Convertidor digital-analógico)", "definicao": "Convertidor por hardware que transforma números digitales en tensiones analógicas reales continuas (resolución de 8 bits), permitiendo generar ondas de sonido o voltajes de control.", "exemplo": "Presente en los pines GPIO25 y GPIO26 del ESP32 clásico y en el ESP32-S2 (los chips RISC-V prescinden de DAC analógico directo)." }, { "termo": "LEDC (Controlador LED PWM)", "definicao": "Periférico por hardware diseñado para modulación por ancho de pulso (PWM) de alta precisión con desvanecimiento automático (fading) por hardware, configurable en múltiples canales y resoluciones de hasta 20 bits.", "exemplo": "Regulación de intensidad de tiras LED RGBW y servomotores sin ocupar tiempo de ejecución de la CPU." }, { "termo": "MCPWM (PWM para control de motores)", "definicao": "Generador avanzado de PWM concebido para conmutación de puentes H, motores de corriente continua (DC), motores sin escobillas (BLDC) e inversores solares, con control de tiempo muerto (dead-time) y entradas de fallo (fault capture).", "exemplo": "Presente en ESP32, S3, C6 y P4 para accionamiento preciso de servomotores y robótica." }, { "termo": "RMT (Periférico de control remoto)", "definicao": "Transmisor y receptor de trenes de pulsos precisos con temporización exacta de microsegundos, ideal para protocolos infrarrojos (NEC, RC5, Sony) y control de LEDs direccionables WS2812B (NeoPixel).", "exemplo": "Control de tiras de LEDs WS2812B con temporizaciones estrictas de 800 kHz sin bloquear interrupciones de la CPU." }, { "termo": "PCNT (Contador de pulsos)", "definicao": "Periférico de hardware dedicado a contar flancos de subida y bajada de señales digitales de forma autónoma, sin generar interrupciones por cada pulso.", "exemplo": "Lectura de codificadores rotativos en cuadratura (rotary encoders), medidores de caudal de agua y anemómetros." }, { "termo": "TWAI® (Interfaz automotriz de dos hilos / Bus CAN)", "definicao": "Controlador de red automotriz e industrial compatible con la especificación CAN 2.0B y CAN FD, resistente al ruido electromagnético severo con confirmación por hardware de tramas.", "exemplo": "Lectura de datos de telemetría de vehículos mediante conector OBD-II y comunicación en maquinaria pesada." }, { "termo": "Pines táctiles capacitivos (Touch)", "definicao": "Circuitos analógicos integrados que miden variaciones diminutas de capacitancia eléctrica cuando un dedo humano se aproxima a una pista de cobre o almohadilla conductora.", "exemplo": "Permite crear botones táctiles detrás de vidrio o plástico y despertar el chip de Deep Sleep mediante toque." }, { "termo": "PARLIO (Controlador de I/O paralelo)", "definicao": "Interfaz paralela flexible de alta velocidad de Espressif con soporte para transmisión y recepción de datos de 1 a 16 bits sincronizados con reloj externo o interno.", "exemplo": "Presente en ESP32-C6 y P4 para comunicación de alta velocidad con memorias externas, cámaras y pantallas LCD." } ] }, { "id": "multimidia", "nome": "Multimedia, USB e Interfaces Avanzadas", "icone": "Sparkles", "emoji": "✨", "cor": "pink", "descricao": "Interfaces de cámara DVP y MIPI CSI, pantallas LCD RGB y MIPI DSI, USB OTG nativo y USB Serial/JTAG.", "termos": [ { "termo": "USB OTG (On-The-Go) nativo", "definicao": "Controlador USB integrado que permite al chip actuar tanto como periférico USB (teclado HID, ratón, puerto serie CDC, almacenamiento masivo) como puerto Host USB para conectar memorias USB o cámaras.", "exemplo": "Soportado en ESP32-S2 y S3 a 12 Mbps (Full-Speed); ESP32-P4 cuenta con controlador USB 2.0 High-Speed a 480 Mbps." }, { "termo": "USB Serial/JTAG nativo", "definicao": "Periférico de hardware que conecta directamente el puerto USB de la PC a los pines de depuración JTAG y consola serie del chip, eliminando la necesidad de chips conversores externos (como CP2102 o CH340).", "exemplo": "Disponible en ESP32-C3, C6, S3, C5 y H2 para carga de firmware y depuración con OpenOCD sin sondas adicionales." }, { "termo": "USB 2.0 High-Speed (480 Mbps)", "definicao": "Controlador USB de alta velocidad con capa física integrada (PHY High-Speed) que multiplica por 40 la velocidad de transferencia frente al USB Full-Speed (12 Mbps).", "exemplo": "Exclusivo del ESP32-P4 para transmisión de video en tiempo real y transferencia masiva de archivos." }, { "termo": "MIPI CSI y MIPI DSI", "definicao": "Interfaces serie diferenciales de ultra alta velocidad estándar de la industria móvil para sensores de cámara (CSI) y pantallas gráficas (DSI) de alta resolución.", "exemplo": "Presentes en el ESP32-P4 con soporte de hasta 2 carriles a 1.5 Gbps por carril para video 1080p." }, { "termo": "Codificador de video H.264 por hardware", "definicao": "Acelerador de compresión de video por hardware capaz de codificar secuencias de fotogramas en formato H.264 (AVC) a resoluciones de hasta 1080p a 30 FPS.", "exemplo": "Exclusivo del ESP32-P4 para cámaras de seguridad IP y videoporteros sin sobrecargar la CPU." }, { "termo": "Ethernet MAC 10/100 Mbps", "definicao": "Controlador de capa de enlace Ethernet integrado en silicio que requiere únicamente un chip transceptor físico externo (PHY como LAN8720 o IP101) conectado vía bus RMII.", "exemplo": "Disponible en el ESP32 clásico y en el ESP32-P4 para conexiones de red por cable ultra estables sin interferencias de RF." }, { "termo": "Interfaz de cámara DVP (8 bits / 16 bits)", "definicao": "Interfaz de cámara paralela de 8 a 16 bits sincronizada por reloj de píxel (PCLK), sincronización horizontal (HREF) y vertical (VSYNC), diseñada para sensores de imagen tipo OV2640 y OV5640.", "exemplo": "Utilizada en placas como ESP32-CAM y ESP32-S3-EYE para captura y streaming de video MJPEG." } ] }, { "id": "energia", "nome": "Gestión de Energía y Modos de Suspensión", "icone": "BatteryCharging", "emoji": "🔋", "cor": "teal", "descricao": "Modo activo, Modem Sleep, Light Sleep, Deep Sleep, fuentes de activación y detección de brownout.", "termos": [ { "termo": "Modo activo (Active Mode)", "definicao": "Estado de funcionamiento pleno en el que todos los núcleos de CPU, buses, periféricos y subsistemas de radio Wi-Fi/Bluetooth operan a su frecuencia nominal.", "exemplo": "Consumo típico de 30 a 60 mA en cómputo puro, con picos de 200 a 400 mA durante transmisiones RF." }, { "termo": "Modem Sleep", "definicao": "Modo de ahorro de energía en el que la CPU continúa funcionando activamente pero el subsistema de radio Wi-Fi o Bluetooth apaga sus circuitos entre intervalos de baliza (DTIM).", "exemplo": "El ESP32 permanece asociado al router Wi-Fi consumiendo solo 20 a 40 mA mientras procesa datos locales." }, { "termo": "Light Sleep", "definicao": "Modo en el que el reloj de la CPU se detiene y la mayor parte de los periféricos digitales se suspenden, pero la memoria RAM interna se preserva íntegramente. El retorno al modo activo es prácticamente instantáneo (< 1 ms).", "exemplo": "Consumo de corriente reducido a 0.8–2.0 mA; puede despertarse por temporizador, pines GPIO, UART o eventos Wi-Fi." }, { "termo": "Deep Sleep", "definicao": "Modo de suspensión profunda en el que la CPU principal, periféricos y SRAM estándar se desenergizan por completo. Solo el dominio RTC/LP y su memoria de bajo consumo permanecen activos.", "exemplo": "Consumo de corriente diminuto de 5 a 150 µA, permitiendo que sensores autónomos operen durante años con una única batería." }, { "termo": "Hibernación (Hibernation Mode)", "definicao": "El modo de consumo más bajo posible del chip: todos los osciladores internos y memorias se apagan, manteniendo solo un temporizador ultralento o un pin de reactivación externo.", "exemplo": "Consumo residual tan bajo como 5 µA; al despertar, el chip ejecuta un reinicio completo (reboot)." }, { "termo": "Fuentes de activación (Wakeup Sources)", "definicao": "Eventos de hardware configurados para reactivar el microcontrolador desde Light Sleep o Deep Sleep.", "exemplo": "Temporizador RTC (Timer), interrupción por pin táctil (Touch), cambio de nivel lógico en pines GPIO (ext0/ext1) o eventos del coprocesador ULP." }, { "termo": "Detector de subtensión (Brownout Detector)", "definicao": "Circuito comparador analógico interno que monitorea continuamente la tensión del riel de 3.3V y reinicia el chip de forma segura si el voltaje cae por debajo del umbral crítico (~2.43V).", "exemplo": "Evita la corrupción de datos en la memoria Flash SPI durante caídas transitorias de tensión provocadas por picos de transmisión Wi-Fi." } ] }, { "id": "desenvolvimento", "nome": "Firmware, Arranque y Sistema Operativo", "icone": "Code2", "emoji": "🚀", "cor": "rose", "descricao": "Bootloader, tabla de particiones, FreeRTOS, ESP-IDF, IDF Component Manager y actualizaciones OTA.", "termos": [ { "termo": "Bootloader (Primera y segunda etapa)", "definicao": "Proceso de arranque en dos fases: la ROM interna (1ª etapa) verifica los pines de arranque e inicia el Second-Stage Bootloader ubicado en la Flash, el cual carga la tabla de particiones y transfiere el control a la aplicación.", "exemplo": "Permite seleccionar entre múltiples particiones de firmware (fábrica, OTA_0, OTA_1) según el estado del sistema." }, { "termo": "FreeRTOS (Sistema operativo de tiempo real)", "definicao": "Sistema operativo de tiempo real adaptado por Espressif para multitarea simétrica multinúcleo (Symmetric Multiprocessing - SMP), administrando colas, semáforos, mutexes y prioridades de tareas en ambos núcleos.", "exemplo": "Creación de tareas independientes con `xTaskCreatePinnedToCore()` fijadas específicamente al Core 0 o al Core 1." }, { "termo": "Atributos IRAM_ATTR y DRAM_ATTR", "definicao": "Macros de compilación del ESP-IDF que fuerzan la ubicación de funciones en la memoria interna IRAM (en lugar de la Flash SPI) o datos en DRAM, requisito indispensable para rutinas de interrupción (ISRs).", "exemplo": "Previene caídas por Guru Meditation si ocurre una interrupción mientras la memoria Flash SPI se encuentra ocupada escribiendo datos." }, { "termo": "Tabla de particiones (partitions.csv)", "definicao": "Archivo de configuración que divide el espacio de la memoria Flash SPI en sectores lógicos con propósitos específicos: bootloader, datos de calibración NVS, aplicaciones de firmware y sistemas de archivos.", "exemplo": "Configuración esencial para habilitar particiones duales de actualización inalámbrica OTA (`ota_0` y `ota_1`)." }, { "termo": "Actualizaciones OTA con Rollback", "definicao": "Mecanismo que permite actualizar el firmware de dispositivos conectados vía Wi-Fi, Ethernet o BLE, escribiendo la nueva versión en una partición secundaria y alternando el puntero de arranque de forma atómica.", "exemplo": "Cuenta con soporte para reversión automática (rollback) si el nuevo firmware falla en su primera ejecución." }, { "termo": "NVS (Non-Volatile Storage) y cifrado NVS", "definicao": "Biblioteca y partición de almacenamiento en memoria Flash organizada en pares clave-valor. Incluye balanceo de desgaste (wear leveling) y cifrado con claves basadas en eFuses para datos sensibles de configuración.", "exemplo": "Utilizada por el ESP-IDF para guardar credenciales Wi-Fi (SSID/contraseña) y claves criptográficas de forma segura." }, { "termo": "Sistemas de archivos (LittleFS y SPIFFS)", "definicao": "Estructuras de archivos sobre memoria Flash SPI. LittleFS es el estándar moderno, más rápido, resistente a fallos de alimentación y con menor sobrecarga de RAM que el obsoleto SPIFFS.", "exemplo": "Almacenamiento de páginas web (HTML/CSS/JS), imágenes de interfaz y certificados SSL en la memoria Flash local." }, { "termo": "JTAG y OpenOCD", "definicao": "Estándar de depuración por hardware que permite pausar la ejecución de la CPU, inspeccionar el valor de registros, recorrer el código paso a paso y evaluar puntos de interrupción en tiempo real.", "exemplo": "Depuración integrada mediante USB Serial/JTAG en ESP32-S3/C3/C6 o mediante sondas externas como ESP-PROG." } ] } ];