Your SlideShare is downloading. ×
  • Like
  • Save
Clase arquitectura
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Clase arquitectura

  • 10,832 views
Published

 

Published in Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
10,832
On SlideShare
0
From Embeds
0
Number of Embeds
3

Actions

Shares
Downloads
0
Comments
0
Likes
3

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. CIRCUITOS DIGITALES II MICROCONTROLADOR Ing. Fernando Aparicio Urbano Molano 1
  • 2. Microcontrolador MICROCONTROLADOR • Se requiere escoger el mejor dispositivo que cumpla con todas las características mínimas para el buen desarrollo del sistema. • La meta es escoger el más económico que tenga los parámetros y características deseadas para la aplicación. • Los rangos van desde los 4 bits con características limitadas hasta 32 bits de alta velocidad. Ing. Fernando A. Urbano M. 2
  • 3. Microcontrolador ARQUITECTURA BÁSICA • CPU: circuito secuencial complejo cuya función primaria es ejecutar los programas que se encuentran almacenados en la Flash EEPROM (Electrically Erasable Programmable Read Only Memory). • Programa: serie de instrucciones para desarrollar una tarea específica. • Los programas son desarrollados por de diseñadores de sistemas basados en microcontroladores (Ustedes) usando herramientas de desarrollo. Ing. Fernando A. Urbano M. 3
  • 4. Microcontrolador ARQUITECTURA BÁSICA (2) Arquitectura basada en acumulador: las instrucciones comienzan y terminan en registros especialmente diseñados llamados acumuladores (A y B). Ing. Fernando A. Urbano M. 4
  • 5. Microcontrolador ARQUITECTURA BASADA EN REGISTROS (1) Ing. Fernando A. Urbano M. 5
  • 6. Microcontrolador ARQUITECTURA BASADA EN REGISTROS (2) Ambos operandos están almacenados en registros que generalmente, están ubicados en la CPU. El resultado de una operación, también se almacena en un registro. Como los registros y la CPU operan a la misma velocidad, el procesador no tiene que bajarla para leer o escribir los operandos. El resultado de una operación también se almacena en un resgistro. Ing. Fernando A. Urbano M. 6
  • 7. Microcontrolador ARQUITECTURA BASADA EN PILA (1) Ing. Fernando A. Urbano M. 7
  • 8. Microcontrolador ARQUITECTURA BASADA EN PILA (2) Ambos operandos y la operación a ser desarrollada se almacena en la pila. Puede basarse en registros dedicados o puede ser una porción de la memoria RAM (Random Acces Memory). Ing. Fernando A. Urbano M. 8
  • 9. Microcontrolador ARQUITECTURA PIPELINE (SEGMENTADA) TRAE DECODIFICA TRAE EJECUTA ESCRIBE INSTRUCCION INSTRUCCION OPERANDOS INSTRUCCION RESULTADOS Consiste de subsistemas hardware separados llamados etapas para traer una instrucción desde la memoria, decodificarla, traer los operandos desde la memoria o los registros, ejecutar la instrucción y luego escribir los resultados nuevamente en la memoria. Ing. Fernando A. Urbano M. 9
  • 10. Microcontrolador ARQUITECTURA PIPELINE (2) Cada etapa está procesando simultáneamente una instrucción diferente de manera tal que el resultado completo se da cuando se termina la ejecución de una instrucción en cada ciclo de reloj. Generalmente se realizan instrucciones simples fácilmente implementadas en una sola etapa. Ing. Fernando A. Urbano M. 10
  • 11. Microcontrolador CONJUNTO DE INSTRUCCIONES RISC VS CISC La arquitectura del conjunto de instrucciones están relacionadas muy de cerca con la arquitectura del microcontrolador. Hay dos tipos básicos de arquitectura de instrucciones: • RISC: Reduced Instruction Set Computer • CISC: Complex Instruction Set Computer Ing. Fernando A. Urbano M. 11
  • 12. Microcontrolador RISC • Tiene un complemento de instrucciones simples construidas en bloques. • Tiene instrucciones más complejas se construyen a partir de las básicas. • Hace que los sistemas tengan arquitecturas de CPU menos complejas. Ing. Fernando A. Urbano M. 12
  • 13. Microcontrolador CISC • Tiene un complemento de características más completas. • Instrucciones más complejas. Como diseñador de sistemas Usted necesita estar íntimamente familiarizado con la arquitectura hardware y software de un microcontrolador dado, particularmente si va a programar los sistemas en lenguaje ensamblador. Ing. Fernando A. Urbano M. 13
  • 14. Microcontrolador REGISTROS DE CONFIGURACIONES La mayoría de microcontroladores tienen registros complementarios denominados Registros de configuraciones (Register Set). Es una interfaz entre el usuario y los diferentes subsistemas ubicados en el microcontrolador. Cada registro consiste de varios flip-flops que pueden verse como un interruptor configurable. Ing. Fernando A. Urbano M. 14
  • 15. Microcontrolador REGISTRO DE CONFIGURACIONES (1) Ing. Fernando A. Urbano M. 15
  • 16. Microcontrolador MEMORIA Este tramo de memoria direccionable contiene varios tipos de memorias incluida SRAM (Static Random Acces Memory), EEPROM (byte-addressable Electrically Erasable Programmable Read Only Memory) y memoria Flash programable EEPROM. Para tener en vista las ubicaciones de la memoria y el tipo presente en el sistema, se usa una herramienta visual llamada mapa de memoria. Ing. Fernando A. Urbano M. 16
  • 17. Microcontrolador MEMORIA (2) El mapa de memoria muestra cuales direcciones de memoria están actualmente en uso y el tipo de memoria presente. Ing. Fernando A. Urbano M. 17
  • 18. Microcontrolador TIPOS DE MEMORIA RAM: Es volátil. Puede escribirse y leerse durante la ejecución del programa. Típicamente se usa durante el desarrollo del sistema para almacenar un programa. Una vez se completa el desarrollo, todo el programa se almacena una memoria no volátil tal como la Flash EEPROM. Durante la ejecución del programa se usa para almacenar variables globales, soportar ubicación de memoria dinámica de variables y proveer ubicación para la Pila. Ing. Fernando A. Urbano M. 18
  • 19. Microcontrolador TIPOS DE MEMORIA (2) EEPROM de byte direccionable: se usa para almacenar y llamar variables permanentemente durante la ejecución del programa. Útil para almacenar datos que deben ser retenidos durante un fallo de potencia pero que pueden ser cambiados cuando se necesite. Aplicaciones como data loggers, combinaciones de cerraduras electrónicas y cajas fuertes, contadores de turno. Etc. Ing. Fernando A. Urbano M. 19
  • 20. Microcontrolador TIPOS DE MEMORIA (3) Flash EEPROM: se usa para almacenar programas. Es borrable y programable. Algunos sistemas de microcontroladores proveen un gran complemento de RAM y ésta memoria. Por lo tanto, un programa puede desarrollarse en la RAM y luego transferirse a la Flash cuando se complete. Otros fabricantes poseen una pequeña RAM y una gran Flash. Con ésta configuración de memoria, el sistema desarrollado se guarda en la Flash. Ing. Fernando A. Urbano M. 20
  • 21. Microcontrolador PIC16F87X uM PIC16F87X - DIAGRAMA DE PINES 21
  • 22. Microcontrolador PIC16F87X DISPOSITIVOS PERIFÉRICOS PIC16F87X • Timer0: temporizador-contador de 8 bits con predivisor de 8 bits. • Timer1: temporizador-contador de 16 bits con predivisor. • Timer2: temporizador-contador de 8 bits con predivisor y postdivisor. • Dos módulos de Captura - Comparación – PWM. 22 Ing. Fernando A. Urbano M.
  • 23. Microcontrolador PIC16F87X DISPOSITIVOS PERIFÉRICOS PIC16F87X (2) • Conversor A/D de 10 bits. • Puerto Serie Síncrono (SSP) con SPI e I2C. • USART. • Puerta Paralela Esclava (PSP). Sólo en encapsulado de 40 pines. 23 Ing. Fernando A. Urbano M.
  • 24. Microcontrolador PIC16F87X PIC16F87X – PROCESADOR RISC CON ARQUITECTURA HARVARD La arquitectura usada por Microchip se caracteriza por la independencia entre la memoria de código y la de datos. De ésta manera la capacidad y el tamaño de los buses de cada memoria se adaptan estrictamente a las necesidades del diseño, facilitando el trabajo en paralelo de las dos memorias. 24 Ing. Fernando Aparicio Urbano Molano
  • 25. Microcontrolador PIC16F87X PIC16F87X – PROCESADOR RISC CON ARQUITECTURA HARVARD (1) La arquitectura RISC se presenta en el reducido número de instrucciones, consta de 35 instrucciones, que se ejecutan en un ciclo de instrucción, equivalente a cuatro periodos de reloj, excepto las de salto que necesitan dos ciclos. 25 Ing. Fernando Aparicio Urbano Molano
  • 26. Microcontrolador PIC16F87X PIC16F87X – PROCESADOR RISC CON ARQUITECTURA HARVARD (2) Bus de dirección de Bus de dirección de instrucciones Datos 13 9 Memoria de Memoria de Procesador Datos código (Flash) 14 CPU 8 (SRAM) BUS DE BUS DE DATOS INSTRUCCIONES 26 Ing. Fernando Aparicio Urbano Molano
  • 27. Microcontrolador PIC16F87X ARQUITECTURA PIC16F87X 27 Ing. Fernando Aparicio Urbano Molano
  • 28. Microcontrolador PIC16F87X ARQUITECTURA PIC16F87X (2) La memoria de código está direccionada por el PC (Contador de Programa) en conexión con la pila de 8 niveles. La memoria de datos RAM contiene el Banco de Registros Específicos y el Banco de los Registros de Propósito General y transfiere información bidireccional por el bus de datos de 8 líneas que interconecta todos los elementos. El camino de Datos está formado por una ALU de 8 bits que trabaja conjuntamente con el Registro de Trabajo W. 28 Ing. Fernando Aparicio Urbano Molano
  • 29. Microcontrolador PIC16F87X PIC16F877 – ORGANIZACIÓN DE LA MEMORIA DE PROGRAMA 29 Ing. Fernando Aparicio Urbano Molano
  • 30. Microcontrolador PIC16F87X PIC16F877 – ORGANIZACIÓN DE LA MEMORIA DE PROGRAMA (2) La memoria FLASH, donde se almacena el programa de aplicación, puede tener una capacidad de 4K u 8K palabras de 14 bits cada una, se divide en páginas de 2K palabras y está direccionada con el PC, que tiene un tamaño de 13 bits. La Pila tiene 8 niveles de profundidad y es transparente para el usuario, funciona automáticamente y no dispone de instrucciones. 30 Ing. Fernando Aparicio Urbano Molano
  • 31. Microcontrolador PIC16F87X MEMORIA DE PROGRAMA LIFO (último en entrar, primero en salir) 31
  • 32. Microcontrolador PIC16F87X MEMORIA DE DATOS RAM • Tiene posiciones implementadas en RAM y otras en EEPROM. • Consta de 4 bancos de 128 bytes cada uno. • Para seleccionar un banco se emplean los bits 5 y 6 del registro de estado (STATUS) Banco RP1 RP0 0 0 0 1 0 1 2 1 0 3 1 1 32
  • 33. Microcontrolador PIC16F87X 33
  • 34. REGISTROS DE CONTROL REGISTROS DE CONTROL • Para gobernar el funcionamiento de los recursos de los PIC existe un conjunto de registros específicos (SFR) cuyos bits soportan el control de los mismos. • Están ubicados en las primeras posiciones de cada banco de la memoria de datos RAM. Ing. Fernando A. Urbano M. 34
  • 35. REGISTROS DE CONTROL REGISTRO DE ESTADO (STATUS) • El registro STATUS contiene el estado aritmético de la ALU, el estado del RESET y los bits de selección del banco de la memoria de datos. • Es el más usado de todos, ya que sus bits están destinados a controlar las funciones vitales del procesador. • Está duplicado en las cuartas posiciones de cada banco (03h, 83h, 103h y 183h) Ing. Fernando A. Urbano M. 35
  • 36. REGISTROS DE CONTROL REGISTRO DE ESTADO (STATUS) (1) IRP RP1 RP0 TO PD Z DC C Bit 7 Bit 0 Z (Zero): Señalizador (bandera) de cero. Se coloca a 1 cuando el resultado es cero. C (Carry/borrow): Acarreo del 8° bit. Se coloca a 1 automáticamente cuando existe acarreo en el bit más significativo en las instrucciones de suma. También actúa como señalizador de préstamo en la resta, pero en éste caso la polaridad es inversa. Ing. Fernando A. Urbano M. 36
  • 37. REGISTROS DE CONTROL REGISTRO DE ESTADO (STATUS) (2) Es decir, si vale 0 hay préstamo. La resta se efectúa mediante el complemento a dos. Para las instrucciones de rotación este bit se carga con el bit menos significativo, si es rotación a la derecha; o el más significativo, si es a la izquierda. Los señalizadores TO y PD son activos en bajo y sirven para indicar la causa que ha provocado la reinicialización del procesador. Ing. Fernando A. Urbano M. 37
  • 38. REGISTROS DE CONTROL REGISTRO DE ESTADO (STATUS) (2) El bit IRP se usa concatenado con el bit de más peso del registro FSR para elegir el banco de la memoria RAM en el direccionamiento indirecto: 0: Banco 0 y 1 (00h-FFh) 1: Banco 2 y 3 (100h-1FFh) Ing. Fernando A. Urbano M. 38