ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 – Sistemas Embebidos Act 4: Lección Evalutiva 1 LECTURA 1 Características de los sistemas embebebidos. Los sistemas embebidos son en su mayoría sistemas reactivos es decir que su funcionamiento depende de la continua interacción con un determinado ambiente el cual determina las posibles respuestas del sistema, para tal efecto se emplean determinados sensores o transductores que miden variables físicas y son convertidas en señales estándar que puedan ser entendidas por el sistema ante las cuales realizan algún tipo de respuesta empleando distintos tipos de actuadores dependiendo de la aplicación. Entre las diferentes características que pueden poseer tenemos: Confiabilidad: Una de las principales características que deben cumplir los sistemas embebidos es la confiabilidad, la implementación de un sistema confiable debe ser considerada desde un comienzo, no puede dejarse en segundo plano, dependiendo de la aplicación este aspecto puede llegar a ser primordial, por ejemplo en aplicaciones aero-espaciales o médicas es imperante la necesidad de evitar el porcentaje de fallas al máximo. La confiabilidad de un sistema embebido se mide analizando los siguientes aspectos: Confiabilidad en el tiempo (Reliability): mide la probabilidad de que el sistema trabaje correctamente en un instante dado que funciona en el instante t = 0. Mantenibilidad, (Maintainability): probabilidad que el sistema vuelva a trabajar correctamente d unidades de tiempo después de una falla. Disponibilidad (Availability): probabilidad que el sistema esté funcionando en el tiempo t, para que esto se dé la confiabilidad y mantenibilidad deben ser altas. Seguridad personal: es la propiedad en la que dado el caso de una falla, el sistema no causará daño. Seguridad informática: (encriptación). comunicación efectiva, 1 confidencial y autenticada ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 – Sistemas Embebidos Act 4: Lección Evalutiva 1 Eficiencia: Otra característica que deben cumplir los sistemas embebidos es la eficiencia en diferentes aspectos como en el manejo de la energía suministrada, tamaño reducido del dispositivo, tamaño reducido del código que gobierna el sistema, minimización del peso, y sobre todo reducir los costos para su producción masiva. Tiempo Real: El término tiempo real se refiere a la reacción “inmediata” del sistema ante estímulos externos predefinidos ya sea que provengan del objeto de control o mediante interfaces de usuario. Donde se entiende por inmediato a un lapso de tiempo lo suficientemente corto como para que se dé el correcto funcionamiento del sistema, una reacción correcta pero tardía no es aceptable. Existen las llamadas restricciones de tiempo real “duras” (Hard restriction) en las que su incumplimiento puede resultar en catástrofe. Otro tipo de restricción de tiempo se puede considerar como blanda (Soft restriction). Interfaces de usuario: La mayoría de los sistemas embebidos poseen alguna manera de interactuar con el usuario como pantallas gráficas, botones, teclados alfanuméricos, sensores, etc. LECTURA 2 Entradas: Sensores, muestreadores y conversores A/D. Los dispositivos de entrada de los sistemas embebidos juegan un papel primordial para agregar la funcionalidad requerida ya que gracias a estos el dispositivo de procesamiento puede entrar a interactuar con el mundo exterior mediante la obtención de las diferentes señales y datos empleados para su procesamiento y posterior respuesta o señal de salida. 1. Sensores: Son dispositivos que al interactuar con alguna variable física normalmente generan una señal análoga continua proporcional a la magnitud de la variable medida, aunque existen también sensores que entregan información digital. Los sensores pueden ser diseñados para medir virtualmente cualquier variable física, 2 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 – Sistemas Embebidos Act 4: Lección Evalutiva 1 peso, aceleración, corriente eléctrica, diferencias de potencial, temperatura presión, proximidad, movimiento, sensores para medir variables en sustancias químicas, entre muchos otros. El diseño y desarrollo de sensores de diversos tipos en las últimas décadas a posibilitado en gran medida el desarrollo de sistemas inteligentes en muchos infinidad campos. 2. Muestreadores: El termino computador digital implica que éste trabaja en el dominio de tiempo discreto, esto quiere decir que solo puede procesar información discreta en instantes de tiempo definidos, por lo tanto para que un procesador pueda manipular señales provenientes de un sensor que entrega información continuamente (señales análogas) primero debe convertirse estas señales en el domino del tiempo continuo al dominio de tiempo discreto, éste es el propósito de los muestreadores, en la fig. 1 se presenta un ejemplo típico de un circuito para este propósito y la correspondiente señal muestreada. Figura 1. Circuito de muestreo. Como se aprecia en la figura el circuito consta esencialmente de un transistor en cuya base es aplicada una determinada señal de reloj y un condensador. El transistor básicamente actúa como un interruptor que permite que el condensador se cargue con el valor del voltaje de entrada Ve (señal análoga) en instantes definidos por la señal de reloj, el voltaje en el condensador permanecerá virtualmente sin cambio hasta que el interruptor sea serrado de nuevo. Los valores almacenados en el condensador se pueden considerar como un elemento discreto de valores Vx generados a partir de la señal de entrada Ve. Para que esto sea posible se debe asegurar que el circuito tenga la característica de poder cambiar el valor de la carga del condensador casi de manera 3 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 – Sistemas Embebidos Act 4: Lección Evalutiva 1 instantánea, en la práctica lo que ocurre es que el transistor demora un tiempo suficiente para que el condensador se cargue o descargue y la carga en el condensador corresponderá al voltaje promedio de entrada durante este periodo. 3. Conversores A/D: Siguiendo con el esquema de trabajo digital se tiene que una vez se han tomado muestras de la señal de entrada en tiempos discretos, estas señales pueden tomar infinidad de valores en un determinado rango, es decir siguen siendo señales análogas, el paso a seguir es convertir los valores análogos de entrada a valores discretos, esta tarea es realizada por los conversores A/D (Análogo a Digital). La conversión a digital se realiza en dos fases: cuantización y codificación. Durante la primera se toma la señal muestreada y a cada uno de los diferentes niveles o variaciones de voltajes que contiene la señal analógica original se asigna un valor o nivel de voltaje discreto que depende de la resolución (porción más pequeña de señal que produce un cambio apreciable en la salida) del conversor, en este punto la señal pasa a tomar valores discretos en un rango definido de valores, aproximados a los de la señal original, el valor cuantificado se codifica en binario en una palabra digital, cuyo número de bits depende de las líneas de salida del conversor A/D. Existen diferentes métodos de conversión A/D que varían dependiendo de la velocidad y la resolución requerida a continuación se expondrá dos esquemas de conversión representativos para comprender los mecanismos de conversión. Una conversión A/D directa es realizada empleando un conversor A/D FLASH (FLASH A/D Converter), éste está conformado por un arreglo de comparadores, cada uno de los cuales tienen dos entradas (+ y -). Si el voltaje en la entrada positiva excede el voltaje de referencia en la entrada negativa, la salida de dicho comparador corresponderá con un valor lógico ‘1’ en caso contrario o cualquier otro caso el valor a la salida del comparador será ‘0’ Ver fig. 2. Figura 2. Esquema del Conversor A/D FLASH. 4 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 – Sistemas Embebidos Act 4: Lección Evalutiva 1 Se observa de la figura que el valor de referencia de cada una de las entradas (-) de los comparadores corresponde a un divisor de voltaje a partir de un valor de referencia estándar, éste enmarca el rango de los posibles valores de entrada que el conversor puede codificar. El codificador genera valores digitales correspondientes a la entrada Vx identificando la salida ‘1’ más significativa, siendo el caso en que Vx > Vref, el máximo valor de salida posible independiente de que tanto excede Vx a Vref en magnitud. En el caso de que Vx es menor que Vref pero mayor que Vref, entonces el comparador mas significativo (el de mas arriba) genera un ‘0’ a la salida y el siguiente si generará un ‘1’ entonces el codificador entregará el valor digital para el segundo valor mas largo del conversor y así sucesivamente. LECTURA 3 Arquitecturas más Comunes. La arquitectura de un sistema embebido es una abstracción del dispositivo, esto significa que se trata de una generalización del sistema que normalmente no detalla información de implementación ni códigos fuente o diseños de hardware, a nivel de arquitectura los componentes software y hardware son representados por elementos ya sea internos o externos al sistema embebido que describen comportamientos propiedades e interacciones que se pueden dar entre los diferentes elementos. Dentro del término arquitectura se engloban aspectos como 5 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 – Sistemas Embebidos Act 4: Lección Evalutiva 1 formato de instrucción, modos de direccionamiento, conjunto de instrucciones, entre otros. La información a nivel de arquitectura es representada como estructuras, una estructura es una representación que contiene un conjunto de información de diversos elementos, propiedades e interacciones, podría decirse que se trata de una especie de imagen que enmarca el hardware y el software durante el diseño y/o puesta en marcha, dadas unas condiciones y un grupo de elementos. Puesto que es complicado recoger en una sola imagen toda la complejidad de un sistema, la arquitectura de un sistema embebido normalmente está conformada por más de una estructura que inherentemente se encuentran relacionadas unas con otras. Todo sistema embebido cuenta con los siguientes componentes: ·Una Unidad Central de Procesamiento (CPU) encargada de procesar la información. ·Memoria para el almacenamiento de Instrucciones y Datos que serán procesados por la CPU. ·Medios de comunicación entre la CPU y la memoria (Buses de Direcciones, Datos y Control). ·Medios de comunicación entre la CPU y el mundo exterior (Buses de Direcciones, Datos y Control). La forma en que estos elementos están conectados vienen definidos por las denominadas arquitecturas Von Neumann y Harvard. 1. Arquitectura Von Neumann. La arquitectura Von Neumann debe a su nombre al conocido matemático John Von Neumann, que propuso el concepto de programa almacenado. La idea principal de esta arquitectura es el empleo del mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos. Los sistemas con la arquitectura Von Neumann constan de cinco partes: La unidad aritméticológica o ALU, la unidad de control, la memoria, dispositivo de entrada/salida y el bus de datos que proporciona un medio de transporte de los datos entre las distintas partes. Un dispositivo con arquitectura Von Neumann realiza o emula los siguientes pasos secuencialmente: 6 ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA 208006 – Sistemas Embebidos Act 4: Lección Evalutiva 1 ·Al encender el sistema se llama la instrucción desde la memoria en la dirección indicada por el contador de programa y la guarda en el registro de instrucción. ·Se aumenta el contador de programa dependiendo de la longitud de la instrucción para apuntar a la siguiente. ·Se decodifica la instrucción mediante la unidad de control. Ésta se encarga de coordinar el resto de componentes del ordenador para realizar una función determinada. ·Se ejecuta la instrucción. Ésta puede cambiar el valor del contador del programa, permitiendo así operaciones repetitivas. El contador puede cambiar también cuando se cumpla cierta condición aritmética, haciendo que el ordenador pueda 'tomar decisiones', que pueden alcanzar cualquier grado de complejidad, mediante la aritmética y lógica anteriores. Luego, vuelve a ejecutarse el primer paso. Hoy en día, la mayoría de ordenadores están basados en esta arquitectura, aunque pueden incluir otros dispositivos adicionales, (por ejemplo, para gestionar las interrupciones de dispositivos externos como ratón, teclado, etc). 2. Arquitectura Harvard. A diferencia de la arquitectura Von Neuman, la Harvard se caracteriza por la existencia de dispositivos de almacenamiento diferentes para programas y para datos, el término proviene de la computadora Harvard Mark I, que almacenaba las instrucciones en cintas perforadas y los datos en interruptores.La idea es la existencia de dos buses de datos distintos,uno que controla el acceso a la memoria donde se almacenan las instrucciones que son ejecutadas por la unidad de procesamiento y el otro que sirve para acceder a los datos u operandos de dichas instrucciones. Una ventaja de esta arquitectura sobre la Von Neumann radica en el empleo de memorias de acceso de alta velocidad (SRAM) utilizadas como caché tanto para datos como para instrucciones para mejorar le eficiencia del acceso a estos por parte del procesador. Por otro lado, tiene el inconveniente de tener que dividir la cantidad de caché entre los dos, por lo que funciona mejor sólo cuando la frecuencia de lectura de instrucciones y de datos es aproximadamente la misma. Esta arquitectura suele utilizarse en DSPs. 7