You are on page 1of 20

Trabajo de investigación de las Unidades 3 y 4

Martı́n Valencia Flores.

20 de Marzo 2014
Índice

3. Familias de microcontroladores, 2 4.2.3 Instrucciones de Transfer-


3.1 Familias Clásicas de Microcon- encia de Datos, 15
troladores, 2 4.2.4 Instrucciones Lógicas y de
3.1.1 Familia Intel 8051, 3 Manipulación de bits, 14
3.1.2 Familia Motorola 68HC11, 4.3 Dispositivos Periféricos, 16
4 4.3.1 Temporizadores, 16
3.2 Familias Modernas de Micro- 4.3.2 Puerto Serie, 17
controladores, 5 4.3.3 Interrupciones, 17
3.2.1 Familia Microchip, 6 4.3.4 Convertidores A/D y D/A,
3.2.2 Familia Atmel, 6 18
3.3 Microcontroladores de Vanguardia, 4.3.5 Periféricos de Conectivi-
7 dad, 18
4. Estudio de un microcontrolador, 8 4. Estudio de un microcontroregistro-
4.1 Arquitectura de Microcontro- lador
lador, 8 4.2 Conjunto de Instrucciones
4.1.1 Diagrama de Bloques, 8 4.2.6 Instrucciones de control de
4.1.2 Terminales de la pastilla, flujo de programa, 15
9
4.1.3 Estructura de los puertos , 18
de E/S, 10
4.1.4 Organización de la Memo-
ria, 10
4.1.5 Registros Especiales, 11
4.1.6 Memoria Externa, 11
4.1.7 Dispositivos Periféricos In-
ternos, 12
4.2 Conjunto de Instrucciones, 12
4.2.1 Modos de direccionamiento,
12
4.2.2 Instrucciones de Entrada/Salida,
13
4.2.3 Instrucciones Aritméticas,
13

1
3. Familias de Microcontroladores

Introducción

El propósito de una herramienta es el facilitar y optimizar el trabajo


en el que se le aplica, aunque en ocasiones la misma herramienta puede
representar una serie de limitantes. Esto nos ha impulsado a mejorar y di-
versificar el arsenal a nuestra disposición, ya sea haciendolo lo mas genérico
posible, especializandolo o rediseñandolo en su totalidad. Lo mismo sucede
con los microcontroladores (µC).

Conforme pasaron los años, los primeros microcontroladores, aunque aun


eran una herramienta útil, ya no satisfacı́an del todo los requerimientos de
los sistemas que surgı́an como soluciones a los diversos problemas que dı́a
a dı́a se presentaban. Esto llevó a su constante retrabajo y evolución, sin
perder ciertas caracteristicas compartidas con sus antecesores, empezaban
las primeras familias de microcontroladores.

Este suceso sumado al hecho de que los microcontroladores son fabri-


cados por diferentes compañias, bajo diferentes diseños y adaptaciones de
arquitecturas, dio origen a la gran variedad de microcontroladores que hoy
existen(o existieron, según sea el caso), en el mercado.

Este reporte tiene como fin el mencionar algunas de estas familias, asi
como el desglosar el hardware de un microcontrolador de manera génerica.

3.1 Familias Clásicas de Microcontroladores

Como se mencionó anteriormente, con el paso del tiempo fueron surgiendo


diferentes modelos de microcontroladores y mejoras sobre los mismos, dando
paso a su vez a las diversas familias de microcontroladores, algunas más cono-
cidas que otras.

Entre las diferentes familias de microcontroladores puede considerarse


como clásicas a aquellas que tuvieron éxito comercial, gran aceptación en el
medio y una repercución que permanece hasta el dia de hoy.
Entre todas ellas podemos mencionar dos: la familia Intel 8051 y la familia
Motorola 68HC11.

2
3.1.1 Familia Intel 8051

La familia Intel 8051, támbien conocida como MCS-51, inició con el lan-
zamiento del Intel 8051 (por ello el nombre de la familia). Esta familia se
integra de microcontroladores de 8 bits orientados a aplicaciones de control,
los cuales mantienen una compatibilidad entre versiones.

Estos microcontroladores son construidos bajo la tecnologı́a HCMOS 1


(semiconductor complementario metal-oxido de alta densidad) y se encuen-
tran en encapsulados tipo DIP footnoteDual In-line Package, CERDIP2 ,LCC
3
y PLCC 4 de 40 o 44 lı́neas (Pins), variando ambas según el modelo.

Entre las caracteristicas de estos microcontroladores resaltan:

• Cuatro puertos 8-Bit para E/S.

• Seguridad contra pirateria en la EPROM.

• 111 instrucciones (64 de un solo ciclo)

• Temporizadores y Contadores internos.

De igual manera podemos comparar las especificaciones generales de cada


miembro de la familia MCS-51 en la siguiente tabla:

Dispositivo Mem. de Prog. Mem. de Datos Timers Interrupciones


8052AH 8K x 8 ROM 256 x 8 RAM 3 x 16-Bit 6.
8051AH 4K x 8 ROM 128 x 8 RAM 2 x 16-Bit 5.
8051 4K x 8 ROM 128 x 8 RAM 2 x 16-Bit 5.
8032AH —————— 256 x 8 RAM 3 x 16-Bit 6.
8031AH —————— 128 x 8 RAM 2 x 16-Bit 5.
8031 —————— 128 x 8 RAM 2 x 16-Bit 5.
8751H 4K x 8 EPROM 128 x 8 RAM 2 x 16-Bit 5.
8751H-8 4K x 8 EPROM 128 x 8 RAM 2 x 16-Bit 5.

Tabla 1: Especificaciones de Versiones de la Familia MCS-51.


1
High-density complementary metal-oxide semiconductor
2
Ceramic DIP
3
Leaded Chip Carrier
4
Plastic LCC

3
Cabe destacar que el 8751H es la version EPROM del 8051AH, mientras
que el 8052AH es una version mejorada del 8051AH.

3.1.2 Familia Motorola 68HC11

La familia Motorola 68HC11 esta compuesta por varios microcontro-


ladores de 8 bits - 16 bits (lo cual se logra por los registros dobles) diseñados
para un bajo consumo de energia.

El CPU de cada integrante de esta familia es el M68HC11, y entre las


series que conforman a la familia (A, B, C, D y E) la mas conocida es la serie
E, cuyas caracterı́sticas principales son:

• Modos de espera y alto para ahorro de energı́a.

• Seguridad contra pirateria en la EEPROM, cuyos tamaños pueden ser


de 512 o 2048 bytes (o puede no incluir EEPROM).

• Circuito de interrupción de tiempo real.

• El MC68HC11 utiliza un mapa de opcode5 de 4 páginas para incremen-


tar el listado de instrucciones disponibles.

• RAM de 256, 512 o 768 bytes con retención de datos durante el modo
de espera (o puede no incluir RAM).

• Convertidor Análogo a Digital (A/D) de 8 bits y 8 canales.

Fabricados originalmente por Motorola, hoy en dia los manufactura Freescale.


Estan construidos bajo tecnologı́a HCMOS y se encuentran en encapsulados
tipo DIP, CLCC6 , QFP7 , TQFP8 y SDIP9 , de 48, 52, 56 y 64 lı́neas según,
variando según el modelo de microcontrolador.

5
Operation Code, o códigos de operacion en español
6
Ceramic Leaded Chip Carrier
7
Quad Flat Pack
8
Thin QFP
9
Shrink DIP

4
De igual manera podemos comparar las especificaciones generales de cada
miembro de esta serie en la siguiente tabla:

Dispositivo RAM ROM EPROM EEPROM


MC68HC11E0 512 —— —— ——
MC68HC11E1 512 —— —— 512
MC68HC11E9 512 12 K —— 512
MC68HC711E9 512 —— 12 K 512
MC68HC11E20 768 20 K —— 512
MC68HC711E20 758 —— 20 K 512
MC68HC11E2 256 —— —— 2048

Tabla 2: Especificaciones de Versiones de la Familia MCS-51.

3.2 Familias Modernas de Microcontroladores

El constante desarrollo de nuevas tecnologı́as no solo permite mejoras a


las herramientas ya disponibles, sino que impulsa la creación de nuevas. Gra-
cias a esto, actualmente contamos con más que solo las familias desarrolladas
en las decadas pasadas, contamos con nuevas familias de microcontroladores,
las cuales implementan nuevas arquitecturas, diferentes tipos de memoria,
etc.

Estas nuevas familias, las cuales pueden identificarse como ”modernas”,


han permitido el abrir una gama en el ambito de los sistemas empotrados,
puesto que algunas de ellas permiten una interacción mas amigable entre
programador y microcontrolador. Esto no quiere decir que reemplazaron a
las familias clásicas, ya que en algunos sistemas minimalistas tiene un mayor
beneficio en costo y eficiencia el utilizar un microcontrolador mas reducido.

Entre estas familias modernas se destacan la familia Microchip y la familia


Atmel, siendo esta última una de las mas exitosas comercialmente.

5
3.2.1 Familia Microchip

Los microcontroladores de la familia Microchip son del tipo PIC, los cuales
se especializan en el control de periféricos.

Entre sus caracteristicas principales se encuentran:

• Basados en una arquitectura RISC y Harvard modificada.

• Tienen un listado de instrucciones realmente reducido (por lo regular


se encuentran en las decenas, siendo comun 35 a 90 instrucciones)

• Contiene una gran cantidad de periféricos internos, desde UART (al-


gunos tienen hasta 6), modulo para USB 2.0, interfaz con ethernet,
etc.

Estos PICs estan diseñados como microcontoladores especializados en


periféricos de alto desempeño, esta caracteristica junto con la lista de in-
strucciones bastante reducida, los separa de sus contemporaneos de Atmel y
otras familias.

3.2.2 Familia Atmel

Esta familia de microcontroladores es quizás, despues de Intel, la mas


conocida y prolı́fera de las familias de microcontroladores. La familia Atmel
AVR es conocida por ser la parte integral de Arduino, la plataforma open
source de prototipado electronica.

Entre sus caracterı́sticas principales destacan:

• Basados en una arquitectura RISC y Harvard modificada.

• Soporte a hardware Java (implementación de una máquina virtual de


Java).

• Tiene dos variantes en su microarquitectura: AVR32A (para aplica-


ciones pequeñas y basadas en costo) y AVR32B (en la cual la latencia
y uso de interrupciones es imperativa).

6
Entre los modelos más conocidos tenemos:

• ATmega 644/644p/1284/1284p.

• ATmega 328p

• ATmega 640/1280/2560

• Serie ATtiny

Cada miembro de las series mencionadas son microcontroladores de 8 bits


que varian en tamaño de memoria interna disponible, mientras mantienen el
diseño nuclear entre si.

3.3 Microcontroladores de Vanguardia

Cuándo uno oye o lee la palabra vanguardia, por lo general, lo primero


en venir a nuestras mentes tiende a ser tecnólogia de punta, lo mas nuevo,
lo mas actual. Esto, aunque hasta cierto punto verı́dico, no es totalmente
acertado. Por vaguardia nos podemos referir a una idea avanzada, o a la
mejora de una solución ya establecida con ayuda de las herramientas que ya
tenemos disponibles.

Llevando esto al ambiente de sistemas empotrados, no neceariamente


necesitamos utilizar lo mas nuevo para tener equipo de vanguardia. Un
claro ejemplo serian las familias modernas de microcontroladores Atmel y
Microchip. Estas familias, que ya tienen sus decadas, pueden considerarse
como tecnologia de vanguardia por la versatilidad que otorgan a donde son
aplicados.

Un claro ejemplo es el uso de la plataforma Arduino, la cual utiliza mi-


crocontroladores Atmel AVR, y la gran variedad de proyectos y aplicaciones
que se le va dando gracias al ingenio de todos los que participan en las comu-
nidades que se juntan alrededor de dicha plataforma. Otro ejemplo seria el
uso de los PICs en uso médico, en el campo de la audiometrı́a por ejemplo.[4]

7
4. Estudio de un microcontrolador

Introducción

Toda herramienta, por más simple que sea, tiene componentes, formas
de utilizarse y en algunos casos variantes especializadas. El conocer como
funcionan nos permite ser mas eficientes al momento de aplicarlas. Los mi-
crocontroladores no son la excepción.

Podemos dividir el estudio de un microcontrolador en 3 partes generales:


su arquitectura, su conjunto de instrucciones y los periféricos que lo compo-
nen.

4.1 Arquitectura de Microcontrolador

La arquitectura de un microcontrolador es nuestro listado, nuestro mapa,


aquello que decide muchos de los detalles principales de nuestro dispositivo.

Esto es porque el tener definida una arquitectura significa tener una orga-
nización conceptual y estructural del sistema y de los recursos de los cuales
dispone, los cuales van desde los puertos de entrada y salida, memoria interna
y externa (ası́ como su mapeo y organización) los perifericos con los que se
cuenta, etc.

Lo mas común es plasmar todas estas variables y configuraciones de man-


era sencilla y comprensible, lo cual se logra realizando diagramas de bloques
de la estructura del microcontrolador.

4.1.1 Diagrama de Bloques

Un diagrama de bloques es tal y como su nombre lo dice, un diagrama


hecho de bloques de diversos tamaños que representan los componentes de
un sistema, en este caso un microcontrolador.

Estos tienen como fin el mostrar de forma sencilla, intuitiva y gráfica


como se interconectan los diferentes componentes principales del encapsu-
lado, lo cual nos permite el visualizar y comprender que es lo que hace cada
operación o que flujo seguirı́a una rutina que desarrollemos.

Los diagramas de bloques tienden a mostrar fuertemente las caracterı́sticas

8
de la arquitectura del sistema que estan representando.

A manera de ejemplo, a continuación se muestra el diagrama de blo-


ques genérico de la familia MSC-51:

Figura 1: Diagrama de bloques genérico del MSC-51

4.1.2 Terminales de la pastilla

Siendo que el microcontrolador esta en un encapsulado, la única man-


era que tenemos de interactuar con el es mediante sus terminales, las cuales
varian en cantidad dependiendo del modelo que manejamos.

Cada una de estas terminales tiene una función especı́fica, la cual de-
pendera de lo que se le alimente (nivel bajo o nivel alto de voltaje). Las
terminales que son por defecto en todo microcontrolador son VCC (conexión
a positivo) y GND (conexión a tierra).

9
A continuación se muestra a modo de ejemplo las terminales de un mi-
crocontrolador ATmega 328p (version PID):

Figura 2: Terminales del encapsulado de un ATmega 328p

4.1.3 Estructura de los puertos de E/S

Los puertos de entrada y salida son componentes fı́sicos que reciben y


envian información desde y hacia el microcontrolador, esto lo logra con la
ayuda de convertidores análogo-digital o digital-análogo según sea el caso.

Para poder conservar la información y manipularla debe de almacenarse


en algún lugar, razón por la cual estos puertos estan mapeados en una sección
especifica de memoria.

Estos puertos tienden a ser tanto de entrada como de salida, por lo que se
les puede programar según la dirección se requiera, por medio de las señales
de control pertinentes.

4.1.4 Organización de la Memoria

La memoria de un microcontrolador puede dividirse en dos partes gen-


erales: la memoria de interna (registros) y la memoria externa. La memoria
puede reservarse para ciertas acciones especı́ficas, por lo que no inusual que
la memoria este mapeada.

10
El reservar memoria tiene la función de separar el espacio para las di-
versas acciones que realiza el microcontrolador, asi como restringir de cierta
manera el acceso a ciertas secciones que solo ciertos procesos pueden utilizar.

A continuación se muestra la organización de la memoria de un ATmega


644p:

Figura 3: Organización de la memoria de un ATmega 644p

4.1.5 Registros Especiales

Los registros especiales se refieren a aquellos registros de proposito es-


pecı́fico dentro del microcontrolador, tales como: registros de control de
periféricos, control de entrada/salida, contador de programa, etc.

Estos registros, aunque forman parte de la memoria de registros se difer-


encian de los registros de proposito general por ser registros restringidos (ya
que el modificarlos podria causar problemas con el funcionamiento del mismo
microcontrolador).

4.1.6 Memoria Externa

Debido a que el microcontrolador no posee una gran cantidad de memo-


ria llega a ser necesario (según los requerimientos del sistema a desarrollar)
el incluir una memoria externa. Esta memoria es un componente ajeno al

11
mismo encapsulado, y se utiliza por lo general para almacenar datos prede-
terminados, o simplemente para almacenar información y ser mas eficientes
con la memoria interna (dedicandola a otras tareas).

Algunos microcontroladores, como el M68HC11E, poseen un modo ex-


pandido de operación, el cual permite accesar un modulo externo de memoria
por medio de sus puertos y con la ayuda de un reloj interno para habilitar
transferencias. A su vez este requiere de ciertas señales de control para de-
terminar tanto acción como dirección.

4.1.7 Dispositivos Periféricos Internos

Los dispositivos periféricos internos son aquellos que ya estan incluidos


con el encapsulado, como es el caso de UART10 , SPI 11 , Contadores/Temporizadores,
entre otros. Tomando en cuenta el diseño de un microcontrolador, se puede
deducir que este tipo de periféricos son bastante comunes, si no es que vienen
por defecto.

Estos periféricos tienen diversas funciones, desde el proporcionar una in-


terfaz a los periféricos externos hasta el facilitar el flujo de datos tanto en
recepción y transmisión.

4.2 Conjunto de instrucciones

El conjunto de instrucciones esta dado por la arquitectura y diseño del


microcontrolador, el cual puede llevar a un conjunto de instrucciones tipo
CISC (una gran cantidad de instrucciones complejas) o instrucciones tipo
RISC (una cantidad reducida de instrucciones sencillas), esto dependiendo
de los componentes internos que se decidieron al implementar la arquitecura.

A estas diferentes instrucciones se les puede agregar en grupos generi-


cos, como instrucciones de E/S, aritméticas, lógicas y de manipulación de
bits, de transferencia de datos y de control. Estas instrucciones a su vez
se valen de los modos de direccionamiento para acceder a las direcciones en
memoria e identificar como se manipularán los operandos de la acción a re-
alizar.

10
Receptor-Transmisor Ası́ncrono Universal
11
Interfaz Periférica Serial

12
4.2.1 Modos de direccionamiento

Los modos de direccionamiento, son las diversas maneras en las que se


puede accesar a la memoria de datos de un microcontrolador. Este tipo de
direccionamiento se ven reflejados en diversas instrucciones, entre, ellas ob-
viamente, las de transferencia de datos.

Existen diversos tipos de direccionamiento, pero los mas comúnes son:


direccionamiento a registro, directo, indirecto, relativo a registro, entre otros.
Explicaremos brevemente algunos de ellos en el siguiente listado:

• Direccionamiento a Registro: Se usa para transferir un byte o una


palabra desde un registro fuente o desde una localidad de memoria,
hacia un registro destino o localidad de memoria. [8]

• Direccionamiento Directo: Mueve un byte o palabra entre una lo-


calidad de memoria y un registro. [8]

• Direccionamiento Indirecto: Se usa para transferir un byte o pal-


abra entre un registro y una localidad de memoria direccionada por el
registro base o el registro ı́ndice. [8]

• Direccionamiento Relativo a Registro: Mueve un byte o palabra


entre un registro y la localidad de memoria direccionada por un registro
ı́ndice o base mas un desplazamiento. [8]

4.2.2 Instrucciones de Entrada/Salida

Aunque las direcciones de los dispositivos de entrada y salida estan ma-


peados en memoria, no nos es posible accesarlos como registros o direcciones
comunes. Para ello se requiere el uso de las instrucciones de entrada/salida,
estas instrucciones por lo general son pocas y con mnemónicos genericos: IN
y OUT.

La estructura de la sintaxis depende del modelo, pero los requisitos son


los mismos para todos: especificar el puerto y localidad de memoria a utilizar.

4.2.3 Instrucciones Aritméticas

Las instrucciones aritméticas son aquellas, tal como su nombre indica, que

13
nos permiten realizar operaciones aritméticas simples, tales como la suma,
resta, multiplicacion, incremento y decremento. Para esto, el microcontro-
lador hace uso de la ALU12 .

El uso de las operaciones aritméticas es de gran impacto en el fun-


cionamiento del microcontrolador, desde las mas sencillas hasta las mas com-
plicadas, ya que, por ejemplo, cómo indicar a un ciclo que desarrollemos
cuando parar si no podemos incrementar o decrementar nuestras banderas?

A manera de ejemplo, se listan a continuacion algunas de las instruc-


ciones artiméticas del Atmega 640/1280/2560:

• ADD (Suma de dos registros)

• ADC (Suma de dos registros con acarreo)

• SUB (Resta de dos registros)

• SBC (Resta de dos registros con acarreo)

• INC (Incremento)

• DEC (Decremento)

• MUL (Multiplicación sin signo)

4.2.4 Instrucciones Lógicas y de Manipulación de bits

Las instrucciones lógicas y de manipulación de bits, al igual que las ar-


itméticas, son parte integral del funcionamiento de un microcontrolador y su
ejecución depende de la ALU del mismo microcontrolador.

Estas operaciones tienen una repercusion marcadas ya que al manipu-


lar bits ya sea por rotación de los mismos, enmascarandolos con las opera-
ciones lógicas o simplemente el cambiarlo directamente, nos permite tener
una mayor versatilidad al momento de leer y enviar información, codificarla
o decodificarla o incluso filtrar las lecturas y emisiones de datos.

A manera de ejemplo listaremos algunas de las operaciones lógicas y de


manipulacion de bits que maneja el M68HC11E:
12
Unidad Aritmético Lógica por sus siglas en inglés

14
• LSL (Rotación lógica a la izquierda)

• LSR (Rotación lógica a la derecha)

• ANDA (Operacion AND con la variable A y memoria)

• NEG (Negación - complemento a dos - del byte en memoria)

• ROL (Rotación a la izquierda)

• ROR (Rotación a la derecha)

4.2.5 Instrucciones de Transferencia de Datos

Las instrucciones de transferencias de datos se utilizan para mover y/o


copiar datos entre direcciones de memoria (incluidos los registros). Esto sirve
para una inmensa variedad de acciones, ya sea para respaldar un dato antes
de una operación, colocarlo en una parte de la memoria accesible para algún
elemento que no tenia acceso a el, entre otros.

Estas instrucciones son las que son más ”cercanas” a los tipos de di-
reccionamiento, ya que poseen ciertas restricciones según sea la organización
de memoria dentro del sistema.

Entre las instrucciones más utilizadas y conocidas se encuentran:

• MOV (Mover entre registros)

• LD (Cargar indirectamente a registro)

• LDI (Cargar inmediato a )

• ST (Almacenar indirectamente)

• STD (Almacenar indirectamente con desplazamiento)

15
4.2.6 Instrucciones de control de flujo de programa

Estas instrucciones, como su nombre lo dice, controlan el flujo del pro-


grama. Son ampliamente utilizadas para crear retardos, variaciones en los
ciclos ya sea por saltos, diversificación segun el resultado de una operación o
función dentro de un ciclo, entre otras.

De manera genérica se listaran algunas de las instrucciones de control


mas utilizadas:

• JMP (Salto)

• CPSE (Comparar, omitir si es igual a)

• NOP (No Operación)

• SLEEP (Dormir)

• RJMP (Salto Relativo)

4.3 Dispositivos Periféricos

Un microcontrolador no esta completo sin los dispositivos periféricos, son


una caracterı́stica que los define como tal y una de las principales diferencias
entre un el y un microprocesador.

Existen diferentes tipos de periféricos, desde los temporizadores, los dis-


positivos de entrada y salida (como lo son los sensores de humedad, luz y
temperatura), etc.

Para este reporte tomaremos en cuenta los temporizadores, puerto serie,


los convertidores de análogo-digital y digital-análogo, ası́ como las interrup-
ciones que estos diversos dispositivos pueden causar.

4.3.1 Temporizadores

Aunque el mismo microcontrolador posee temporizadores entre sus periféricos


internos, en ocasiones se requiere de una mayor precisión en el tiempo, ya
que al usar preescaladores y depender de la frecuencia del microcontrolador
y la cantidad de ciclos que requiere una determinada acción pueden exisitir

16
leves desfases o en el peor de los casos desfases significativos.

Algunos sistemas embebidos requieren un preciso intervalo de tiempo que


los temporizadores internos no pueden otorgar, es aquı́ donde entran los tem-
porizadores externos, los cuales son generalmente de cristal (ya que dan una
señal de reloj estable).

4.3.2 Puerto Serie

El puerto serie es el puerto de comunicación mas usual en los sistemas


computacionales, incluyendo los sistemas basados en microcontrolador.Este
puerto esta basado en el estándar RS-232, el cual facilita la comunicación
entre los diversos dispositivos con los que podrı́a enlazarse nuestro sistema.

En un microcontrolador podemos indentificar como dispositivos que se


comunican de esta manera a los USART/UART. Tomando como ejemplo el
USART/UART del ATmega 644p, se pueden mencionar las siguientes carac-
terı́sticas:

• Operación Full Duplex (es decir los registros de transmisión y recepción


son independientes uno del otro).

• Operación Sı́ncrona o Ası́ncrona.

• Soporte para paquetes de 5, 6, 7, 8 o 9 bits de datos.

• Doble velocidad en la comunicación ası́ncrona.

• Tres interrupciones independientes: RX Complete, TX Complete y TX


Data Register Empty.

4.3.3 Interrupciones

Las interrupciones son señales que indican que ha ocurrido un suceso que
necesita ser atendido de inmediato. Las interrupciones tienen una jerarquı́a
mayor que cualquier otra función en nuestro sistema en cuanto a urgencia.
Estas señales son emitidas por los periféricos bajo ciertos eventos, como un
UART que terminó de recibir o transmitir por ejemplo.

17
Al emitirse una interrupción, inmediatamente se identifica y se corre la sub-
rutina correspondiente, al terminar dicha subrutina, en caso de no ser una
interrupción debido a un error en el proceso del sistema, se reestablece el
curso normal de este.

4.3.4 Convertidores A/D y D/A

No toda la información que se maneja es análogica, pero tampoco es


digital es su totalidad, esto puede ocasionar problemas al pasar datos de un
dispositivo a otro, ya que se requieren interpretaciones sobre dichos datos.
Afortunadamente existen los convertidores análogo-digital y digital-análogo.

Tomando como ejemplo el convertidor A/D del ATmega 328p, podemos


observar que la función de este es el tomar voltaje anĺogo y, mediante el uso de
aproximaciones con la ayuda de un voltaje interno de referencia, da un valor
númerico a dicha lectura. Este tipo de dispositivo es muy útil cuando se uti-
lizan periféricos de lectura como los sensores de luz, humedad y temperatura.

En cuanto al convertidor D/A, no existe el módulo como tal, este se


obtiene utilizando modulación PWM13 en conjunto con el A/D del micro-
controlador, y realizando las modificaciones y calculos pertinentes.

4.3.5 Periféricos de Conectividad

Los periféricos de conectividad, como su nombre lo indica, nos permite


conectarnos a otros dispositivos que compartan un protocolo de comuni-
caci’on con nuestro dispositivo. Esto faciita el intercambio de información,
algo crucial en algunos sistemas empotrados, por ejemplo un sistema automa-
tizado de alimentación de parvadas: si se detecta que el recipiente esta vacio,
se puede mandar una señal por algun medio de transmision e interpretarse
para que se de la acción pertinente.

Entre los periféricos de conectividad mas usuales se encuentran:


• Conexión por antenas.
• Via infrarrojo.
• Conexión Ethernet.
• Conexión via USB.
13
Modulación por ancho de pulsos o Pulse-Width Modulation por sus siglas en inglés

18
Bibliografı́a

[1] Atmel. AVR32 Architecture Document, 2011.

[2] Gustavo Galeno. Programación de Sistemas Embebidos. Alfaomega,


México, D.F, 2009.

[3] Steve Heath. Embedded Systems Design. Elsevier Science, Burlington,


MA, 2003.

[4] Diego Fernando Salazar Hugo Armando Gallego B., Hoover Orozco G.
Lab-view y los microcontroladores a la vanguardia de la audiometra.
Scientia et Technica, (34):523–528, 2007.

[5] Intel. MCS-51 8-Bit Control-Oriented Microcomputers, 1988.

[6] Microchip. PIC32MX5XX/6XX/7XX Family Data Sheet, 2009.

[7] Motorola. M68HC11 HCMOS single-chip microcomputer programmer’s


reference manual. Phoenix, Arizona, 1986.

[8] Dr. Leocundo Aguilar Noriega. Sistemas Computarizados. Baja Cali-


fornia, México, 2009.

[9] Lester P. Laskowski Ronald J. Tocci. Microprocessors and Microcom-


puters: Hardware and Software. Prentice-Hall, Englewood Cliffs, New
Jersey, 1982.

[10] Ted Van Sickle. Programming Microcontrollers in C. LLH Technology


Publishing, El Cajon, California, 2001.

[11] Joseph Sifakis Thomas A. Henzinger. The discipline of embedded sys-


tems design. Computer, 40(10):32–40, 2007.

19

You might also like