3. El MicrocontroladorEl Microcontrolador
Estudiar el diseño de los periféricos
Se requiere escoger el mejor
dispositivo que cumpla con todas
las características mínimas para el
buen desarrollo del sistema.
3
4. El MicrocontroladorEl Microcontrolador
Estudiar el diseño de los periféricos
Se requiere escoger el mejor
dispositivo que cumpla con todas
las características mínimas para el
buen desarrollo del sistema.
Los rangos van desde los 4 bits con
características limitadas hasta 32
bits de alta velocidad.
4
6. El MicrocontroladorEl Microcontrolador
La meta es escoger el más
económico que tenga los parámetros
y características deseadas para la
aplicación.
Realice el prototipo del hardware.
6
7. El MicrocontroladorEl Microcontrolador
La meta es escoger el más
económico que tenga los parámetros
y características deseadas para la
aplicación.
Realice el prototipo del hardware.
Desarrolle el firmware (en
cualquiera de los lenguajes
disponibles. Para este curso:
Ensamblador)
7
8. 8
ARQUITECTURA BÁSICAARQUITECTURA 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).
9. 9
ARQUITECTURA BÁSICAARQUITECTURA 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 (firmware): serie de instrucciones para
desarrollar una tarea específica.
10. 10
ARQUITECTURA BÁSICAARQUITECTURA 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 (firmware): serie de instrucciones para
desarrollar una tarea específica.
•Los programas (firmware) son desarrollados por de
diseñadores de sistemas basados en
microcontroladores (Ustedes) usando herramientas
de desarrollo.
11. 11
ARQUITECTURAARQUITECTURA PIPELINEPIPELINE (SEGMENTADA)(SEGMENTADA)
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.
TRAE
INSTRUCCION
DECODIFICA
INSTRUCCION
TRAE
OPERANDOS
EJECUTA
INSTRUCCION
ESCRIBE
RESULTADOS
12. 12
CONJUNTO DE INSTRUCCIONES RISC VS CISCCONJUNTO 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
13. 13
RISCRISC
•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.
15. 15
RECUERDE:RECUERDE:
Como diseñador de sistemas embebidos, 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.
16. 16
REGISTROS DE CONFIGURACIONESREGISTROS 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.
18. 18
MEMORIAMEMORIA
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.
19. 19
MEMORIA (2)MEMORIA (2)
El mapa de memoria muestra
cuales direcciones de memoria
están actualmente en uso y el
tipo de memoria presente.
20. 20
TIPOS DE MEMORIATIPOS DE MEMORIA
RAM: Es volátil. Puede escribirse y leerse durante la
ejecución del programa.
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.
21. 21
TIPOS DE MEMORIA (2)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, cajas fuertes, contadores de turno.
Etc.
22. 22
TIPOS DE MEMORIA (3)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. 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.
24. 24
DISPOSITIVOS PERIFÉRICOSDISPOSITIVOS PERIFÉRICOS PIC16F887PIC16F887
•Timer 0: temporizador-contador de 8 bits con
predivisor de 8 bits.
•Timer 1: temporizador-contador de 16 bits con
predivisor, oscilador dedicado de 32 KHz.
•Timer 2: temporizador-contador de 8 bits con
predivisor y postdivisor.
•Dos módulos de Captura - Comparación – PWM.
27. 27
PIC16F887PIC16F887 –– PROCESADOR RISC CON ARQUITECTURAPROCESADOR RISC CON ARQUITECTURA
HARVARDHARVARD
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.
28. 28
PIC16F887PIC16F887 –– PROCESADOR RISC CON ARQUITECTURAPROCESADOR RISC CON ARQUITECTURA
HARVARD (1)HARVARD (1)
• La arquitectura RISC con 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.
29. 29
PIC16F88XPIC16F88X –– PROCESADOR RISC CONPROCESADOR RISC CON
ARQUITECTURA HARVARD (2)ARQUITECTURA HARVARD (2)
Memoria
de
código
(Flash)
Procesador
CPU
Memoria
de Datos
(SRAM)BUS DE INSTRUCCIONES
Bus de dirección de
instrucciones
Bus de dirección de
Datos
BUS DE DATOS
13
14
9
8
32. 32
PIC16F887PIC16F887 –– ORGANIZACIÓN DE LA MEMORIA DEORGANIZACIÓN DE LA MEMORIA DE
PROGRAMA (2)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.
34. 34
MEMORIA DE DATOS RAMMEMORIA 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
36. 36
REGISTROS DE CONTROLREGISTROS 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.
37. 37
REGISTRO DE ESTADO (STATUS)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)
38. 38
REGISTRO DE ESTADO (STATUS) (1)REGISTRO DE ESTADO (STATUS) (1)
IRP RP1 RP0 Z DC CPDTO
Bit 0Bit 7
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.
39. 39
REGISTRO DE ESTADO (STATUS)REGISTRO DE ESTADO (STATUS) (2)(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 y son activos en bajo y
sirven para indicar la causa que ha provocado la
reinicialización del procesador.
40. 40
REGISTRO DE ESTADO (STATUS)REGISTRO DE ESTADO (STATUS) (2)(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)