Introducción a los Microcontroladores

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

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

Características técnicas del firmware de la Computadora Industrial Abierta Argentina

PROGRAMA ANALÍTICO DEPARTAMENTO: ELECTRICIDAD Y ELECTRONICA CARRERA: INGENIERIA ELECTRICISTA ASIGNATURA: SISTEMAS ELECTRÓNICOS DIGITALES CÓDIGO: 0468

Registros SFR vistos hasta ahora: Microcontroladores PIC

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

Hoja de Datos NoMADA Advance [DAT001A NoMADA Advance 02/16]

Tarjeta Entrenadora EA128 Aplicación académica

Aplicaciones M2M, monitorización y control remoto con TSmarT

Técnicas Digitales III

Tema: Microprocesadores

Tipos de Dispositivos Controladores

MICROCONTROLADORES: MIGRACIÓN A ARQUITECTURAS DE 32 BITS.

Arquitectura y Organización de un microcontrolador genérico

Tema 1: Introducción a los Sistemas Empotrados

INSTITUTO TECNOLÓGICO SUPERIOR DE PÁNUCO APUNTES DE LA MATERIA DE: MICROPROCESADORES Y MICROCONTROLADORES I

Introducción a los microcontroladores y microprocesadores

Esquema de partida. Maximum Operating Supply Voltage 5.5V USB 1 USART 1

(1) Unidad 1. Sistemas Digitales Basados en Microprocesador SISTEMAS BASADOS EN MICROPROCESADORES. Grado en Ingeniería Informática EPS - UAM

Qué es un Microcontrolador?

COMPUTADORAS DIGITALES

HERRAMIENTAS DE DESARROLLO HARDWARE & SOFTWARE

Buceando en el HC908...

PRODUCTO P05 SOFTWARE EMBEBIDO PARA EL CONTROL DEL CIRCUITO GENERADOR DE CORRIENTE DE LAS FORMAS DE ONDAS PARA ELECTROTERAPIA

Temporización mediante el temporizador del sistema SysTick en microcontroladores ARM Cortex-M

SISTEMAS ELECTRÓNICOS DIGITALES

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

Esquemático y referencia de diseño

SEMINARIO DE COMPUTADORES I DISE~NO CON MICROCONTROLADORES MSP430: Manejo de motor servo

SASE MARZO PRELIMINAR. TDP Inertial Reference Unit

DEPARTAMENTO ELECTRÓNICA PIC - TEMA 2 INTRODUCCIÓN A LOS MICROCONTROLADORES PIC

Nota Técnica /

PRÁCTICA 4 LOS BITS DE CONFIGURACIÓN DEL PIC16F628

Módulo SPI y métodos de conversión D-A

Laboratorio de Sistemas Embebidos Conceptos generales (2009)

Ardunio. Test Placa. LunikSoft. Fco. Javier Andrade.

Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE

R(S)-POD. Características. Aplicaciones. Descripción general. Emulador en Tiempo Real BDM / ICE R(S)_POD.

Estructura de Microprocesadores

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

TRAYECTO SISTEMÁTICO DISEÑO DE SISTEMAS EMBEBIDOS

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

PIC 18F45XX CARACTERÍSTICAS GENERALES

Herramientas para Cortex CMSIS. Requerimientos. Respuesta - CMSIS 30/06/2011. Cortex MicrocontrollerSoftware Interface Standard

CAPÍTULO IV MICROCONTROLADOR PIC

FLASH-POD. Características. Aplicaciones. Descripción general. Emulador en Tiempo Real FLASH-POD. FLASH-POD

TEMA 1: Concepto de ordenador

Guía de práctica. Dispositivo

De D sarrollo d e a plicaciones c on Cortex M

1- JUSTIFICACIÓN Y OBJETIVOS

UNIVERSIDAD DE OVIEDO

Microcontroladores de Atmel

Hablemos de MCU s... Practicando con el CodeWarrior 5.1/6.x y el sistema R(S)_POD... COMENTARIO TECNICO

COMENTARIO TECNICO. Herramientas de Hard & Soft. 1era Parte

SelectRAM+memory Bloques de memoria RAM En las FPGAs Spartan IIE

Arquitectura de Computadoras. Anexo Clase 8 Buses del Sistema

Hecho por: Mario Alberto Romero Lòpez Materia: Estructura fisica y logica del pc

Introducción a los Microprocesadores Facultad de Ingeniería UDELAR 2014

3 - Arquitectura interna de un up

Arquitectura Von Neumann

Tema 6: Microcontroladores

Diseño de Sistemas embebidos y comunicaciones: Aplicaciones de telefonía, RF y localización remota. Ing. José Oliden Martínez

S/ S/ S/ S/ CASE - GABINETE CERTIFICADO. PLACA BASE SOKET 1151.

Tópicos Especiales de Mecatrónica

MICROPROCESADORES PARA IMPLANTES

ITT-327-T Microprocesadores

Lenguaje binario. Código ASCII. Medidas de la información

Microcontroladores PIC de Microchip: generalidades

TARJETA DE DESARROLLO DE SISTEMAS CON TECNOLOGÍA FPGA.

Introducción al procesamiento digital de señales en tiempo real

SISTEMAS DE ENTRADA/SALIDA

Prefacio...xiii Introducción... 1 Microprocesadores...1 Arquitectura Von Neumann...1 RISC vs CISC...2 Wait-states...3 Arquitectura Harvard...

MICROCONTROLADORES PIC

TECNOLOGÍA DE REDES. Temario 01/04/2008. Unidad 2. LAS WAN Y LOS ROUTERS (Segunda Parte)

Curso sobre Microcontroladores Familia HC9S08 de Freescale

UTILIZACIÓN DE SOFTWARE LIBRE EN ASIGNATURAS DE INTRODUCCIÓN A LOS MICROPROCESADORES.

PIC 18F45XX EL TIMER 0

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

Como sacarle mayor provecho a las herramientas disponibles para la familia HC908

INTRODUCCIÓN A LOS MICROPROCESADORES

NUEVAS TECNOLOGÍAS EN LOS CONTROLADORES DIGITALES DE SEÑALES, ESTUDIO Y APLICACIONES

1. Introducción a la Arquitectura de Computadoras

El ordenador. Codificación binaria. Código ASCII

CICLOS DEL PROCESADOR

Herramientas hardware y software para el desarrollo de aplicaciones con Microcontroladores PIC bajo plataformas GNU/Linux

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

MODULO DE ENSAMBLAJE - TEMA 2: PARTES PRINCIPALES DEL PC

Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S

Hardware: dentro de la caja. Introducción a la Informática

0-31 : caracteres de control : carac. Comunes : especiales (flechas, símbolos) y particulares (ñ)

M64L/M128L MICROCONTROLLER Mega SERIES

Emtech_FTHL. Descripción de la placa. Autor

ESTRUCTURA BÁSICA DE UN ORDENADOR

Transcripción:

Introducción a los Microcontroladores (ARM) José Manuel Rodríguez Ascariz

Introducción Microprocesadores (8, 16, 32, 64 bits). COMPUTADOR Solo CPU (ALU, ejec. Instrucciones, control, buses). Necesitan memoria y periferia externa. Generación de reloj y mucha glue logic. Arquitectura flexible, potente. Microcontroladores (8, 16, 32 bits). EN TODO Integran numerosos periféricos, reloj, etc. No glue logic Flash y RAM interna (1 MB), con posibilidad amp. Externa. Procesadores de aplicaciones (32 bits, 64?). MOBILE CPUs de altas prestaciones. Multitud de periféricos incluidos. Necesitan memoria externa (flash y RAM) (hasta 256 MB).

Microcontroladores (MCUs) 8 bits Con core 8051: multitud de fabricantes (Cygnal:100 MHz, múltiples opciones, TI, Siemens, Atmel, NXP) AVR, potente arquitectura RISC de Atmel. Amplia gama. PIC de Microchip, uno de los más comunes (RISC, amplia gama). H8 de Hitachi. 16 bits MSP430 de TI, bajo consumo, RISC, gran variedad. Basados en ARM (Thumb mode). HC16 de Freescale. 32 bits Con core ARM, múltiples fabricantes, gran variedad. Coldfire de Freescale. Potentes, variedad, comunes. Con core MIPS. Pocos fabricantes (tendencia routers) SH de Hitachi. AVR32, en auge.

Prestaciones: Elección de MCUs Capacidad de cálculo, periféricos, memoria interna, ampliación Herramientas desarrollo Compiladores (fiabilidad, precio, IDE, fácil manejo) Depuradores (JTAG, dep. Serie) Disponibilidad open : gnu, OpenOCD, Librerías BSPs y RTOS Fabricante (preferencia por marca, tiempo obsolescencia intel- ) Hardware hecho (tarjetas) Precios del conjunto hardware-software

Los MCUs integran Memorias Flash y RAM, posible externa Generación de reloj (oscilador, PLL) Pines de I/O genéricos (GPIO, multitud) Interrupciones por GPIO Timers, PWM, RTC Comunicaciones serie (UARTs) Bus serie SPI (hasta 25 MHz) Bus IIC (hasta 400 khz) Ethernet USB (device, OTG, host) ADCs y DACs, posible comparadores Bus CAN Watchdog y gestion de energía Algunos: Encriptación Algunos: Bus SSI La casuística es muy amplia. Muchos introducen periféricos muy particulares. Muchas veces se elige un MCU por esos periféricos raros.

MCUs core ARM ARM es una compañía que vende modelos de CPU Advanced RISC Machines: modelos de altas prestaciones Los fabricantes de silicio integra cores ARM en MCUs Cores según potencia: ARM7 (70 MHz), ARM9, ARM11 (750 MHz) Nueva arquitectura Harvard, Cortex. Multitud de fabricantes de silicio: TI, Freescale, NXP, ST, Atmel, Luminari, ADI, Cirrus, Sharp Multitud de herramientas de desarrollo GNU, ARM, Keil, IAR, Green Hills, Rowley, ICC Multiples RTOS con BSPs disponibles VxWorks, Linux, INTEGRITY, RTEMS, NUCLEUS Cerca del 70% del mercado embedded

MCUs ARM de NXP Amplia gama: cores ARM7 y ARM9 Múltiples configuraciones basados en ARM7 Casi cualquier tipo de periférico disponible Periféricos potentes y de arquitectura muy fácil de programar Gran versatilidad (multiplexación de pines) Compatibilidad y actualización a dispositivos de más prestaciones Muy común: disponible todo tipo de software, librerías, herramientas, etc.

Alimentación Primeros pasos ante un MCU Corrientemente: 3V3 I/O y 1V2.. 1V8 core. Generación clock (oscilador) y clocks internos PLL y módulo de generación clk core y clk perif. Circuito de RESET Boot (startup.s) Como cargar programa (JTAG, serie, interfaz propia) Esquemáticos. Siempre manuales de referencia

Entorno de desarrollo software Entorno Keil uvision 3.20 con RealView de ARM Ver: Tutorial de Keil proporcionado Startup.s Simular un bucle for con dos variables utilizando el debugger: breakpoints, trace (C y asm), watch

Clocks Cristal de cuarzo (XTAL) PLL (sintetizador frecuencias) CCLK (Clock ARM core) CCLK = XTAL*MSEL PCLK (Clock para periféricos) PCLK = CCLK / PDIV (posibles PDIV = 1,2,4) Típicamente XTAL = 12 MHz, CCLK =60 MHz, PCLK = 15 MHz (CCLK y PCLK Configurados en startup.s)

I/O Básica: GPIOs #include <LPC21xx.H> int main(void) { // Bits 16..23 del PORT1 como salida IODIR1 = 0xff << 16; IOCLR1 = 0xFF << 16; } while(1) { // "Encender" LED conectado a P1.16 IOSET1 = desp ;// BIT_NUMERO_16; Retardo(CONST_1_SEGUNDO); //BIT_NUMERO_16; // "Apagar" LED IOCLR1 = desp; conectado a P1.16 Retardo(CONST_1_SEGUNDO); }

Interrupciones externas: EINTx REGISTRO EXTINT: EINT3 - EINT2 - EINT1 - EINT0 => Son los flags de interrupción externa. Borrar bit correspondiente antes de salir de la ISR

Ejemplo de interrupción externa. Activa por nivel: simular ejecutando paso a paso y comprobar que es "persistente" mientas P0.14 (EINT1) está a nivel alto. Modificar el ejemplo para activar la interrupcion por flando de subida. Añadir una variable en la rutina para comprobar si hay rebotes (bounce switch).

Timers Funciones comunes en la mayoría MCUs Match Compare Input Capture Contador de impulsos Generación interrupciones La familia LPC21xx: Amazing timers 4 canales por timer Todos los registros 32 bits (Prescaler, Match, Capture) Match: Out (L,H,Toggle), Stop, Reset, IRQ Capture: Input (ambos flancos), IRQ PCLK = CCLK / PDIV (posibles PDIV = 1,2,4)

El timer cuenta a PCLK/(PR+1) Hz En el siguente ejemplo a 15 MHz/256= 58.59375 khz Modo Match salida toggle en MAT0.0, con Reset e IRQ

Utilización simple del Match: retardo 1 s

RTC (Reloj tiempo real: calendario)

Inicialización de registros del RTC

Interrupción del RTC La rutina de tratamiento de interrupción es: La inicialización del RTC en el programa principal es: