Download Arquitectura del microcontrolador
Document related concepts
no text concepts found
Transcript
¿Qué es un Microcontrolador? Es un circuito integrado programable que contiene todos los componentes de un computador, aunque de limitadas prestaciones y se destina a gobernar una sola tarea. ¿Dónde se emplean? • Televisores, lavadoras, aparatos musicales, equipos de vigilancia, telefonía, área automotriz, mecatrónica. Diferencia entre microprocesador y microcontrolador • Un microprocesador es un sistema abierto con el que puede construirse una computadora con características que se desee. Bus de dirección uC Bus de datos Memoria Controladores Perifericos Diferencia entre microprocesador y microcontrolador • Un microcontrolador es un sistema cerrado que contiene un computador completo y de prestaciones que no se puede modificar. Perifericos uC Perifericos Ejemplo • Un microondas que se gobierna con un microcontrolador de 382 instrucciones, cada una de las cuales ocupa una palabra de la memoria del código. Para soportar el teclado y la pantalla LCD se necesita 12 líneas de E/S. • ¿Cuál elegiríamos? MODELO MEMORIA DE INSTRUCCIONES LÍNEAS E/S PRECIO PIC 16F83 512 13 4.40 PIC16F84 1,024 13 6.00 PI16C74 4,096 33 12.10 Arquitectura del microcontrolador Las partes principales de un microcontrolador son: Procesador Memoria no volátil para contener el programa Memoria de escritura y lectura para guardar los datos. Líneas de E/S para controlar los periféricos (puertos) Arquitectura del microcontrolador Las partes principales de un microcontrolador son: Recursos auxiliares Circuito de reloj Temporizador Conversores AD y DA Comparadores analógicos Tarea 1 • ¿Qué es la arquitectura Harvard? • ¿Qué es la arquitectura von Neumann? • ¿Qué es la arquitectura RISC y CISC? • ¿Cuál es la diferencia entre estas dos? Arquitectura del microcontrolador Procesador Arquitectura von Neumann se caracteriza porque la UCP (unidad central de procesos) se conectaba con una memoria única, donde coexistían datos e instrucciones a través de un MEMORIA sistema de bus. UCP INSTRUCCIONES + DATOS Arquitectura del microcontrolador Procesador Arquitectura Harvard son independientes la memoria de instrucciones y la manera de datos cada una dispone de su propio sistema de bus para el acceso. MEMORIA INSTRUCCIONES MEMORIA UCP DATOS Arquitectura del microcontrolador Procesador Arquitectura CISC (Complex Instruction Set Computer) tiene un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operaciones situadas en la memoria o en los registros internos. Arquitectura del microcontrolador Procesador Arquitectura RISC (reduced instruction set computer) es un conjunto de instrucciones ya definidas en el Microcontrolador instaladas lo que hace de fácil acceso a ellas. Reduciendo de esta manera el acceso a la memoria. Arquitectura del microcontrolador Procesador Diferencia entre CISC y RISC CISC RISC Programación Fácil Compleja Código Corto Largo Velocidad Lento Rapido Copilar Largo Corto Arquitectura del microcontrolador Memoria del programa El microcontrolador está diseñado para que en su memoria de programa se almacenen todas las instrucciones del programa de control. Sin la posibilidad de extender la memoria. Arquitectura del microcontrolador Memoria del programa ¿Cuántas memorias existen? Memoria ROM (Read Only Memory) memoria de sólo lectura este tipo de memoria el programa se graba en el chip durante el proceso de fabricación. (Memoria no volatil). Arquitectura del microcontrolador Memoria del programa ¿Cuántas memorias existen? Memoria PROM (Programmable Read Only Memory) Memoria programable de sólo lectura Dichas memorias consisten en chips que comprimen miles de fusibles (o diodos) capaces de "quemarse" mediante un dispositivo denominado "programador ROM", aplicando un alto voltaje (12V) a las cajas de memoria a marcar. Los fusibles quemados corresponden a 0 y los demás a 1. Arquitectura del microcontrolador Memoria del programa ¿Cuántas memorias existen? Memoria EPROM (Erasable Programmable Read Only Memory) Memoria programable y borrable de sólo lectura. Arquitectura del microcontrolador Memoria del programa ¿Cuántas memorias existen? Memoria EEPROM (Electrically Erasable Programmable Read Only Memory) Memoria programable de sólo lectura borrable electricamente. Arquitectura del microcontrolador Memoria del programa ¿Cuántas memorias existen? Memoria FLASH es similar a la memoria EEPROM pero tiene la capacidad de usar un transistor en vez de dos (EEPROM) para almacenar datos haciendo esto una memoria de mayor capacidad. Arquitectura del microcontrolador Memoria de datos Memoria RAM (Random Access Memory) Memoria de acceso aleatorio. Este tipo de memoria es volatil pero es mas rapido al acceso a la información. Arquitectura del microcontrolador Puertos Son los pins que se comunica con algún componente externo. Pueden manejar información en paralelo. Arquitectura del microcontrolador Recursos auxiliares Circuito de reloj: encargado de generar los impulsos que sincronizan el funcionamiento de todo el sistema. Temporizadores: orientados a controlar tiempos. Perro guardian: reinicia el programa cuando se queda bloqueado. Conversores AD-DA: para recibir y enviar señales analogicas Comparadores analogicos: verifica el valor de una señal analógica Sistema de protección ante fallos de la alimentación Estado de reposo: suspende el programa para ahorar energía. Microcontrolador Arquitectura del microcontrolador Tarea 2 ¿Qué es un registro? ¿Qué registros contiene el microcontrolador KL25Z? Arquitectura del microcontrolador Registros Acumulador (A) de 8 bits para resolver operaciones aritméticas o no aritméticas. Registro índice (H:X) de 16bits puede usarse como almacenador temporal. Arquitectura del microcontrolador Registros Puntero de pila (SP) de 16 bits contiene la dirección de la siguiente ubicación de la pila al resetear inicia en 00FF. Contador del programa (PC) de 16 bits indica la dirección en la que se encuentra la próxima instrucción Arquitectura del microcontrolador Registros Código de condiciones (CCR) – Bit 7 Desbordamiento: Nos indica cuando un número sobrepasa el registro – Bit 4 Acarreo medio: Cuando existe un acarreo en el acumulador entre en bit 3 y 4 Arquitectura del microcontrolador Registros Código de condiciones (CCR) – Bit 3 Interrupción: cuando se activa este bit todas las interrupciones se desactivan y se vuelve a activar cuando el bit se limpia. – Bit 2 Negativo: al realizar una operación el resultado que se obtuvo es negativo. . Arquitectura del microcontrolador Registros Código de condiciones (CCR) – Bit 1 Cero: cuando una operación da como resultado 0 – Bit 0 Acarreo: Cuando existe acarreo en el 7 bit del acumulador . Tipos de direccionamientos Inherente Inmediato Directo Extendido Indexado Relativo Tipos de direccionamiento • Inherente: Son operaciones sobre registros o bits de estos últimos. A CLR A XX 00 Tipos de direccionamiento • Inmediato: Especifica el valor directamente indicado por el símbolo #. (No es la dirección del valor) A LD A #$FF XX FF Tipos de direccionamiento • Directo: Se transfiere el valor que se encuentra almacenado en la memoria. A LD A $50 XX Memoria de datos AA 050 FA 051 AA Tipos de direccionamiento • Extendido: Para acceder a direccionamiento de memoria mayor de 16 bits. A LD A $5100 XX AA 0500 FA 5100 FA Tipos de direccionamiento • Indexado: Se especifica el contenido del registro como dirección del operando. CLR ,X Mem. datos XX H:X 0400 04 00 0400 00 Tipos de direccionamiento • Indexado con offset: es lo mismo que el indexado la única diferencia es que en este se le agrega un intervalo. • CLR 10,X Mem datos XX 0400 H:X 04 00 040A 00 Tipos de direccionamiento • Indexado con offset 16 bits • CLR $0100,X Mem datos XX 0150 H:X 00 00 0150 50 Tipos de direccionamiento • Indexado usando el puntero de pila ST A 5,SP A FA Mem de datos XX 00D0 SP 00 FA 00D5 D0 Tipos de direccionamiento • Indexado usando el puntero de pila a 16 bit con offset. ST A $0100,SP A Mem de datos XX FA 00D0 SP 00 FA 01D0 D0 Operaciones aritméticas y lógicas • ¿Que es una operación aritmética? Son aquellas operaciones clásicas como suma, resta, multiplicación y división. • ¿Qué es una operación lógica? Son aquellas al usar las compuertas and, or y not. Resolver • Resuelva la siguiente operaciones logicas: 10101 10001 (10111)(10000) 10111 (101 111) F (00) 00 Realice el siguiente diagrama de flujos • Almacene en la memoria los siguientes valores: 0A, 0C, 0F. • Tiene un registro llamado A limpiarlo (es decir que valga cero) • Del registro CCR que banderas o bits se activaran con las siguientes operaciones aritméticas. 3-4=-1 0/4=0 00001111+00000001=00010000