Microcontrolador Cygnal 8051F040

Documentos relacionados
Tema 2: Estructura de los Microcontroladores

BLOQUE 3 (PARTE 2) MICROCONTROLADOR 8051 DESCRIPCIÓN GENERAL

CONJUNTO DE INSTRUCCIONES PARA LA FAMILIA DEL 51

Tablas familia MCS-51 (8051)

Práctica 1 : INTRODUCCIÓN Práctica 1: Introducción al 8051

Relación de Problemas I

Elección de un microcontrolador

Microcontrolador PIC16F84: Arquitectura

Introducción a la Programación en Lenguaje Ensamblador.

Capítulo 1. Introducción a los PIC de 8 bits

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

ESTRUCTURA BÁSICA DEL µc AT89C51

Arquitectura de Computadores II

Memoria y Entrada/Salida Tecnología Organización - Expansión

UNIVERSIDAD NACIONAL DE COLOMBIA SEDE BOGOTÁ FACULTAD DE INGENIERÍA INGENIERÍA MECATRÓNICA

INSTITUTO TECNOLOGICO DEL MAR, Mazatlán

Arquitecturas de DSP TMS320F28xxx

5. Microcontroladores de 32 bits. (C) 2007 Ibercomp S. A.

Figura 2. Formato de un dato serie síncrono.

CAPITULO 2 Organización de la memoria en los Microcontroladores 8052/8051

ORGANIZACIÓN DE LA MEMORIA

Microcontroladores ( C)

ARQUITECTURA DEL PIC16F84A

Microcontroladores. Sistemas embebidos para tiempo real

Tema 4. Organización de la memoria

PUERTOS DE ENTRADA / SALIDA EN UN MICROCONTROLADOR

Ejercicios Básicos para Simulación

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 1 - INTRODUCCIÓN JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

INSTRUCCIONES. Las instrucciones del microcontrolador Z8 PLUS se pueden clasificar en grupos de acuerdo a su función como:

La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

Arquitectura y mapa de memoria del 80C167. Cesáreo Fernández Martínez Álvaro Sánchez Miralles

Tema 4 Microprocesador MCF5282: Hardware

Diseño Basado en Microcontroladores.

TEMA 1. La familia de microcontroladores 80C51

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

PIC16F88. Características

Introducción a los Microcontroladores

Microcontroladores PIC

Sensores inalámbricos de bajo

2.2-1 Visión Interna PIC16F873/876. SBM

Terminales del P 8085 (vistos hasta ahora)

BLOQUE 3. Enrique Mandado Pérez María José Moure Rodríguez. Microcontroladores

Taller de Firmware. Introducción a los Microcontroladores. Facultad de Ingeniería Instituto de Computación

Diseño Basado en Microcontroladores. Programa Detallado

Contenidos. Arquitectura de ordenadores (fundamentos teóricos) Elementos de un ordenador. Periféricos

CONJUNTO DE INSTRUCCIONES DEL MICROCONTROLADOR Regreso al menú principal

La familia de microcontroladores de 8 bits MCS-51 esta constituida, entre otros, por los siguientes dispositivos:

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

Microcontroladores PIC

Arquitectura de Computadores

Arquitectura de Computadores II Clase #3

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Ejercicios del tema 4. El procesador

GESTION DE MEMORIA EN LOS MICROCONTROLADORES DE LA FAMILIA MCS-51

Taller de Firmware. Introducción al PIC16F877. Facultad de Ingeniería Instituto de Com putación

ESTRUCTURA FÍSICA DEL µp 8086

Análisis general de un Microprocesador

INTRODUCCIÓN. Comunicación Serial.

MICROCONTROLADORES. 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits

Operaciones lógicas y repetición

PIC 18F45XX CARACTERÍSTICAS GENERALES

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

CARTA DESCRIPTIVA (FORMATO MODELO EDUCATIVO UACJ VISIÓN 2020)

MICROCONTROLADORES: FUNDAMENTOS Y APLICACIONES CON PIC. Autores: Fernando E. Valdés Pérez Ramon Pallàs Areny. Título de la obra:

CAPITULO 4. LOS DSPs

Contenido MICROCONTROLADORES PIC16F877A Y PIC16F887 / SALVATIERRA. Alfaomega. 3.4 Soporte Muestras... 25

CURSO DE MICROCONTROLADORES PROGRAMACION E INTERCONEXIONADO DEL µc-8051

ARQUITECTURA DE LOS SISTEMAS BASADOS EN MICROPROCESADOR

MODOS DE DIRECCIONAMIENTO DEL µc51

Periféricos Interfaces y Buses

Mapas de Memoria y E/S

APENDICE A Microcontrolador de 8 bits MC68HC11F1

TARJETA DE ENTRADAS Y CONTADORES RÁPIDOS (MTC-3052)

Arquitectura Interna del 8088

ESPino - Especificaciones

Registros SFR vistos hasta ahora: Microcontroladores PIC

Arquitectura de Computadoras

Microcontrolador. Filosofía del bit

Velocidades Típicas de transferencia en Dispositivos I/O

Tema 1. Fundamentos del lenguaje ensamblador

Tratamiento de Excepciones en MIPS

Arquitectura del MIPS: Introducción

Arquitectura del PLC. Dpto. Electrónica, Automática e Informática Industrial)

Tema 5 Jerarquía de Memoria

Bibliografía básica de referencia: Fundamentos de Informática para Ingeniería Industrial, Fernando Díaz del Río et al.

Entrada y Salida! EC-2721 Arquitectura del Computador I! Entradas/Salidas: Problemas. Entradas salidas: Criterios. Amplia variedad de periféricos!

Grado en Ingeniería Informática - Ingeniería del Software Estructura de Computadores - Prueba 2 - Junio de 2011

6. Entrada y Salida Explicación de la interfaz entre el computador y el mundo exterior.

Tema 0. Introducción a los computadores

1-Introducción. KIT ARM- Ténicas Digitales II - Ing. Ruben M. Lozano /9

Introducción a los microcontroladores. Decanato de Postgrado Mayo de 2011

UNIVERSIDAD TECNOLÓGICA DE LA MIXTECA. Ingeniería en Electrónica EL MICROCONTROLADOR PIC16F84 PRESENTA: M. C. Felipe Santiago Espinosa

MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627)

CAPITULO 1 CARACTERÍSTICAS GENERALES DEL MICROCONTROLADOR menú principal

Tema 4: SISTEMAS DE ENTRADA/SALIDA. Un computador no puede estar formado sólo por la CPU y la memoria.

Unidad IV: Programación de microcontroladores

Arquitectura C67 y DSK C6713

Transcripción:

Microcontrolador Cygnal 8051F040 Ingeniería Técnica Industrial Electrónica. Informática Industrial. Prof. Dr. Alejandro Linares Barranco 1 Microcontrolador Cygnal 8051F040. Contenido 1. Introducción y características. 2. CPU 8051. 3. Reset. 4. Memoria flash. 5. Memoria externa. 6. Relojes. 7. Puertos de entrada / salida. 8. Periféricos Analógicos. 9. Interfaz Serie SPI. 10. UART. 11. Timers. 12. Contador programable (PCA). 2

1. Introducción y Características. Características del Cygnal 8051F040. Microcontrolador compatible 8051 con pipeline de alta velocidad (hasta 25 MIPS). Controlador bus CAN 2.0B con 32 mensajes, cada uno con su máscara de identificación. Interfaz de depuración integrada y de alta velocidad. ADC de 12 bits, 100ksps, 8 canales, ganancia programable y con multiplexor analógico integrado. ADC de 8 bits, 500ksps, 8 canales, ganancia programable y multiplexor analógico integrado. 2x DCA de 12 bits Amplificador diferencial de entrada de alto voltaje (60v pico a pico) y ganancia programable. 64K de memoria Flash integrada. 4096 + 256 bytes de RAM interna. Interfaz de Memoria RAM externa de hasta 64Kb de espacio direccionable. SMBus / I 2 C, 2xUART, SPI integrados. 5 timers de propósito general. PCA: contador / timer programable con 6 capturadores / comparadores y Watch Dog. Watch-Dog timer, Vdd Monitor y Sensor de temperatura. 64 puertos I/O tolerantes 5v. 3 4

1. Introducción y Características. Microcontrolador de alta velocidad 8051. Pipeline de instrucciones. El 70% de instrucciones se ejecutan entre 1 y 2 ciclos de reloj. Hasta 25 MIPS con un reloj de 25 MHz. Control de interrupciones extendido. Periféricos analógicos. Convertidor A/D de 12 bits de precisión. Hasta 100 Kmuestras/seg. Hasta 8 entradas externas. Convertidor A/D de 8 bits de precisión. Hasta 500 Kmuestras/seg. Hasta 8 entradas externas. 2 DACs de 12 bits. Comparadores analógicos. Power-on Reset Controlador CAN 2.0B Depuración On-chip. Memoria. 4K + 256 RAM interna. 64Kbyte Flash. Periféricos digitales. 64 I/O bits (8x8). SPI, 2xUART, SMBus/I 2 C. 6 contadores/timers 16-bits. 1 PCA 16-bits. Fuentes de reloj. Oscilador interno. Recuperación de reloj. Oscilador externo. Cambio de reloj on-the-fly. 5 2. CPU 8051. Aumenta el throughput respecto al 8051 estandar, debido al pipeline. 26 instrucciones se ejecutan a razón de 1 ciclo de reloj. 50 instrucciones a razón de 2 ciclos. 5 instrucciones entre 2 y 3 ciclos. 14 instrucciones a razón de 3 ciclos. 7 instrucciones entre 3 y 4 ciclos. 3 instrucciones a razón de 4 ciclos. 1 instrucción entre 4 y 5 ciclos. 2 instrucciones a razón de 5 ciclos. 1 instrucción a razón de 8 ciclos. Total 109 instrucciones en el juego de instrucciones. Las instrucciones de salto condicional tardan un ciclo menos si el salto no se toma. Permite debugging y programación de la Flash en tiempo de ejecución, mediante la interfaz C2. 6

2. CPU 8051. 2.1. Juego de Instrucciones. Operaciones Aritméticas. ADD, ADDC, SUBB, INC, DEC, MUL, DIV, DA Operaciones Lógicas. ANL, ORL, XRL, CLR, CPL, RL, RLC, RR, RRC, SWAP Transferencia de datos. MOV, MOVC, MOVX, PUSH, POP, SCH, XCHD Manipulación booleana. CLR, SETB, CPL, ANL, ORL, MOV, J(N)C, J(N)B, JBC Saltos de programa. ACALL, LCALL, RET, RETI, {JMP}, JZ, JNZ, CJNE, DJNZ NOP. Opcode no usado: 0xA5. 7 2.2. Organización de la memoria. Memoria temporal Instrucción MOVX 4 bancos de 8 reg. Sel. banco PSW(4:3) - Puntero a Pila: SP. Tras Reset vale 0x07. El primer dato se guarda en R0 del banco 1. - Si usamos la pila configurarla en una zona de RAM libre. 8

2.2. Organización de la memoria. SFR: Special Function Registers. Desde dirección 0x80 hasta 0xFF. Organización en páginas. Cada dirección puede tener hasta 256 SFR, uno por página. Nuestro micro F040 implementa 5 páginas: 0,1,2,3 y F. La página se selecciona a través del registro SFRPAGE SFR Page Stack. Pila de páginas de SFR. 3-bytes Cuando salta una interrupción se guarda en pila el SFRPAGE y se usa la página asociada a la interrupción (tabla pag. 154). Cuando acaba la interrupción se restaura la página. Ambas operaciones de forma automática. Únicamente se podrán anidar 2 interrupciones. 9 10

2.2. Organización de la memoria. Registros. 11 2.2. Organización de la memoria. Registros. 12

2.2. Organización de la memoria. Registros. 13 2.2. Organización de la memoria. Registros. 14

2.3. Interrupciones. Soporta hasta 20 fuentes de interrupción diferentes (más el Reset) con 2 niveles de prioridades. Cada interrupción tiene asociado uno o más flags en algún registros especial. Cuando se produce una interrupción el flag se pone a 1. Cuando se activa una interrupción se produce un LCALL a la rutina de servicio de interrupción. El código de esta rutina acabará con RETI. Hay un bit de enable global de interrupciones (EA) y enables para cada interrupción. El flag de interrupción debe ser puesto a cero en la rutina de interrupción. El software puede simular cualquier interrupción poniendo a 1 el flag correspondiente. Hay 2 interrupciones externas /INT0 e /INT1, mapeadas a algún puerto digital, y que pueden configurarse como activas por nivel, flanco, nivel alto o bajo. El tiempo de respuesta ante una interrupción depende del estado de la CPU en el momento de la interrupción. Lo más rápido son 5 ciclos de reloj. Y lo más lento son 18 ciclos si estaba ejecutando un RETI y posteriormente una DIV. Cuando se escribe o lee la Flash la CPU se para (stall) y no ve las interrupciones. 15 2.3. Interrupciones. Fuentes de interrupión: Reset /INT0 Timer0 Overflow /INT1 Timer1 Overflow UART0 Timer2 Overflow SPI0 SMB0 ADC0 rango de comparación PCA Comparador 0 Comparador 1 Comparador 2 Timer3 Overflow ADC0 fin de conversión Timer4 Overflow ADC2 rango de comparación ADC2 fin de conversión CAN UART1 16

2.3. Interrupciones. 17 2.3. Interrupciones. 18

2.3. Interrupciones. 19 2.3. Interrupciones. 20

2.3. Interrupciones. 21 2.3. Interrupciones. 22

2.4. Gestión de la alimentación. - Dos modos: Idle y Stop. El primero para la CPU pero deja activa la periferia y el reloj. El segundo detiene también la periferia y el reloj. 23 3. Gestión del Reset. 24

Power-On Reset. 3. Gestión del Reset. 25 3. Gestión del Reset. 26

Watchdog Timer 3. Gestión del Reset. 27 4. Memoria Flash. Destinada para almacenar código y datos no volátiles. Puede ser escrita en fase de ejecución a través de la interfaz JTAG o mediante la instrucción MOVX. La memoria debe ser borrada antes de volver a escribirla. Mientras la memoria flash se borra o escribe, la CPU se detiene. Las interrupciones deben deshabilitarse antes de escribir o borrar la flash. El borrado es una escritura a 1 de todos los bits de una página de 512 bytes. El procedimiento para programar la Flash es el siguiente: 1. Deshabilitar las interrupciones (recomendado). 2. Poner a uno el bit FLWE del registro FLSCL. Enable de escritura y borrado de la flash. 3. Poner a uno el bit PSEE del registro PSCTL. Enable borrado de flash. 4. Poner a uno el bit PSWE del registro PSCTL. Redirecciona MOVX a la flash. 5. Escribir un byte con MOVX en cualquier posición de los 512 byte de la página a borrar. 6. Poner a cero el bit PSEE del registro PSCTL. 7. Escribir un byte con MOVX en una dirección de la página borrada. Repetir este paso n veces. 8. Poner a cero el bit PSWE del registro PSCTL. 9. Habilitar las interrupciones. 28

4. Memoria Flash. Dispone de 128-bytes de flash no disponible para ejecutar código. Se accede activando el bit SFLE del registro PSCTL, en el rango de direcciones 0x00 al 0x7F. Bytes de seguridad para accesos a través de interfaz JTAG en las direcciones: 0xFDFE (lectura) y 0xFDFF(escritura y borrado). Cada bit del byte indica si un bloque de 8k está protegido o no. 29 4. Memoria Flash. 30

4. Memoria Flash. 31 5. Memoria Externa. -El Cygnal 8051 cuenta con 4Kb de RAM externa de usuario (XRAM) on-chip. -Cuenta con un interfaz de datos de memoria externa (EMIF) para ampliar la memoria usando los GPIOs. (O bien P0-P3, o bien P4-P7) -La XRAM puede ser accedida con mapeado directo usando el puntero DPTR o con direccionamiento indirecto, mediante registro R0-R8 (para página activa). -Si el direccionamiento se hace con registro (@R1), los otros 8 bits de la dirección los pone EMI0CN. -Configurar la XRAM: -Seleccionar la EMIF en puertos bajos (P0-P3) o altos (P4-P7). PRTSEL (EMI0CF.5) -Configurar el modo de los puertos de salida en push-pull o open-drain. -Seleccionar el modo multiplexado o no multiplexado. -Seleccionar el modo de memoria (solo on-chip, modo split sin selección de banco, modo split con selección de banco, solo off-chip). 32

5. Memoria Externa. 33 5. Memoria Externa. 34

5. Memoria Externa. -EMI0CF[3:2]= 00 => Sólo on-chip XRAM, que son 4k (sólo se usan los 12 bits LSB dir) -EMI0CF[3:2]= 01 => mapa separado en 2 partes: on-chip y off-chip. Sin selección banco. -EMI0CF[3:2]= 10 => idem con selección de banco. -EMI0CF[3:2]= 11 => on-chip XRAM está oculta. Util para acceder a los 4k bajos de offchip XRAM. 35 5. Memoria Externa. 36

5. Memoria Externa. 37 5. Memoria Externa. 38

6. Relojes. - C8051F320 incluye: Reloj interno. Circuitería para reloj externo. - La frecuencia del reloj interno puede modificarse usando OSCICL para ajustarlo entre 24 y 25 MHz. Tras el reset el valor de OSCICL se ajusta automáticamente para un frecuencia de 24.5MHz - El reloj externo puede ser de 30 MHz como máximo. 39 6. Relojes. 40

6. Relojes. 41-64 pines E/S en 8 puertos de 8 bits. P0, P1, P2 y P3 puede configurarse como GPIO, de periférico. P1 entrada para ADC2, P2 comparador analógico y P3 entrada ADC0. -El Crossbar permite conectar cualquier dispositivo interno con los pines de P0 a P3 según prioridades. -Procedimiento de inicialización de los puertos: 1. Escribir en los reg. PnMDIN los modos analógico (menos P0) o digital de los puertos de entrada. 2. PnMDOUT indica si la salida digital es push-pull o open-drain. 3. Asignar los puertos a los periféricos con XBR0 XBR3. 4. Habilitar el Crossbar (XBARE = 1 ). 7. Puertos Entrada / Salida. 42

7. Puertos Entrada / Salida. 43 7. Puertos Entrada / Salida. 44

7. Puertos Entrada / Salida. 45 7. Puertos Entrada / Salida. 46

7. Puertos E/S => P0. 47 7. Puertos E/S => P1. 48

7. Puertos E/S => P1. 49 7. Puertos E/S => P2. 50

7. Puertos E/S => P2. 51 7. Puertos E/S => P3. 52

7. Puertos E/S => P3. 53 7. Puertos E/S => P4. -P4 a P7 sólo pueden usarse como GPIO o para acceder a la memoria externa. 54

7. Puertos E/S => P5. 55 7. Puertos E/S => P6. 56

7. Puertos E/S => P7. 57 7. Puertos Entrada / Salida. 58

7. Puertos Entrada / Salida. 59 7. Puertos Entrada / Salida. 60

7. Puertos E/S. Ejemplo. 61 7. Puertos E/S. 62

1. Convertidor Analógico-Digital de 12 bits. 8. Periféricos Analógicos. La entrada analógica puede tomarse del puerto P3, 4 entradas analógicas externas, HVDA (high voltage diference amplifier 60v) y un sensor de temperatura interno. Tienen un amplificador programable, 100 ksps, ventana detección programable. 63 8. ADC0: 12-bits 64

8. ADC0: 12-bits 65 8. ADC0: 12-bits 66

8. ADC0: 12-bits 67 8. ADC0: 12-bits 68

8. ADC0: 12-bits 69 8. ADC0: 12-bits 70

8. ADC0: 12-bits 71 8. ADC0: 12-bits 72

8. ADC0: 12-bits 73 8. ADC0: 12-bits 74

8. ADC0: 12-bits Ventana de Comparación Programable del ADC0. 75 8. ADC0: 12-bits 76

8. ADC0: 12-bits 77 8. Periféricos Analógicos. 2. Convertidor Analógico-Digital de 8 bits, 500ksps: ADC2. 78

3. Convertidores Digital-Analógico de 12 bits. 8. Periféricos Analógicos. 79 2. Comparadores analógicos. 8. Periféricos Analógicos. 80

9. Interfaz Serie SPI. 81 9. Interfaz Serie SPI. 82

9. Interfaz Serie SPI. 83 9. Interfaz Serie SPI. 84

9. Interfaz Serie SPI. 85 10. UART. 86

10. UART Mode 0: Síncrono. Mode 1y3: Asíncrono. Baud Rate Variable. Mode 2: Asíncrono. Baud Rate Fijo. 87 11. Timers. T0/1. Modo 1: Igual que el 0 pero con 16 bits. T1. Modo 0. 88

T0/1. Modo 2: Contador de 8 bits con recarga de valor inicial. 11. Timers. 89 Sólo para el T0: dos contadores de 8 bits separados. 11. Timers. 90

11. Timers. 91 11. Timers. 92

11. Timers. 93 11. Timers. 94

11. Timers. 95 11. Timers. 96

11. Timers. 97 11. Timers. 98

12. PCA. 99 12. PCA. 100

12. PCA. 101 12. PCA. 102

12. PCA. 103 12. PCA. 104

12. PCA. 105 12. PCA. 106