Estructura de Microprocesadores



Documentos relacionados
Comunicaciones Digitales: Protocolos seriales (uc)

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Enlaces Seriales UART, I2C, SPI

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

INSTRUMENTACIÓN AVANZADA Departamento de Ingeniería Eléctrica y Electromecánica Facultad de Ingeniería Universidad Nacional de Mar del Plata

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Arquitectura y Periféricos

I2C. Ing. Pablo Martín Gomez

MICROCONTROLADORES PIC16F84 ING. RAÚL ROJAS REÁTEGUI

EL BUS I2C CARACTERISTICAS. Fernando Remiro

Elección de un microcontrolador

Tópicos Especiales de Mecatrónica

Bus I 2 C. Introducción

Microcontrolador PIC16F84: Arquitectura

Curso de. Módulo 10 MSSP: I2C. Ricardo Gómez González Andrés Prieto-Moreno Torres

PIC 18F45XX CARACTERÍSTICAS GENERALES

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

MICROCONTROLADORES PIC

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

Transmisión serie. RS232, I2C y SPI

INTRODUCCIÓN. Comunicación Serial.

Capítulo 3. Microcontroladores 3.1 Definiciones

PANORAMA GENERAL DE LOS µc

SPI. Teoría y Aplicaciones. INGENIERIA EN MICROCONTROLADORES Protocolo SPI( Serial Peripherical Interface) Protocolo

Microcontroladores. Sistemas embebidos para tiempo real

Arquitectura de Computadores II

Microcontroladores. Sistemas embebidos para tiempo real

Introducción. Modo monitor. Cuaderno técnico 4: Grabación de microcontroladores PIC

Microcontroladores ( C)

Anexo II: Lógica programada y lógica cableada. Ventajas e inconvenientes. MSP430G2553.

Arquitectura de computadores I

Universidad Tecnológica de la Mixteca Huajuapan de León, Oax.

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

Unidad Didáctica 3: Microcontroladores & Interrupciones. Sistemas embebidos para tiempo real

Velocidades Típicas de transferencia en Dispositivos I/O

Microcontroladores PIC de Microchip: generalidades

3 Interfaz PC DSP. 3.1 Introducción a las comunicaciones serie. 3 Interfaz PC DSP

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

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

La Familia del Microcontrolador 8051

El Protocolo SPI. IES Juan de la Cierva. Aprendizaje de la Electrónica a través de la Robótica. Fernando Remiro Domínguez

ESTRUCTURA BÁSICA DEL µc AT89C51

Sensores inalámbricos de bajo

ARQUITECTURA DE LOS SUBSISTEMAS DE BUSES Y ENTRADA/SALIDA

ESTRUCTURA DE MICROPROCESADORES

Estructura de Microprocesadores. Profesor Ing. Johan Carvajal Godínez

Curso sobre Microcontroladores Familia HC9S08 de Freescale

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

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

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

Microprocesadores, Tema 2:

Microprocesador. Introducción. Instituto Sagrado Corazón de Jesús

Introducción a las Computadoras. Capítulo 3 Buses del Sistema

Microprocesadores, Tema 8:

Sistemas con Microprocesadores I

USB232. Hoja de datos

UNIVERSIDAD TECNICA DE AMBATO NOVENO SEMESTRE INGENIERIA ROBOTICA MICROCONTROLADORES Y SU APLICACION EN ROBOTICA PROFESOR: UTA 2009 ING. G.

Tema 7. Entrada / Salida

Introducción a la Computación. Capítulo 7 Entrada/Salida

1. INTRODUCCIÓN 1.1. ARDUINO, QUÉ ES? 1.2. HARDWARE.

ESPino - Especificaciones

Interface paralelo programable 8255.

1.1 Introducción y definición de un microcontrolador 1.2 Estructura básica de un microcontrolador 1.3 Características de la Arquitectura

4. Tarjeta de control

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

ÍNDICE CAPÍTULO 1 FUNDAMENTOS DE LOS MICROCONTROLADORES

MICROCONTROLADORES PIC USART

Estructura general de una Computadora Arquitectura Estructura Von Neumann

TEMA 2: MICROPROCESADORES Y MICROCONTROLADORES

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

Unidad V: Puertos y buses de comunicación para microcontroladores

ARQUITECTURA DEL PIC16F84A

IM : ARDUINO NANO OEM

PROBLEMA 1 (2.5 puntos): SOLUCIÓN

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

Redes y Sistemas Computarizados de Control CAPITULO 1. Introducción a las Redes de Comunicación Industrial

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

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

Introducción a la arquitectura PIC

PROTOCOLO DE COMUNICACIÓN CAN (CONTROLLER AREA NETWORK)

DEPARTAMENTO DE CIENCIAS DE LA ENERGIA Y MECANICA Laboratorio de Automatización Industrial Mecánica. TEMA: Control de procesos con Arduino.

CAPITULO 4. LOS DSPs

Curso sobre Microcontroladores Familia HC9S08 de Freescale

INTRODUCCIÓN A LOS MICROPROCESADORES Y MICROCONTROLADORES

El comienzo del protocolo CAN (CONTROLLER AREA NETWORK) Laboratorio de Automatización II. UNQ PROTOCOLO CAN 1

ARQUITECTURA DE COMPUTADORES DESCRIPCIÓN BUS PCI (Tema 1: Conexión Externa de Procesadores. Buses)

Interfaz USB genérica para comunicación con dispositivos electrónicos

Transcripción:

Estructura de Microprocesadores Introducción al diseño de sistemas electrónicos basados en microcontrolador Profesor Ing. Johan Carvajal Godínez JCG-2009

Agenda de clase Definición de microcontrolador Características de un MCU Arquitecturas de MCU Protocolos de comunicación usados por MCU

Que es un microcontrolador? Es un sistema computacional integrado en un chip (SOC) Núcleo de procesamiento Memoria para datos, código Dispositivos periféricos básicos Orientado a aplicaciones específicas

CPU vrs MCU

Arquitectura típica de un MCU

Orientación en diseño con MCU Se enfoca el diseño en una aplicación especifica solventa un problema en un proceso Bajo consumo de energía Soporta el ambiente de trabajo para el que fue diseñado Mínima interacción Humano-MCU, sistemas muy autónomos

Características necesarias un MCU Respuesta en tiempo real Manejo versátil de interrupciones: Priorización Eficiente uso de la memoria de programa Capacidad de interacción con señales analógicas. ADC integrados Capacidad de comunicación con sistemas basados en microprocesador, RS232, USB,ET

Que debo conocer en un MCU? Arquitectura y modelo de programación Administración de la memoria: Mapa, métodos de acceso, etc Protocolos de comunicación interna y externa que soporta el MCU Administración de I/O: mapeo, interacción con los buses, interrupciones, configuración, resolución, etc.

Arquitectura y modelo de programación Nivel de complejidad en manejo de datos y operaciones Las arquitecturas favoritas ARM MIPS AVR PIC

ARM: Diagrama de la arquitectura Arquitectura RISC de 32 bits El 75% de todas los sistemas empotrados usan ARM core!!!

Arquitectura MIPS

Evolución de los PIC

ARQUITECTURA DEL PIC Arquitectura Harvard Velocidad de operación 40 MHz Memoria: Arquitectura Harvard Programa: 65536 bytes Datos: 3328 bytes Datos (EEPROM): 1024 bytes

Arquitectura AVR Arquitectura Harvard de 8 bits Usa flash en lugar de XPROM

Protocolos de comunicación en MCU Los MCU necesitan comunicar su núcleo con memorias y periféricos para ellos usa protocolos comerciales I2C SPI UART USB

Protocolos I 2 C y SPI Protocolos de comunicación en serie Diseñados para transmisiones a corta distancia: inside the box Fácil implementación Bajo costo Velocidad baja ( unos cuantos Mbps)

Que es I 2 C? Es la abreviación en ingles para : Inter-integrated circuit bus Desarrollada en los 80 s por Philips Semiconductor para TV Entre los dispositivos que se comunican por I 2 C se encuentran EEPROMS, sensores térmicos, RTC Se usa en aplicaciones con conexión a subprocesos. Por ejemplo sintonizadores, codificadores decodificadores Se puede operar en tres rangos de velocidad: Slow (hasta 100 Kbps) Fast (400 Kbps) High-speed (3.4 Mbps) I 2 C v.2.0 El alcance esta limitado a tres metros punto a multipunto

Configuración del bus I 2 C El bus consiste en dos cables: Serial data (SDA) y Serial clock (SCL) Half-duplex, síncrono, multi-master bus No se requiere lógica de selección de chip ni arbitraje del bus.

Operación del protocolo I 2 C 1. Nodo maestro envía señal de inicio (start= S) y controla la señal de reloj. 2. Seguidamente se envía un identificador de 7 bits que representa al nodo con el que se va a establecer conexión. 3. El nodo maestro envía un bit de WR/!R para indicar el tipo de operación del nodo con maestro. WR/!R = 0 Nodo esclavo recibe 4. Nodo receptor emite una señal de acknowledge (ACK) 5. Nodo transmisor (maestro o esclavo) transmite un byte de datos.

Operación del protocolo I 2 C (cont.) 6. El Nodo que recibe el byte envía un bit de ACK cuando se completa la transmisión 7. Repita pasos 5 y 6 tantas veces como bytes a transmitir 8.1 Cuando el nodo que transmite es el nodo maestro, este controla la finalización de la transmisión [F bit] luego del ultimo byte a transmitir 8.2 Cuando el nodo que recibe es el maestro, este no notifica el ultimo byte sino que transmite el bit de paro [F bit] para indicar al transmisor que la comunicación se finaliza

Control de señalización I 2 C S 1 0 F Start: cambio de alto a bajo en SDA con SCL en alto Stop: Cambio de bajo a alto en SDA con SCL fijo en Alto ACK: el nodo receptor pone SDA en bajo mientras el transmisor lo deja libre y lo lee Datos: se lleva a cabo cuando SCL esta en bajo, y se valida mientras SCL esta en alto.

Características adicionales de I 2 C Clock stretching : Cuando un dispositivo esclavo (RX) necesita mas tiempo para procesar un bit, este puede sostener SCL en bajo y el Maestro (TX) espera a que SCL sea liberado por nodo RX para enviar un nuevo bit General call broadcast: permite transmisión multipunto del TX a los RX Direccionamiento extendido: para ambientes de operación con muchos nodos se implemento direccionamiento extendido a 10 bits.

Ejemplo de I 2 C en MCUs: ATMEL Atmel implementó su interfaz I2C denominada Twowire Serial Interface (or TWI) en todos sus MCU de 8 bits AVR, excepto en el AT90. Por ejemplo en el ATmega323 TWI se puede acceder configurando el registro del puerto C: PC0=SCL, PC1=SDA Registros que se afectan durante el servicio: TWBR Se configura bit rate TWCR Señales de control: start, stop, ack, M/S, T/R TWDR Contiene el byte transmitido/recibido TWAR Contiene dirección de nodo esclavo por acceder TWSR estado del bus TWI (start, ACK received, hasta 26 estados diferentes ATmega32 3

I 2 C en pocas palabras Ventajas: Muy eficiente en comunicación de dispositivos (SOC) que son accedidos ocasionalmente. Direccionamiento simple de implementar El costo y la complejidad son fijos al aumentar el numero de dispositivos. Desventajas: La complejidad de interactuar con componentes de software es elevada vrs otros esquemas de comunicación serie.

Que es SPI? Es un protocolo de comunicación serie que viene del ingles: Serial Peripheral Interface Creado por Motorola para su familia de microcontroladores MC68HCxx Velocidad de operación de varios Mbps (mejor rendimiento en velocidad que I2C) Aplicaciones: Comunicación con dispositivos de memoria EEPROM, Flash, RTC, etc. Excelente rendimiento en aplicaciones que generan cadenas de datos, ejemplo ADC Comunicación Full duplex, mejora el rendimiento en comunicaciones con subsistemas dentro de la aplicación

Configuración de un bus SPI Enlace serial síncrono funcionando en full duplex de punto a punto. Relación maestro - esclavo Dos señales para datos MOSI Master data Output, Slave data Input MISO Master data Input, Slave data Output Dos señales de control SCLK Reloj!SS Selección de punto (Slave Select)

SPI vs. I 2 C Para comunicaciones punto a punto, SPI es simple y eficiente Mas efectividad del ancho de banda, y comunicación bidireccional SPI tiene limitaciones de escalamiento debido al control de acceso al bus individual por dispositivo (!SSX).

Como funciona SPI? Dos parámetros, Clock Polarity (CPOL) y Clock Phase (CPHA), determinan el flanco activo del reloj Para establecer la comunicación el maestro y el esclavo deben acordar los parámetros de enlace. CPOL CPHA Flanco activo 0 0 Positivo 0 1 Negativo 1 0 Negativo 1 1 Positivo

Protocolo SPI (Cont.) La interfase SPI solamente define cuales son las líneas de comunicación y el flanco de reloj en que estas son activas. No existe control de flujo, ni ACK para confirmar la recepción de un dato. La implementación en hardware se hace con un registro de corrimiento!!!!

Resumen de comparación I2C vrs. SPI I 2 C y SPI proveen un buen soporte para comunicaciones con periféricos lentos que son accedidos intermitentemente, especialmente EEPROMS y RTC. I 2 C permite extensión de dispositivos conectados al bus sin incrementar complejidad del hardware para accederlos. SPI ofrece mejor desempeño en velocidad pero posee problemas de escalamiento.

Para Pensar!!!! Como elegir un microcontrolador? Como se podría optimizar el diseño de un MCU? Cuanta es la memoria optima que debe tener un MCU?

Caso de estudio PICmicro 18LF4550 JCG-2009

Características generales del MCU Capaz de manejar USB Tecnología de ahorro de energía Osciladores con frecuencia variable Módulos de E/S con características optimas: EUSART, ECCP, ADC, MSSP Arquitectura optimizada para programación en C Auto programable Varias fuentes de interrupción con prioridad WDT, ICSP, etc JCG-2009

Empaquetado JCG-2009

Diagrama de bloques JCG-2009

Configuracion del Oscilador Para poder utilizar el USB a maxima velocidad el PIC18F4550 tiene un sistema que le permite generar un frecuencia de hasta 48 MHZ La operación del oscilador se controla por dos registros: CONFIG1L CONFIG1H Existen doce modos de operación de los osciladores, algunos de los cuales requieren el uso de dos tipos de oscilador a la vez JCG-2009

Generador de temporización JCG-2009

Modos de consumo de energía EL MCU maneja 7 modos de operación que se pueden ajustar para optimizar el consumo de energía Se puede definir tres modos principales de operación que afectan el consumo de energía: RUN MODE IDLE MODE SLEEP MODE La selección del modo de operación depende la configuración de las fuentes de reloj seleccionadas en el registro OSCON (IDLEN<7>, SCS1:SCS0 <1:0>) JCG-2009

Proceso de re inicialización (RESET) El proceso de reinicio del MCU se puede dar debido a múltiples razones: POR MCLR!: durante operación normal MCLR!: durante un estado de bajo consumo de potencia WDT BOR Pila llena Desbordamiento de la pila Por software El Registro RCONpermite llevar un control y establecer la fuente que origino el reinicio del MCU JCG-2009

Lógica de generación del RESET JCG-2009

Organización de la memoria La arquitectura del PIC es Harvard, por lo que maneja memoria de datos y de código de manera separada Los tres tipos de memoria implementados en el MCU son: Memoria de programa Memoria RAM Memoria EEPROM Existe un contador de programa PC que permite acceder a la memoria de programa, este contador de programa esta contenido en tres registros de 8 bits: PCL, PCH, PCU JCG-2009

Mapa de memoria JCG-2009

Manejo de la pila La pila opera por medio de una serie (31) de registros RAM de 21 bit de ancho que son manejados por un puntero de pila (STKPTR) de 5 bits Una operación de CALL origina un PUSH mientras que una operación de RETURN ocasiona un POP El contenido de la ultima dirección en la pila (TOS) es accesible en el conjunto de registros TOSU:TOSH:TOSL Cuando se desea acceder a la pila es recomendable deshabilitar las interrupciones para evitar problemas de corrupción de la información JCG-2009

Ciclo de instrucción JCG-2009

Organización de las instrucciones Un ciclo de instrucción consiste de 4 ciclos: Q1 -> Q4 que son usados para leer, decodificar y ejecutar una instrucción. Debido al pipelining de la arquitectura del MCU todas las instrucciones toman se completan en un ciclo de reloj, excepto aquella que requieran saltos. Las instrucciones se organizan en bytesy cada instrucción normalmente se almacena en dos bytes, excepto las de saltos y las de transferencia de memoria a memoria que requieren 4 bytes JCG-2009

Organización de las instrucciones JCG-2009

Organización de la memoria de datos La memoria de datos se implementa como un banco de registros RAM. Se pueden mapear 4KB registros divididos en 16 bancos de 256 KB La memoria de datos se divide en SFR y GPR Para agilizar los procesos de escritura/lectura de la memoria de datos se maneja un esquema de bancos administrados por el registro BSR El conjunto BSR:REG permite generar una dirección para acceder la memoria de datos JCG-2009

Mapeo de la memoria de datos JCG-2009

Registros de función especial JCG-2009

Modos de direccionamiento Las instrucciones solo son accesibles a través del PC Los datos pueden ser accedidos de acuerdo al tipo de instrucción que se quiere realizar y se ubican 4 modos de direccionamiento posibles: Inherente Literal Directo Indirecto Existe otro modo de direccionamiento poco común que se llama direccionamiento indexado con desplazamiento literal (activo si XINTbit esta activo) JCG-2009

Set de instrucciones EL MCU 18F4550 posee 79 instrucciones las cuales se pueden agrupar de acuerdo a la manipulación de la información requerida o al tipo de función en 4 grupos: Operaciones orientadas a byte Operaciones orientadas a bit Operaciones con literales Operaciones de control JCG-2009

Formato de las instrucciones JCG-2009

Instrucciones orientadas a byte JCG-2009

Instrucciones orientadas a bit y control JCG-2009

Instrucciones con literales y memoria JCG-2009

Tarea Conectar el PIC18F4550 con un cristal de 8 MHz y su respectiva lógica de Reset Instalar MPLAB v8.30 JCG-2009