Vous êtes sur la page 1sur 68

Tema 1

INTRODUCCION A LOS MICROCONTROLADORES

Microcontroladores: Tema1

Conceptos iniciales
Charles
Babbage
Lord
Byron

Mquinas
Analtica

Mquinas
Pensantes

Allan
Marquad

Concepto
de la
Computadora

Piercy
Shelley
Ada
Byron

Charles
Sanders

Organo
de
Conmutain

Mary
Shelley
Augustus
de
Morgan

George
Boole

Frankeystein

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Computadoras mecnicas
DeForest
Clculadora
Mecnica
Comercial

Herman
Hollerith

0.5MDD

Harvard

Iowa State
Cliford
Berry

IBM
1890
MARK1
1944
Tesis
Doctoral

Claude
Shannon

ABC
Conputer

Howard
Aiken

Mquinas
Analtica
Babbage

Allan
Turing

General
Porpuse
Computer

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Computadoras electrnicas
General
Porpuse
Turing
EDVAC
1946
John
Von
Neumann

Moore School

Remington

ENIAC
1946
Sperry
univac

IBM

Control
Data

NCR

Mauchly
Eckert

Adele
Goldstein

Primer
Lenguaje

MAIN FRAMES

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

El Microprocesador

Shockley
Semiconductors

Shokley &
Bardeen

Digital
Equipment
Corp
Transistor

Fairchild
Semiconductors

Intel
(Robert Noyce)
IC

Minicomputadora
PDP-8

ETI
Corporation

Microprocesador
4004
Marcian
Hoff

La Mini
Falda

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Elementos de una computadora


El Procesador o CPU:
Realiza todas las funciones de clculo y control
Dispositivos de entrada:
Sirve para alimentar el programa y los datos
Dispositivos de salida
Sirve para proporcionar los resultados al usuario
Dispositivos de memoria
Almacenar los datos y programas.

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Caractersticas de la Computadora
Tiene la habilidad de ser programadas y operar sin
intervencin humana
Tiene la habilidad de almacenar y proporcionar informacin

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Arquitectura
BUS DE DIRECCIONES
BUS DE DATOS
BUS DE CONTROL

CPU
RAM

ROM

ENT/SAL

Mundo exterior

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

CPU
Central procesing Unit
Administra la actividad del sistema
Realiza la extraccin (Fetch) y ejecucin de las instrucciones (Execute)
Es una mquina de estados que siempre realiza la misma funcin
Instrucction

Complete

EXECUTE

Halt

RESET

FETCH

HALT

-RESET

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Componentes del CPU

Almacena la
instruccin

Controla
al ALU

Realiza
operaciones

10

IR

DECODE

PC

Direcciones
de memoria

Registros
Almacena
resultados
y Operandos

ALU

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

ROM (Read Only Memory)


EPROM
UV
OTP (PROM)
EEPROM
Programables por el usuario, puede ser programada byte a byte
FLASH EEPROM
Programable por el usuario, debe ser programada por sectores
FRAM
Programable por el usuario (ram ferroelctrica), tiempo de vida ilimitado,
puede ser programada byte a byte

11

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

RAM (Ramdom Access Memory)


SRAM
Esttica, puede ser utilizada para almacenamiento no
voltil con respaldo.
DRAM
Barata pero requiere de circuiteria de refresco.

12

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Ciclo de Fetch

Bus de direcciones

PC = N+2

Bus de datos

IP = OPCODE

CPU

-READ

N+1

opcode
Dir

????

13

N+3

????

ram/rom

-READ
DATOS

N+2

OPCODE

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

ALU
Registro
Registro

Bus interno

Acumulador

Acumulador
temporal

ALU

14

Registro de
Estatus

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Bus de Direcciones
Provee la sealizacin necesaria para accesar las
memorias y perifricos
Es unidireccional
La capacidad de direccionamiento del CPU est dado
ser de 2n localidades donde n es el nmero de lneas
del bus de direcciones

15

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Bus de Datos
Es bidireccional
Es la va por donde los datos son ledos o escritos a las
memorias y perifricos
Denota la capacidad de procesamiento del CPU

Se relaciona comunmente con el ancho del Datapath interno y la


cantidad de bits sobre las cuales se pueden realizar las
operaciones

4 bits, 8 bits, 16 bits y 32 bits

16

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Bus de Control

Provee la sealizacin necesaria para


sincronizar la lectura y escritura de
las memorias.
AD, WRITE, PSEN, ALE
Provee seales adicionales para
controlar procesos va hardware
RESET,HOLD, DMARQST
17

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Instrucciones

Cdigo de Operacin

18

Operando 1

Operando n

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Programas

Secuencias de instrucciones que definen la operacin de la


computadora
Aplicacin
Sistema Operativo
Rutinas
de I/O
Hardware

19

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Arquitectura del Microcontrolador


Interrupciones

Perifricos

ROM

RAM

CPU

Microcontrolador es una computadora en un solo circuito integrado


Microprocesador es el CPU solamente el CPU de una computadora
20

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Diferencias desde entre uP y uC el punto de


vista de aplicacin

Microprocesador (uP):
Enfocado a aplicaciones de alto volumen de
procesamiento de datos. Es empleado como el
CPU de una computadora

Microcontrolador (uC):
Aplicaciones medianas pequeas enfocadas al
control para remplazar la circuitera tradicional
SISTEMAS EMBEBIDOS

21

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Aplicaciones del uC

22

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Diferencias desde entre uP y uC el punto de


vista del set de instrucciones
uP:
Instrucciones complejas enfocadas al procesamiento de informacin con
modos de direccionamiento poderosos

uC
Instrucciones enfocadas al control de entradas/salidas, operaciones a nivel
bit y juego de instrucciones compacto
La idea final es que el programa quepa en el ROM interno

23

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Diferencias desde entre uP y uC


A diferencia de una microcomputadora, el microcontrolador
es programado para realizar siempre la misma tarea
(Embedded control)
Los programas desarrollados para el uC son llamados
FIRMWARE
Relacin ROM/RAM
uC = Alta
uP = Baja
24

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

uC de Sabores

Los microcontroladores los podemos caracterizar por:

Arquitectura
Harvard, Von-Neumman

Tipo de instrucciones
RISC o CISC

Tecnologa de fabricacin
CMOS,NMOS etc.

25

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Arquitectura Von Neumman


Utiliza un slo bus de datos para las instrucciones y
Datos
Programa y datos residen en una rea comn de
memoria
Realiza un fetch de instrucion y otro para los datos
asociados a la instruccin
Teoricamente es una arquitectura ms lenta
26

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Arquitectura Harvard
Tienen bus de datos de instruccin y Datos separados
(algunas inclusive de direcciones)
Realizan un pre-fetch mientras ejecutan una instruccin
Son teoricamente ms rpidas pero de mayor
complejidad.

Programa

27

Instrucciones

Datos

Direcciones

Direcciones

Control

CPU

Control

Datos

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

CISC

28

Complex Instruction Set Computer


Set de instucciones numeroso (ms de 80)
Instrucciones especializadas para tareas especficas
Instrucciones especializadas para reas de memoria
especficas

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

RISC

29

Reduced Instruction Set Computer


Instrucciones ms simples
Arquitectura tipo Harvard
Juego de instrucciones Ortogonal
La eficiencia de la programacin depende del
compilador utilizado

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

uC de Sabores (cont)

30

Memoria interna y/o externa


OTP,EEPROM,FLASH,EEPROM
Programables en circuito/campo
Proteccin de software/encriptacin
Alimentacin
Modos de bajo consumo de energa
Idle,Sleep,Wake
Bajo voltaje
Proteccin de Brownout

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

uC de Sabores (cont)

31

Perifricos
Puertos paralelos:
Colector abierto, Source Sink, 3-state
Puertos seriales
UART,USART,SPI,IIC,uWire,CAN
Convertidora A/D y D/A
Comparador Analgico
Timers

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

uC de Sabores (cont)

32

Interrupciones
Sin interrupciones (poleo)
Vectorizacin y Priorizacin

Reset
Power on reset
Watch dog timer

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

uC de Sabores (cont)

Ancho de bits
Cantidad de bits con las cuales el uC trabaja
internamente, a mayor bits, menor error en las
operaciones:
4 bits: Empleados en Electrodomsticos
8 bits: Electrodomsticos, industria
16 bits: Control digital y procesamiento
32 bits: Procesamiento.

33

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

uC de Sabores (cont)
Razn de reloj y ejecucin
Cantidad de ciclos que componen el ciclo de mquina.
Cantidad de ciclos de mquina requeridos para ejecutar una
instruccin.

34

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Lenguajes de Programacin
Ensambladores
Es una representacin nmemnica del lenguaje de mquina.
Generalmente cada instruccin representa una instruccin
de mquina.
Muy rpido
Muy compacto
Es lo ms recomendable cuando se aprende un
nuevo microcontrolador
Muy dficil de mantener
35

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Lenguajes de Programacin
Interpretador de alto nivel
Es un traductor de un lenguaje de alto nivel como
BASIC o FORTH. El traductor reside como un
programa dentro del uC y ejecuta los estatutos del
leguaje en acciones sobre el hardware del uC
Muy fcil de desarrollar y mantener programas
Programas de ejecucin muy lenta.

36

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Lenguajes de Programacin
Compiladores de Alto Nivel
Convierten un lenguaje de alto nivel como el C, BASIC,
C++ en lenguaje de mquina. El lenguaje de mquina es
ejecutado directamente por el uC. Se omite el paso de la
interpretacin ya que esta se realiza por el compilador.
Muy fcil de desarrollar y mantener
Relativamente rpidos
Bueno en aplicaciones medianas grandes.

37

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Cross-assembler y Cross-compiler
Cuando el ensamblador o compilador generar cdigo que
ser ejecutado en otro dispositivo diferente al de la
plataforma de desarrollo se le agrega el prefijo cross o
cruzado para diferenciarlo. Para los microcontrolaodes
siempre se usarn cross-assemblers y cross-compilers

38

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Cules lenguajes son los preferidos?

Lenguaje C
80%
Assembler
75%
Lenguaje C++
49%
El resto de los lenguajes no figuran (fuente microcontroller.com)

39

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Lenguajes utilizados:

ENSAMBLADOR

40

ALTO NIVEL

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Las Herramientas de
desarrollo
Aparte a la programacin del uC, debemos de contar con
una herramienta que nos permita probar y encontrar
posibles errores en el cdigo: DEBUG

41

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

HC05/HC08/HC11
Arquitectura Von Neumman basada en
acumulador
Set de 64 instrucciones
10 Modos de direccionamiento
64K Bytes de memoria
Instrucciones para manipulacin de bits
Multiplicacin
Versiones con mltiples perifricos
Herramientas de desarrollo econmicas
180 versiones distintas
Versiones Mask y OTP de muy bajo
costo.

42

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

AVR
Arquitectura Harvard load/store
RISC
120 instrucciones
8 Mbytes de programa
I/O Mapeado en memoria
Instrucciones para manipulacin de bits
4 ciclos de reloj por instruccin
Versiones con FLASH para memoria de
programa
Bajo costo
2 modos para ahorro de energa:
Iddle y Power Down

Relativamente lentos
Herramientas de desarrollo de bajo costo

43

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

H8
Arquitectura Harvard en registro y
Load/Store
57 instrucciones
Flash,OTP,EPROM hasta 32K
7 modos de baja potencia
Versiones con mltiples perifricos
Capacidad de DMA
Herramienta de desarrollo de bajo costo
disponible por Hitachi
Costo adecuado para el tipo de
aplicacin.

44

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Z8
Arquitectura Harvard basada en
registros, accesmo a memoria con
Load/store
Todas las instrucciones se ejecuta en 5
ciclos de reloj (Z8 plus)
50 instrucciones bsicas
Proteccin del Roll/over
2 modos de baja potencia: Halt y Stop
Versiones con mltiples perifricos
POR y Brownout
Comparador de voltaje
Emuladores de muy bajo costo con Zilog.

45

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

8051
Arquitectura Harvard II basada en
acumulador
255 Instrucciones
64K ROM
2 modos de ahorro de energa
Instrucciones para manipulacin de bits
Multiplicacin y Divisin
12 ciclos de reloj por instruccin
256 bytes de ram interna
4 bancos de registros
Stack pointer en ram interna
Muy popular, existen muchas
herramientas de dominio pblico
Segundas fuentes

46

Ing. Procopio Villarreal Garza

Por qu debo de aprender a


disear y programar con
microcontroladores?

Microcontroladores: Tema1

Porcentaje del Mercado


Relacin uP y uC
256 millones de microprocesadores (1998)
11,000 millones de microcontroladores
Crecimiento promedio de uC anual es del 8%
Ventas de microcontroladores para 2012 se esperan en
20,480 mdd
El costo promedio del uC se reduce a una razn del 1%
anual (costo promedio $1.33)
Las compaas de semiconductores hace lo que sea
para incrementar su pedazo de pastel
48

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Ubiquidad
Automvil medio nivel = 50 microcontroladores

Automvil high-end = 100 microcontroladores **

Casa promedio = 200 microcontroladores

** Entre 10 y 100 millones de lneas de cdigo

49

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Porcentaje delpor
Participacion
Mercado
marca

http://www.emittsolutions.com/images/microcontroller_market_analysis_2008.pdf

50

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Mercado Laboral
El estado de Jalisco requiere el prximo ao 2500
profesionales que sepan disear y programar
microcontrolares (Datos de COECYTJAL).

Se estn reconvirtiendo ingenieros de otras


disciplinas para poder cumplir la demanda.

51

Ing. Procopio Villarreal Garza

Repaso de conceptos bsicos de circuitos digitales

Microcontroladores: Tema1

Bases Numricas
Un sistema numrico puede ser construido usando potencias
de cualquier base como dgitos
El nmero de simbolos necesarios para un sistema numrico
es igual a la base del nmero

53

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Sistema Decimal

Ejemplo: El nmero 5346.72

103 102 101 100

10-1 10-2

El nmero de simbolos requeridos para representar un nmero en


base decimal son 10 (0 al 9)

54

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Sistema Binario
Sistema binario tiene como base el 2
Utiliza por lo tanto 2 smbolos, el 0 y el 1
Los nmeros binarios son generalmente llamados palabras
binarias (binary words).
Existen algunas palabras binarias que han adoptado nombres:
Palabra de 4 bits = nibble
Palabra de 8 bits = byte
Palabra de 16 bits = word
Palabra de 32 bits = doubleword
Palabra de 64 bits = long

55

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Sistema Binario
El digito ms a la derecha es llamado
BIT MENOS SIGNIFICATIVO o LSB
El digito ms a la izquierda es llamado
BIT MAS SIGNIFICATIVO o MSB
Ejemplo:
1010
MSB

56

LSB

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Sistema Binario
Representacin en potencias:

57

23

22

21

20

2-1

2-2

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Sistema Binario
Para convertir un nmero binario en decimal, se multiplica
cada digito por el valor decimal del dgito y se suman.

23

22

21

20

2-1

2-2

1x23+0x22 +0x21 +1x20 +0x2-1 +1x2-2 = 9.25 d

58

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Sistema Hexadecimal
En el rea de computacin, el sistema Hexadecimal (base
16) es muy usado por tener una representacin ms
compacta que es ms fcil de recodar que un nmero
binario.

59

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Sistema Hexadecimal
Para convertir un nmero binario en Hexadecimal,
forman grupos de 4 bits partiendo del bit menos
significativo Cada grupo puede ser representado con un
smbolo hexadecimal del 0 al F.

60

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Sistema Hexadecimal
Ejemplo: El nmero 10100011

1 0 1 0 0 0 1 1

A
61

Binario
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111

Hex
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Cdigo BCD
El Cdigo BCD (Binary Coded Decimal) utiliza un
un cdigo binario de 4 bits para representar cada
digito decimal en un nmero
Es empleado en sistemas donde se requiere desplegar
o leer informacin proporcionada por un humano.
En un subset del Hexadecial donde los digitos A al
F no son vlidos
62

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Cdigo BCD
Ejemplo: El nmero 010100101001

010100101001

CUIDADO, el nmero anterior es 529 BCD sin embargo


tambien es el 1321 decimal
63

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

Cdigo ASCII
ASCII es: American Standard Code for Information
Interchange.
Diseado como un estndar para comunicacin entre
computadoras donde cada byte representa un caracter
imprimible en pantalla (un alfabeto) o de control.
El estandar original cuenta con 128 caracteres (7 bits)
http://www.asciitable.com/

64

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

NOT

Y=A
A
0
1

65

Y
1
0

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

AND , NAND

Y=AB
A
0
0
1
1

B
0
1
0
1

Y=A B
Y
0
0
0
1

Y
1
1
1
0

A
B
A
B

66

AND

NAND

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

OR , NOR

Y=A+B
A
0
0
1
1

B
0
1
0
1

Y
0
1
1
1

Y=A+B
Y
1
0
0
0

A
B
A
B

67

OR

NOR

Ing. Procopio Villarreal Garza

Microcontroladores: Tema1

XOR , XNOR

Y=AB
A
0
0
1
1

B
0
1
0
1

Y
0
1
1
0

Y
1
0
0
1

Y=AB
A
B
A
B

68

XOR

XNOR

Ing. Procopio Villarreal Garza