miércoles, 4 de diciembre de 2013

Unidad 5 "Arquitecturas Embebidas y Microcontroladores"

Arquitecturas Embebidas y Microcontroladores


Un sistema embebido (anglicismo "embedded") o empotrado es un sistema de computación diseñado para realizar una o algunas pocas funciones dedicadas1 2 frecuentemente en un sistema de computación en tiempo real. Al contrario de lo que ocurre con los ordenadores de propósito general (como por ejemplo una computadora personal o PC) que están diseñados para cubrir un amplio rango de necesidades, los sistemas embebidos se diseñan para cubrir necesidades específicas. En un sistema embebido la mayoría de los componentes se encuentran incluidos en la placa base (la tarjeta de vídeo, audio, módem, etc.). 
Un microcontrolador (abreviado μC, UC o MCU) es un circuito integrado programable, capaz de ejecutar las órdenes grabadas en su memoria.
Está compuesto de varios bloques funcionales, los cuales cumplen una tarea específica. Un microcontrolador incluye en su interior las tres principales unidades funcionales de una computadora:
Algunos microcontroladores pueden utilizar palabras de cuatro bits y funcionan a velocidad de reloj con frecuencias tan bajas como 4 kHz, con un consumo de baja potencia (mW o microvatios). Por lo general, tendrá la capacidad para mantener la funcionalidad a la espera de un evento como pulsar un botón o de otra interrupción.
Los microcontroladores son diseñados para reducir el costo económico y el consumo de energía de un sistema en particular.

Firmware 

§   Rutinas de software almacenadas en memoria ROM.
§   Software que se encuentra embebido en un dispositivo de hardware.
§   Es una combinación de software y hardware.
Tipos de Microcontroladores
§   Los microcontroladores se pueden clasificar en:
§   Microcontroladores embebidos de 8 bits.
§   Microcontroladores de 16-32 bits
§   Procesadores de señales digitales (DSP)

Microcontroladores de 8 bits
§   Todos los recursos necesarios están incluidos en el chip.
§   Solo necesitan alimentación y reloj.
§   Proporcionan control e interfaz con dispositivos externos de manera económica y programable.

Microcontroladores de 8 bits
Disponen de:
§   Reset
§   Reloj
§   Procesador
§   Memoria ROM para el programa e interfaz de programación
§   Memoria RAM para variables.
§   I/O Pins.
Adicionalmente pueden incluir:
§   Capacidad de debugging
§   Interrupciones
§   I/O analógica
§   Comunicación serial y/o paralela
§   Interfaz con memoria
Microcontroladores de 8 bits
§   Muy poca RAM (decenas de KB).
§   Muy poca velocidad de reloj (decenas de MHZ).
§   Muy utilizados en aplicaciones de control.
§   Bajo costo.
§   Bajo consumo energético (algunos μA).

Procesador de señales digital
§   Es una categoría relativamente nueva de microprocesadores.
§   El objetivo de los DSP es tomar una señal analógica y calcular una respuesta apropiada.
§   Ejecutan a gran velocidad para permitir el control en tiempo real.

Fabricantes
 Intel
§   8048
§   8051 (Intel y Otros)
§   80186, 80186 y 80386 EX.
 Microchip
§   PIC
Motorola
§   68HC11 (Motorola y Toshiba)
§   683xx
Atmel
§   AVR 

Lenguaje Ensamblador


El lenguaje ensamblador, o assembler (assembly language en inglés), es un lenguaje de programación de bajo nivel paralos computadores, microprocesadores, microcontroladores y otros circuitos integrados programables.
 Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador.
Ventajas
1.     .- Como trabaja directamente con el microprocesador al ejecutar un 
programa, pues como este lenguaje es el más cercano a la máquina la computadora lo procesa más rápido.
2.     Eficiencia de tamaño .- Un programa en ensamblador no ocupa mucho espacio en memoria porque no tiene que cargan librerías y demás como son los lenguajes de alto nivel.

Desventajas
Tiempo de programación .- Como es un lenguaje de bajo nivel requiere más instrucciones para realizar el mismo proceso, en comparación con un lenguaje de alto nivel. Por otro lado, requiere de más cuidado por parte del programador, pues es propenso a que los errores de lógica se reflejen más fuertemente en la ejecución.
Programas fuente grandes .- Por las mismas razones que aumenta el tiempo, crecen los programas fuentes; simplemente requerimos más instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores.

Características
Ensamblador es directamente traducible al Lenguaje de Máquina, y viceversa.
La computadora no entiende directamente al Lenguaje Ensamblador; es necesario traducirle a Lenguaje de Máquina.
Se utilizan traductores que convierten el código fuente (en Lenguaje Ensamblador) a código objeto.

Instrucciones en ensamblador
  • Mov.-mueve el valor de un registro o un numero hacia otro registro ejemplo mov Bx,5, movAX,bx.
  • add.-Sumar el valor de un registro a otro registro ADD BX,5
  • sub.-Rest el valor de un registro o valor especifico a un registro sub cx,2
  • inc incrementa en 1 el valor del registro incbx
  • dec.-Decrementa en 1 el valor del registodecbx18 

Características y usos de los microcontroladores


Características y usos
Son diseñados para disminuir el coste económico y el consumo de energía de un sistema en particular. Por eso el tamaño de la CPU, la cantidad de memoria y los periféricos incluidos dependerán de la aplicación. El control de un electrodoméstico sencillo como una batidora, utilizará un procesador muy pequeño (4 u 8 bit) por que sustituirá a un autómata finito. En cambio un reproductor de música y/o vídeo digital (mp3 o mp4) requerirá de un procesador de 32 bit o de 64 bit y de uno o más Códec de  (audio y/o vídeo). El control de un sistema de frenos ABS se basa normalmente en un microcontrolador de 16 bit, al igual que el sistema de control electrónico del motor.

El procesador: Es el elemento más importante del microcontrolador y determina sus principales características, tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el código OP de la instrucción en curso, su decodificación y la ejecución de la operación que implica la instrucción, así como la búsqueda de los operandos y el almacenamiento del resultado. Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales.

Memoria: En los microcontroladores la memoria de instrucciones y datos está integrada en el propio chip. Una parte debe ser no volátil, tipo ROM, y se destina a contener el programa de instrucciones que gobierna la aplicación. Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las variables y los datos.
Hay dos peculiaridades que diferencian a los microcontroladores de los computadores personales:
No existen sistemas de almacenamiento masivo como disco duro o disquetes. Como el microcontrolador sólo se destina a una tarea en la memoria ROM, sólo hay que almacenar un único programa de trabajo.
La RAM en estos dispositivos es de poca capacidad pues sólo debe contener las variables y los cambios de información que se produzcan en el transcurso del programa. Por otra parte, como sólo existe un programa activo, no se requiere guarda r una copia del mismo en la RAM pues se ejecuta directamente desde la ROM.

Puertas de Entrada y Salida: Las puertas de Entrada y Salida (E/S) permiten comunicar al procesador con el mundo exterior, a través de interfaces, o con otros dispositivos. Estas puertas, también llamadas puertos, son la principal utilidad de las patas o pines de un microprocesador. Según los controladores de periféricos que posea cada modelo de microcontrolador, las líneas de E/S se destinan a proporcionar el soporte a las señales de entrada, salida y control.

Reloj principal: Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la sincronización de todas las operaciones del sistema. Esta señal del reloj es el motor del sistema y la que hace que el programa y los contadores avancen.
Generalmente, el circuito de reloj está incorporado en el microcontrolador y sólo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador cerámico o una red R-C.
Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva aparejado un incremento del consumo de energía y de calor generado.

Temporizadores o Timers: Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos que suceden en el exterior (contadores).
Para la medida de tiempos se carga un registro con el valor adecuado y a continuación dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj o algún múltiplo hasta que se desborde y llegue a 0, momento en el que se produce un aviso. Cuando se desean contar acontecimientos que se materializan por cambios de nivel o flancos en alguna de las patitas del microcontrolador, el mencionado registro se va incrementando o decrementando al ritmo de dichos impulsos.

Convertidores: Es un circuito electrónico que convierte una señal analógica en digital. Se utiliza en equipos electrónicos como ordenadores o computadoras, grabadores digitales de sonido y de vídeo, y equipos de comunicaciones. La señal analógica, que varía de forma continua en el tiempo, se conecta a la entrada del dispositivo y se somete a un muestreo (cuantificación discreta, o asignación de un valor numérico a una determinada intensidad de la señal) a una velocidad fija, obteniéndose así una señal digital a la salida del mismo. Esta señal se puede volver a convertir en analógica mediante un convertidor digital analógico.


No hay comentarios:

Publicar un comentario