(+34) 923 602 786
info@alfaiot.com

Desarrollada por Espressif Systems, la serie ESP32 supuso una revolución en la industria electrónica. Conocido también como "el chip del futuro", le ahorra mucha complejidad de programación y puede conectarse fácilmente con casi cualquier dispositivo que desee construir. Ahora sólo tiene que utilizar este dispositivo en lugar del complejo sistema que consiste en un microcontrolador, módulos adicionales de WiFi y Bluetooth.

ESP32 es una serie de microcontroladores de bajo consumo en un chip (SoC). Lo que hace que la serie ESP32 sea mejor que sus predecesores es que viene integrada con WiFi, BLE y Bluetooth de modo dual. Aparte de la rentabilidad, los dispositivos ESP32 prometen seguridad, rendimiento y eficiencia energética a los modernos dispositivos IoT. Está integrado con conmutadores de antena, amplificadores de potencia, filtros, módulos de gestión de energía y balun de RF. De este modo, le facilita la construcción de cualquier dispositivo IoT moderno con comodidad y un presupuesto mínimo.

Características y especificaciones de ESP32

ESP32 tiene el procesador de doble núcleo, lo que significa que un microcontrolador externo no sería necesario para la construcción de cosas conectadas. Viene equipado con microprocesadores Xtensa® Dual-Core 32-bit LX6. La serie ESP32 funciona a 160 o 240 MHz y tiene hasta 600 DMIPS. Tiene un procesador de ultra bajo consumo (ULP) y viene con una memoria de 520 KiB SRAM.<br>La mayoría de los módulos ESP32 tienen condensadores de filtro incorporados, antena a bordo y escudo metálico para la protección EMI.<br>Soporta una alimentación de 2V a 3V y una temperatura de funcionamiento que oscila entre - 40ﹾC y -140ﹾC.<br>La memoria flash externa puede ampliarse hasta 16 MB.<br>Si se utiliza en modo estación (cliente), ESP32 puede conectarse a la mayoría de los routers WiFi. También funciona con WiFi Direct.<br>Implementa TCP &amp; UDP y permite cinco conexiones simultáneas a la vez.<br>Soporta tanto el Bluetooth clásico como el último BLE Bluetooth 4.2.<br>ESP32 viene equipado con múltiples periféricos incorporados que incluyen un sensor táctil, un convertidor de digital a analógico (DAC), un ADC y sensores incorporados, modulación de ancho de pulso (PWM), reloj en tiempo real y mucho más.<br>El dispositivo se presenta en paquetes QFN de 48 pines con distintos tamaños.<br>Los módulos ESP32 están disponibles con múltiples configuraciones de antena, como antena PCB, conector de antena, etc., así como tamaños de flash.<br>Viene con un diseño robusto de cuatro capas totalmente compatible con FCC, IC, KCC, TELEC, CE-RED, SRRC, etc.<br>La USP de la serie ESP32 es su software/firmware que le permite utilizar freeRTOS para manejar la multitarea sin problemas.<br>También ofrece características de seguridad como encriptación flash, AES integrado, arranque seguro, algoritmos SHA y RSA.

Ánálisis de características

El procesador de doble núcleo<br>Olvídese del microcontrolador externo/Arduino cuando construya cosas conectadas….<br>El predecesor del ESP32, el ESP8266 tiene un procesador incorporado. Sin embargo, debido a la multitarea involucrada en la actualización de la pila WiFi, la mayoría de las aplicaciones utilizan un micro-controlador separado para el procesamiento de datos, la interconexión de sensores y la salida de entrada digital. Con el ESP32 es posible que no desee utilizar un microcontrolador adicional. El ESP32 tiene microprocesadores Xtensa® Dual-Core 32-bit LX6, que funciona hasta 600 DMIPS. El ESP32 funcionará en placas y módulos de 160Mhz hasta 240MHz . Es una velocidad muy buena para cualquier cosa que requiera un microcontrolador con opciones de conectividad.

Los dos núcleos se denominan CPU de protocolo (PRO_CPU) y CPU de aplicación (APP_CPU). Eso significa básicamente que el procesador PRO_CPU maneja el WiFi, el Bluetooth y otros periféricos internos como SPI, I2C, ADC, etc. La APP_CPU se deja de lado para el código de aplicación. Esta diferenciación se realiza en el Espressif Internet Development Framework (ESP-IDF). ESP-IDF es el marco de desarrollo de software oficial para el chip. Arduino y otras implementaciones para el desarrollo se basarán en ESP-IDF.

ESP-IDF utiliza freeRTOS para la conmutación entre los procesadores y el intercambio de datos entre ellos. Hemos hecho numerosos tutoriales sobre freeRTOS y con todos los tutoriales de programación bare-metal para ESP32 intentaremos cubrir este aspecto en detalle. Aunque el conjunto de características es grande en el precio en el que el chip se está vendiendo, la complejidad es enorme. Para que el chip se adopte de forma generalizada, será necesario un gran esfuerzo por parte de Espressif y de la comunidad.

Memoria interna

Los procesadores tienen una memoria interna estrechamente ligada para el siguiente uso:

448 KBytes de ROM para el arranque y las funciones del núcleo.<br>520 KBytes de SRAM en el chip para datos e instrucciones.<br>8 KBytes de SRAM en el RTC, que se denomina Memoria LENTA del RTC y a la que puede acceder el coprocesador<br>durante el modo Deep-sleep.<br>8 KBytes de SRAM en el RTC, que se denomina memoria RTC FAST y puede utilizarse para el almacenamiento de datos; se accede a ella<br>a la CPU principal durante el arranque del RTC desde el modo Deep-sleep.<br>1 Kbit de EFUSE, de los cuales 256 bits se utilizan para el sistema (dirección MAC y configuración del chip) y los 768 bits restantes se reservan para aplicaciones del cliente, incluyendo Flash-Encryption y Chip-ID<br>Flash externa y SRAM<br>La mayoría de los módulos, como el ESP32 Wroom, utilizan la Flash-W25Q32 externa (¡4M Bytes!) para almacenar el código de la aplicación. El chip soporta 4 x 16 MBytes de flash externa QSPI y SRAM con encriptación por hardware basada en AES.

El ESP32 accede a la flash QSPI externa y a la SRAM a través de cachés de alta velocidad.

Hasta 16 MBytes de flash externa están mapeados en el espacio de código de la CPU, soportando accesos de 8, 16 y 32 bits. Se admite la ejecución de código.<br>Hasta 8 MBytes de SRAM externa están mapeados en el espacio de datos de la CPU, soportando acceso de 8, 16 y 32 bits. La lectura de datos es compatible con la flash y la SRAM. La escritura de datos es compatible con la SRAM.

Dado que la arquitectura del procesador es de 32 bits. Los periféricos internos, el wifi, el bluetooth, las memorias externas, etc. están asignados a un espacio de direcciones de 2^32 (4GB)

También una cosa interesante a tener en cuenta es que los dos procesadores se asignan simétricamente a este espacio de direcciones. Básicamente significa que, por ejemplo, se puede acceder a un registro desde la misma dirección desde ambas CPUs, como se muestra en la imagen siguiente.

El WiFi<br>ESP32 implementa TCP/IP, el protocolo completo 802.11 b/g/n/e/i WLAN MAC, y la especificación Wi-Fi Direct. Esto significa que el ESP 32 puede hablar con la mayoría de los routers WiFi cuando se utiliza en modo estación (cliente). También es capaz de crear un punto de acceso con la totalidad de 802.11 b/g/n/e/i.

ESP32 también soporta el Wi-Fi Direct . Wifi-Direct es una buena opción para la conexión peer-to-peer sin necesidad de un punto de acceso. El Wifi-Direct es más fácil de configurar y las velocidades de transferencia de datos son mucho mejores que las del bluetooth. Esto podría ser utilizado para configurar proyectos basados en ESP32 desde un teléfono/tableta que soporte WiFi directo. No hay ningún ejemplo de código en el SDK de ESP-IDF en el momento de escribir este artículo. La implementación de ESP-IDF WiFi tiene las siguientes características en el desarrollo:

Modo de estación BSS de infraestructura / modo P2P / soporte de modo softAP<br>Descubrimiento P2P, Propietario de Grupo P2P, Cliente de Grupo P2P y Gestión de Energía P2P<br>Controlador WPA/WPA2-Enterprise y WPS<br>Funciones de seguridad 802.11i adicionales, como preautenticación y TSN<br>Interfaz abierta para varios esquemas de autenticación de capa superior sobre EAP, como TLS, PEAP, LEAP, SIM, AKA o específicos del cliente<br>Control de reloj/energía combinado con una gestión de la energía compatible con 802.11 que se adapta dinámicamente a las condiciones actuales de la conexión y proporciona un consumo mínimo de energía.<br>El algoritmo de recuperación de velocidad adaptativa establece la velocidad de transmisión y la potencia de transmisión óptimas en función de la relación de ruido de la señal (SNR) real y de la información sobre la pérdida de paquetes<br>Retransmisión y respuesta automáticas en MAC para evitar el descarte de paquetes en entornos de host lentos<br>Bluetooth clásico y Bluetooth de baja energía (BLE)<br>ESP32 no sólo es compatible con el último BLE Bluetooth 4.2, también es compatible con el bluetooth clásico. Básicamente significa que puede hablar con teléfonos/tabletas bluetooth antiguos y nuevos. Esta podría ser una de las mejores características, especialmente, si usted está diseñando un dispositivo que tiene que trabajar con los teléfonos existentes, así como los nuevos / tabletas en el mercado. El ESP32 Bluetooth Radio y Baseband soporta las siguientes características:

  • Potencias de salida de transmisión de clase 1, clase 2 y clase 3 y más de 30 dB de rango de control dinámico
  • Modulación π/4 DQPSK y 8 DPSK
  • Alto rendimiento en la sensibilidad del receptor NZIF con más de 98 dB de rango dinámico
  • Funcionamiento de clase 1 sin PA externo
  • La SRAM interna permite la transferencia de datos a máxima velocidad, la mezcla de voz y datos y el funcionamiento completo de la piconet
  • Lógica para la corrección de errores hacia delante, control de errores de cabecera, correlación de códigos de acceso, CRC, demodulación,
  • Generación de flujos de bits de encriptación, blanqueo y conformación de impulsos de transmisión
  • CODEC de audio digital A-law, µ-law y CVSD en interfaz PCM
  • CODEC de audio SBC
  • Gestión de la energía para aplicaciones de bajo consumo
  • SMP con AE de 128 bits
  • Características del controlador de enlace Bluetooth clásico
  • Descubrimiento de dispositivos (consulta y exploración de consulta)
  • Establecimiento de la conexión (escaneo de páginas y páginas)
  • Conexiones múltiples
  • Recepción y transmisión de datos asíncrona
  • Enlaces síncronos (SCO/eSCO)
  • Conmutación maestro/esclavo
  • Salto de frecuencia adaptativo y evaluación de canales
  • Codificación de la difusión
  • Autenticación y encriptación
  • Emparejamiento simple y seguro
  • Gestión multipunto y de red dispersa
  • Modo de sniffing
  • Transmisión esclava sin conexión (transmisor y receptor)
  • Control de potencia mejorado
  • Características del controlador de enlace Bluetooth Low Energy
  • Publicidad
  • Escaneo
  • Conexiones múltiples
  • Recepción y transmisión de datos asíncrona
  • Salto de frecuencia adaptativo y evaluación del canal
  • Actualización de los parámetros de conexión
  • Extensión de la longitud de la fecha
  • Encriptación de la capa de enlace
  • LE Ping
Estamos obcecados en acercar la tecnología a nuestros clientes y demostrarles todo lo que el IoT puede hacer.
CONÓCENOS
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram