2. ¿LA SOLUCIÓN EN UN CHIP?
La única limitación que tienen las aplicaciones de los microcontroladores actuales esta en la imaginación del diseñador. Podemos encontrar microcontroladores en:
•Automatización industrial.
•Adquisición y cuantificación de variables físicas.
•Control de procesos industriales.
•Enseñanza e investigación.
•Electrodomésticos.
•Industria automotriz.
•Robótica.
•Industria informática.
•Sistemas de seguridad, etc.
Microcontroladores: Ing. Víctor Medina G
2
3. FABRICANTES
Existen en el mercado muchas compañías que se dedican a fabricar microcontroladores:
•Microchip
•Freescale
•Atmel
•Intel
•Hitachi
•Phillips
•Texas Instruments
•Holteck
•NEC
•Zilog
•National Semiconductor, etc
3
Microcontroladores: Ing. Víctor Medina G
4. Freescale Semiconductor, Inc. es un fabricante estadounidense de semiconductores. Fue creado a partir de la división 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
4
Microcontroladores: Ing. Víctor Medina G
5. Atmel es una compañía 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.
5
Microcontroladores: Ing. Víctor Medina G
6. Intel con una de sus mas famosas creaciones es el Microcontrolador Intel 8051 desarrollado en 1980, Los núcleos 8051 se usan en más de 100 microcontroladores de más de 20 fabricantes independientes como Atmel, Dallas Semiconductor, Philips, Winbond, entre otros
6
Microcontroladores: Ing. Víctor Medina G
7. Con las familias PIC® MCU de 8 bits, 16 bits y 32 bits, así como la familia de Controladores de Señales Digitales (DSC) de 16 bits
7
Microcontroladores: Ing. Víctor Medina G
13. Registros
•Un registro o una celda de memoria es un circuito electrónico que puede memorizar el estado de un byte.
Microcontroladores: Ing. Víctor Medina G
13
14. Registro SFR
•Registros de funciones especiales, cada bit configura los circuitos internos del microcontroladores que se conectan a través de los pines a los periféricos.
Microcontroladores: Ing. Víctor Medina G
14
15. PUERTOS DE ENTRADA/SALIDA (E/S)
•Conectan los circuitos internos con los periféricos. Son configurables bit a bit. Carga máxima (10- 20mA)
Microcontroladores: Ing. Víctor Medina G
15
16. UNIDAD DE MEMORIA
•Almacena los datos.
Microcontroladores: Ing. Víctor Medina G
16
17. UNIDAD CENTRAL DE PROCESAMIENTO (CENTRAL PROCESSOR UNIT - CPU)
•Decodificador de instrucciones: decodifica las instrucciones del programa y acciona otros circuitos
•Unidad lógica aritmética (Arithmetical Logical Unit - ALU) realiza todas las operaciones matemáticas y lógicas sobre datos
•Acumulador o registro de trabajo.
Microcontroladores: Ing. Víctor Medina G
17
18. Bus
•El bus está formado por 8, 16 o más cables.
•Dos tipos de buses:
•Bus de direcciones
•Bus de datos.
Microcontroladores: Ing. Víctor Medina G
18
19. COMUNICACIÓN EN SERIE
•Permite conectar un uC con un periférico utilizando un mínimo número de cables, lo que permite el alcance de mayores distancias.
Microcontroladores: Ing. Víctor Medina G
19
20. VELOCIDAD DE TRANSMISIÓN SERIAL
•La velocidad de transmisión serial (baud rate) es el término utilizado para denotar el número 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 transmisión serial es 300 bps un máximo de 37 y un mínimo de 27 bytes se pueden transmitir por segundo.
Microcontroladores: Ing. Víctor Medina G
20
21. Sistemas de comunicación 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 están normalmente en la misma placa de circuito impreso). La conexión se establece por medio de dos líneas - una se utiliza para transmitir los datos, mientras que la otra se utiliza para la sincronización (la señal de reloj).
Microcontroladores: Ing. Víctor Medina G
21
23. SPI (SERIAL PERIPHERAL INTERFACE BUS)
•SPI (SERIAL PERIPHERAL INTERFACE BUS) - BUS SERIAL DE INTERFAZ DE PERIFÉRICOS
•Es un sistema para la comunicación serial que utiliza hasta cuatro líneas (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 conexión full duplex, lo que significa que los datos se envían y se reciben simultáneamente.
•La velocidad de transmisión máxima es mayor que en el sistema de conexión I2C.
Microcontroladores: Ing. Víctor Medina G
23
24. UART (UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER)
•UART (UNIVERSAL ASYNCHRONOUS RECEIVER/TRANSMITTER) - TRANSMISOR- RECEPTOR ASÍNCRONO UNIVERSAL
•Este tipo de conexión es asíncrona, lo que significa que no se utiliza una línea especial para transmitir la señal de reloj.
•Tanto el receptor como el transmisor reciben y envían los datos a velocidad misma que ha sido predefinida para mantener la sincronización necesaria. Esto es una manera simple de transmitir datos puesto que básicamente representa una conversión de datos de 8 bits de paralelo a serial. La velocidad de transmisión no es alta, es hasta 1 Mbit/sec.
Microcontroladores: Ing. Víctor Medina G
24
25. OSCILADOR
•Se configura normalmente de tal manera que utilice un cristal de cuarzo o resonador cerámico para estabilización de frecuencia. Además, puede funcionar como un circuito autónomo (como oscilador RC).
Microcontroladores: Ing. Víctor Medina G
25
26. CIRCUITO DE ALIMENTACIÓN
•Brown out es un estado potencialmente peligroso que ocurre al apagar el microcontrolador o en caso de que el voltaje de la fuente de alimentación salga de unos márgenes debido al ruido eléctrico. 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) lógico 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. Víctor Medina G
26
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. Víctor Medina G
27
28. ¿CÓMO FUNCIONAN LOS TEMPORIZADORES?
•Los pulsos generados por el oscilador de cuarzo son llevados al circuito una vez por cada ciclo de máquina directamente o por el pre-escalador, lo que aumenta el número en el registro del temporizador.
Microcontroladores: Ing. Víctor Medina G
28
29. UTILIZAR UN PREESCALADOR EN EL FUNCIONAMIENTO DEL TEMPORIZADOR
•Un pre-escalador es un dispositivo electrónico utilizado para dividir la frecuencia por un factor predeterminado. Esto quiere decir que se necesita llevar 1, 2, 4 o más pulsos a su entrada para generar un pulso a la salida.
Microcontroladores: Ing. Víctor Medina G
29
30. UTILIZAR UNA INTERRUPCIÓN EN EL FUNCIONAMIENTO DEL TEMPORIZADOR
•Si el registro del temporizador es de 8 bits, el mayor número que se puede escribir en él es 255. Si se excede este número, el temporizador se reinicia automáticamente y el conteo comienza de nuevo en cero. Esto es denominado desbordamiento o sobreflujo (overflow).
Microcontroladores: Ing. Víctor Medina G
30
31. TEMPORIZADOR PERRO GUARDIÁN (WATCHDOG)
•El perro guardián es un temporizador conectado a un oscilador RC completamente independiente dentro del microcontrolador.
•Si el perro guardián está habilitado, cada vez que cuenta hasta el máximo valor en el que ocurre el desbordamiento del registro se genera una señal de reinicio del microcontrolador y la ejecución de programa inicia en la primera instrucción.
Microcontroladores: Ing. Víctor Medina G
31
32. CONVERTIDOR A/D
•Un convertidor analógico-digital es un circuito electrónico encargado de convertir las señales continuas en números digitales discretos. En otras palabras, este circuito convierte un número real en un número binario y se lo envía a la CPU para ser procesado.
Microcontroladores: Ing. Víctor Medina G
32
34. CONVERTIDOR A/D
•Resolución depende del número de BITS.
•A mayor número de BITS, menor error.
Microcontroladores: Ing. Víctor Medina G
34
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
35
Microcontroladores: Ing. Víctor Medina G
39. Memoria de programa
•Memoria de instrucciones, se escribe órdenes para que CPU ejecute.
•En PIC16F628A es una memoria no volátil FLASH
•Bus de direcciones es 13 bits.
•PC puede direccionar 8192 posiciones de 14 bits cada una(0000h a 1FFFh)
•Implementadas en PIC16F628A sólo 2048 líneas 0000h – 07FFh, PC utiliza 11 primeros bits los demás son ignorados
39
Microcontroladores: Ing. Víctor Medina G
40. Memoria de datos
•PIC16F628A tiene dos memorias de datos: RAM estática o SRAM, memoria casual tipo no volátil: registros de propósito general (GPR), donde almacena variable y registros especiales (SFR).
•Memoria auxiliar no volátil EEPROM con capacidad de 128 posiciones de 8 bits, puede ser accedida por programación, almacena datos aún sin alimentación.
40
Microcontroladores: Ing. Víctor Medina G
42. Memoria de datos
•Tecnología CMOS, consumo de potencia es bajo (2mA a 4MHz)
•Estático , si reloj se detiene los datos no se pierden, mientras se encuentre con VDD.
•Memoria RAM tiene 512 líneas 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
42
Microcontroladores: Ing. Víctor Medina G
43. Características Generales
•Velocidad operación 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 sólo entrada (RA5)
•WDT independiente de oscilador
•Programación bajo voltaje LPV (5V)
•Programación serial en circuito (ICSP) por 2 pines: RB6 reloj y RB7 datos
43
Microcontroladores: Ing. Víctor Medina G
44. Características Generales
•Código de protección programable
•Memoria FLASH 2048 palabras de 14 bits
•2 circuitos comparadores análogos con entradas multiplexadas.
•3 timers: Timer 0 de 8 bits, Timer 1 de 16 bits y Timer 2 de 8 bits.
•Módulos CCP, captura compara 16 bits y PWM de 10 bits.
•10 fuentes de interrupción.
•Módulo de comunicación serial USART/SCI
•Capacidad de corriente 25mA I/O por cada pin.
44
Microcontroladores: Ing. Víctor Medina G
46. Conexión entre microcontroladores y periféricos
•Los procesos industriales se basan en secuencia de acciones ejecutadas en base a una programación considerando todos los factores que intervienen en la línea de producción
Microcontroladores: Ing. Víctor Medina G
46
47. Secuencia de acciones
•Proceso lógico de acciones en actuadores.
•Programación de instrucciones en microcontrolador.
Microcontroladores: Ing. Víctor Medina G
47
48. Acondicionamiento de señales
•El control de procesos depende de la obtención de información de entrada, su evaluación y la ejecución de la acción correspondiente.
•En control industrial, la mayoría de las veces la información de entrada involucra el monitoreo de dispositivos de campo que admiten dos estados posibles.
•Un interruptor es un ejemplo común de dispositivo de dos estados.
•O está abierto o está cerrado.
Microcontroladores: Ing. Víctor Medina G
48
49. Acondicionamiento de señales
•Interruptores: activan o desactivan señales de entrada
Microcontroladores: Ing. Víctor Medina G
49
50. Conexión eléctrica de interruptores
•Conectados directamente a los puertos
•Se recomienda proceso anti rebote
Microcontroladores: Ing. Víctor Medina G
50
52. Interruptor reflectivo
•Las señales ingresan por cortes de luminosidad en receptor
Microcontroladores: Ing. Víctor Medina G
52
53. Acondicionamiento de señales a cargas
•Microcontroladores se conectan a cargas eléctricas mayores mediante dispositivos actuadores, cumpliendo secuencias, considerando retardos debido a inercias mecánicas, retardos en activaciones, etc
Microcontroladores: Ing. Víctor Medina G
53
56. Control de procesos continuos
•Circuitos retroalimentados, la salida se compara con la entrada.
Microcontroladores: Ing. Víctor Medina G
56
57. Sensores de temperatura
•Transductores: convierten señales físicas en señales eléctricas.
•Sensores: miden señales sin convertirlas en otra magnitudes, contienen a los transductores
Microcontroladores: Ing. Víctor Medina G
57
58. Sistemas continuos = retroalimentados
Microcontroladores: Ing. Víctor Medina G
58
61. Ejecución de programas en uC
•El uC ejecuta el programa cargado en la memoria Flash, se denomina el código ejecutable.
•El código binario está compuesto por palabras de 12, 14 o 16 bits de anchura, que se interpreta por la CPU como una instrucción a ser ejecutada durante el funcionamiento. Se les denominan Conjunto de instrucciones.
•El código ejecutable se representa con números hexadecimales denominada código Hex.
•En los microcontroladores PIC con las palabras de programa de 14 bits de anchura, tiene 35 instrucciones diferentes.
Microcontroladores: Ing. Víctor Medina G
61
62. Lenguaje ensamblador (ASSEMBLER)
•Las instrucciones consisten en abreviaturas con significado y a cada instrucción corresponde una localidad de memoria. Un programa denominado ensamblador compila (traduce) las instrucciones del lenguaje ensamblador a código máquina (código binario).
Microcontroladores: Ing. Víctor Medina G
62
63. Desventajas de ASSEMBLER
•Una sola operación en ensamblador consiste en muchas instrucciones, haciéndolo muy largo y difícil 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. Víctor Medina G
63
64. ESTRUCTURA DE PROGRAMA
•Por ejemplo:
1.Activar y configurar el convertidor A/D incorporado;
2.Medir el valor analógico;
3.Calcular temperatura; y
4.Enviar los datos en el formato apropiado al LCD.
Microcontroladores: Ing. Víctor Medina G
64
66. Fases de Programación de uC
•Realizada la compilación y generado el archivo HEX, a través de un programador: PICKIT 2 o genéricos, se carga el archivo en memoria FLASH del uC
Microcontroladores: Ing. Víctor Medina G
66
67. Lenguajes de Programación en PIC
•El lenguaje C dispone de todas las ventajas de un lenguaje de programación de alto nivel (anteriormente descritas) y le permite realizar algunas operaciones tanto sobre los bytes como sobre los bits (operaciones lógicas, desplazamiento etc.).
•C está estandarizado (el estándar ANSI)
Microcontroladores: Ing. Víctor Medina G
67
69. ESTRUCTURA DE PROGRAMA EN PICBASIC
•Se manipulan sentencias de lenguaje BASIC, manteniendo la estructura básica de un programa
Microcontroladores: Ing. Víctor Medina G
69
70. ESTRUCTURA DE PROGRAMA EN MODO GRÁFICO
•Permite programar microcontroladores mediante diagramas de flujo, que se traducen en código C o ASSEMBLER
Microcontroladores: Ing. Víctor Medina G
70
71. Lógica de Programación mediante Flujo gramas
Microcontroladores: Ing. Víctor Medina G
71