Sistemas informáticos industriales 2015 Sistemas Empotrados SISTEMAS EMBEBIDOS ó EMPOTRADOS Son una combinación de hardware de computadora, software y elementos adicionales, diseñados para una función específica. Son sistemas informáticos de uso específico construido dentro de un sistema mayor. En la mayoria de ellos, éstos reciben señales externas de un sistema mayor, procesan esa información, y envian comandos como respuesta a esas señales o variables leídas del mundo externo. Ejemplos de estos sistemas son las minicomputadoras que se insertan en electrodomesticos, automoviles, sistemas para instrumental de ingeniería, equipamiento médico, etc. Las diferencias principales son el precio y el consumo. SISTEMAS EMBEBIDOS ó EMPOTRADOS El costo es bajo porque solo estan constituidos por el CPU y una memoria RAM. En algunos dispositivos mas avanzados, incluyen otros componentes que los hacen un poco mas versatiles. Los elementos que forman parte de un sist. Embebido son: Microprocesadores, Microcontroladores, DSPs (Digital Signal Process), PLCs (Programmable Logic Controller), etc. Es decir, un CPU mas una memoria interna o externa. Las comunicaciones entre el sistema y los dispositivos externos (actuadores), son de extrema importancia en el diseño. En la actualidad, esta puede ser del tipo cableado (mediante conductores) o inalambrica. Las comunicaciones se realizan a traves de los llamados “puertos” del microprocesador, microcontrolador, etc., entre los cuales los puertos RS 232, RS 485, USB, los mas usados y difundidos. Les llamamos “actuadores” a los elementos mediante los cuales el microprocesador (por ejemplo) modifica el estado de un dispositivo externo: motor, relé, llave de apertura o cierre, etc. actuador motor SISTEMA EMBEBIDO actuador relé actuador llave MICROPROCESADORES Son sistemas empotrados compuestos de un CPU, memorias RAM y puertos de entrada/salida. Mediante esos puertos, el μP recibe mediciones en formato digital de variables del sistema que controla, y envia comandos para corregir esas variables si fuese necesario. La ventaja de estos sistemas es como se dijo, su bajo costo y alta versatilidad, pudiéndolos adaptar a una gran variedad de aplicaciones. Son pequeñas computadoras que tienen un programa en la memoria RAM, que decide las acciones a llevar a cabo. Los programas son escritos en lenguaje ensamblador el cual es una forma de programar “en bajo nivel”, significando esto que las instrucciones son aproximadas al lenguaje que el μP entiende. Este conjunto de instrucciones se denomina “set de instrucciones” y no es igual para cada μP. La programación es bastante mas complicada que en los lenguajes de “alto nivel”, como el Pascal, C, etc., pero es mucho mas segura ya que existen menos interfaces entre el programa y el hardware del CPU. En general, no disponen de otros “chips” o circuitos para conversión analógica/digital de señales, ni sistemas de comunicaciones hacia los actuadores con los cuales se comunica. Mayormente disponen de un teclado elemental y un display para escribir programas, leerlos, ver datos, etc., el cual esta incluido en una plaqueta de circuito impreso. MICROCONTROLADORES Están constituidos de manera idéntica a los μP, con la diferencia que incorporan otros circuitos que llevan a cabo las conversiones de D/A y A/D. También pueden incorporar temporizadores, y sistemas de comunicaciones para los dispositivos externos. Como en el caso de los microprocesadores, pueden traer un teclado y un display muy elementales. En otros casos, disponen de puertos de comunicaciones para conectarlos a una computadora personal y desde allí realizar las tareas de escritura, lectura, etc. PLCs Son dispositivos muy similares a los microcontroladores. Disponen de entradas y salidas analógicas y digitales, y de teclados y display para su manejo. La mayoría incluye una caja de presentación, indicaciones para el manejo del mismo, de tal manera que están listos para ser conectados y utilizados. En los últimos tiempos su uso ha ido en aumento debido a la facilidad de programación y su uso en forma directa, a pesar de ser un poco mas caros que los microprocesadores y microcontroladores. RESUMIENDO: Un sistema empotrado o embebido consiste en un sistema con CPU y hardware y software dedicados a resolver problemas específicos. Normalmente interactúan con el entorno para controlar algun proceso mediante el uso de sensores y actuadores. Como se dijo, los S.E. estan insertados en otros sistemas de mayor embergadura, como por ejemplo electrodomesticos, Computadoras Personales, automoviles, sistemas industriales, domótica, etc. EJEMPLO DE SISTEMAS EMBEBIDOS: EL MICROPROCESADOR MC 6800 Fue uno de los primeros μP en divulgarse masivamente. Es muy simple de programar. Se usa todavía en aplicaciones elementales. Tiene limitaciones por su simplicidad. Es un μP de 8 bits y 64 kB de memoria RAM. Tiene dos registros de trabajo. 16 bits o conductores 0004 0003 0002 0001 0000 Memoria RAM Memoria ROM periféricos Bus de direcciones Lógica Aritmética 8 bits o conductores (ALU) Bus de datos DIAGRAMA SIMPLIFICADO DEL MC 6800 a los puertos Unidad MEMORIAS RAM y ROM Las memorias RAM son chips en las cuales se pueden guardar 1 byte (8 bits) por cada dirección. La cantidad de direcciones depende de cada memoria. Cada una de ellas tiene asociado un numero para identificarlas. En cada una de ellas podemos escribir un numero que representa una cantidad ó una letra. Las letras se representan en consecuencia con números, correspondiéndole un solo número a cada una. Las equivalencias están establecidas en la tabla de valores ascii, aunque hay otras. El valor o letra que se quiera escribir, se envía por el bus de datos, mientras que el lugar donde se va a escribir, se ubica en el bus de direcciones. Por ejemplo, si deseo escribir en la dirección 1000 la letra ‘a’ a la que le corresponde en nro. 65 en la tabla de valores ascii. El μp enviara por el bus de direcciones el valor 1000 y por el bus de datos el valor 65, siempre en codigo binario. Del bus de direcciones 1000 Del bus de datos 0 10 0 0 0 0 1 De esa manera se escriben los programas en las memorias de todos las microcomputadoras (microprocesadores, microcontroladores, PLC, etc). La ALU va leyendo la memoria y decodificando cada numero, para interpretar que significa y realizar las acciones que cada uno representa. El proceso de escritura de un programa en este tipo de dispositivos, es hecho por el programador, lo cual nos da una idea de la complejidad y posibilidad de errores en la misma. Cada microprocesador u otro dispositivo, tienen, como ya se dijo, un conjunto de instrucciones con el que se puede realizar cualquier operación y acciones sobre dispositivos externos a través de los puertos. Sistemas informáticos industriales 2015 Sistemas Microprocesados y Microcontrolados Sistemas Microprocesador y Microcontrolados El microprocesador, o simplemente procesador, es el circuito integrado central más complejo de una computadora u ordenador; a modo de ilustración, se le suele asociar por analogía como el "cerebro" de una computadora. El procesador es un circuito integrado constituido por millones de componentes electrónicos integrados. Constituye la Unidad Central de Procesamiento (CPU) de un PC catalogado como microcomputador. Desde el punto de vista lógico, el microprocesador está compuesto básicamente por: varios registros, una unidad de control, una unidad aritmética lógica (ALU), y dependiendo del procesador, puede contener una unidad de coma flotante (también conocida como coprocesador matemático o FPU), que permite operaciones por hardware con números decimales, elevando por ende notablemente la eficiencia. Desde el punto de vista funcional es, básicamente, el encargado de realizar toda operación aritmético-lógica, de control y de comunicación con el resto de los componentes integrados que conforman un PC, siguiendo el modelo. También es el principal encargado de ejecutar los programas, sean de usuario o de sistema; sólo ejecuta instrucciones programadas a muy bajo nivel, realizando operaciones elementales, básicamente, las aritméticas y lógicas, tales como sumar, restar, multiplicar, dividir, las lógicas binario y accesos a memoria. Buses del procesador En los sistemas procesados el procesador, la memoria de datos y de instrucciones y los dispositivos de entrada salida están conectados a través de un circuito impreso que recibe el nombre de Placa Madre. Todos los procesadores poseen un bus principal o de sistema por el cual se envían y reciben todos los datos e instrucciones. Por este bus también se envían las direcciones desde los integrados del chipset o desde el resto de dispositivos. La velocidad se mide en bits por segundo. Generalmente la forma más antigua es el bus paralelo en el cual se definen líneas especializadas en datos, direcciones y para control. Bus de Direcciones (32 bit) Procesador Bus de Datos (32 bit) CPU Zona de Entrada – Salida Líneas de Control Memoria Principal Puertos Paralelos (LPTI) Puertos Series (COM) Monitor, Controlador de Teclado, …etc. Esquema básico de una arquitectura Von Neumann El Bus de Direcciones El Bus de Direcciones (Address Bus) es un conjunto de líneas (cada línea envía un bit de la palabra de dirección) y es la via por la cual el procesador selecciona mediante una dirección única un determinado registro de cualquier dispositivo de memoria o de entrada/salida que este alojado en su mapa de direcciones. La cantidad de líneas del Bus de Direcciones definen el espacio de trabajo (Zona de memoria y Zona de entrada/Salida) del sistema microprocesador. El Bus de datos El Bus de datos es un conjunto delineas que definen la capacidad y resolución del dato a ser transmitido (8 bit = Byte, 16 bit = Palabra, 32 Bit = Palabra doble, 64 bit. Tec.). El Bus de Control El bus de Control posee líneas que posibilitan el manejo, el control de acceso, la sincronización y el tipo de operación que se realiza entre el microprocesador, la memoria y los demás dispositivos periféricos (READ, WRITE, CLOCK, M/IO, ADEN, READY, RESET, INTERRUPCIONES INTR Y NMI, ETC.) Aquel dispositivo de memoria o de entrada/salida que es seleccionado se conecta al Bus de Datos (Data Bus) ya sea para recibir o enviar información. Los demás dispositivos permanecen con sus conexiones al Bus de Datos en alta impedancia para evitar coaliciones de información que se transmiten por el. La arquitectura de von Neumann La arquitectura de von Neumann es una familia de arquitectura de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos (a diferencia de la arquitectura Harvard). La mayoría de computadoras modernas están basadas en esta arquitectura, aunque pueden incluir otros dispositivos adicionales. El conexionado entre la CPU, la memoria de datos y de instrucciones a través de un solo Bus, lleva al embotellamiento de Von Neumann, al rendimiento de procesamiento está limitado (tarifa de transferencia de datos) entre la CPU y a la memoria comparada a la cantidad de memoria. En la mayoría de las computadoras modernas, el rendimiento de procesamiento es mucho más pequeño que la tarifa en la cual la CPU puede trabajar. Esto limita seriamente la velocidad del proceso eficaz cuando la CPU se requiere para realizar el proceso mínimo en grandes cantidades de datos. Microcontrolador o sistema embebido Un microcontrolador es un circuito integrado que incluye en su interior las tres unidades funcionales de una computadora: Unidad Central de Procesamiento CPU, memoria y perifericos de entrada y salida. Un microcontrolador difiere de una CPU normal, debido a que es más fácil convertirla en una computadora en funcionamiento, con un mínimo de chips externos de apoyo. El dispositivo es programado a través de sus pines en el modo programación. Estos mismos pines tienen una función diferente cuando el Microcontrolador está en operación. Esquema básico de un Microcontrolador Un microcontrolador típico tiene un generador de reloj integrado y una pequeña cantidad de memoria RAM y/o ROM/EEPROM/FLASH, significando que para hacerlo funcionar, todo lo que se necesita es un pequeño programa de control y un cristal de sincronización. Los microcontroladores disponen generalmente también de una gran variedad de dispositivos de entrada - salida, como: Convertidores analógico a digital. Temporizadores. Unidades de transmision serie UART y buses de interfaz serie especializados, como I2C y CAN. Frecuentemente, estos dispositivos integrados pueden ser controlados por instrucciones de procesadores especializados. Los modernos microcontroladores frecuentemente incluyen un lenguaje de programación como el C que se utiliza bastante con este propósito. Arquitecturas de los Microcontroladores Básicamente existen dos arquitecturas de computadoras, que están presentes en el mundo de los microcontroladores: Von Neumann y Harvard. Ambas se diferencian en la forma de conexión de la memoria al procesador y en los buses que cada una necesita. La arquitectura Von Neumann es la que se utiliza en las computadoras personales y algunos microcontroladores, para ella existe una sola memoria, donde coexisten las instrucciones de programa y los datos, accedidos con un bus de dirección, uno de datos y uno de control (Microcontroladores MOTOROLA). La otra variante es la arquitectura Harvard, y utilizada en microcontroladores, y sistemas integrados en general. En este caso, además de la memoria, el procesador tiene los buses separados, de modo que cada tipo de memoria tiene un bus de datos, uno de direcciones y uno de control (Microcontroladores MICROCHIP, ATMEL). La ventaja fundamental de esta arquitectura es que permite adecuar el tamaño de los buses a las características de cada tipo de memoria; además, el procesador puede acceder a cada una de ellas de forma simultánea, lo que se traduce en un aumento significativo de la velocidad de procesamiento. Genralmente los sistemas con esta arquitectura pueden ser varias veces más rápidos que sistemas similares con arquitectura Von Neumann. Clasificación de las Memorias Clasificación por el tipo de acceso: Memorias de Acceso Aleatorio (RAM): También denominadas memorias de acceso al azar. En estas memorias el tiempo que tarda en acceder a la información (tiempo de acceso) es independiente de la ubicación de la celda seleccionada. Memorias de Acceso Secuencial: el tiempo que tarda en obtenerse un dato depende de la ubicación del registro de datos (dirección) en el dispositivo. Ejemplo: Cinta magnética, Registro de desplazamiento, Cola, Pila, etc. Memorias de Acceso Asociativo: La ubicación de la información se realiza por comparación de un campo o conjunto de campos de un registro y el tiempo de acceso depende de ello. Ejemplo: Memoria Caché, Base de Datos, etc. Clasificación por el uso: Memoria de Lectura y Escritura (RWM): Son memorias cuyo dato o contenido es alterable, están generalmente constituidas por celdas de memoria o flip flops. Normalmente son empleadas para almacenar variables y constituyen la memoria principal de un sistema microprocesado. La denominacion correctas es RWM (por las siglas de Read Write Memory) RAM. Memorias de Solo Lectura (ROM): llamadas habitualmente ROM (Read Only Memories). Son dispositivos cuyo contenido se programa en fábrica mediante un sistema de mascara, para luego acceder a la información en un proceso de solo lectura. Memorias programables por el usuario: se denominan PROM (Pogrammable ROM). Pueden ser programados solo una vez y por ello también reciben el nombre de OTPROM (One Time PROM o ROM de una sola programación). Memoria de Lectura Mayoritaria (RMM) (Read Mostly Memory) : Son dispositivos que se utilizan normalmente para leer la información contenida, pero pueden ser programadas. y entre ellas podemos encontrar las EPROM, EEPROM, FLASH. Clasificación Según la Provisión de Energía. Memorias Estáticas (SRAM): Son aquellas memorias en las que la energía de alimentación se provee en forma permanente. SRAM (Static RAM) . Memorias Dinámicas (DRAM): La provisión de energía se realiza en forma discontinua. Los pulsos de energia reposición de los datos lleva el nombre de refresco. (Dinamic RAM). Clasificación por la persistencia de la Información ante la falta de Energía Memorias volátiles: La información se pierde al eliminarse la alimentación. Ejemplos: memorias RWM - RAM de una PC. Memorias Perennes: La información no se pierde al privarle la alimentación. Por ejemplo un disquete ROM, EPROM, EEPROM, FLASH, Discos Magnéticos (disco duro y disquete), discos ópticos (CD), cintas magnéticas, etc. Semiconductoras: dispositivos donde el mecanismo de almacenamiento se basa en un semiconductor. Memorias PMOS, NMOS, CMOS, FLASH. Magnéticas: El almacenamiento se logra mediante la orientación de los espines magnéticos en la superficie de un material generalmente paramagnético. Ejemplo Disco rígido, disquete, cinta magnética (tape). Opticas: Son dispositivos que son programados usando un haz luminoso de adecuada potencia (láser). La información reside en una superficie originalmente reflectora (todos 0"), donde se indujeron o programaron zonas no reflectoras (1"). Los datos almacenados son leídos con la misma técnica. Ejemplo son los CD (R/RW) y los DVD. Opto - Magnéticas: Combinan ambas técnicas una para el posicionamiento (direccionamiento) y la otra para la lectura/escritura de los datos. Generalmente son cartuchos de cintas poseen una doble banda, una banda óptica reflectora donde están rotuladas la ubicación de los cluster , track y registros, mientras que la otra banda, es la contienen los datos y es sensible a la magnetización usando un cabezal. Ejemplos comerciales: cintas o "Tape cartridges Jazz" (1 Gigabyte) y "Zip" (100 MB). Estructura de las Memorias Las memorias pueden ser consideradas como un conjunto de localizaciones llamados registros los cuales están constituidos por celdas de almacenamiento. Fig. 1 Bus de Direcciones (Address Bus):Un conjunto de N líneas (A0…AK-1) que ingresan a la memoria proveen la dirección o localización del registro. N Líneas de Direcciones seleccionan 2N registros: Ejemplo 10 líneas → 210=1024 registros Los registros generalmente poseen un conjunto de celdas de un bit de información Ejemplo (8, 16, 32, 64 bits). La información es accedida a través del Bus de Datos Memorias EPROM. Luz UV Puerta (Metal) Fuente Drenador Drenador Polisilicio Metal Polisilicio N++ Puerta (Metal) N++ Sustrato P (Si) Canal Fuente Programación mecanismo de tunelización llamada Fowler- Nordheim Tunneling. El borrado se realiza removiendo las cargas de la compuerta flotante de la celda, al hacer incidir luz ultravioleta. Los electrones acumulados originan un campo (Ep) sobre el canal. EG=Campo Eléctrico originado por VG Ventana de cristal de cuarzo EP=Campo Eléctrico originado por iones Canal tipo N (inducido) +VDD GND Corriente por el canal Luz UV Memorias EEPROM (Eléctricamente Borrable y Programable ROM) La memoria EEPROM es un dispositivo (MOS) Programable y Borrable Eléctricamente. La programación: se realiza por el mecanismo de tunelización llamada Fowler- Nordheim Tunneling ). Tensiones de programación= 15 V El borrado: se realiza removiendo cargas de la compuerta flotante de la celda, usando una técnica de recombinación de cargas llamado "inyección de electrones de alta energía“ (hot electron injection - CHEI). El tiempo de programación / borrado: de las celdas es de 5 milisegundos promedio, esto hace a estos dispositivos sean de lectura mayoritariamente – RMM. Puerta (Metal) Fuente +5 V GND +5 V Drenador Polisilicio Metal Polisilicio N++ N++ Sustrato P (Si) Canal inducido Memorias Flash La memoria Flash fue desarrollada en el año 1988, esta es una memoria programable no volátil no tiene partes móviles y puede ser borrada, leída, y programada en un sistema sin ser extraída de la placa madre (On Board). Drenador Generalidades Las memorias Flash ofrecen, bajo costo por GByte, además, características como gran resistencia a los golpes, bajo consumo y es muy silencioso, ya que no contiene ni actuadores mecánicos ni partes móviles. Su pequeño tamaño también es un factor determinante a la hora de escoger para un dispositivo portátil, así como su ligereza y versatilidad para todos los usos hacia los que está orientado. Sin embargo, todos los tipos de memoria flash sólo permiten un número limitado de escrituras y borrados, generalmente entre 10.000 y un millón, dependiendo de la celda, de la precisión del proceso de fabricación y del voltaje necesario para su borrado.