Publicado el 3 de Julio del 2018
592 visualizaciones desde el 3 de Julio del 2018
1.021,6 KB
58 paginas
Creado hace 19a (16/02/2005)
MICROCONTROLADORES PIC
Microcontroladores PIC
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
1
MICROCONTROLADORES PIC
Características generales:
• Arquitectura Harvard, procesador segmentado.
• Compatibilidad software entre los modelos de la misma gama.
• Sencillez de uso y herramientas de desarrollo sencillas y baratas.
• Código compacto y rápido.
• Poco consumo y amplio rango de voltajes de alimentación.
• Pequeño tamaño y gran variedad de encapsulados.
• precio
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
2
Tipos de PIC
MICROCONTROLADORES PIC
PIC de gama básica (16C5XX):
• Datos de 8 bits.
• Instrucciones de 12 bits.
• 33 instrucciones.
• Sin interrupciones
• Pila de dos niveles
• Alimentación desde 2,5 v.
• Ejemplos:
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
3
MICROCONTROLADORES PIC
PIC de gama media (16C(F)XXX):
Tipos de PIC
• Datos de 8 bits.
• Instrucciones de 14 bits.
• 35 instrucciones.
• Interrupciones
• Pila de 8 niveles (anidamiento de subrutinas)
• Gran variedad de periféricos: Timers, ADC, USART, LCD, Comparadores, etc.
• Ejemplos:
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
4
MICROCONTROLADORES PIC
Tipos de PIC
PIC miniatura (12C(F)XXX):
• Datos de 8 bits.
• Instrucciones de 14/12 bits.
• 35/33 instrucciones.
• 8 pines y hasta 6 líneas de E/S.
• Consumo menor de 2 mA a 5v y 4 Mhz.
• Ejemplos:
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
5
MICROCONTROLADORES PIC
PIC de gama alta (17CXXX):
Tipos de PIC
• Datos de 8 bits.
• Instrucciones de 16 bits.
• 58 instrucciones.
• Potente sistema de gestión de interrupciones vectorizadas.
• Arquitectura abierta (bus de datos y direcciones disponibles: como en un µP)
• Gran variedad de periféricos: como en gama media, más un multiplicador HW
de gran velocidad.
• Ejemplos:
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
6
MICROCONTROLADORES PIC
PIC de gama mejorada (18C(F)XXX):
• Datos de 8 bits.
• Instrucciones de 16 bits.
• 77 instrucciones (multiplicación de 8x8 en un ciclo).
• Alta velocidad (hasta 40 Mhz) y alto rendimiento (10 MIPS)
• Arquitectura orientada al lenguaje C.
• Potentes herramientas de emulación.
• Ejemplos:
Tipos de PIC
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
7
MICROCONTROLADORES PIC
Arquitectura Harvard:
PIC de gama media
Arquitectura
• Memoria de programa y memoria de datos separadas, con buses distintos
• Mayor ancho de banda que en la arquitectura Von Neuman donde el bus
para datos e instrucciones es único.
• Gracias a un bus exclusivo para la memoria de programa se optimizan las
instrucciones a la arquitectura.
• Todos los códigos de operación son de 14 bits, con un único acceso a
memoria para cada instrucción, frente a la estructura multi-byte de algunas
instrucciones en arquitectura Von Neuman.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
8
MICROCONTROLADORES PIC
PIC de gama media
Arquitectura
Ejecución segmentada:
• Pipeline de dos estados: solapamiento de la fase de búsqueda y
ejecución de la instrucción.
• Mientras de ejecuta una instrucción se busca el código de
operación de la siguiente.
Ortogonalidad
• Las instrucciones pueden realizar cualquier operación sobre
cualquier registro, usando cualquier modo de direccionamiento
Juego de instrucciones reducido:
• 35 instrucciones que se ejecutan en un solo ciclo, ssalvo las de
salto.
Arquitectura en banco de registros:
• Todos los registros especiales incluido el contador de programa, los
puertos, temporizadores, etc. están mapeados en memoria.
• A los registros/memoria se puede acceder con direccionamiento
directo o indirecto.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
9
MICROCONTROLADORES PIC
Características especiales
• Código de protección
PIC de gama media
Arquitectura
• El contenido de la memoria de programase puede proteger contra
lectura.
• Existen posiciones de memoria reservadas para incluir números de
serie o códigos de identificación.
• Power-on Reset (POR)
• Autoreset al conectarles la alimentación.
• Lógica Brown-out (BOR)
• Reset del µC si la alimentación desciende por debajo de un
determinado valor.
•Watchdog Timer (perro guardián)
• Temporizador que resetea la MCU si no se actualiza en un tiempo
determinado. Evita ‘cuelgues’.
• Modo de bajo consumo
• Mediante la instrucción SLEEP se para el funcionamiento de la CPU
reduciendo drásticamente el consumo.
• Oscilador RC interno.
• In-Circuit Serial Programming (ICSP)
• Posibilidad de programación del circuito en la aplicación final utilizando
un protocolo serie sobre dos líneas de E/S del µC.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
10
MICROCONTROLADORES PIC
PIC de gama media
Arquitectura
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
11
MICROCONTROLADORES PIC
PIC de gama media
Arquitectura
2. No todos los dispositivos
incluyen esta característica
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
12
MICROCONTROLADORES PIC
PIC de gama media
Arquitectura
3. Muchos de los pines de E/S de propósito general están multiplexados con uno más módulos periféricos
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
13
MICROCONTROLADORES PIC
Esquema de reloj/ciclo de instrucción:
Cuatro ciclos de reloj -> ciclo de instrucción
PIC de gama media
Arquitectura
Se incrementa
el contador de
programa
La nueva instrucción se
almacena en el registro de
instrucción
Decodificación y ejecución de
la instrucción
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
14
MICROCONTROLADORES PIC
Ejemplo de ejecución:
PIC de gama media
Arquitectura
• Hasta Tcy3 en cada ciclo se ejecuta una instrucción.
• Al acabar de ejecutarse la tercera instrucción la CPU almacena la dirección de
la cuarta instrucción en la pila e introduce la dirección de SUB_1 en el PC,
aunque la búsqueda de la fase de búsqueda cuarta de la cuarta instrucción ya
se ha completado.
• Durante Tcy4 la ejecución de la cuarta instrucción se ignora (ejecutando un
NOP) y se busca el código de operación correspondiente a la dirección SUB_1.
• Todas las instrucciones se realizan en un ciclo de instrucción
salvo las de salto que lo hacen en dos.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
15
MICROCONTROLADORES PIC
PIC de gama media
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
16
MICROCONTROLADORES PIC
Unidad Aritmético lógica:
PIC de gama media
ALU
• Longitud de palabra: 8 bits.
• Operaciones de suma, resta , desplazamiento y lógicas.
• Operaciones aritméticas en complemento a dos.
• Los acarreos (C), acarreo decimal (DC) y resultado cero (Z), se reflejan en
el registro STATUS
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
17
MICROCONTROLADORES PIC
Existen tres tipos de instrucciones:
•Instrucciones de operación de bytes en registros
•Instrucciones de manipulación de bits de registros
•Instrucciones de control y operación con literales
PIC de gama media
Instrucciones
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
18
MICROCONTROLADORES PIC
PIC de gama media
Instrucciones
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
19
MICROCONTROLADORES PIC
PIC de gama media
Instrucciones
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
20
MICROCONTROLADORES PIC
PIC de gama media
Reg. STATUS
Registro STATUS:
•Indica el estado de las operaciones aritméticas de la ALU
•Indica el estado el estado del RESET
•Controla la selección de bancos en la memoria de datos
Bit7 IRP: bit de selección de banco de registros usado en direccionamiento indirecto.
1 = Bank 2, 3 (100h - 1FFh)
0 = Bank 0, 1 (00h - FFh)
Para circuitos con Banco 0 y Banco 1 este bit esta reservado y siempre esta cero
Bit 6:5 RP1:RP0: bit de selección de banco de registros usado en direccionamiento directo.
11 = Banco 3 (180h - 1FFh)
10 = Banco 2 (100h - 17Fh)
01 = Banco 1 (80h - FFh)
00 = Banco 0 (00h - 7Fh)
Cada banco es de 128 bytes.
Bit 4 TO’: bit Time-out.
1 = Después del encendido, de la instrucciones CLRWDT o SLEEP.
0 = Time-out del WDT.
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
21
MICROCONTROLADORES PIC
PIC de gama media
Reg. STATUS
Bit 3 PD’: bit power-down
1 = Después del encendido o por la instrucción CLRWDT
0 = Por la ejecución de la instrucción SLEEP.
Bit 2 Z: bit cero
1 = El resultado de una operación aritmética o lógica es cero.
0 = El resultado de una operación aritmética o lógica no es cero
Bit 1, DC: bit Digit carry/borrow’ (instrucciones ADDWF, ADDLW, SUBLW, SUBWF)
1 = El cuarto bit de menor peso del resultado produce acarreo
0 = El cuarto bit de menor peso del resultado no produce acarreo
Bit 0, C: bit Carry/borrow’ (instrucciones ADDWF, ADDLW,SUBLW,SUBWF)
1 = El resultado produce acarreo
0 = El resultado no produce acarreo
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
22
MICROCONTROLADORES PIC
MEMORIA DE PROGRAMA
PIC de gama media
Organización de la Memoria
• Máximo espacio de memoria 8K palabras (13 bits
de bus de direcciones)
• Cuatro páginas de 2K cada una
• El byte de menor peso del contador de programa:
PCL es accesible por el usuario en lectura y
escritura a través de un registro del mismo
nombre.
• Los 5 bits de mayor peso del PC (PCH) son
accesibles a través de PCLATCH<4:0>
• Un RESET pone a cero el registro PCLATCH
• Acceso a las páginas mediante PCLATCH <4:3>
• Vector de reset en 0000h
• Vector de interrupción en 0004h
SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO
23
MICROCONTROLADORES PIC
CONTADOR DE PROGRAMA
Instrucción con PCL como destino
PIC de gama media
Organización de la Memoria
Instrucción GOTO
SISTEMAS E
Comentarios de: Microcontroladores PIC (0)
No hay comentarios