Tema 4: Microcontroladores Programables SCO-921 SISTEMAS DE CONTROL Docente: Ing. Marcelo Fernando Condori Mendoza 1 Microcontroladores vs Microprocesadores Para usar un microprocesador, componentes adicionales son requeridos como memoria, u otros componentes externos (periféricos) para recibir o enviar información. En cambio, el microcontrolador esta diseñado para cumplir todas las características requeridas en un solo elemento. En general, componentes externos no son requeridos ser adicionados debido a que los periféricos necesarios ya están construidos dentro de la arquitectura básica del microcontrolador. De esta manera, se pueden ahorrar recursos. MICROCONTROLADORES • Un microcontrolador es un circuito integrado programable de alta escala de integración. • Contiene todos los componentes de un computador aunque de limitadas prestaciones. • También se le conoce como “la solución en un chip” . MICROCONTROLADORES MICROCONTROLADORES La Unidad de Memoria La Unidad de Memoria Para una entrada determinada, obtenemos los contenidos de una locación de memoria direccionada. Los conceptos fundamentales son direccionamiento y locación de memoria. Entonces la memoria consiste de todas las locaciones y el direccionamiento simplemente consiste en la selección de cada una de estas locaciones. En pocas palabras, necesitamos seleccionar la locación de memoria deseada por un lado, y por el otro lado, necesitamos esperar los contenidos de esa locación. La Unidad Central de Proceso Además de poder multiplicar, dividir y restar, se pueden mover los contenidos de una locación de memoria hacia otra locación. Las locaciones de memoria son llamadas registros. La Unidad Central de Proceso Los registros son de esta manera, locaciones de memoria del cual su rol principal es ayudar con la ejecución de varias operaciones matemáticas u otras operaciones con los datos cualquiera sean estos. En la arquitectura del microcontrolador tenemos dos unidades independientes (memoria y CPU) las cuales están interconectadas. Arquitectura del Microcontrolador • Generalmente se compone de: – Procesador o UCP (Unidad Central de Proceso). – Memoria RAM para Contener los datos. – Memoria para el programa tipo ROM / PROM / EPROM. – Líneas de E/S para comunicarse con el exterior. – Diversos módulos para el control de periféricos (temporizadores, Puertos Serie y Paralelo, CAD: Conversores Analógico / Digital, CDA: Conversores Digital / Analógico, etc.). – Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema. 10 Arquitectura del Microcontrolador 11 La Memoria • En los microcontroladores la memoria de instrucciones y datos está integrada en el propio chip: – ROM se destina a contener el programa de instrucciones que gobierna la aplicación. – RAM se destina a guardar las variables y los datos. • La ROM en general tiene capacidades de 512 B a 8 KB y la RAM entre 20 y 512 B. • En los microcontroladores: 1. 2. No existen sistemas de almacenamiento masivo como disco duro o disquetes. Como el microcontrolador sólo se destina a una tarea en la memoria ROM, sólo hay que almacenar un único programa de trabajo. 12 El Bus: Bus de Direcciones y Bus de Datos A nivel físico representa un grupo de 8, 16 o más cables. Existen dos tipos de buses: el bus de direcciones y el bus de datos. El bus de datos es normalmente de 8 o 16 bits. De esta manera, una línea de conexión básica tendrá 8 bits. Primeramente, uno se sirve en transmitir la dirección desde la memoria del CPU, y segundo, para conectar todos los bloques internos que conforman el microcontrolador. El Bus: Bus de Direcciones y Bus de Datos MICROCONTROLADORES ESTRUCTURA TÍPICA MICROCONTROLADORES RECURSOS DE UN MICROCONTROLADOR RECURSOS COMUNES: • • • • • Unidad Central de Proceso. Memoria RAM. Memoria ROM. Puertas de Entrada/Salida. Reloj principal. MICROCONTROLADORES UNIDAD CENTRAL DE PROCESO -Elemento mas importante del microcontrolador. -Presenta una arquitectura Harvard. -Funciones: • Direccionar la memoria de instrucción. • Recibir el código OP de la instrucción en curso. • Decodificación de las instrucciones. • Ejecución de la operación que implica la instrucción. • Búsqueda de operandos. • Almacenamiento del resultado. MICROCONTROLADORES LA ARQUITECTURA HARVARD • Dispone de dos memorias independientes; una, que contiene sólo instrucciones y otra, sólo datos. • Ambas, disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas memorias. • Esta estructura no modifica nada desde el punto de vista del usuario y la velocidad de ejecución de los programas es impresionante MICROCONTROLADORES ARQUITECTURA HARVARD. MICROCONTROLADORES • COMPUTADORES DE JUEGO DE INSTRUCCIONES ESPECIFICO (SISC) -Son destinados a aplicaciones muy concretas. -El juego de instrucciones se adaptan a las necesidades de la aplicación prevista. MICROCONTROLADORES ARQUITECTURA DEL PIC16F84A MICROCONTROLADORES MEMORIAS En los microcontroladores la memoria de Instrucciones y datos esta integrada en la del propio CHIP. •Tiene dos tipo de memoria: volátil (RAM) y no volátil (ROM). •Los diseñadores se adaptan a la capacidad del microcontrolador. MICROCONTROLADORES PUERTAS DE ENTRADA/SALIDA • Son las patitas que posee la cápsula del microcontrolador. • Se encuentran agrupadas en Puertos.(Ej. El PIC 16f84A posee puerto A de 8 pines y Puerto B de 5 pines). • Las líneas o pines proporcionan el soporte a las señales de entrada, salida y control La Unidad de Entrada y Salida Entre los tipos de puertos: de entrada, de salida y puertos bidireccionales. La Unidad de Entrada y Salida Los puertos actúa como si fuesen unidades de locación de memoria. Algo es escrito o leído de los puertos, y ello se refleja de manera directa en los pines del microcontrolador. MICROCONTROLADORES RELOJ PRINCIPAL • Todo microcontrolador tiene un oscilador que genera una onda cuadrada de alta frecuencia. • Configura los impulsos de reloj usados en la sincronización de todas las operación del sistema. • Para seleccionar y estabilizar la frecuencia de trabajo se utilizan componentes exteriores. • Aumentar la frecuencia del reloj, significa que el programa se ejecutara más rápido; aumentado el consumo de energía. MICROCONTROLADORES RECURSOS DE UN MICROCONTROLADOR RECURSOS ESPECIALES: • Temporizadores. • Watchdog. • Estado de reposo. • Conversores Análogo-Digital. • Conversores Digital-Análogo • PWM. • Puertas de comunicación. MICROCONTROLADORES B.1.-TEMPORIZADORES • Se emplean para llevar periodos de tiempo y para llevar la cuenta de acontecimientos que ocurren en el exterior. • Para la medida de tiempos se carga un registro con el valor adecuado y a continuación dicho valor se va incrementando o decrementando al ritmo de los impulsos de reloj hasta que se desborda y llega a cero. • Cuando se desea contar acontecimientos que se dan por cambios de nivel o flancos en alguna de las patas del microcontrolador, el registro se va incrementando o decrementando al ritmo de dichos impulsos. MICROCONTROLADORES WATCHDOG O PERRO GUARDIAN • Consiste en un temporizador que cuando se desborda y pasa a 0, provoca un reset automático del sistema. • Funciona sin el control de un supervisor y de forma continuada las 24 horas del día. • Se debe diseñar el programa de trabajo que controla la tarea de forma que se refresque o inicialice al perro guardián antes de que provoque un reset. • Si falla o se bloquea el programa,no se refresca al perro guardián y al completar su temporización provocara un reset del sistema. MICROCONTROLADORES ESTADO DE REPOSO O SLEEP • Para ahorrar energía(factor clave en los aparatos portátiles),los microcontroladores disponen de una instrucción especial,que los pasan al estado de reposo o de bajo consumo,en el cual los requerimientos de potencia son mínimos. • En dicho estado se detiene el reloj principal y se congelan los circuitos asociados. • Al activarse una interrupción ocasionada por el acontecimiento esperado,el microcontrolador se despierta y reanuda su trabajo. MICROCONTROLADORES PWM O MODULADOR POR ANCHO DE PULSOS • Son circuitos que proporcionan en su salida impulsos de anchura variable,que ofrecen al exterior a través de las patitas del encapsulado. • Con los PWM se pueden controlar algunos tipos de actuadores como por ejemplo los servomotores. MICROCONTROLADORES CONVERSORES ANALOGO-DIGITAL • Los microcontroladores que incorporan un conversor análogo-digital pueden procesar señales analógicas,tan abundantes en aplicaciones.Suelen disponer de un multiplexor que permite aplicar a la entrada del conversor A/D ,diversas señales analógicas desde las patitas del circuito integrado. • Integran diversos tipos de conversores como los Delta-Sigma,Incrementales y de Aproximaciones Sucesivas MICROCONTROLADORES CONVERSOR DIGITAL-ANALOGO • Transforma los datos digitales obtenidos del procesamiento del computador en su correspondiente señal analógica que saca al exterior por una de las patitas de la cápsula. • Existen muchos actuadores que trabajan con señales analógicas. MICROCONTROLADORES PUERTAS DE COMUNICACION • Se puede dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos externos, otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros elementos bajo otras normas y protocolos. • Algunos modelos disponen de recursos entre los que destacan: -UART,USART. -Puerta Paralela Esclava. -USB. -Otros puertos. Esquema del Microcontrolador con sus Elementos Básicos y Conexiones Internas. Esquema del Microcontrolador con sus Elementos Básicos y Conexiones Internas. Para desarrollar una aplicación real, un microcontrolador por si solo, no es suficiente. Adicional al microcontrolador, necesitamos de un programa que pueda ser ejecutado, y algunos otros elementos para poder establecer una interfaz lógica hacia los elementos de regulación. MICROCONTROLADORES PROGRAMACION DEL MICROCONTROLADOR • Se han desarrollado todo tipo de lenguajes para los microcontroladores ,pero los mas usados son: - Ensamblador. - BASIC. - Lenguaje C. • Escogido el software a usar, editamos el código de programa línea por línea, con lo cual le indicamos al microcontrolador la secuencia lógica que va ha realizar paso a paso.