Sie sind auf Seite 1von 26

CAPÍTULO 2

MICRO-
CONTROLADORES
¿Cómo funcionan?
Unidades de entrada y salida
Historias de microprocesadores
Microcomputadoras: ¿de qué se tratan?
Las interrupciones
Periféricos en microcontroladores
Conversores analógico-digitales
Actividades

02
C02.indd 51 15/06/11 19:13
MICROCONTROLADORES 52

¿CÓMO FUNCIONAN?
Comenzaremos a incursionar en los elementos
que más auge han tenido en estos últimos
tiempos, dentro de la electrónica digital:
los microprocesadores y microcontroladores.

L
os microprocesadores y los mi-
crocontroladores han cambiado
la forma de pensar y diseñar
los circuitos electrónicos. Desde
que Intel lanzó en 1971 el 8080, el
primer microprocesador exitoso,
estos dispositivos no han dejado de
evolucionar, y hoy en día es imposi-
ble imaginarse la vida sin ellos.
Pero a esta altura del tema nos
surgen las primeras preguntas: ¿qué
son los microprocesadores? ¿Y los
microcontroladores? ¿Cómo pode-
mos diferenciar unos de los otros?

¿Qué es un microprocesador? > Los microcontroladores


Los microprocesadores son circuitos PIC son uno de los
integrados que contienen millones dispositivos más utilizados en
de transistores en su interior, los el área de control. Aquí podemos
cuales crean circuitos complejos ver uno de los encapsulados que
ofrece el fabricante.
encargados de realizar diferentes
tareas. También se los denomina
unidad de procesamiento central
o CPU, ya que muchos de ellos AND, OR, NOT, etc. El listado de
pueden actuar como el “cerebro” instrucciones recibe el nombre de
de un sistema computacional,
administrando todas las tareas
programa, que las ejecuta una por
una por medio del microprocesador.
Los microprocesadores
que este realice y llevando a cabo
las operaciones con los datos.
La potencia, el tamaño y la com-
plejidad de los microprocesadores
son circuitos
Los microprocesadores están
diseñados para interpretar y ejecutar
fueron incrementándose con el
correr del tiempo. Tanto es así,
integrados complejos
las instrucciones que nosotros les
indiquemos y que suelen ser opera-
que hoy en día podemos observar
procesadores que integran millones
encargados de realizar
ciones simples, como sumar, restar,
multiplicar y dividir. Pero también
de transistores en su interior y con
varios núcleos para aumentar su
diferentes tareas.
existen instrucciones lógicas, como capacidad de procesamiento.

C02.indd 52 13/06/11 23:27


53 ¿Cómo funcionan?

Sistemas digit
g tal
digitales
Bus de datos
ta

Registro Registro de Contador de


temporal instrucciones programa Bus de direcciones
B

Decodificador
ALU de instrucciones
> Figura 1.
Diagrama básico
de los componentes Bus de control
B
que integran un Acumulador Bloque de control
microprocesador.
Reloj

realiza dos operaciones de manera que el código de operación


Diagrama básico continua: la búsqueda de una ins- se almacene en el registro de ins-
de un microprocesador trucción (fetch) y su ejecución. trucciones, y los datos, en los regis-
En la Figura 1 podemos observar el La búsqueda de una instrucción en la tros de almacenamiento temporal.
diagrama básico de un micropro- memoria de programa es la opera- Finalmente, el contador de pro-
cesador. El elemento principal es la ción fundamental del procesador y grama se incrementa para volver a
ALU (unidad aritmético-lógica), que se efectúa de la siguiente manera: buscar la siguiente instrucción.
se encarga de llevar a cabo todas
las operaciones lógicas y aritméti- El dato que contiene el contador En la operación de ejecución,
cas que requieran los procesos que de programa nos indica cuál es la se decodifica el código de opera-
se ejecuten. También podemos ver dirección de la próxima instrucción ción, y la unidad de control genera
los registros para almacenamiento que se ejecutará, y es colocado en el las diferentes señales que permi-
temporal de los datos; el contador de bus de direcciones. ten la entrada y la salida de los
programa, que contiene la dirección La unidad de control envía una registros internos hacia la unidad
de memoria de la siguiente instruc- señal de lectura hacia la memoria de aritmético-lógica.
ción por ejecutar; un registro de ins- programa a través del bus de control. La ALU ejecutará la operación
trucciones que almacena el código Los datos contenidos en la direc- que le indique la unidad de control,
de la instrucción en ejecución y el ción de memoria de programa son y puede devolver el resultado en
bloque de control. cargados en el bus de datos. un registro interno, normalmente
Todo este bloque de circuitos lógicos Estos datos son procesados para llamado acumulador, o en una posi-
ción de la memoria de datos.

Bus de direcciones (16 líneas)

Bus de datos (8 líneas)

CPU Bus de control (6 líneas)

> Figura 2. Diagrama


Memoria Memoria Circuitería en bloque de un sistema
de datos de programa de interfaces de computadora completo
con las memorias
de datos y de programa
como elementos externos
Dispositivos al microprocesador.
periféricos

C02.indd 53 13/06/11 23:27


MICROCONTROLADORES 54

Unidad aritmético-lógica Contador de programa


La unidad aritmético-lógica se ocupa El contador de programa (PC) es,
de realizar las operaciones necesa- básicamente, un registro contador Dato Dato
rias con los datos. Ellas son la suma que incrementa su cuenta con cada
y la sustracción de números enteros, ejecución de una instrucción.
las operaciones lógicas –como AND, El contenido de este registro con-
Control ALU
OR y NOT– y las operaciones de tador apunta a la dirección donde
desplazamiento de bits. reside la instrucción que se desea
La salida o el resultado de la opera- ejecutar en la memoria de programa.
ción se almacena, como ya dijimos,
Resultado
en un registro interno del micropro-
cesador llamado acumulador.
Este registro también puede utilizarse
como un operando, con la ventaja de > Figura 3. Esquema clásico de
una unidad aritmético-lógica
que ganamos en velocidad y eficien-
Existen ALUs
con las entradas de datos y de
cia en las operaciones complejas. control, y una única salida con el
La unidad posee, además, una resultado de la operación.
entrada de control, desde donde
la unidad de control le indica cuál
que calculan
es la operación por realizar.
Cabe aclarar que en procesadores
la multiplicación El valor inicial del contador siempre
más complejos podemos encon-
trarnos con unidades aritmético-
y la división es la dirección donde está la primera
instrucción del programa. Además,
lógicas que pueden calcular la
multiplicación y hasta la división
de los operandos. es posible modificar su contenido
para crear saltos hacia rutinas que
de los operandos. estén en lugares específicos de la
memoria de programa.
La cantidad de bits que posee el
contador sirve para calcular cuál
es la cantidad máxima de instruc-
Contador de programa ciones que puede direccionar el
procesador. Con esto tenemos una
idea del tamaño de memoria de
programa que podemos utilizar.
Si tenemos un contador de pro-
grama de 16 bits, podemos direc-
cionar, como máximo, hasta una
8 niveles memoria de 64 KB (2^16).
Memoria existentes
de programa

16 niveles
mejorados

> Figura 4. El contador de programa


siempre contiene la dirección de la
próxima instrucción que se ejecutará.
Después de un reset del sistema, se
Pila inicializa con el valor cero.

C02.indd 54 15/06/11 11:06


55 ¿Cómo funcionan?

> Una antigua memoria EPROM cuyo


contenido podía borrarse por medio
de luz ultravioleta. Era muy utilizada
programa.
para almacenar memoria de programa

Memoria dde ddatos cuando el sistema no está energiza- la información que precisa el proce-
y de programas do. Normalmente, se utilizan memo- sador para ejecutar las operaciones
Los programas y datos que controlan rias ROM de solo lectura para grabar que le indiquemos.
la ejecución de las instrucciones en un programa, porque poseen esta El tipo de memoria que se emplea
un microprocesador necesitan ser característica tan preciada, aunque para los datos es la RAM, porque
almacenados en memorias de datos tienen la desventaja de que solo pue- puede almacenar datos temporales
y de programa. den ser escritas una sola vez. que pueden ser escritos y leídos una
Gracias al avance de la tecnología, infinidad de veces. Además, son de
Memoria de programa hoy podemos utilizar memorias acceso rápido, por lo que el sistema
Para realizar una tarea específica, EEPROM y Flash para almacenar gana en velocidad y eficiencia.
un microprocesador necesita de un código, con la ventaja adicional de También es posible querer almace-
programa que le indique, instrucción que es posible borrar su contenido nar datos que no se pierdan luego
por instrucción, cuáles son los pasos eléctricamente. de que el sistema se queda sin ali-
que debe cumplir. Este programa mentación. En este caso, se pueden
reside en una memoria externa al Memoria de datos utilizar memorias no volátiles, como
procesador llamada memoria de La memoria de datos es también una las EEPROM de baja capacidad,
programa. Su característica principal memoria externa al microprocesador, ideales para guardar contraseñas
es que no debe perder su contenido pero que se encarga de almacenar o nombres de usuarios.

,
> MAPA DE MEMORIA
El mapa de memoria indica las áreas de las que dispone el procesador,
su extensión y direccionamiento. Según la arquitectura, puede haber solo
un área general (Von Neumann), un área de datos y otra de programa
(Harvard), o, incluso, áreas específicas de entrada/salida (Z80, 80 × 86, AVR).
2 El procesador puede tener registros fuera de este mapa de memoria.
% %

% %
$ %
$ %
M'
C02.indd 55
M' 13/06/11 23:27
MICROCONTROLADORES 56

UNIDADES DE ENTRADA
Y SALIDA
Para que un procesador pueda comunicarse
con el mundo externo, necesita unidades
de entrada y de salida que codifiquen
los mensajes para interpretarlos.

A
las unidades que funcionan y el procesador. Por su parte, la que
como interfaz entre el mundo es en serie hace la transformación de
externo y el procesador se paralelo a serie y transmite el byte,
las llama periféricos. Los periféricos bit por bit. Este tipo de trasmisión
se comunican con el procesador necesita de un sincronismo entre el El ejemplo más
mediante los buses de dirección, de procesador y el periférico. sencillo de un periférico
datos y las señales de control. Los periféricos pueden clasificarse de entrada es el teclado, con el
Existen dos formas de transmitir infor- de forma general en: periféricos de cual un usuario puede introducir
mación entre un periférico externo y entrada y de salida. un programa o datos. Pero esto no
el procesador: en paralelo y en serie. solo se limita al ingreso de datos
La transmisión en paralelo utiliza Periféricos de entrada por parte de un usuario, sino que
todas las líneas de comunicación del Se ocupan de codificar los mensa- también es posible recibir datos
bus de datos, y no requiere realizar jes o señales del exterior para que de una aplicación de control. Los
ningún sincronismo entre el periférico el procesador pueda interpretarlos. dispositivos de monitoreo, como
los sensores, son periféricos de
entrada, ya que pueden convertir
distintas magnitudes, como el
calor o la presión, en señales que
una computadora sea capaz de
leer.

> El pulsador es el ejemplo más


simple de un periférico de entrada.
Si armamos una matriz de pulsadores,
podemos crear un sencillo teclado
para ingresar datos.

C02.indd 56 13/06/11 23:27


57 Unidades de entrada y salida

Periféricos de salida > PARA TENER EN CUENTA que disponen de un repertorio deter-
Permiten observar los resultados minado de comandos.
arrojados por el procesador de Debido a que cada microproce- Todos los lenguajes superiores al
una manera más cómoda que si se sador tiene su assembler final serán transformados a lenguaje
presentaran como unos y ceros. específico, los distintos len- máquina para ser introducidos en
La pantalla y la impresora son los guajes ensambladores de las la memoria, ya que este es el único
periféricos de salida más conocidos, diferentes familias de proce- lenguaje que entienden los micropro-
pero también tenemos dispositivos sadores que existen comer- cesadores. Pero esta conversión no la
actuadores que afectan de manera cialmente no son compatibles realiza el programador, sino que existe
mecánica todo lo que los rodea, entre sí, pese a que emplean un software específico para este fin.
como los motores y los relés. instrucciones con idéntico Si se desea programar en código má-
cometido. En este punto de quina, hay que entender previamente
Programación incompatibilidad, se asemejan a fondo el microprocesador que se
de microprocesadores el lenguaje ensamblador y el va a utilizar, ya que cada bit de cada
La programación de microprocesa- lenguaje máquina. instrucción tiene un significado con-
dores puede realizarse entre tres creto y es muy fácil equivocarse.
tipos de niveles básicos de lengua-
jes: en código máquina, ensambla- El lenguaje ensamblador
dor y de alto nivel. También llamado ASSEMBLER, es un

Lenguaje en código máquina El lenguaje tipo de lenguaje intermedio entre los de


alto nivel y el lenguaje máquina. Cada
Es el lenguaje elemental del micropro-
cesador, pero el más complicado de ensamblador utiliza microprocesador tiene su propio len-
guaje assembler, que está en relación
utilizar. Cada instrucción posee códi-
gos hexadecimales que son especí- nemotécnicos para las directa con su estructura. Este lenguaje
usa las mismas instrucciones que
ficos de ese procesador. Esto hace
que la programación de las distintas mismas instrucciones posee el microprocesador, solo que
el programador no emplea su corres-
familias de microprocesadores sea in-
compatible. Solo se trabaja en código en binario. pondencia en hexadecimal, como en el
lenguaje máquina, sino que utiliza los
máquina con algunos periféricos nemotécnicos de dichas instrucciones.

> En muchos
procesadores
se necesita hardware
adicional para hacer la
programación. Algunos,
como el de la imagen,
pueden programar
los microcontroladores
sin sacarlos de la placa.

C02.indd 57 13/06/11 23:27


MICROCONTROLADORES 58

Secuencia de ejecución
de un programa CPU
Para el manejo del programa, el
Bus de direcciones
microprocesador dispone de dos N
registros de importancia: el contador
de programa (PC) y el registro de Contador
C d
instrucciones (IR). Para entender el de programa
proceso de interpretación del progra- Bus de datos
ma, veamos los pasos que se realizan Código de
para decodificar una instrucción. operación
Al comienzo de cada instrucción, lo RAM
primero que debe hacerse es la lec- Registro de
tura del primer byte de la instrucción; operaciones
N+2
para esto, el PC tiene que direccionar
a la posición de memoria en la que N+1
se encuentra. Mediante señales de
transferencia en el bus de control, el Código de operación N
Bus
B de control
byte entra en el microprocesador por
Reloj N+1
el bus de datos al registro de instruc-
ciones. Allí es interpretado por el de- Lectura
codificador de instrucciones, mientras
el PC es incrementado en una cuenta.
Si la instrucción es de más bytes, una > Secuencia que lleva a cabo el procesador para buscar una
instrucción en la memoria. El PC apunta a la dirección donde
se encuentra la instrucción, y la memoria coloca el código de
operación en el bus de datos.

Los microprocesadores
realizan cuatro vez interpretada por el decodificador,
se abrirá de nuevo el bus de direccio-
o tiempo de ejecución será menor o
mayor, respectivamente.
operaciones básicas nes y de datos para tomar el segundo
byte en la posición de memoria indica-
Una vez que los bytes de la instruc-
ción han entrado en el microproce-
para ejecutar da por el PC ya incrementado.
El proceso se repetirá otra vez
sador, este procede a ejecutarla;
tras esta operación, vuelve a tomar
una instrucción. si la instrucción es de tres bytes. el byte cuya dirección esté apuntada
Así, según la instrucción sea de uno, por el PC. Este proceso se repite
dos o tres bytes, la velocidad hasta llegar a la última instrucción.

> EELL CICLO DE MÁQUINA


LLos
Lo
os mim
microprocesadores
i realizan una serie de operaciones básicas: búsqueda
de lla
de a iinstrucción, decodificación, ejecución y almacenamiento
de lo
de llos
os resultados. Estas cuatro operaciones conforman el ciclo de máquina.
os
Todas
To
odas
das se encuentran sincronizadas con un reloj general (clock del sistema).
tiempo
E tie
El em que dura un ciclo de máquina nos da idea de cuántas instrucciones
puede
pu
ueed de ejecutar un microprocesador en un segundo (MIPS).

C02.indd 58 13/06/11 23:28


59 Unidades de entrada y salida

Lenguajes de alto nivel


Se llaman de alto nivel porque su
sistema de programación está a la > PARA TENER EN CUENTA
altura misma del lenguaje concep-
tual, matemático y de organización Los lenguajes de alto nivel
del propio hombre. El desarrollo de también fueron pensados para
los lenguajes de alto nivel fue nece- eliminar la incompatibilidad
sario como consecuencia de la adap- entre los de bajo nivel y los
tación de la máquina al hombre. Esto distintos sistemas de procesa-
trajo muchas ventajas que hicieron dores. Sin embargo, esto no es
que este tipo de lenguaje de progra- del todo cierto, ya que existen
mación se impusiera rápidamente. algunas diferencias dentro de
Por un lado, al ser un lenguaje próxi- un mismo lenguaje de alto nivel
mo al del hombre –que, en definitiva, con los distintos sistemas que
es quien tiene que programarlos–, no proporcionan total compa-
permite la reducción de los costos tibilidad. Lo cierto es que un
de software, así como también el programa en lenguaje de alto
tiempo de desarrollo. Otras ventajas nivel debe ser traducido a có-
son su facilidad de aprendizaje, la digo máquina, para lo cual se
posibilidad de realizar programación utilizan programas intérpretes
estructurada y el hecho de que para o compiladores.
usarlo no es imprescindible tener
conocimiento del hardware.
Entre los lenguajes de alto nivel,
los más conocidos son:

MATLAB, MATrix LABoratory (labo-


ratorio de matrices): es un lenguaje
diseñado para hacer cálculos ma-
temáticos, y empleado en el mundo > En procesadores con alto poder de cálculo, como
científico y técnico. los DSP (micros con procesamiento digital de señales),
COBOL, Commom Business Oriented resulta muy difícil y costoso programar en assembler.
Language (lenguaje orientado hacia
aplicaciones comerciales y de
gestión): es un lenguaje para uso
específico en gestión por tener poca
capacidad de cálculo, pero con
potencia en el manejo de datos.
BASIC, Beginners All Purpose
Symbolic Instruction Code (código de
instrucción simbólica universal para
principiantes): fue desarrollado por
la Universidad de Dartmonth (EE.UU.)
para los estudiantes que se inician
en el mundo de la programación.
C/C++: es un lenguaje extremada-
mente poderoso y eficiente, que nos
da la libertad de realizar casi cual-
quier tarea con una computadora.
Es muy popular entre los desarrolla-
dores de software profesional.

C02.indd 59 13/06/11 23:28


MICROCONTROLADORES 60

HISTORIAS DE
MICROPROCESADORES
Mucho tiempo ha pasado desde el desarrollo
del primer microprocesador, y aún varios
de los conceptos originales siguen vivos
en los microcontroladores más modernos.

H
asta el momento hemos co- De 8080 a Rabbit 5000 desarrollaremos más adelante.
nocido la estructura interna y Como sabemos, el primer micropro- Otra novedad fue un área especial
algunos conceptos generales cesador exitoso fue el 8080 de Intel, para el acceso a puertos de entrada/
que comparten los microprocesado- sobre el que se basó el Z80 de la salida (I/O) fuera del mapa de memo-
res y microcontroladores, al menos empresa Zilog. Con ellos, nació uno ria de datos. Sobre esta plataforma
los de 8 bits. Estos conocimientos de los primeros sistemas operativos se desarrolló Rabbit, que estudiare-
son la piedra fundamental sobre la de amplia distribución: el CP/M. mos en la clase 17.
que se edifica toda la estructura que La característica distintiva de estos
contiene a los microcontroladores micros fue su gran cantidad de regis- Del 6800 al HCS08
más modernos. Aun con sus mayores tros y un variado set de instruccio- El primer microprocesador exitoso de
diferencias, todos conservan una nes orientado al procesamiento de Motorola, hoy Freescale, fue el 6800,
historia y ciertos puntos en común. datos. El Z80, en particular, introdujo contemporáneo y competidor del 8080
Comprendiéndola, podremos abordar la innovación del set alternativo de e, incluso, del Z80. Las líneas de 8 bits
indistintamente cualquiera de ellos registros, para acelerar el cambio de de mayor éxito de Freescale en la
para nuestro trabajo. contexto en interrupciones, tema que actualidad son las HC08 y HCS08 (S08),

7 0
7 A 0 7 B 0 A Acumulador A
15 X 0 15 8 7 0
H X Registro índice (H:X)
15 PC 0
15 0
15 SP 0
STACK POINTER (SP)
7 CCR 0 15 0
PROGRAM COUNTER (PC)
A: Acumulador A
B: Acumulador A Registro de estado
7 0
X: Registro índice V 1 1 H I N Z C
CONDITION CODE
PC: ProgramCounter REGISTER (CCR)
SP: Stack Pointer TWO’S COMPLEMENT
CARRY/BORROW FLAG (C)
CCR: Registro de estado (Conditio Code Register) OVERFLOW FLAG (V)
ZERO FLAG (Z)
HALF-CARRY FLAG (H)
NEGATIVE FLAG (N)
Motorola 6800
INTERRUPT MASK (I)
> Esta figura nos muestra la evolución del modelo
de programación del 6800 a la CPU08. Freescala CPU08

C02.indd 60 13/06/11 23:28


61 Historias de microprocesadores

MDB MAB
Memory Data Bus Memory Address Bus
Data Bus 8-bit
R0/PC
/ Program
g Counter 0

R1/SP
/ Steck Pointer 0 Flash Program Status
Memoria de Counter Control
R2/SR/CGI
/ / Status programa

R3/CG2
/ Constant Generator
32 x 8
R4 Registro de Registros
instrucciones
R5

R6

R7 ALU
R8

R9 Memoria
de datos
R10
SRAM
R11

R12 AVR
R13 AVR

R14

R15
16 > Detalles de la estructura interna
16 simplificada de los núcleos más
Zero, Z dst src
Carry, C
recientes: AVR ATmega y MSP430.
Overflow, V 16-bit ALU MCLK
Negative, N

basadas en la CPU08, que, a su vez, MSP430 y AVR Microchip PIC


es descendiente de la original 6800. La Dos cores de relativamente recien- Otro core de gran repercusión es
característica distintiva de estos micros te aparición son, por un lado, el el PIC, de Microchip, elegido por la
es un modelo de programación simple MSP430, de 8/16 bits, fabricado por mayoría de los aficionados en el mun-
y compacto, con gran cantidad de ins- Texas Instruments; y, por el otro, el do, cuya historia conoceremos más
trucciones cortas y eficientes, orienta- AVR, de Atmel. Ambos se caracteri- adelante. Él será el protagonista de
das a la resolución de tareas simples. zan por tener una gran cantidad de la clase. Se distingue por la simpleza
registros del procesador, fuera del y eficiencia del core, y por tener un
El 8051 mapa de memoria de datos, además muy compacto set de instrucciones
En la figura de la página 10 se mues- de un poderoso set de instrucciones. de rápida ejecución, con acceso a
tra en detalle la arquitectura MCS51, El MSP430 permite operar en 8 o 16 toda la memoria de datos como uno
perteneciente al 8051, un microcon- bits sobre los registros o la memoria. de los operandos y posible destino de
trolador diseñado por Intel que ha AVR incluye, además, un área de I/O. muchas de las operaciones.
pasado a ser el estándar de facto en Ambos núcleos permiten que cual- Éstos son solo algunos de los núcleos
el mundo de los microcontroladores, quier registro o posición de memoria de 8 bits de algunos de los fabricantes
y que es modificado y producido por sea fuente o destino de casi cual- de mayor repercusión. Por supuesto
decenas de fabricantes. Su particu- quier operación. que existen muchas más alternativas.
laridad distintiva es que puede
procesar bits individualmente, den-
tro de un área de 128 bits (32 bytes).

C02.indd 61 15/06/11 11:06


MICROCONTROLADORES 62

MICROCOMPUTADORAS:
¿DE QUÉ SE TRATAN?
Se encuentran en todos nuestros
electrodomésticos, alarmas y automotores,
entre otros equipos, donde aplican inteligencia
a todos los aparatos que nos rodean.

E
l avance de las escalas de consumo, brindando a los electro- Arquitectura interna
integración permitió integrar domésticos y a todo tipo de sistema de los microcontroladores
cada vez más transistores por electrónico de consumo la capacidad Los microcontroladores están for-
unidad de superficie. El desarrollo de de inteligencia y conectividad. El mun- mados por varios bloques. Dentro de
la tecnología VLSI (muy alta escala do actual está rodeado de microcon- ellos existe, como elemento princi-
de integración), que produjo los troladores; desde nuestros celulares, pal, la CPU, que se interconecta con
microprocesadores, pronto permitió sistemas de alarmas y lavarropas, sus periféricos para formar lo que se
introducir en un solo chip todo un hasta las computadoras de a bordo conoce como arquitectura interna.
sistema mínimo. Esto dio nacimiento de los automóviles. Sin ellos, nuestro Esta puede ser de dos tipos:
a la microcomputadora, actualmente mundo actual no existiría. Von Neumann o Harvard.
conocida como microcontrolador.
Dentro de ellas encontramos una
CPU, una memoria de programa, una
memoria de datos, el circuito de
reset y el circuito oscilador, además La arquitectura Von Neumann
de los puertos de entrada/salida,
también conocidos como PORTS I/O. fue suplantada por los microcontroladores
Las microcomputadoras o microcon-
troladores nacieron a mediados de los
con arquitectura Harvard.
80 y rápidamente ganaron mercado,
al desplazar a los sistemas mínimos
desarrollados con microprocesadores
en el campo del control industrial. Arquitectura
Los microcontrolad ores, debido a su Von Neumann
muy bajo costo, alta inmunidad al ruido > En el diagrama
podemos ver
eléctrico y pequeño tamaño, produje-
la conexión
ron la revolución microcontrolada, que entre la CPU, la
desplazó a toda la lógica cableada memoria de datos
(utilizada en la electrónica industrial) y la de programa,
y a la lógica programada. Es en este 8 bits utilizando el bus
campo donde se los bautizó con el Bus de datos para las
nombre de microcontroladores y se instrucciones y
desechó el de microcomputadoras. los datos. Esto
CPU Memoria genera un cuello
A partir de los 90, los microcontro-
de datos de botella.
ladores invadieron la electrónica de y de programa

C02.indd 62 13/06/11 23:28


63 Microcomputadoras: ¿de qué se tratan?

P0.0 - P0.7 P2.0 - P2.7

Vcc
PORT O DRIVERS PORT 2 DRIVERS
GND
Direcciones
Direcciones
de datos
RAM ADDR. Memoria Port 0 Port 2 d programa
de
EEPROM Flash

15
REGISTER de datos Latch Latch Memoria
de programa
d

Stack Program Address


Bus de datos Registros Acumulador
Pointer Register

Buffer
TMP2 TMP1

Clase 10
PC
ALU Incrementer
Interrupciones,
puerto serie, timer
Program

MICROPROCESADORES Y MICROCONTROLADORES
Registro
Counter
de estado

PSEN
Timing Registro Dual
ALE/PROG
and de DPTR
EA / Vpp control instrucciones
RST

Watch Port 3 Port 1 Spi Program


Dog Latch Latch Port Logic

OSC
PORT 3 DRIVERS PORT 1 DRIVERS

P3.0 - P3.7 P1.0 - P1.7

> En la figura observamos los bloques que conforman el interior de un microcontrolador básico.

Arquitectura Von Neumann memoria de datos y de programa, por bus de datos debía compartirse con
Fue desarrollada en 1949 por el profe- el cual viajan datos e instrucciones. los datos y las instrucciones, lo que
sor John Von Neumann e implementa- Este concepto fue muy útil en las pri- generaba un cuello de botella.
da para la construcción de las compu- meras décadas de las computadoras, Entonces, se presentaron varios
tadoras como la ENIAC (nombre de la pero, al incrementarse la cantidad de problemas en la arquitectura, como
primera computadora electrónica). datos por procesar, la velocidad de mencionamos a continuación.
Según esta arquitectura, existe un procesamiento se redujo. Rápidamen- Por un lado, el ancho del bus de datos
bus de datos que liga la CPU con la te, la arquitectura se saturó, ya que el era de 8 bits y, como por él viajan

C02.indd 63 13/06/11 23:28


MICROCONTROLADORES 64

los datos y las instrucciones, el ancho el tiempo del ciclo de máquina.


de los datos limitaba el ancho de las El concepto y nombre de la arqui-
instrucciones. Como consecuencia,
las instrucciones con más de
Los microcontroladores tectura deviene de la computadora
MARK1, construida en la Universidad
8 bits debían ser enviadas en varias
partes, lo cual hacía que el sistema
son una pequeña de Harvard en 1944.
En 1975, una compañía americana
resultara lento.
Otro conflicto es que nunca se sabía
computadora inyectada denominada General Instruments
formó una división especial dedicada
cuánta memoria de programa se usa-
ba, pues esto depende del ancho en
en un chip. al desarrollo de memorias y micro-
procesadores: GI Microelectronics.
bytes que tengan las instrucciones, Esta tomó el concepto de la arqui-
lo cual es muy variable. tectura Harvard y lo materializó en su
Esta arquitectura caducó a finales primer microcontrolador denominado
de los 80 y fue suplantada por los Esta arquitectura conectó la CPU PIC1650, e introdujo mejoras en el
microcontroladores Harvard. hacia su memoria mediante dos bu- concepto de la arquitectura. Colocó
ses distintos: uno de datos y otro de dentro del chip una pila de instruc-
Arquitectura Harvard instrucciones. De este modo, el an- ciones de dos niveles. Esto dio la
Fue desarrollada en 1970 para solu- cho del bus de instrucciones no está posibilidad de buscar y ejecutar una
cionar los problemas de velocidad limitado por el de datos, y el procesa- instrucción en el mismo ciclo de má-
de procesamiento que presentaba dor puede recibir instrucciones por quina. Se la denominó arquitectura
la arquitectura Von Neumann. caminos diferentes, aprovechando Harvard modificada.

> En la figura observamos


los buses separados
de datos e instrucciones,
que pusieron fin
14 bits 8 bits
al cuello de botella
Bus Bus
que se generaba
en la arquitectura
Von Neumann.
Memoria CPU Memoria
de programa de datos

> ARQUITECTURA HARVARD


Emplea dos buses de acceso, uno para datos y otro para programa.
Esto optimiza el funcionamiento a costa de duplicar la cantidad de
memorias. No es posible guardar constantes con el programa. La versión
modificada introduce acceso a la memoria de programa como datos,
resolviendo este inconveniente. Los compiladores para lenguajes de alto
nivel, como C, deben introducir directivas para elegir área.

C02.indd 64 13/06/11 23:28


65 Microcomputadoras: ¿de qué se tratan?

En 1985 GI vendió Microelectronics Las computadoras miden su potencia


a un grupo inversor denominado de procesamiento en función de la
Ventura, que reflotó el proyecto cantidad de instrucciones que pue- > EL MICRO 6502
del PIC1650 y rebautizó la compañía den ejecutar por segundo, medida en
con el nombre de Microchip. una unidad denominada MIPS. El microprocesador 6502 fue
Esta desarrolló rápidamente una serie desarrollado por la compañía
de microcontroladores basados en la Microcontroladores Rockwell. Este micro era una
arquitectura del PIC. Con el tiempo, y microprocesadores variante del 6800, fabricado
otras firmas adoptaron el modelo de No debemos confundir los micropro- por la firma Motorola, con
Microchip para sus núcleos. cesadores con los microcontrolado- la diferencia de que el 6502
res. Los primeros, simplemente, son poseía solo un registro de
Concepto de una computadora la unidad central de procesamiento. trabajo. A partir de este
La computadora es un circuito digital No incorporan puertos para control se fabricaron la TK2000 de
capaz de procesar información binaria. de periféricos, ni memoria de progra- Microdigital y el Apple 2e.
En este circuito encontramos un mi- ma ni tampoco memoria de datos. Por su parte, Commodore
croprocesador, una memoria del tipo Están especialmente diseñados desarrolló su Commodore 64
no volátil (ROM, EPROM, EEPROM, para procesar grandes cantidades a partir de una variante me-
Flash), una memoria RAM, un circuito de datos y son muy susceptibles jorada del 6502, denominada
oscilador, un circuito de reset y los al ruido eléctrico. 6510 (el cual incluía un PORT
puertos de entrada/salida. En cambio, los microcontroladores res I/O auxiliar).
La memoria no volátil es conocida son una pequeña computadora
como memoria de programa, ya que inyectada en un chip. Están diseña-eña-
en ella se almacena el que hace dos, principalmente, para el control
ntrol
funcionar a la computadora. industrial y no para el procesamien-
mien-
La RAM es usada por la compu- to de grandes cantidadess de datos.
atos.
tadora para guardar los resultados Su principal ventaja radica en laa alta
de procesamientos de datos internos inmunidad al ruido,, el bajo
o los que provienen del exterior. costo y la reducciónn
Por su parte, los puertos I/O (entra- de espacio.
da/salida)
/salida) se usan para intercam-
biarr información y controlar todo
el entorno externo a la máquina.
Todos
dos estos elementos se encuentran
en forma discreta (es decir, encap-
sulados
ados en chips individuales) y
montados
ntados sobre un PCB. A este
conjunto
njunto se lo denomina
sistema
tema mínimo.

C02.indd 65 13/06/11 23:28


Rutina principal
MICROCONTROLADORES 66

LAS INTERRUPCIONES
Con las interrupciones podemos hacer
que determinados eventos que ocurren
en el hardware cambien la rutina
del software. Veamos de qué se trata.

P
ara entender qué es una sin papel, el proceso se detiene, y se procesador pase a procesar un pro-
interrupción, recurriremos a despliega un mensaje en la pantalla grama que atienda la interrupción, el
un ejemplo muy sencillo y que de la PC para advertirnos al respecto. cual despliega el mensaje en pantalla.
se presenta bastante a menudo en Como podemos observar, el programa Una vez que recargamos el papel, el
nuestros hogares. Cuando enviamos principal se encarga de enviar los sensor se desactiva, la señal de inte-
un archivo a la impresora, la rutina caracteres del archivo a la impresora. rrupción desaparece, y el procesador
principal del programa se encarga de Sin embargo, si el sensor de falta vuelve a ejecutar la rutina principal.
mandar los caracteres al buffer de de papel se activa, se interrumpe la La interrupción es un sistema que
este equipo. Si la impresora se queda impresión. Este evento hace que el provoca un salto a una subrutina,

Inicio
La interrupción
provoca un salto
upción
Interrupción
Rutina principal Vector de interrupción
a una subrutina,
pero disparada por un
erna
externa

Rutina de interrupciones
evento del hardware.
> En la figura, podemos observar el proceso de una interrupción de forma gráfica.

> INTERRUPCIONES
El concepto nace de la necesidad de procesar eventos que, al ocurrir, requieren una atención
inmediata ya que no es conveniente esperarlos. Según el procesador, se transfiere la ejecución
a una posición fija o indicada por el contenido de una posición o tabla. Aquí se salva el contexto
(si el procesador no lo hace), se opera y se devuelve el control.

C02.indd 66 13/06/11 23:29


667 Las interrupciones

PIC18FX620

PC<20:0>

CALL, RCALL, RETURN 21


RETFIE, RETLW

Stack Level 1

Stack Level 31

Reset Vector 0000h


pero disparada por un evento del
hardware. Se diferencia de los
High-Priority Interrupt Vector 0008h
saltos a subrutina generados por el
software, como el producido por la
instrucción CALL, en lo siguiente: Low-Priority Interrupt Vector 00018h
User
On-Chip Memory
La interrupción es atemporal; Program Memory Space
el microcontrolador nunca sabe FFFFFh
110000h
cuándo va a ocurrir.
Cuando la interrupción ocurre, el
Read “O”
procesador abandona el programa
que está ejecutando y pasa a pro-
11FFFFh
cesar una rutina que se encuentra a
2200000h
partir de una posición de memoria fija,
denominada vector de interrupción.
En la interrupción se salva el con-
tenido interno de los registros más
> Aquí observamos la posición de memoria de programa
importantes del procesador, de modo
de los vectores de interrupción en un microcontrolador PIC18F.
que luego, al volver al programa que
se estaba ejecutando, se prosiga sin
alteraciones.

Tipos de interrupciones o externa, esta puede ser del tipo de memoria fija, conocida como
Las interrupciones pueden dividirse enmascarable o no enmascarable. vector de interrupciones. En los mi-
en internas o externas, y en enmas- Las primeras necesitan tener ac- crocontroladores puede existir más
carables o no enmascarables. tivado un bit de habilitación para de un vector de este tipo, uno para
Las internas son disparadas por el generarse, aunque hayan sido soli- la interrupción enmascarable y otro
hardware interno del microcontrola- citadas; en tanto que las segundas para la no enmascarable.
dor, por ejemplo, el conversor ana- suceden, sí o sí, no bien ocurre el En otros microcontroladores, pue-
lógico/digital, los temporizadores, evento de la interrupción. de ocurrir que cada dispositivo del
etc. Las externas son disparadas hardware que interrumpe tenga su
externamente mediante la aplica- El vector de interrupciones propio vector, o que haya vectores
ción de un pulso o un estado sobre Como hemos visto, cuando la inte- distintos según la prioridad que
un pin del microcontrolador, deno- rrupción se genera, el procesador hayamos elegido para la interrup-
minado INT (interrupción). Pero más pasa a procesar la rutina que se ción. Todo depende del microcon-
allá de si la interrupción es interna encuentra a partir de una posición trolador que manejemos.

C02.indd 67 13/06/11 23:29


MICROCONTROLADORES 68

PERIFÉRICOS EN MICROCONTROLADORES
En esta infografía les mostramos los módulos de hardware internos
de un PIC16F876A y una idea de conexión de algunos de los periféricos
-vzmás utilizados en aplicaciones con microcontroladores. MAX 232 Drive

FT2232D
AT45DB041B FM24CL64
IP
TTIP
El chip
p FT2232D de FTDI para
conectividad USB 2.0
Full-Speed, permite interfaces
con nuestro microcontrolador
del tipo SPI, I2C ó mismo con
un módulo asincrónico como
RS232

Módulo Serial Sincrónico Multipropósito


Universal Synchronous (MSSP en Microchip): SPI / I2C
Asynchronous Receiver/Transmitter
Módulo HW para interfaces sincrónicas
(USART/SCI en Microchip).
seriales, encontrada en diversas arquitecturas.
Para implementación de comunicaciones Permite configurar interfaces SPI e I2C en
asincrónicas seriales como RS232. modos Master y Slave.
Generador de Baud-rate configurable: Ejemplos: AT45DB041B Flash Eeprom SPI de
Ej.: 9600 ó 19200 baudios etc. Manejan 8 ó Atmel y FRAM FM24CL64 I2C de Ramtrom.
9 bits de datos, configuración de bits de
parada, flags de errores, etc.

Conversor A/D de 10 bits multicanal Oscilador SPI USART T0 T1


Sensor de temperatura 0- 40 MHz 1C
Conversores analógico-digitales. Digitalización
de señales de origen analógico como el sensor
de temperatura Comunicación
PLL
serial

CCP1
CP
A/D
converter Interrup.
Puertos Paralelos esclavo de 8 bits. CCP2
Puertos paralelos de propósito general. CCP/PWM
Display Alfanumérico Vref
Pueden conectarse típicamente a los Modulos
mismos: leds, switches, botones, displays
alfanuméricos, displays 7 segmentos Puerto A Puerto B Puerto C Puerto D
y teclados a membrana. Dependiendo
del microcontrolador utilizado, son capaces
de manejar corrientes desde los 40uA
a 25mA por línea.

Teclado a
membrana
Display 7
segmentos

C02.indd 68 13/06/11 23:29


69 Periféricos en microcontroladores

TIP
Se necesitan chips conversores de
niveles como el MAX232 para
adaptar las tensiones y corrientes
del micro a los del protocolo
232 Driver
propiamente dicho.

RJ45

Módulos Timer/Temporizadores
Son utilizados para diversas aplicaciones que necesiten trabajar con marcas
de tiempo, implementar retrasos (delays) y analizar eventos en forma temporal Circuito interfaz
generando interrupciones. Pueden alimentarse con clk´s externos o internos. adaptador
Características PIC16F876A de Microchip: de líneas
Timer 0: Contador/Temporizador de 8 bits con preescaler de 8 bits y reducción EMI
Timer 1: Contador/Temporizador de 16 bits con preescaler.
Puede ser incrementado durante “sleep”, mediante un cristal o reloj externo.
Timer 2: Contador/Temporizador de 8 bits. Posee preescaler y postcaler.

Módulos Ethernet (PIC18F97J60).:


T0 T1 T2 T3 SER RAM Ethernet
MAC Algunos microcontroladores como el PIC18F97J60 de Microchip,
ofrecen controladores Ethernet embebidos. Se encuentran
completamente implementados en el HW del micro. Los módulos
Program Ethernet “Media Access Control” (MAC) y “Physical Layer Transmitter”
Memory PHY (PHY) se encargan de ello. Para su interfaz directa a una red
Ethernet, sólo se requiere la utilización de 2 transformadores
CPU EEPROM 8 Kbytes
de pulso y algunos componentes pasivos que ayudan
a la reducción de EMI (Interferencia Electromagnética).
Buffer RAM
Interrup. WDT Memoria

RESET Módulos PWM.:


Power Utilizados para control de motores pequeños de CC ó para medir
Supply ciclos de trabajo de señales como la salida de un acelerómetro.
2 -5.5V Utilizan los recursos de los módulos “Contadores/Timers”
erto D Puerto E
que forman parte de cualquier arquitectura micrcontrolador.

Características PIC 16F876A de Microchip:


Resolución Captura 12,5ns máx. y de 16bits
Resolución Comparador 200ns máx y de 16bits
Resolución del mod. Pulse Width Modulation es de 10 bits.

Led

C02.indd 69 13/06/11 23:29


MICROCONTROLADORES 70

3FFh

CONVERSORES 3FEh

Valor digital de salida


ANALÓGICO-DIGITALES 003h

002h

001h

Los conversores A/D o ADCs son fundamentales 000h

0.5 LSB
1 LSB
1.5 LSB
2 LSB
2.5 LSB
3 LSB

1022 LSB
1022.5 LSB
1023 LSB
1023.5 LSB
para que el microcontrolador pueda leer
las variaciones analógicas del mundo real
y reaccionar a ellas. Valor analógico de entrada

>En
E lla figura observamos
b lla ffunción
ió dde
transferencia de un conversor de 10 bits.

L
os conversores A/D son dispositi-
vos que convierten una variación
analógica en formato digital. Son
indispensables en los lazos de control
La resolución de un Dicha resolución queda determinada
por el número de bits que puede
cerrados digitales; podríamos decir
que son los “ojos” de los micropro-
conversor A/D nos procesar el conversor. Por ejemplo, en
un conversor de 8 bits, la señal de en-
cesadores y de los microcontroladores.
En todo sistema digital de control, existe
indica la precisión que trada se divide en 256 fracciones. Sin
embargo, en uno de 16 bits, lo hace en
siempre un conversor A/D que se en-
carga de “traducir” la señal entregada
tendrá el dispositivo 65536 fracciones, y la precisión para
el mismo nivel de señal resulta mayor.
por un sensor de temperatura, presión o
fuerza a un valor digital equivalente que
al realizar el proceso. La fracción se denomina escalón de
conversión o rata de cambio. Cuanto
pueda procesar el sistema de control más pequeña es, más precisa es la
digital, ya sea que este se encuentre conversión analógico-digital. Los
implementado con micropro-cesadores dispositivo al realizar la conversión. conversores más comunes son de
o con microcontroladores. La señal analógica que ingresa al 8 bits de resolución, pero también
conversor es dividida en una serie existen de 10 bits, 12 bits, 16 bits,
Resolución de pequeñas fracciones. Cuanto 20 bits y 24 bits. Es importante destacar
de los conversores A/D mayor sea la resolución del conversor, que cuanta mayor precisión tiene
La resolución de un conversor A/D es más pequeñas serán las fracciones el conversor, más lento es; por lo
un parámetro muy importante porque y, por lo tanto, más aproximada tanto, si la señal de entrada varía muy
nos indica la precisión que tendrá el será la conversión al valor real. rápidamente, se producirán errores.

> LOS INICIOS DE LOS A/D


Los conversores A/D que se usaron en las primeras PCs para las placas de
sonido eran de 8 bits. Su resolución limitada generaba sonidos sintéticos.
Luego fueron superados por los conversores de 16 bits, que dieron vida a
las tarjetas de sonido como la Sound Blaster. Sin embargo, actualmente
contamos con conversores muy superiores, mediante los cuales podemos
digitalizar señales con alta precisión.

C02.indd 70 13/06/11 23:29


71 Conversores analógico-digitales

REGISTRO RESISTENCIAS 28 24 22 21
> En la figura PONDERADAS 1 1 1 1
1 1 1 0
podemos ver un R 1 1 0 1
conversor D/A 24
1 1 0 o
2R 1 0 1 1
por resistores 23
ENTRADA
1 0 1 o
1 o 0 o
4R
ponderadores. 22 0 1 1 1
0 1 1 o
La dificultad que 8R
21 0
o
1
1
o
0
1
o
presenta este o 0 1 1
o 0 1 o
método radica o 0 o 1
CLOCK
en conseguir o o 0 o

comercialmente
los valores de los CLOCK NIVEL ANALÓGICO Y SU CORRESPONDIENTE EN BINARIO
resistores.

Conversores lo tanto, la clave de la conversión.


digital-analógicos Existen dos redes perfectamente
Existen varios métodos para obtener
la conversión digital-analógica. Para
Para pasar un valor diferenciadas que cumplen este co-
metido: la de resistores ponderados
conseguir pasar un valor binario a un
valor de tensión analógico equiva-
binario a uno de y la red R-2R. Para explicar este con-
cepto, supongamos que disponemos
lente, se recurre a una red de resis-
tencias. Esta genera una tensión en
tensión analógico de un registro de 8 bits, que puede
ser cargado con cualquier valor
función de los niveles binarios que se
encuentren en un momento dado en
equivalente, se recurre desde 00 hasta FF.
Una red ponderada de resistores
cada uno de los bits que intervienen
en el proceso.
a una red de resistores. consistirá en conectar un resistor
en cada salida del registro (de allí su
La mencionada red resistiva es, por nombre “ponderada”), de modo

PI C 1 8 F 2 5 2 5 / 2 6 2 0 / 4 5 2 5 / 4 6 2 0
Primary Oscillator LP, XT, HS, RC, EC
OSC2
Sleep HSPLL, INTOSC/PLL
4 x PLL
OSC1 OSCTUNE<6>
Secondary Oscillator T1OSC Peripherals
MUX

T1OSO
T1OSCEN
Enable
Oscillator
T1OSI OSCCON<6:4> Internal Oscillator
OSCCON<6:4> 8 MHz CPU
4 MHz111
Internal
Oscillator 110
2 MHz IDLEN
Block 101 Clock
1 MHz
Postscaler

8 MHz 100 Control


MUX

Source 500 MHz


8 MHz 011
(INTOSC) 250 MHz
010
INTRC FOSC3:FOSC0 OSCCON<1:0>
Source 125 MHz
001
Clock Source Option
1 31 MHz 000 for Other Modules
31 kHz (INTRC) 0

OSCTUNE<7>
WDT, PWRT, FSCM
and Two-Speed Start-up

> EEste
t conversor D/A ddell ti
tipo R
R-2R
2R utiliza
tili solo
l ddos clases
l di
distintas
ti t dde resistores;
i t sin
i embargo,
b su construcción
t ió necesita
it más
á
resistores que el método ponderado.

C02.indd 71 13/06/11 23:29


MICROCONTROLADORES 72

que los valores de los resistores por


conectar desde el bit de mayor peso
V r e f+ V i n
hasta el de menor peso son R, 2R, 4R,
8R, 16R, 32R, 64R y 128R. R/2 +
Si una vez conectados estos -
resistores, se aplican valores binarios

...
R +
de 00 a FF en forma consecutiva,
-
se generará una rampa ascendente (2 N -1 )-to-N N

...
D out
de 255 escalones, donde cada uno R + encoder
corresponde a un valor binario. -
La conversión D/A también

...
R +
puede realizarse mediante otro
-
procedimiento denominado red de
R/2
resistores R-2R. En este sistema,
V r ef -
a cada bit que sale del registro
se le conecta un resistor de valor 2R
y, en el extremo de este, se coloca > En la figura observamos un conversor
un resistor de valor R. estático de 4 bits, mediante el cual
Por ejemplo, si R vale 10K, 2R vale ilustramos su constitución interna.
20K. Como se puede apreciar,
en esta red el valor óhmico de los
resistores R determina el valor de
2R, que es el doble de R (2R = 2 x R).
Este sistema tiene la ventaja de que
emplea solo dos valores de resistores > VELOCIDAD como conversor paralelo. La salida
distintos. La salida de señal analógica de los comparadores se aplica
se toma después del resistor DE CONVERSIÓN a un codificador de prioridad digital,
en serie del bit de mayor peso. el cual genera un número binario
La principal ventaja que tienen
según la entrada que se haya
Conversores los conversores estáticos o de
activado. De este modo, cada
analógico-digitales (ADC) tipo flash es su velocidad de comparador dispara una entrada,
La conversión analógico-digital conversión. Como la señal de la cual, a su vez, genera un código
consiste en transformar valores entrada se aplica simultánea- binario en la salida del codificador.
analógicos en digitales. Es el proce- mente a todos los conversores, El método de conversión
so inverso a la D/A. En este caso, a el único tiempo de retardo que es muy sencillo, ya que la tensión
cada valor analógico aplicado en la existe es el de propagación del de entrada se aplica a la entrada
entrada del conversor le correspon- de comparación de todos los
comparador y el del codifica-
de un valor digital de salida, dentro comparadores. Como resultado,
dor binario. Por esta causa, los
de los que puede generar el con- estos activan su salida cuando la
versor. La precisión del conversor conversores de este tipo son tensión de comparación supera a
estará dada por la cantidad de bits los más rápidos del mercado. la de referencia. Pero, del sistema,
que formarán al resultado de la con- solo sale un código binario, pues el
versión. Para obtener la conversión codificador de prioridad únicamente
A/Dm existen varios métodos; aquí genera una salida equivalente a la
trataremos solo los más represen- Conversor estático o flash entrada de mayor peso que esté
tativos: Este tipo de conversor es el más activa, y el resto es ignorado. Si bien
rápido de todos. Está formado por este método es rápido y eficiente,
Conversor estático o flash una cadena de comparadores que tiene el inconveniente del tamaño y
Conversor dinámico o de rampa toman su voltaje de referencia desde del costo del conversor,
Conversor de doble rampa un array de resistores. Como todos porque se necesitan 255
Conversor SAR o por los comparadores se encuentran comparadores para construir
aproximación sucesiva en paralelo, el sistema es conocido un conversor de 8 bits.

C02.indd 72 13/06/11 23:29


73 Conversores analógico-digitales

Reloj

Registro
tipo Latch > El conversor
Entrada
dinámico o de
de señal + 1 1 24 rampa simple es
R 2 2 23
- 3 3 22 más económico
IC 1 IC 2a
4 4 21 que el estático.

Salida de datos
5 5 20
6 6 19 La salida de la
7 7 18 conversión se
8 8 17 lee desde la
9 9 16
10 10 15 salida del registro
11 11 14 tipo LATCH.
12 12 13
Control IC3 IC4
de rampa

Conversor de rampa
simple o dinámico corrimiento afectará el resultado
Este tipo de conversor es más de la conversión. Este problema se
económico y eficiente que el ante- > APLICACIÓN DE LOS compensa en el sistema de conver-
rior. Se lo suele denominar conversor CONVERSORES sión de doble rampa, que es más
A/D de rampa simple o dinámico, lento pero mucho más estable.
y se construye a partir de un conta-
Este tipo de conversores, con
dor digital y un comparador. Conversor de doble rampa
Cuando el conversor arranca, tanto ligeras modificaciones, ha sido
Este tipo de conversor subsana las
el contador como el comparador adoptado por su simplicidad deficiencias del sistema de rampa
inician en cero. Como la salida del para la conversión de audio en simple, pero es más lento que su
comparador tiene un nivel lógico formato digital, en cuyo caso antecesor. Elimina el efecto del
cero, una compuerta AND inhibe el se denominan conversores tipo corrimiento del voltaje de rampa
paso de la señal de clock hacia el sigma-delta. Los procesadores a lo largo del tiempo, y también utiliza
contador. Al aplicarse una señal en de efecto para guitarras eléc- un integrador de entrada.
la entrada del comparador, dado que Este circuito está formado por un am-
tricas, al igual que los pedales
la entrada de referencia de este vale plificador operacional y un capacitor
de efecto digitales, lo emplean
cero, la salida del comparador pasa en el lazo de realimentación. Cuando
a uno. Esto habilita la compuerta para generar la conversión, aplicamos una tensión positiva a
AND, que deja pasar los pulsos con la variante de que la salida la entrada del integrador, la salida
de clock al contador. del comparador se aplica di- crece, pero en sentido negativo. Dicha
De esta forma, el comparador rectamente a la entrada de un tensión provoca que la salida del
comienza a incrementar su estado procesador de señales digital. comparador pase a uno, lo que activa
de cuenta. La salida del contador se la AND, que permite el paso de los
envía hacia un registro tipo LATCH y, pulsos de clock que hacen avanzar al
al mismo tiempo, a un conversor D/A, contador. La rampa negativa generada
mediante el cual se genera la tensión binario de la conversión de la señal por el integrador tiene un tiempo fijo,
de referencia. De esta manera, de entrada. determinado por el RC del integrador.
la referencia comienza El tiempo de conversión depende Después de este tiempo, el circuito de
a incrementarse, y cuando llega del nivel de la señal de entrada: control pone a cero el contador y, tam-
al valor de la tensión de entrada, cuanto más grande sea, mayor será bién, pone la entrada del integrador
la salida del comparador pasa a el tiempo de conversión. La principal a una tensión de referencia negativa.
cero. Esto desactiva la AND e inhibe desventaja del conversor de rampa En estas condiciones, el integra-
el paso de la señal de clock. El simple es su inestabilidad en la ge- dor genera una rampa positiva. El
contador se detiene y se genera la neración de la rampa. Por otra parte, contador iniciará su cuenta hasta que
señal para que el registro tipo LATCH como no existe una sincronización la salida del integrador llegue a cero,
capture el estado de cuenta y lo entre la señal de clock y la gene- lo que provocará que el comparador
presente en su salida como el valor ración de la rampa, cualquier entregue cero en su salida.

C02.indd 73 13/06/11 23:29


MICROCONTROLADORES 74

El circuito de control detecta el flanco


negativo producido por la salida del
comparador y memoriza en el LATCH
de salida el valor del contador. Este
número binario es el valor digitalizado
de la señal de entrada.
Cuando se aplica la referencia nega-
tiva en la entrada del integrador,
el tiempo requerido por este para
retornar a cero depende de la
magnitud de la señal de entrada.
Cualquier variación en el circuito
integrador generador de la rampa
se cancela automáticamente
en este retorno. El gran problema
que presenta este conversor es su
extrema lentitud: por lo general,
se necesitan unos 100 ms para efec-
tuar un ciclo completo de conversión.
Este tipo de conversor se encuentra
en el voltímetro TC7106/7107 diseñado
por Microchip y otras compañías.

Reloj
Integrador
de entrada Registro
Comparador tipo Latch
Señal +
de entrada SW1 + 1 1 24
- 2 2 23
R1 IC5 - R
IC1 IC2a 3 3 22
C1 4 4 21
Salida de datos

> En el diagrama
5 5 20
vemos el pin out 6 6 19
del voltímetro 7 7 18
TC7106/7 basado 8 8 17
9 9 16
en el conversor 10 10 15
de doble rampa. 11 11 14
12 12 13
-Vref IC3 IC4
Circuito de control
y temporización

> VOLTÍMETRO DE 3 ½
A mediados de los años 80, la empresa Intersil, que desarrollaba soluciones
embebidas para voltímetros, presentó su voltímetro de 3½ dígitos basado en
un conversor de doble rampa. Este circuito integrado, denominado ICL7106/7,
fue producido, luego, por otros fabricantes como Microchip (TC7106/7). Su
uso se extendió ampliamente en la fabricación de testers digitales.

C02.indd 74 13/06/11 23:29


75 Conversores analógico-digitales

Arranque
Reloj o Clock de conversión

Entrada de Comparador
señal analógica
+ Registro de aproximaciones Final de conversión (EOC)
- sucesivas (SAR)
IC1

Salida de datos
> Diagrama
interno
esquematizado
de un conversor Vref: Tensión Registro
tipo SAR. de referencia de salida

Conversor DAC

START CLOCK

8 BIT A/D
8 ANALOG IMPUTS

CONTROL & TIMING


END OF CONVERSION
8 CHANNELS (INTERRUPT)
MULTIPLEXING
ANALOG
SWITCHES
S.A.R.

COMPARATOR
8 BIT OUTPUTS

TRI
STATE®
OUTPUT
LATCH
BUFFER
SWITCH TREE
3 BIT ADDRESS

ADDRESS
LATCH
AND DECODER
256 RESISTOR LOADER
ADDRESS
LATCH
ENABLE
VCC GND REF (+) REF (-) OUTPUT
ENABLE

En la figura vemos el pin out del ADC0808, de la firma National Semiconductors. En la actualidad, otros fabricantes
también desarrollan este tipo de conversor.

C02.indd 75 13/06/11 23:29


ACTIVIDADES

TEST DE AUTOEVALUACIÓN EJERCICIOS PRÁCTICOS

1. Mencione las características de un microprocesador. 1. Realice un diagrama que muestre los componentes
de un microprocesador.

2. Enumere los componentes que integran un micropro-


cesador. 2. Experimente con algún lenguaje de alto nivel como
COBOL o BASIC.

3. ¿Qué es y qué función cumple la ALU?


3. Genere una línea de tiempo en la cual se identifique
la evolución de los microprocesadores.

4. ¿Para qué sirve el bus de direcciones?

4. Analice el esquema de un conversor tipo SAR.

5. Entregue algunos ejemplos de periféricos de entrada


y salida.

6. ¿Qué ventajas proporciona el uso del lenguaje en-


samblador?

7. ¿Qué es el ciclo de máquina?

8. Detalle las características de la arquitectura Von


Neumann y Harvard.

9. ¿Cuál es la principal función de las interrupciones?

10. ¿Qué son los conversores analógico-digitales?

C02.indd 76 13/06/11 23:29