You are on page 1of 71

MICROCONTROLADORES

Ing. Vctor Medina G

Microcontroladores: Ing. Vctor Medina G

LA SOLUCIN EN UN CHIP?
La nica limitacin que tienen las aplicaciones de los microcontroladores actuales esta en la imaginacin del diseador. Podemos encontrar microcontroladores en:
Automatizacin industrial. Adquisicin y cuantificacin de variables fsicas. Control de procesos industriales. Enseanza e investigacin.

Electrodomsticos.
Industria automotriz. Robtica. Industria informtica. Sistemas de seguridad, etc.

Microcontroladores: Ing. Vctor Medina G

FABRICANTES
Existen en el mercado muchas compaas que se dedican a fabricar microcontroladores:
Microchip Freescale

Atmel
Intel Hitachi Phillips Texas Instruments Holteck NEC

Zilog
National Semiconductor, etc

Microcontroladores: Ing. Vctor Medina G

Freescale Semiconductor, Inc. es un fabricante estadounidense de semiconductores. Fue creado a partir de la divisin de semiconductores de Motorola en 2004. Freescale se centra en el mercado de los sistemas integrados y las comunicaciones. Microcontroladores de 8 bits:
Familia HC08: 68HC08AB, 68HC08AP, etc.
Familia HCS08 Familia RS08

Microcontroladores de 16 bits:
Familia S12 Familia HC12 Familia HC16

Microcontroladores: Ing. Vctor Medina G

Atmel es una compaa de semiconductores, fundada en 1984. Sus familias de microcontroladores incluyen derivados del 8051, el AT91SAM basado en ARM, y sus arquitecturas propias AVR y AVR32. AVR: ATtiny ATtiny26, etc. ATmega ATmega8 Atmega16, etc. AT90Sxxxx AT90S2313, etc.

Microcontroladores: Ing. Vctor Medina G

Intel con una de sus mas famosas creaciones es el Microcontrolador Intel 8051 desarrollado en 1980, Los ncleos 8051 se usan en ms de 100 microcontroladores de ms de 20 fabricantes independientes como Atmel, Dallas Semiconductor, Philips, Winbond, entre otros

Microcontroladores: Ing. Vctor Medina G

Con las familias PIC MCU de 8 bits, 16 bits y 32 bits, as como la familia de Controladores de Seales Digitales (DSC) de 16 bits

Microcontroladores: Ing. Vctor Medina G

Arquitectura de microncontroladores

Microcontroladores: Ing. Vctor Medina G

Diagrama en bloques de un Procesador

Microcontroladores: Ing. Vctor Medina G

10

Diagrama en bloques de un Procesador

Microcontroladores: Ing. Vctor Medina G

11

Microprocesador vs Microcontrolador

Microcontroladores: Ing. Vctor Medina G

12

Arquitectura de fabricacin de uP y uC

Microcontroladores: Ing. Vctor Medina G

13

Registros
Un

registro o una celda de memoria es un circuito electrnico que puede memorizar el estado de un byte.

Microcontroladores: Ing. Vctor Medina G

14

Registro SFR
Registros de funciones

especiales, cada bit configura los circuitos internos del microcontroladores que se conectan a travs de los pines a los perifricos.

Microcontroladores: Ing. Vctor Medina G

15

PUERTOS DE ENTRADA/SALIDA (E/S)


Conectan los

circuitos internos con los perifricos. Son configurables bit a bit. Carga mxima (1020mA)

Microcontroladores: Ing. Vctor Medina G

16

UNIDAD DE MEMORIA
Almacena los datos.

Microcontroladores: Ing. Vctor Medina G

17

UNIDAD CENTRAL DE PROCESAMIENTO (CENTRAL PROCESSOR UNIT - CPU)

Decodificador de instrucciones: decodifica las instrucciones

del programa y acciona otros circuitos Unidad lgica aritmtica (Arithmetical Logical Unit - ALU) realiza todas las operaciones matemticas y lgicas sobre datos Acumulador o registro de trabajo.

Microcontroladores: Ing. Vctor Medina G

18

Bus

El bus est formado por 8, 16 o ms cables. Dos tipos de buses: Bus de direcciones Bus de datos.

Microcontroladores: Ing. Vctor Medina G

19

COMUNICACIN EN SERIE
Permite conectar un uC

con un perifrico utilizando un mnimo nmero de cables, lo que permite el alcance de mayores distancias.

Microcontroladores: Ing. Vctor Medina G

20

VELOCIDAD DE TRANSMISIN SERIAL


La velocidad de transmisin serial (baud rate) es el

trmino utilizado para denotar el nmero de bits transmitidos por segundo [bps]. El protocolo normalmente requiere que cada byte se transmita junto con varios bits de control. Eso quiere decir que un byte en un flujo de datos serial puede consistir en 11 bits. Por ejemplo, si velocidad de transmisin serial es 300 bps un mximo de 37 y un mnimo de 27 bytes se pueden transmitir por segundo.

Microcontroladores: Ing. Vctor Medina G

21

Sistemas de comunicacin serial


I2C (INTER INTEGRATED CIRCUIT) - CIRCUITO

INTER-INTEGRADO Circuito inter-integrado es un sistema para el intercambio de datos serial entre los microcontroladores y los circuitos integrados. Se utiliza cuando la distancia entre ellos es corta (el receptor y el transmisor estn normalmente en la misma placa de circuito impreso). La conexin se establece por medio de dos lneas - una se utiliza para transmitir los datos, mientras que la otra se utiliza para la sincronizacin (la seal de reloj).

Microcontroladores: Ing. Vctor Medina G

22

I2C (INTER INTEGRATED CIRCUIT)

Microcontroladores: Ing. Vctor Medina G

23

SPI (SERIAL PERIPHERAL INTERFACE BUS)

SPI

(SERIAL PERIPHERAL INTERFACE BUS) - BUS SERIAL DE INTERFAZ DE PERIFRICOS Es un sistema para la comunicacin serial que utiliza hasta cuatro lneas (normalmente solo son necesarias tres) - para recibir los datos, para transmitir los datos, para sincronizar y (opcional) para seleccionar el dispositivo con el que se comunica. Esto es la conexin full duplex, lo que significa que los datos se envan y se reciben simultneamente. La velocidad de transmisin mxima es mayor que en el sistema de conexin I2C.

Microcontroladores: Ing. Vctor Medina G

24

UART (UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER)


UART

(UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER) TRANSMISORRECEPTOR ASNCRONO UNIVERSAL Este tipo de conexin es asncrona, lo que significa que no se utiliza una lnea especial para transmitir la seal de reloj. Tanto el receptor como el transmisor reciben y envan los datos a velocidad misma que ha sido predefinida para mantener la sincronizacin necesaria. Esto es una manera simple de transmitir datos puesto que bsicamente representa una conversin de datos de 8 bits de paralelo a serial. La velocidad de transmisin no es alta, es hasta 1 Mbit/sec.

Microcontroladores: Ing. Vctor Medina G

25

OSCILADOR
Se

configura normalmente de tal manera que utilice un cristal de cuarzo o resonador cermico para estabilizacin de frecuencia. Adems, puede funcionar como un circuito autnomo (como oscilador RC).

Microcontroladores: Ing. Vctor Medina G

26

CIRCUITO DE ALIMENTACIN
Brown out es un estado potencialmente peligroso que ocurre al

apagar el microcontrolador o en caso de que el voltaje de la fuente de alimentacin salga de unos mrgenes debido al ruido elctrico. Como el microcontrolador dispone de varios circuitos que funcionan a niveles de voltaje diferentes, ese estado puede causar un comportamiento descontrolado. Para evitarlo, el microcontrolador normalmente tiene un circuito incorporado para el brown out reset. El pin de reset (reinicio), marcado frecuentemente con MCLR (Master Clear Reset), sirve para el reinicio externo del microcontrolador al aplicar un cero (0) o un uno (1) lgico dependiendo del tipo del microcontrolador. En caso de que el circuito brown out no est incorporado, un simple circuito externo para el brown out reset se puede conectar al pin MCLR.

Microcontroladores: Ing. Vctor Medina G

27

TEMPORIZADORES/CONTADORES
Son circuitos que sirven

medir el tiempo transcurrido entre dos eventos, basados en contar los pulsos generados por el oscilador principal que es un cristal de cuarzo

Microcontroladores: Ing. Vctor Medina G

28

CMO FUNCIONAN LOS TEMPORIZADORES?

Los pulsos generados por el oscilador de cuarzo son

llevados al circuito una vez por cada ciclo de mquina directamente o por el pre-escalador, lo que aumenta el nmero en el registro del temporizador.

Microcontroladores: Ing. Vctor Medina G

29

UTILIZAR UN PREESCALADOR EN FUNCIONAMIENTO DEL TEMPORIZADOR

EL

Un

pre-escalador es un dispositivo electrnico utilizado para dividir la frecuencia por un factor predeterminado. Esto quiere decir que se necesita llevar 1, 2, 4 o ms pulsos a su entrada para generar un pulso a la salida.

Microcontroladores: Ing. Vctor Medina G

30

UTILIZAR UNA INTERRUPCIN EN FUNCIONAMIENTO DEL TEMPORIZADOR

EL

Si el registro del temporizador es de 8 bits, el mayor nmero que

se puede escribir en l es 255. Si se excede este nmero, el temporizador se reinicia automticamente y el conteo comienza de nuevo en cero. Esto es denominado desbordamiento o sobreflujo (overflow).

Microcontroladores: Ing. Vctor Medina G

31

TEMPORIZADOR (WATCHDOG)
El perro guardin es un

PERRO

GUARDIN

temporizador conectado a un oscilador RC completamente independiente dentro del microcontrolador. Si el perro guardin est habilitado, cada vez que cuenta hasta el mximo valor en el que ocurre el desbordamiento del registro se genera una seal de reinicio del microcontrolador y la ejecucin de programa inicia en la primera instruccin.

Microcontroladores: Ing. Vctor Medina G

32

CONVERTIDOR A/D
Un convertidor analgico-digital es un

circuito electrnico encargado de convertir las seales continuas en nmeros digitales discretos. En otras palabras, este circuito convierte un nmero real en un nmero binario y se lo enva a la CPU para ser procesado.

Microcontroladores: Ing. Vctor Medina G

33

Codificacin analgica a digital

Microcontroladores: Ing. Vctor Medina G

34

CONVERTIDOR A/D

Resolucin depende

del nmero de BITS. A mayor nmero de BITS, menor error.

Microcontroladores: Ing. Vctor Medina G

35

Microcontrolador PIC628A
PIC: Peripheral Interface Controller. PIC16F628A

soportan hasta 100000 ciclos de escritura en memoria FLASH y 1000000 ciclos en EEPROM Oscilador interno RC de 4MHz MCLR programable

Microcontroladores: Ing. Vctor Medina G

36

Microcontrolador PIC628A

Microcontroladores: Ing. Vctor Medina G

37

Arquitectura PIC628A
Procesador arquitectura HARVARD. Dos bloques de memorias independientes

CPU arquitectura RISC


Set de 35 instrucciones Pila de 8 niveles.

Microcontroladores: Ing. Vctor Medina G

38

A r q u i t e c t u r a

P I C 6 2 8 A

Microcontroladores: Ing. Vctor Medina G

39

Memoria de programa
Memoria de instrucciones,

se escribe rdenes para que CPU ejecute. En PIC16F628A es una memoria no voltil FLASH Bus de direcciones es 13 bits. PC puede direccionar 8192 posiciones de 14 bits cada una(0000h a 1FFFh) Implementadas en PIC16F628A slo 2048 lneas 0000h 07FFh, PC utiliza 11 primeros bits los dems son ignorados

Microcontroladores: Ing. Vctor Medina G

40

Memoria de datos
PIC16F628A

tiene dos memorias de datos: RAM esttica o SRAM, memoria casual tipo no voltil: registros de propsito general (GPR), donde almacena variable y registros especiales (SFR).

Memoria auxiliar no voltil EEPROM con capacidad

de 128 posiciones de 8 bits, puede ser accedida por programacin, almacena datos an sin alimentacin.

Microcontroladores: Ing. Vctor Medina G

41

Memoria de datos

Microcontroladores: Ing. Vctor Medina G

42

Memoria de datos
Tecnologa CMOS, consumo de potencia es bajo

(2mA a 4MHz) Esttico , si reloj se detiene los datos no se pierden, mientras se encuentre con VDD. Memoria RAM tiene 512 lneas de 8 bits, particionada en 4 bancos: 0,1,2,3 cada una con 128 bytes. Se accede por bits RP0 y RP1 de registro STATUS. Para 16F628A se tiene 224 posiciones RAM para los registros GPR

Microcontroladores: Ing. Vctor Medina G

43

Caractersticas Generales
Velocidad operacin hasta 20MHz con oscilador

externo Oscilador interno RC de 4MHz. 8 niveles de pila. Resistencias PULL-UP programables. MCLR programable 15 pines I/O y 1 de slo entrada (RA5) WDT independiente de oscilador Programacin bajo voltaje LPV (5V) Programacin serial en circuito (ICSP) por 2 pines: RB6 reloj y RB7 datos

Microcontroladores: Ing. Vctor Medina G

44

Caractersticas Generales
Cdigo de proteccin programable Memoria FLASH 2048 palabras de 14 bits 2 circuitos comparadores anlogos con entradas

multiplexadas. 3 timers: Timer 0 de 8 bits, Timer 1 de 16 bits y Timer 2 de 8 bits. Mdulos CCP, captura compara 16 bits y PWM de 10 bits. 10 fuentes de interrupcin. Mdulo de comunicacin serial USART/SCI Capacidad de corriente 25mA I/O por cada pin.

Microcontroladores: Ing. Vctor Medina G

45

Diagrama de pines

Microcontroladores: Ing. Vctor Medina G

46

Conexin entre microcontroladores y perifricos

Los procesos industriales se basan en secuencia de

acciones ejecutadas en base a una programacin considerando todos los factores que intervienen en la lnea de produccin

Microcontroladores: Ing. Vctor Medina G

47

Secuencia de acciones
Proceso

lgico de acciones en actuadores. Programacin de instrucciones en microcontrolador.

Microcontroladores: Ing. Vctor Medina G

48

Acondicionamiento de seales
El control de procesos depende de la obtencin

de informacin de entrada, su evaluacin y la ejecucin de la accin correspondiente. En control industrial, la mayora de las veces la informacin de entrada involucra el monitoreo de dispositivos de campo que admiten dos estados posibles. Un interruptor es un ejemplo comn de dispositivo de dos estados. O est abierto o est cerrado.

Microcontroladores: Ing. Vctor Medina G

49

Acondicionamiento de seales
Interruptores: activan o

desactivan seales de entrada

Microcontroladores: Ing. Vctor Medina G

50

Conexin elctrica de interruptores

Conectados directamente a los puertos

Se recomienda proceso anti rebote

Microcontroladores: Ing. Vctor Medina G

51

Acondicionamiento seales digitales

Microcontroladores: Ing. Vctor Medina G

52

Interruptor reflectivo
Las

seales ingresan por cortes de luminosidad en receptor

Microcontroladores: Ing. Vctor Medina G

53

Acondicionamiento de seales a cargas


Microcontroladores

se conectan a cargas elctricas mayores mediante dispositivos actuadores, cumpliendo secuencias, considerando retardos debido a inercias mecnicas, retardos en activaciones, etc

Microcontroladores: Ing. Vctor Medina G

54

Acondicionamiento de seales a cargas

Microcontroladores: Ing. Vctor Medina G

55

Acondicionamiento salidas digitales

Microcontroladores: Ing. Vctor Medina G

56

Control de procesos continuos

Circuitos retroalimentados, la salida se compara con la

entrada.

Microcontroladores: Ing. Vctor Medina G

57

Sensores de temperatura
Transductores:

convierten seales fsicas en seales elctricas. Sensores: miden seales sin convertirlas en otra magnitudes, contienen a los transductores

Microcontroladores: Ing. Vctor Medina G

58

Sistemas continuos = retroalimentados

Microcontroladores: Ing. Vctor Medina G

59

Control sistemas continuos con PIC

Microcontroladores: Ing. Vctor Medina G

60

Programacin de uC PIC

Microcontroladores: Ing. Vctor Medina G

61

Ejecucin de programas en uC
El

uC ejecuta el programa cargado en la memoria Flash, se denomina el cdigo ejecutable. El cdigo binario est compuesto por palabras de 12, 14 o 16 bits de anchura, que se interpreta por la CPU como una instruccin a ser ejecutada durante el funcionamiento. Se les denominan Conjunto de instrucciones. El cdigo ejecutable se representa con nmeros hexadecimales denominada cdigo Hex. En los microcontroladores PIC con las palabras de programa de 14 bits de anchura, tiene 35 instrucciones diferentes.

Microcontroladores: Ing. Vctor Medina G

62

Lenguaje ensamblador (ASSEMBLER)


Las

instrucciones consisten en abreviaturas con significado y a cada instruccin corresponde una localidad de memoria. Un programa denominado ensamblador compila (traduce) las instrucciones del lenguaje ensamblador a cdigo mquina (cdigo binario).

Microcontroladores: Ing. Vctor Medina G

63

Desventajas de ASSEMBLER
Una sola operacin en ensamblador consiste en

muchas instrucciones, hacindolo muy largo y difcil de manejar. Cada tipo de microcontrolador tiene su propio conjunto de instrucciones. Un programador tiene que conocer el hardware del microcontrolador para escribir un programa.

Microcontroladores: Ing. Vctor Medina G

64

ESTRUCTURA DE PROGRAMA
Por ejemplo: 1. Activar y configurar el

convertidor A/D incorporado; 2. Medir el valor analgico; 3. Calcular temperatura; y 4. Enviar los datos en el formato apropiado al LCD.

Microcontroladores: Ing. Vctor Medina G

65

FASES DE COMPILACIN

Microcontroladores: Ing. Vctor Medina G

66

Fases de Programacin de uC
Realizada la compilacin y generado el archivo HEX, a

travs de un programador: PICKIT 2 o genricos, se carga el archivo en memoria FLASH del uC

Microcontroladores: Ing. Vctor Medina G

67

Lenguajes de Programacin en PIC


El lenguaje C dispone de todas las ventajas de un lenguaje de

programacin de alto nivel (anteriormente descritas) y le permite realizar algunas operaciones tanto sobre los bytes como sobre los bits (operaciones lgicas, desplazamiento etc.). C est estandarizado (el estndar ANSI)

Microcontroladores: Ing. Vctor Medina G

68

ESTRUCTURA DE PROGRAMA EN C

Microcontroladores: Ing. Vctor Medina G

69

ESTRUCTURA DE PROGRAMA EN PICBASIC


Se manipulan sentencias de lenguaje BASIC,

manteniendo la estructura bsica de un programa

Microcontroladores: Ing. Vctor Medina G

70

ESTRUCTURA DE PROGRAMA EN MODO GRFICO


Permite

programar microcontroladores mediante diagramas de flujo, que se traducen en cdigo C o ASSEMBLER

Microcontroladores: Ing. Vctor Medina G

71

Lgica de Programacin mediante Flujo gramas

You might also like