SlideShare una empresa de Scribd logo
CIRCUITOS DIGITALES II




                     MICROCONTROLADOR




Ing. Fernando Aparicio Urbano Molano       1
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
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
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
Microcontrolador



ARQUITECTURA BASADA EN REGISTROS (1)




Ing. Fernando A. Urbano M.              5
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
Microcontrolador



      ARQUITECTURA BASADA EN PILA (1)




Ing. Fernando A. Urbano M.                 7
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
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
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
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
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
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
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
Microcontrolador



      REGISTRO DE CONFIGURACIONES (1)




Ing. Fernando A. Urbano M.               15
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
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
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
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
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
Microcontrolador PIC16F87X



uM PIC16F87X - DIAGRAMA DE PINES




                                           21
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.
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.
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
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
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
Microcontrolador PIC16F87X


                    ARQUITECTURA PIC16F87X




                                                          27
Ing. Fernando Aparicio Urbano Molano
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
Microcontrolador PIC16F87X



          PIC16F877 – ORGANIZACIÓN DE LA
              MEMORIA DE PROGRAMA




                                                         29
Ing. Fernando Aparicio Urbano Molano
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
Microcontrolador PIC16F87X



MEMORIA DE PROGRAMA
 LIFO (último en entrar, primero en
 salir)




                                          31
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
Microcontrolador PIC16F87X




                  33
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
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
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
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
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

Más contenido relacionado

PPTX
History Of Microprocessors
PDF
Computer Generations
DOCX
Generaciones de microprocesadores
PPTX
Tecnologías de microprocesadores
PPTX
Evolution of Intel Processors
PPTX
CORE 2 DUO
PPS
Evolucion de los microprocesadores
PPTX
Familia de procesadores intel y motorola.
History Of Microprocessors
Computer Generations
Generaciones de microprocesadores
Tecnologías de microprocesadores
Evolution of Intel Processors
CORE 2 DUO
Evolucion de los microprocesadores
Familia de procesadores intel y motorola.

La actualidad más candente (20)

PDF
Tarjeta madre y sus componentes
PPTX
Intel 80286 80386 y 80486
PPTX
Generacion de microprocesadores o procesadores intel y motorola
PPTX
Intel I3,I5,I7 Processor
PPTX
Intel core i7 processors
DOCX
Cuadro comparativo
PPSX
Familia intel y familia motorola
PPTX
Computer Evolution and Performance (part 2)
PPTX
Procesadores (1)
PPTX
La placa madre y sus piezas y funciones
PPTX
Modelo RISC
PPTX
Instalar el equipo de computo
PPTX
Css- 2nd quarter.pptx
PPTX
Microprocesador
PPT
Presentación1 De Zocalos
PPT
Historia de las computadoras
PPTX
Introduction and Comparison of Microprocessor Chip families
PDF
Los factores de forma
PPT
Qué es un procesador
PDF
Catalogo de memorias RAM
Tarjeta madre y sus componentes
Intel 80286 80386 y 80486
Generacion de microprocesadores o procesadores intel y motorola
Intel I3,I5,I7 Processor
Intel core i7 processors
Cuadro comparativo
Familia intel y familia motorola
Computer Evolution and Performance (part 2)
Procesadores (1)
La placa madre y sus piezas y funciones
Modelo RISC
Instalar el equipo de computo
Css- 2nd quarter.pptx
Microprocesador
Presentación1 De Zocalos
Historia de las computadoras
Introduction and Comparison of Microprocessor Chip families
Los factores de forma
Qué es un procesador
Catalogo de memorias RAM
Publicidad

Destacado (20)

PPTX
Arquitectura Multiprocesadores
PDF
Generacion codigomaquina
PPT
Generador de codigo intermedio
PPTX
PIC, Arduino y otras herramientas similares en el control de procesos
PPTX
Multiprocesamiento
PDF
La arquitectura organica
PPTX
Acceso Directo a la Memoria - DMA
PPT
Acceso Directo A Memoria
PPT
Actuadores
PPT
Dispositivos Programables por el usuario
PPTX
Acceso directo a memoria
PPTX
Arduino - ¿Que posibilidades nos ofrece?
PPTX
Arquitectura orgánica presentación
PPT
Power Didáctica Letra M
PPT
Uso De La H
PPT
Power Didáctica Letra M
PDF
PDF
Arquitectura Computacional - Intel Galileo
PPTX
PDF
Arquitectura Multiprocesadores
Generacion codigomaquina
Generador de codigo intermedio
PIC, Arduino y otras herramientas similares en el control de procesos
Multiprocesamiento
La arquitectura organica
Acceso Directo a la Memoria - DMA
Acceso Directo A Memoria
Actuadores
Dispositivos Programables por el usuario
Acceso directo a memoria
Arduino - ¿Que posibilidades nos ofrece?
Arquitectura orgánica presentación
Power Didáctica Letra M
Uso De La H
Power Didáctica Letra M
Arquitectura Computacional - Intel Galileo
Publicidad

Similar a Clase arquitectura (20)

PDF
Sesión 3 introduccion a microcontroladores
PDF
Datasheet
PDF
Arquitectura Microcontrolador PIC16F887
PDF
Introduccion a los microcontroladores pic y programacion de una matriz de led's
DOCX
Qué es un microcontrolador
DOCX
Resumen microcontroladores
PDF
Microcontroladores tabla de referencia
PDF
Microcontroladores ASM
PDF
Pic 16 F84 A
PPTX
Microcontroladores.pptx
PPTX
Microcontroladores
PPT
Microcontroladores 101108114327-phpapp01
PPT
Microcontroladores 101108114327-phpapp01
PPTX
El mundo de los microcontroladores - Parte2
PPT
PPTX
PDF
Microcontroladores PIC
PDF
Apuntes de microcontroladores _PIC16F84 apunte.pdf
PPT
Introduccion micro´s
DOCX
S14 GUIA LAB 09 PROYECTO DE MICROCONTROLADORES PIC.docx
Sesión 3 introduccion a microcontroladores
Datasheet
Arquitectura Microcontrolador PIC16F887
Introduccion a los microcontroladores pic y programacion de una matriz de led's
Qué es un microcontrolador
Resumen microcontroladores
Microcontroladores tabla de referencia
Microcontroladores ASM
Pic 16 F84 A
Microcontroladores.pptx
Microcontroladores
Microcontroladores 101108114327-phpapp01
Microcontroladores 101108114327-phpapp01
El mundo de los microcontroladores - Parte2
Microcontroladores PIC
Apuntes de microcontroladores _PIC16F84 apunte.pdf
Introduccion micro´s
S14 GUIA LAB 09 PROYECTO DE MICROCONTROLADORES PIC.docx

Más de Fernando Aparicio Urbano Molano (20)

PPTX
Ciclos de Control en Shell
PPTX
Introducción al Shell Linux
PPTX
Introducción al Linux Embebido
PDF
Lenguaje C para Microcontroladores PIC - Declaraciones de Decisión
PDF
Introducción al Lenguaje C para microcontroladores PIC
PDF
Node.JS para Intel Galileo
PDF
PDF
Conexiones del PIC16F887
PDF
Módulo EUSART del PIC16F887
PDF
Módulo ADC del PIC16F887
PDF
Módulo Timer 1 del PIC16F887
PDF
Modulo Timer 0 del PIC16F887
PDF
Máquinas de Estado Finito en VHDL
PDF
Introducción al PIC16 f887
PDF
Estados Indiferentes - Diagramas de Karnaugh
PDF
Clase instrucciones PIC16F877A
PDF
Multivibradores, Temporizadores y aplicaciones de los Flip-Flops
PDF
Flip-Flops y aplicaciones de los Latch
PDF
Máquinas de Estado
Ciclos de Control en Shell
Introducción al Shell Linux
Introducción al Linux Embebido
Lenguaje C para Microcontroladores PIC - Declaraciones de Decisión
Introducción al Lenguaje C para microcontroladores PIC
Node.JS para Intel Galileo
Conexiones del PIC16F887
Módulo EUSART del PIC16F887
Módulo ADC del PIC16F887
Módulo Timer 1 del PIC16F887
Modulo Timer 0 del PIC16F887
Máquinas de Estado Finito en VHDL
Introducción al PIC16 f887
Estados Indiferentes - Diagramas de Karnaugh
Clase instrucciones PIC16F877A
Multivibradores, Temporizadores y aplicaciones de los Flip-Flops
Flip-Flops y aplicaciones de los Latch
Máquinas de Estado

Último (20)

PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PDF
EL aprendizaje adaptativo bajo STEM+H.pdf
PDF
Introducción a la historia de la filosofía
PPTX
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
PDF
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
PDF
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
PDF
Ernst Cassirer - Antropologia Filosofica.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
PDF
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
DOCX
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
PDF
Atencion prenatal. Ginecologia y obsetricia
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PPTX
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA
2.0 Introduccion a processing, y como obtenerlo
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
EL aprendizaje adaptativo bajo STEM+H.pdf
Introducción a la historia de la filosofía
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
Gasista de unidades unifuncionales - pagina 23 en adelante.pdf
Unidad de Aprendizaje 5 de Educacion para el Trabajo EPT Ccesa007.pdf
Ernst Cassirer - Antropologia Filosofica.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE_COM.pdf
MATERIAL DIDÁCTICO 2023 SELECCIÓN 1_REFORZAMIENTO 1° BIMESTRE.pdf
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Informe_practica pre Final.docxddadssasdddddddddddddddddddddddddddddddddddddddd
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
Tomo 1 de biologia gratis ultra plusenmas
Los hombres son de Marte - Las mujeres de Venus Ccesa007.pdf
Atencion prenatal. Ginecologia y obsetricia
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
LAS MIGRACIONES E INVASIONES Y EL INICIO EDAD MEDIA

Clase arquitectura

  • 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
  • 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