Está en la página 1de 9

SISTEMAS EMBEBIDOS BASADOS EN MICROCONTROLADORES 1.

1 Introduccin Un sistema embebido es un sistema con microcontrolador diseado para realizar una o algunas pocas funciones dedicadas, frecuentemente en tiempo real. Los sistemas embebidos se utilizan para usos muy diferentes a los usos generales a los que se suelen someter a las computadoras personales. En un sistema embebido la mayora de los componentes se encuentran incluidos en la placa base. Por lo general los sistemas embebidos se pueden programar directamente en el lenguaje ensamblador del microcontrolador incorporado en el mismo o bien, utilizando algn compilador especfico, como C o C++. Las principales caractersticas de un sistema embebido son las siguientes: Emplean una combinacin de recursos de hardware y software para realizar una funcin especifica. o un conjunto muy limitado de funciones (no suelen ser de propsito general). Interaccionan con el entorno a travs de dispositivos de E/S no usuales, por lo que suele ser necesario un acondicionamiento de las diferentes seales. En general, un sistema embebido consiste en un sistema con microprocesador o microcontrolador cuyo hardware y software estn especficamente diseados y optimizados para resolver un problema concreto eficientemente. Normalmente un sistema embebido interacta continuamente con el entorno para vigilar o controlar algn proceso mediante una serie de sensores. Su hardware se disea normalmente a nivel de chips, o de interconexin de PCB, buscando la mnima circuitera y el menor tamao para una aplicacin particular. Otra alternativa consiste en el diseo a nivel de PCB consistente en el ensamblado de placas, cada una de ellas con una funcionalidad especfica dentro del objetivo global que tenga el sistema embebido. Esta ltima solucin acelera el tiempo de diseo pero no optimiza ni el tamao del sistema ni el nmero de componentes utilizados. En general, un sistema embebido simple contar con un microcontrolador, unos pocos perifricos de E/S y un programa dedicado a una aplicacin concreta almacenado permanentemente en la memoria. El trmino embebido o empotrado hace referencia al hecho de que el microcontrolador est encerrado o instalado dentro de un sistema mayor . Los microcontroladores en estos sistemas controlan electrodomsticos tales como: televisores, videos, lavadoras, alarmas, telfonos inalmbricos, etc. Incluso una PC tiene sistemas embebidos en el monitor, impresora, y perifricos en general, adicionales a la CPU de la propia PC. Un automvil puede llegar a tener un gran nmero de microprocesadores y microcontroladores que controlan operaciones 1

como la ignicin, transmisin, direccin asistida, frenos antibloqueo (ABS), control de la traccin, etc. Los sistemas embebidos se caracterizan normalmente por la necesidad de dispositivos de E/S especiales. Cuando se opta por disear el sistema embebido partiendo de una placa con microcontrolador tambin es necesario adquirir o disear placas de E/S adicionales para cumplir con los requisitos de la aplicacin concreta. Muchos sistemas embebidos son sistemas de tiempo real. Un sistema de tiempo real debe responder, dentro de un intervalo restringido de tiempo, a eventos externos mediante la ejecucin de la tarea asociada con cada evento. Puesto que los sistemas embebidos se suelen fabricar por decenas de miles o por millones de unidades, uno de los objetivos principales es reducir los costos. Es por ello que los sistemas embebidos suelen usar un procesador relativamente pequeo y una memoria tambin pequea. En la figura se presenta la arquitectura tpica de un sistema embebido

1.1.1 Diferencia entre microcontrolador y microprocesador Un microprocesador solamente consiste en la unidad central de procesos o CPU. La memoria, los puertos y todos los dems perifricos son exteriores. La programacin de un microprocesador es, por lo tanto, una tarea compleja porque deben controlarse todos estos dispositivos externos. Un microcontrolador integra la CPU y todos los perifricos en un mismo chip. El programador se desentiende de una gran cantidad de dispositivos y se concentra en el programa de trabajo. 1.1.2 Arquitecturas La arquitectura de sistema es el diseo conceptual y la estructura operacional fundamental de un sistema con microcontrolador. Es decir, es un modelo y una descripcin funcional de los requerimientos y las implementaciones de diseo con especial inters en la forma en que la unidad central de proceso trabaja internamente y accede a las direcciones de memoria. Actualmente existen dos tipos de arquitecturas que son las ms utilizadas: La arquitectura Von Neumann es una familia de arquitecturas de computadoras que utilizan el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos . Es decir, que se dispone de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta accediendo a ella a travs de un sistema de buses nico (direcciones, datos y control).

El trmino Arquitectura Harvard originalmente se refera a las arquitecturas de computadoras que utilizaban dispositivos de almacenamiento fsicamente separados para las instrucciones y para los datos. El trmino proviene de la computadora Harvard Mark I, que almacenaba las instrucciones en cintas

perforadas y los datos en interruptores. Las caractersticas de esta arquitectura se detallan a continuacin: La memoria de programa y la memoria de datos constituyen dos espacios de almacenamiento separados. El acceso a cada espacio de memoria es a travs de dos buses de direcciones distintos: uno que accede a los datos y otro a las instrucciones. Es la arquitectura propia de un buen nmero de microcontroladores (por ejemplo, AVR).

1.1.3Conjunto de instrucciones del CPU El CPU es el elemento ms importante del microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el cdigo de operacin de la instruccin en curso, su decodificacin y la ejecucin de la operacin que implica la instruccin, as como la bsqueda de los operandos y el almacenamiento del resultado. Existen dos principales orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales. CISC (Complex Instruction Set Computer): Un gran nmero de procesadores usados en los microcontroladores estn basados en la filosofa CISC. Los procesadores CISC tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos. Este tipo de arquitectura dificulta el paralelismo entre instrucciones, por lo que, en la actualidad, la mayora de los sistemas CISC de alto rendimiento implementan un sistema que convierte dichas instrucciones complejas en varias instrucciones simples del tipo RISC, llamadas generalmente microinstrucciones. 4

RISC (Reduced Instruction Set Computer): Tanto la industria de los computadores comerciales como la de los microcontroladores han decantado hacia la filosofa RISC. En estos procesadores el repertorio de instrucciones de mquina es muy reducido y las instrucciones son simples y generalmente, se ejecutan en un ciclo de instruccin. Las caractersticas fundamentales se muestran a continuacin: Las instrucciones son de tamaos fijos y son presentadas en un reducido nmero de formatos. Slo las instrucciones de carga y almacenamiento acceden a la memoria de datos.

1.2Microcontroladores Atmel AVR Los microcontroladores AVR son de tipo RISC. A fin de maximizar el desempeo y el paralelismo, el AVR usa una arquitectura Harvard, con memorias y buses separados para el programa y los datos. Las instrucciones que estn en la memoria de Programa se ejecutan con un solo nivel de transmisin por pipelining. Mientras que se ejecuta una instruccin, se extrae la siguiente instruccin de la memoria de Programa. Este concepto permite que las instrucciones se ejecuten en cada ciclo de reloj. La memoria de programa es la memoria flash reprogramable en el Sistema. El ncleo del AVR combina un amplio conjunto de instrucciones con 32 registros de trabajo de propsito general. Los 32 registros estn directamente conectados a la Unidad Aritmtico-Lgica (ALU), permitiendo que 2 registros independientes se accedan en una sola instruccin ejecutada en un ciclo de reloj. La arquitectura resultante es ms eficiente en lo que respecta a cdigo, en tanto que logra un rendimiento hasta 10 veces superior que los microcontroladores convencionales CISC. En una tpica operacin de la ALU, se toman 2 operandos del Archivo de Registros, se ejecuta la operacin, y el resultado se almacena nuevamente en el Archivo de Registros en un ciclo de reloj. La ALU soporta operaciones aritmticas y lgicas entre registros o entre una constante y un registro. Las operaciones de un solo registro tambin se pueden ejecutar en la ALU. En el AVR se utiliza AVR-GCC, una versin especfica de GCC (GNU C Compiler) para el microcontrolador AVR que posee importantes facilidades, en primer lugar es completamente gratuito y funciona para Mac, Linux y Windows. En segundo lugar es "real" C, aconsejable cuando se requiere trabajar con libreras estndar, 5

estructuras y punteros. Tambin significa que el cdigo es compatible con cualquier microcontrolador que utilice ANSI C. 1.2.1Microcontrolador ATMEL ATMega 168 El ATMega168 es un microcontrolador de baja potencia CMOS de 8 bits basado en el ncleo AVR. Mediante la ejecucin de instrucciones de gran alcance en un solo ciclo de reloj, el ATmega 168 logra tasas de transferencia se acerca un MIPS por MHz que permite al diseador del sistema optimizar el consumo de energa en comparacin con la velocidad de procesamiento.

A continuacin se mencionan las principales caractersticas del ATMega168: - 16K bytes de memoria tipo flash programable en-Sistema donde reside el programa de usuario. - 1K bytes de memoria SRAM de lectura y escritura. - 512 bytes de memoria EEPROM. - 32 registros de trabajo de propsitos generales (acumuladores). - 23 lneas de E/S de propsito general. - 3 TIMERS (temporizadores / contadores) con funciones de captura de flancos (especialmente tiles para leer frecuencia o perodo) y salidas de tipo PWM para utilizar en tareas de control. - interrupciones externas. - 1 sistema de comunicacin serie asincrnica USART programable, para interfasear con dispositivos via RS-232 o RS-485. - 1 sistema comunicacin serie sincrnica SPI, para interfasear con chips externos que amplen las posibilidades del sistema embebido. - 6 canales ADC de 10 bits. - 1 comparador analgico. - 1 watchdog programable con oscilador interno - 5 modos de ahorro de energa, seleccionables por software.

1.2.2Esquema de la arquitectura interna del ATMega168.

1.2.3Esquema interno de la CPU del ATMega 168

También podría gustarte