Sistemas Embebidos Basados en Microcontroladores

Sistemas Embebidos Basados en MicrocontroladoresDescripción completa

Views 163 Downloads 48 File size 332KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

SISTEMAS EMBEBIDOS BASADOS EN MICROCONTROLADORES 1.1 Introducción Un sistema embebido consiste en una electrónica programable especialmente diseñada para aplicaciones específicas, frecuentemente en tiempo real y con requerimientos de alta confiabilidad. El nombre de embebido o empotrado deriva del hecho que forma parte de un sistema más amplio como puede ser una máquina o proceso. Encontramos sistemas embebidos en productos tan diversos como electrodomésticos, todo tipo de dispositivos para comunicaciones y cómputo, automotores, etc. Los sistemas embebidos integran recursos de hardware y software. El hardware está constituído por : un núcleo que consiste en una o más CPUs (Central Processing Unit) en alguno de los siguientes formatos: Microprocesador, Microcontrolador, DSP de punto fijo o flotante y/o algún dispositivo "custom" como FPGA. la electrónica de acondicionamiento de señal que permite la interacción entre la CPU y el entorno. El software de programación puede ser el propio lenguaje ensamblador de la CPU o un lenguaje de alto nivel con un compilador apropiado. Hay disponibles diversos entornos de desarrollo para la edición, compilación, carga y depuración del software. La estrecha relación entre hardware y software ha posibilitado el diseño de dispositivos muy complejos atendiendo más al proceso de las señales sin tener que involucrarse en los circuitos electrónicos. De todas maneras un conocimiento más profundo en estos últimos conduce a obtener una mayor eficiencia. En la figura se presenta la arquitectura típica de un sistema embebido

1

La CPU constituída por algún tipo de microprocesador, microcontrolador, DSP, etc puede incluir memoria interna y/o externa. Las señales de reloj son provistas por un oscilador que debe reunir características de estabilidad en frecuencia y el menor consumo de corriente posible. Los osciladores con mejores prestaciones son los de cuarzo, no obstante en algunas aplicaciones se utilizan los de tipo RC. La utilización de dispositivos PLL permite obtener distintas frecuencias partiendo de un mismo oscilador conservando la estabilidad original. Los puertos de entradas y salidas digitales hacen posible la detección de señales de dos estados provenientes de llaves, sensores de posición, decodificadores, etc. y la interacción con actuadores como relés, válvulas, motores eléctricos en el modo PWM, etc. El módulo A/D C digitaliza, previo acondicionamiento, provenientes de sensores de magnitudes físicas.

las señales analógicas

El módulo D/A C convierte la información digital manejada por la CPU en señales analógicas para la operación de actuadores como válvulas proporcionales, convertidores de frecuencia, etc. Los puertos de comunicación permiten la conexión en red del sistema embebido con otros dispositivos similares y el monitoreo de su funcionamiento desde algún sistema HMI (Human Machine Interfacing). Los sistemas embebidos han evolucionado desde las primeras placas con CPUs de 8 bits lanzadas al mercado por los propios fabricantes de chips o por terceros hasta los últimos modelos con CPUs con núcleos ARM en 32 bits. En Argentina el proyecto CIAA (Computadora Industrial Abierta Argentina) a reunido a un conjunto de instituciones, universidades y empresas en un trabajo mancomunado para el diseño y la fabricación de una plataforma electrónica libre y gratuita basada en sistemas embebidos preparada especialmente para aplicaciones industriales.

2

1.1.1 Diferencia entre microprocesaodor y microcontrolador El chip de un microprocesador sólo cuenta con la CPU. Los demás periféricos como la memoria, el reloj, los puertos de entrada/salida, los módulos de comunicaciones, etc, son externos. Un microcontrolador contiene varios periféricos en su interior con los cual se logra un ahorro en el tamaño de las placas y una reducción de costos al integrar la CPU y los periféricos en el mismo sustrato. Al disponer de una ROM interna es más difícil acceder al programa residente aumentando la seguridad. 1.1.2 Arquitecturas de computadoras La arquitectura de computadora es una especificación detallada de cómo un conjunto de stándares tecnológicos de hardware y software interactúan para formar una plataforma de cómputo. Actualmente existen dos tipos de arquitecturas que son las más utilizadas: La arquitectura Von Neumann que utiliza el mismo dispositivo de almacenamiento tanto para las instrucciones como para los datos . El acceso a memoria se efectúa a través de un bus único (direcciones, datos y control). MEMORIA DE DATOS Y PROGRAMA

CPU

12, 14, 16 bits

La arquitectura Harvard se refiere a las computadoras que utilizan dispositivos de almacenamiento físicamente separados para las instrucciones y para los datos. Cada espacio de memoria se accede mediante un bus distinto. Un gran número de microcontroladores utiliza esta arquitectura (por ejemplo, AVR). MEMORIA DE DATOS

MEMORIA DE PROGRAMA

CPU

4, 8, 16 bits

12, 14, 16 bits

3

1.1.3Conjunto de instrucciones del CPU La CPU ejecuta cada instrucción en una secuencia que incluye: la búsqueda y obtención de la instrucción de la memoria, la decodificación, la ejecución de la operación implicada y el almacenamiento del resultado. La arquitectura del procesador determina las características del conjunto de instrucciones. Existen dos estrategias de diseño bien diferenciadas: CISC (Complex Instruction Set Computer): los procesadores CISC poseen un conjunto grande de instrucciones que permiten operaciones complejas . El énfasis está puesto en el hardware puesto que la ejecución es más rápida que si se utiliza software. Las características principales de los procesadores CISC son: -

Las instrucciones son de diferente longitud ocupando varios ciclos de reloj. Esto dificulta la aplicación del pipelining.

-

Las instrucciones operan directamente con datos de la memoria.

-

El tamaño del código es pequeño pero ocupa muchos ciclos de reloj.

-

Necesitan una gran inversión de hardware para ejecutar las instrucciones complejas.

RISC (Reduced Instruction Set Computer): en la arquitectura RISC los procesadores utilizan un pequeño conjunto de instrucciones altamente optimizado. Las características más sobresalientes de los procesadores RISC son: -

Tiempo de ejecución de un ciclo (one clock per instruction o CPI). Esto se debe a la optimización de cada instrucción de la CPU y al pipelining.

-

Pipelining: una técnica que permite que una instrucción pueda empezar a ejecutarse antes de que se haya terminado la anterior.

-

Incorporan un gran número de registros para evitar demasiadas interacciones con la memoria.

4

1.1.4Microcontrolador ATMEL ATMega 328 El ATMega328 es un microcontrolador RISC con tecnología CMOS de 8 bits basado en el núcleo AVR. Con una arquitectura Harvard, utiliza memorias y buses separados para el programa y los datos. Las instrucciones se ejecutan por pipelining logrando tasas de transferencia cercanas a 1 MIPS por MHz.

Principales características del ATMega328: - 32 Kbytes de memoria flash programable en-Sistema donde reside el programa de usuario. - 2 Kbytes de memoria SRAM de lectura y escritura. - 1 Kbyte de memoria EEPROM. - 32 registros de trabajo de propósitos generales (acumuladores). - 23 líneas de E/S de propósito general. - 3 TIMERS (temporizadores / contadores) con funciones de captura de flancos (especialmente útiles para leer frecuencia o período) y salidas de tipo PWM para utilizar en tareas de control. - interrupciones externas. - 1 módulo de comunicación serie asincrónica USART programable, para interfasear con dispositivos via RS-232 o RS-485. - 1 módulo de comunicación serie sincrónica SPI, para interfasear con chips externos que amplíen las posibilidades del sistema embebido. - 1 módulo de comunicación serie sincrónico I2C. - 6 canales ADC de 10 bits. - 1 comparador analógico. - 1 watchdog programable con oscilador interno - 5 modos de ahorro de energía, seleccionables por software. 5

1.1.5Esquema de la arquitectura interna del ATMega328.

6

1.1.6Esquema de la CPU del ATMega328

7