Los sistemas embebidos tienen el objetivo de cumplir una tarea en específico en cualquier equipo, se encuentran dentro de un dispositivo de gran tamaño de forma que el sistema tenga la capacidad de poder operar de una forma independiente y con diversas aplicaciones también hace referencia a sistemas pequeños aumentando la operatividad del dispositivo, es por ello que en este artículo se va a explicar su definición, características y funciones principales.
Indice De Contenido
¿Qué son los sistemas embebidos?
Los sistemas embebidos son sistemas operativos que son creado con la finalidad de ser controlados por microprocesadores o microcontroladores. También es conocido como los sistemas empotrados.
Este dispositivo se utiliza para tener la capacidad de controlar, de poder supervisar o incluso de ayudar en la operación de diversos tipos de equipos, diferentes maquinarias o cualquier variedad de planta.
Como ejemplos de los sistemas embebidos se puede encontrar diversos dispositivos tales como iPhone, Laser Keyboard, memoria SD, GPS, una cámara como la Nikon D300, un vídeo reloj, entre otros.
Características de los sistemas embebidos
Los sistemas embebidos cuenta con características fundamentales que son base para cualquier dispositivo desde automóviles hasta teléfonos celulares e incluso en algunos electrodomésticos comunes como refrigeradores y hornos de microondas. Por lo que están diseñadas para cubrir un amplio rango de necesidades, es por ello que a continuación se muestra las características de este sistema:
- Se pueden encontrar actuadores, sensores, y módulos de entrada y de salida.
- Incluyen dentro de los principales funciones de los mismos regular el funcionamiento de los dispositivos.
- Tienen como función de satisfacer necesidades específicas en los equipos como los celulares, routers, reproductores multimedia, sistemas satelitales, entre otros.
- La mayoría de los componentes se encuentran incluidos en la placa base.
- Están programados en lenguajes nativos.
- Se destaca por cumplir las necesidades de eficacia, excelencia y rápida respuesta.
- Diseñado para realizar distintas funciones en un sistema de las computadoras en tiempo real.
- Cubre un amplio rango de necesidades especificas.
- La mayoría de los componentes se encuentras incluidos en la placa base.
- Generalmente actúan en un tiempo prácticamente real.
- Existen algunos de corto plazo.
- Puede actuar como un sistema de frenos.
- Se puede encontrar tipos con una mayor flexibilización como la adquisición de datos en una zona meteorológica, o con un tiempo de respuesta como los sistemas multimedia.
- En cuanto a tamaño se categorizan por diversos factores como el tamaño físico que ocupan, las capacidades que lo componen.
- Las capacidades pueden ser tales como el procesador, tamaño de memoria, entre otros.
- Son fundamentales en todo aquello que lleve a comprender y utilizar herramientas.
- Pueden generar infinidad de dispositivo.
- Minimiza los recursos utilizados.
- están diseñados para realizar unas funciones concreta.
- Garantiza el funcionamiento de los equipos.
- Se suele utilizar los sistemas de comunicación disponibles actualmente.
- Existen sistemas sencillos para que su operación sea lo más fácil posible para en el caso de los usuarios que lo emplean.
- Por su simple uso de sistema posee una amplia gama de usuarios.
- También existen con sistemas avanzados y complejos para los desarrolladores y especialistas, donde se requiera un mayor conocimiento y habilidad en su uso.
- Para desarrollar tecnología se debe tener destreza y una compleja aptitud por su avanzado conocimiento en sistemas para desarrolladores.
- Las herramientas en las que se suele utilizar son varias como el internet de las cosas (IoT), big data, seguridad cibernética, almacenamiento en la nube, simulación, realidad aumentada, integración de sistemas, nano robots, fabricación sumativa.
- Tiene diferencia de otros sistemas multifunción principalmente se destaca como puedan ser los ordenadores personales.
- En los casos donde no se conecte a la corriente eléctrica se suele utilizar baterías para su alimentación.
- Son concebidos para ser producidos en miles o millones de unidades.
- Ejemplos de sistemas embebidos pueden ser un modem o un rooter.
- Se suelen programar en el lenguaje ensamblador del microprocesador.
- Dispone del uso de herramientas populares como Raspberry Pi o Arduino.
- También se puede también utilizar lenguajes como C, C++ o Java..
- Como componente principal de estos sistemas embebidos son los microprocesador dando la capacidad al sistema
- La comunicación del sistema suele ser normalmente mediante interfaces de cable o inalámbricos.
- Suele incorporar puertos USB, IP, WiFi, GSM o GPRS, entre otros.
- Debe ser eficientes en cuanto energía, costo y tamaño de código.
- La alimentación de los sistemas embebidos genera las diferentes tensiones y corrientes que son requeridas para alimentar los circuitos.
- Posee un número limitado de funciones predefinidas para actuar.
- También su fuente de alimentación es limitada y la administración de energía efectiva.
- Cuenta con una disponibilidad de recursos de reserva para situaciones inesperadas.
- Incluye periféricos de banda ancha y las interfaces ya sean de operador, monitores, botones, indicadores, emisores, entre otros.
- Son de bajo costo.
- Tiene un mínimo consumo de potencia.
Componentes de los sistemas embebidos
Los sistemas embebidos se encuentra conformado por un microprocesador que incluye interfaces de entrada y de salida efectuando una revisión en el sistema proporcionando un diagnóstico de su estado, también este sistema se encuentra conformado por un software que es ejecutado por el procesador. Es por ello que a continuación se explica de una mejor manera estos componentes que integra:
Microprocesador
- También es conocido como procesador.
- Se encuentra en la parte central de los sistemas embebidos.
- Aporta capacidad de cómputo al sistema.
- Dispositivo programable.
- Es utilizado en una variedad de aplicaciones.
- Puede incluir memoria interna o memoria externa.
- Cuenta con una alta flexibilidad.
- No es de un costo elevado.
- Su estructura se encuentra comprendida generalmente por una CPU; una memoria operativa que puede ser RAM; una memoria constante ya sea ROM, PROM, EPROM, EEPROM/FLASH, entre otros; adaptadores de entrada y de salida; Bus de sistema ya sea de direcciones, de datos, de control.
- Es la ruta de los datos generales.
- Dispone de diversas ventajas para el usuario como menor tiempo de lanzamiento al mercado y NRE.
- Registra una gran cantidad de archivos.
- Existen diversos tipos con un propósito general pero el mas conocido es Intel “Pentium”.
- También se puede encontrar tipos con un destino en especifico que ejecutan programas de coprocesador alias, acelerador o periférico.
- Los tipos específicos contiene solo los componentes necesarios para ejecutar un solo programa y sin memoria de programa.
- Los de tipos específicos se destacan por ser rápidos, de baja potencia y te poseer un tamaño pequeño.
- También están disponibles procesadores de aplicaciones a medida.
- Los de tipo a medida son procesadores programables optimizados para una clase de aplicaciones.
Actuadores
- Son los sistemas electrónicos que el sistema se encarga de controlar.
- Puede ser diversos tipos como un motor eléctrico, un conmutador tipo relé, entre otros.
- El más popular utilizado es generalmente una salida de señal PWM.
- Ofrece un mayor control de la velocidad en motores de corriente continua.
Interfaces de Entrada y Salida
- Son puntos o nodos.
- Los dispositivos periféricos se pueden conectar con la memoria y el procesador central.
- También pueden intercambiar información con la memoria y el procesador central.
- Contienen en sí mismos un número definido de registros.
- Son utilizados para el almacenamiento temporal de varios tipos de datos.
- Las direcciones de los registros y sus funciones están definidas con precisión.
- Existen diversos tipos dentro los cuales se encuentran los puertos serie, los puertos paralelos y los puertos universales.
- Los puertos en serie transfieren los datos de bit en bit de una forma o manera secuencial, pueden ser COM1, COM2
- En los puertos paralelos los datos se transfieren en paralelo es decir en un byte, una palabra, entre otros, pueden ser LPT1.
- Puede ser analógicas y digitales.
- Suele ser empleados para digitalizar las diversas señales.
- Son procedentes de sensores.
- Activa los diodos leds.
- Puede reconocer el estado abierto cerrado de un conmutador o pulsador.
Módulo de Reloj
- Se encarga de producir los diferentes tipos de señales.
- Hay diferentes tipos de oscilador.
- Se genera a partir de un oscilador principal.
- Es de gran importancia la frecuencia necesaria en los sistemas embebidos.
- Proporciona estabilidad requerida en los sistemas embebidos.
- Los más populares son el de resonador de cristal de cuarzo.
- Otros muy populares son los de RC ya que requieren menos cantidad de consumo.
Puerto de comunicación
- Es de gran importancia en los sistemas embebidos.
- Se puede realizar mediante interfaces estándar de cable o inalámbricas.
- Incorpora puertos de comunicaciones de diversos tipos como RS-232, RS-485,GMS, SPI, DSRC, I2C, WiFi, USB, entre otros.
Módulo de energía
- Se encarga de producir diversos tensiones o diferentes corrientes.
- Tiene como funcione de alimentar los circuitos de los sistemas embebidos mediantes las generaciones de tensiones o corrientes.
- Utiliza conversores ya sea AC/DC o DC/DC.
- Obtiene las tensiones y corrientes necesarias para alimentar los componentes de los circuitos.
- Trabaja con un rango de posibles tensiones de entrada.
Conversores
- Pueden ser AC/DC o DC/DC
- También está disponible como filtro, circuitos integrados, supervisores de alimentación, entre otros.
Pantalla
- Suele ser de diversos tipos para facilitar su uso al usuario.
- Se puede encontrar pantalla gráficas, táctil, LCD, alfanumérico, entre otros.
Si no conoces que son microcomputadoras y deseas ampliar tus conocimiento sobre este dispositivo, entonces se recomienda ver el artículo de Microcomputadoras: ¿Qué es? y su función, donde se explica su definición, su historia, sus tipos, sus funciones, características así como también su importancia y la diferencia que tiene en comparación de una minicomputadora¨.
Tipos de interfaces de la memoria
Los interfaces de memoria en los sistemas embebidos son los buses, estos se denominan como unos sistemas de líneas para realizar la conexión interna y la conexión externa entre los diversos dispositivos en un sistema informático. También se conoce como un canal de comunicación que las computadoras pueden utilizar para realizar la comunicación entre sus componentes un ejemplo es poder comunicar el procesador con los periféricos, memoria.
Se encuentra integrado a la tarjeta madre y dependiendo de los dispositivos que se conectan, se pueden distinguir diferentes tipos de buses: un bus de direcciones, un bus de datos y un bus de control. Cada uno de ellos cuentan con conexiones y características fundamentales para la comunicación entre los componentes, a continuación se explica las característica de cada uno.
Bus de direcciones:
- Es un canal del microprocesador.
- La información fluye es una sola dirección.
- Puede colocar en el CPU diferentes niveles lógicos en las líneas de dirección.
- Se encuentra diseñado para enviar las direcciones.
- La dirección es un número binario.
- Identifica un lugar definido de la memoria o un Puerto de entrada y salida.
- Se encarga de enviar en el microprocesador.
- La memoria RAM es direccionable.
- Tiene como objetivo de elegir una celda definida de la memoria o un Puerto de entrada o salida.
- Es totalmente independiente del bus de datos.
- Genera 2n posibles direcciones diferentes.
- Es de un solo sentido.
- Cada celda de memoria tiene su propia dirección.
- Las direcciones siempre son generadas por la MS
- Depende de la cantidad de bits para la capacidad de memoria que se pueda direccionar 2n.
- Pueden ser necesarias líneas de control para señalar cuándo la dirección está disponible en el bus.
- Consiste en el conjunto de líneas eléctricas necesarias para establecer una dirección.
- Establece la dirección de memoria del dato en tránsito.
- Depende del diseño del propio bus.
Bus de datos:
- Es un bus bidireccional.
- Tiene como función el intercambio de información, es decir, de instrucciones o de datos.
- Se lleva a cabo entre el microprocesador y los dispositivos periféricos.
- Consiste de un intercambio de dos vías.
- Las palabras de datos transmitidas tiene m bits de longitud.
- Realiza operaciones de lectura y escritura.
- Dispone de la función de enviar los datos desde el Sistema de MP a los puertos de entrada y salida.
- Los anchos de banda del bus de datos son los: 8086: 16 bits 80486: 32 bits, Pentium: 64 bits.
- Los m terminales de la CPU, de D0 – Dm-1.
- El CPU maneja palabras de datos de m bits.
- Depende la clasificación del microprocesador.
- Se encarga de variar el número de bits del bus de datos.
- Controla el uso y acceso al bus de datos y al bus de direcciones.
- Permite el intercambio de datos entre la CPU y el resto de unidades.
- Los datos pueden fluir hacia la CPU o desde la CPU.
- Según la operación que se esté realizando, es decir, si es de lectura o de escritura pueden ser de entrada o de salida.
Bus de control:
- Es utilizado para el envío y la recepción de señales de control en los sistemas embebidos.
- Las señales de control certifican y aseguran la posible sincronización entre el MS y el resto de los componentes del Sistema.
- Dispone de un control del tiempo.
- Cuenta con señales típicas, las cuales son : RD que es de lectura y WR que es de escritura.
- Presenta señales de control sobre una lectura y una escritura reloj.
- Ofrece una señal de reloj Reset que es para restaurar.
- Realiza una señal de inicialización.
- Da el acceso a las líneas de datos y a las líneas de direcciones.
- Propone las transacciones con los periféricos del sistema.
- Comparte las líneas por todos los componentes.
- Provee determinados mecanismos que controlen la utilización de las líneas.
- Denominado como un conjunto de señales se usa para sincronizar las actividades.
- Indica que tipo de operación se espera en un momento en especifico.
- Pueden remitir señales de control a la CPU, como los son INT, RESET, BUS RQ.
- Gobierna el uso a las líneas de datos y a las líneas de direcciones.
- Transmiten tanto órdenes como información de temporización entre los módulos.
- Permite que no haya colisión de información en el sistema.
Arquitectura de los sistemas embebidos
Muchos sistemas embebidos deben cumplir restricciones de tiempo real, por ello cuenta con diferentes arquitecturas que permite el mejor rendimiento en los equipos. Existen varios tipos de arquitectura en los sistemas embebidos, los cuales presentan unas características fundamentales, a continuación se presentan las arquitecturas que son utilizadas.
Arquitectura Von Neumann
- Es del tipo Princeton.
- Cuenta con el bus de datos e instrucción.
- Dispone de una memoria común.
- Permite acceso a memoria múltiple por ciclo de instrucción con reloj de memoria.
- Es más rápido que el ciclo de instrucción.
- No permite accesos a la memoria.
- Asigna un espacio de direcciones de la memoria que se divide en segmentos.
- Posee Programas y datos en la misma memoria.
- El microprocesador puede leer y escribir datos en dispositivos externos.
- Primero el Sistema microprocesador accede a la memoria del programa.
- Recoge la instrucción a ejecutar.
- Se encarga de Decodificar la instrucción.
- Puede acceder a la memoria de datos.
- Lee los operandos asociados a la instrucción leída.
- Tiene como función de ejecutar la instrucción.
- Comienza un nuevo ciclo al terminar la ejecución de la instrucción.
- Accede la Unidad Central de Procesos (CPU) a través de un único bus de direcciones y datos.
- Se utiliza en un ordenador personal porque permite ahorrar una buena cantidad de líneas de entrada y salida.
- Tiene instrucciones y datos almacenados en memorias ya sea memoria RAM o memoria ROM.
- Utiliza el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos.
- Existen diferencias con respecto a la definición tradicional de esta arquitectura.
- Son bastante costosas.
- Ahorra a los diseñadores de placas madre una buena cantidad de problemas y reduce el costo de este tipo de sistemas.
- En esta arquitectura la memoria es segregada.
- Sigue el mismo principio definido en la arquitectura básica.
Arquitectura Harvard
- Es la utilizada en supercomputadoras, en los microcontroladores, y sistemas integrados en general.
- Dispone de memorias separadas.
- Cuenta con buses de datos e instrucciones.
- Generalmente es usado en los sistemas MP más complejos.
- Presenta menor tiempo de ejecución que la Von-Neuman.
- Se encarga de ejecutar diversas instrucciones.
- Tiene como función de procesar diversos datos.
- Es típica para microcontroladores y DSP.
- Cada memoria tiene un bus separado.
- Proporciona la función de asignar los datos y las instrucciones de diversos programas a distintos espacios de memoria.
- También se utiliza en la organización de la memoria CACHE.
- Accede a la memoria de datos para leer operandos asociados a la instrucción leída.
- El hardware destinado a procesar datos y ejecutar instrucciones reside en distintas partes de la CPU.
- Lee las instrucciones de la memoria mediante el bus de datos.
- Puede configurar de diferentes maneras a los microcontroladores.
- Ejecuta las instrucciones leídas.
- Dispone acceso a diversos datos.
- Los datos estáticos pueden estar en el espacio del programa o en el espacio de datos.
- Se encarga de realizar una ejecución de instrucciones en paralelo (pipeling).
- Permite borrar la partición de datos y de la instrucciones.
- Una desventaja que posee es que puede ser mas difícil de programas.
- Tiene un simultaneo acceso a las memorias de programa y datos.
- El procesador tiene los buses segregados.
- Cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control.
- En los microcontroladores la memoria de datos y programas comparten el mismo encapsulado que el procesador.
- Pueden ser dos veces más rápidos que sistemas similares con arquitectura Von Neumann.
- Traduce en un aumento significativo de la velocidad de procesamiento.
- El procesador puede acceder a cada una de las memorias de forma simultánea.
- Como un ventaja fundamental de esta arquictectura es que permite adecuar el tamaño de los buses a las características de cada tipo de memoria.
- Permite una temporizacion diferente.
- Ofrece el tamaño y la estructura para obtener las instrucciones de programas y datos.
- La desventaja que presenta está arquitectura es que consume muchas líneas de entrada y salida del procesador.
- Solo se utiliza en supercomputadoras en sistemas embebidos donde el procesador está ubicado en su propio encapsulado
- En los microcontroladores y otros sistemas integrados suelen poseer este tipo de arquitectura.
- Para realizar un correcto funcionamiento debe respetar el tamaño de la memoria requerida.
Arquitectura Super Harvard
- Es una variación de la arquitectura Harvard.
- Permite contenidos de la memoria de instrucciones.
- Accede a la memoria de instrucciones de un modo similar como si fuese datos.
- Dispone de memorias separadas.
- Estas memoria de instrucciones junto con la memorias de datos pueden ser accedidas de diferentes formas y manera.
- Tiene CACHE para instrucciones.
- Se encuentra implementada en la mayoría de los ordenadores actuales.
- Cuenta con controladores de entrada y salida.
- Se encarga de almacenar en la memoria caché las instrucciones que se van a realizar y ser nuevamente utilizadas.
- Para las memorias de instrucciones y las memoria de datos cuentan con diversos caminos hardware diferentes y separados de la unidad central de proceso CPU.
- Reacciona al estímulo del operador.
- La memoria de instrucciones y datos ocupan distintos espacio de direcciones.
Si deseas conocer todo sobre un cable de red, entonces se recomienda ver el artículo de Cable de Red: Definicion, Tipos Y Funcion, de modo que se pueda facilitar la información y el conocimiento de este tipo de cable que se encarga de conectar un sistema electrónico con otro, así como se explica sus característica, definición, tipos y todo sobre este tema.
Arquitectura básica de los sistemas embebidos
Las computadora con sistemas embebidos es muy similar a una computadora, a continuación se muestra la arquitectura básica, es decir, los elementos que generalmente son los más utilizados.
Microprocesador
- Tiene como función de realizar las operaciones de cálculo principales del sistema.
- Se encarga de ejecutar un código para realizar una determinada tarea.
- Es fundamental para el funcionamiento del dispositivo.
- Se encuentra protegido bajo un material ya sea de plástico o de cerámica.
- También puede dirigir el funcionamiento de los demás elementos que le rodean.
Memoria
- Se encarga de almacenar el código de los programas que el sistema puede ejecutar así como los datos.
- Tiene un acceso de lectura y escritura.
- Ayuda en aumentar la velocidad para que el microprocesador no pierda tiempo en tareas que no son solamente de cálculo.
- Requiere de un soporte donde se almacenen los datos.
- Dispone de un caché de memoria.
- Permite ahorrar tiempo al sistema.
- La información es volátil.
- Al apagar la computadora la información almacenada se pierde.
Disco duro
- La información no es volátil.
- Puede conseguir capacidades muy elevadas.
- Suele ser magnético.
- Posee un gran tamaño.
- También existen discos de estados solidos.
- El tamaño excesivo de los magnéticos a veces lo hace inviable para PCs son sistemas embebidos.
- Dispone de una alta confiabilidad, alto rendimiento y bajo nivel de costo.
- Se encuentran disponibles en el mercado diversos tipos y clases como DiskOnChip, CompactFlash, IDE Flash Drive, entre otros.
- Cuenta con capacidades suficientes para la mayoría de sistemas embebidos.
- Puede ser desde 2 hasta más de 1 GB.
- Algunas aplicaciones almacenan temporalmente los datos recogidos durante un corto período.
Disco flexible
- Su función es como la de un disco duro.
- Tiene capacidades mucho más pequeñas que el disco duro.
- Aporta la ventaja de que es portátil.
- Esta siempre presenta en una computadora normal, es decir, estándar.
- No siempre se encuentra presente en una computadora con sistemas embebidos.
BIOS-ROM BIOS
- Sistema básico de entrada y salida.
- Es un código que es necesario para iniciar el ordenador.
- Se encarga de poner en comunicación los distintos elementos de la placa madre.
- Presenta como característica de ser un software básico.
- Ofrece la posibilidad de poder configurar el hardware del sistema.
- Puede manejar el teclado.
- Usualmente el BIOS está escrito en lenguaje ensamblador.
- Posee un componente de hardware y otro de software.
- Da la opción de configurar diversos tipos de hardware instalado en el PC, como por ejemplo el reloj.
- Tiene la ventaja que de configurar desde que dispositivo de almacenamiento se va a iniciar el sistema operativo.
- Compatible con diferentes tipos de sistemas operativos ya sea Microsoft Windows, GNU Linux, Mac OS X, entre otros
- Proporciona una salida básica.
- Se encuentra instalado en la placa base.
- La ROM es un chip donde se encuentra el código BIOS.
- Tiene como función de reconocer todos los dispositivos que seas requeridos y necesarios para poder cargar el sistema operativo en la memoria RAM.
- Proporciona una salida en forma de sonido sonidos por el altavoz incorporado en la placa base.
- Ofrece mensajes para indicar cuando ocurre alguna clase de error o falla.
- El BIOS incluye la configuración de aspectos importantes de la computadora.
- Controla los procesos del flujo de información en el bus de la computadora.
CMOS-RAM
- Es un chip de memoria de lectura y escritura.
- Se encuentra alimentado con una pila.
- Puede almacenar el tipo y ubicación de los dispositivos conectados a la placa madre como el disco duro, puertos de entrada y salida, entre otros.
- Contiene un reloj en permanente funcionamiento que ofrece al sistema la fecha y la hora.
- Se trata de un chip que tiene muy poco consumo de energía para mantener los datos.
- Puede funcionar estando la computadora apagada.
- La información guardada y almacenada siempre está disponible.
- Guarda la configuración del sistema.
Chip Set Chip
- Se encarga de controlar las interrupciones dirigidas al microprocesador, el acceso directo a memoria (DMA) y al bus ISA.
- Da la posibilidad de ofrecer temporizadores.
- Es frecuente encontrar la CMOS-RAM y el reloj de tiempo real en el interior del Chip Set.
- Realiza diversas funciones de hardware como por ejemplo puede controlar el Bus, control de interfaz, entre otros
- Tiene como función de recoger información
- Puede enviar la información recibida a una parte específica y correspondiente para poder ejecutar la tarea solicitada.
- Se encarga de establecer una conexión de una forma correcta entre la placa madre y distintos elementos y componentes de la computaras.
- Envía las ordenes al procesador.
- Permite que la tarjeta madre sea el eje del sistema de la computadora.
- Otorga la comunicación constante entre diversos componentes, a través del uso de los buses.
- Mantiene una comunicación directa con el procesador.
- Administra la información que se recibe y la información que se envía a través del bus principal del procesador.
Puerto de Entrada al sistema
- Intercambia información con la memoria y el procesador central.
- Pueden tener puertos de mouse, teclado, vídeo en un formato digital, entre otros.
Puerto Salida del sistema
- Al igual que en la entrada, se encarga de intercambiar información con la memoria y el procesador central.
- Contiene un numero de registros en si mismo.
- Puertos de vídeos para el monitor.
- También pueden ser puertos para pantallas de cristal liquido.
Información General
A continuación se presenta un vídeo donde se explica de una manera visual los sistemas embebidos para facilitar y aumentar los conocimientos de este tema