You are on page 1of 4

Diferencia entre microprocesador y microcontrolador

Hay varias diferencias entre un microcontrolador y un microprocesador, la primera y ms importante es la funcionalidad, me explico. Para que un microprocesador sea funcional requiere conectarse a una memoria y a dispositivos de entrada y salida (E/S). Para aclarar esto piensen en la tarjeta principal de su computadora personal, adems de un buen microprocesador, requieren de memoria RAM y como ustedes saben en la tarjeta principal (motherboard) tenemos un sper circuito integrado llamado chipset que entre otras cosas se encarga de proporcionar las funciones de entrada y salida, tales como el control de los puertos serial ,paralelo, USB, IEEE-1394, Ethernet y de las ranuras ISA, PCI, AGP y ms. En cambio en un microcontrolador tenemos tanto las capacidades de procesamiento, almacenamiento de datos e instrucciones (memoria) y de comunicacin con el entorno (E/S) dentro de un slo chip No requiere de otros componentes para funcionar! De hecho puede considerarse como una microcomputadora en un slo chip! Obviamente tanta belleza tiene algunas desventajas, sobre todo derivadas del hecho de que se trata de un sistema cerrado con caractersticas que no pueden modificarse, de ah que sea muy importante su seleccin. Otra diferencia es la arquitectura (los bloques funcionales internos y la forma en que se conectan), normalmente la de los microprocesadores es la tradicional de Von Neumann, mientras que la de los microcontroladores es la Harvard y aunque ya no hay arquitecturas puramente CISC o RISC ya que actualmente comparten muchas caractersticas, la de los microcontroladores es RISC. No debemos de olvidar que la arquitectura Harvard se distingue por tener una memoria para los datos y otra para las instrucciones, cada una con propio bus y capacidad.

ACI UAN - Cursos complementarios de software

Arquitectura bsica de un microcontrolador


Trataremos de una manera muy simple los principales bloques funcionales del microcontrolador.

1. Memoria

Para manejar la memoria requerimos indicar la localidad mediante su direccin (direccionamiento) y recibir o mandar los datos que deseamos leer o escribir, poniendo un 1 o un 0 en la lnea de lectura/escritura (R/W).

2. CPU

El CPU se encarga de realizar las operaciones aritmticas y lgicas auxilindose de unas pocas localidades de memoria construidas para tal fin, llamadas registros. En ellos se almacenan los datos que va a procesar la unidad aritmtica-lgica, ALU, as como los resultados. Es claro que tanto los datos a procesar materia prima, como los resultados producto terminado requieren ser intercambiados con la memoria, que tiene mayor capacidad de almacenamiento, lo que ocasiona la necesidad de una va rpida para su comunicacin, llamada bus.

3. Bus Fsicamente son manojos de 8, 16 o ms alambres o pistas conductoras. El microcontrolador cuenta con dos tipos de buses: de datos y de direcciones. El nmero de pistas del bus de direcciones depende de la cantidad de memoria del microcontrolador y el bus de datos depende del ancho de los datos, normalmente 8 bits. El bus de direcciones nos sirve para transmitir direcciones entre el CPU y memoria, y el bus de datos para conectar el resto

ACI UAN - Cursos complementarios de software

de bloques. Finalmente para enviar o recibir datos al microcontrolador necesitamos un bloque cuyas localidades de memoria estn conectadas al bus de datos por un extremo y por el otro a los pines (patitas) del microcontrolador que ser nuestro siguiente bloque funcional.

4. Entrada y salida A las localidades referidas al final del punto anterior las llamamos puertos y pueden ser de diferente tipo: de entrada, de salida o bidireccionales. Al trabajar con un puerto primero necesitamos seleccionarlo y despus recibir o enviar los datos a su travs.

El puerto se maneja como si fuese una localidad de memoria, se mandan o reciben datos a travs de los pines del microcontrolador.

5. Comunicacin serial El microcontrolador trabaja en modo full-duplex con un protocolo serial NRZ (Non-Return to Zero) que requiere 3 lneas de transmisin.

ACI UAN - Cursos complementarios de software

6. Temporizador Este bloque funcional lo utilizaremos para manejar el tiempo. La unidad bsica del timer es un contador de carrera libre que se incrementa a intervalos.

7. Perro guardin (Watch dog) Nos permite reiniciar el microcontrolador. De hecho es tambin un contador de carrera libre, al cual se escribe un cero cada que se realiza con xito un programa. Cuando se atascano es posible escribirle el cero y el guardin reiniciar el microcontrolador.

8. Convertidor analgico digital Ya que con frecuencia necesitamos conectar nuestro microcontrolador a dispositivos que general una seal analgica, requerimos de un bloque funcional que la convierta en una seal digital que pueda ser comprendida por el CPU del microcontrolador.

Finalmente aunque nuestro microcontrolador est completo, requerimos conectarlo a los componentes elctricos que junto al programa nos permitirn formar un sistema mnimo.

9. Programa Escribir programas para microcontrolador es la finalidad de nuestro curso. Los programas los escribiremos de acuerdo a los buenos mtodos de programacin que recomienda la ingeniera de software, tendrn que ser modulares, legibles, bien documentados, y desarrollados con algoritmos representados en forma de seudocdigo o diagramas de flujo. El lenguaje de programacin ser en principio ensamblador, y posteriormente podemos probar lenguajes de alto nivel como Basic o C. Es claro que un buen programador sabr sacar el mximo provecho de estos extraordinarios chips :)

Tepic, Nayarit a 21 de agosto de 2007. Rafael Silva Garca.

ACI UAN - Cursos complementarios de software