Top Banner
www.miguelgrassi.com.ar/mae Robótica Maestría en Tecnología y Estética de las Artes Electrónicas Universidad Nacional de Tres de Febrero Introducción a los Microcontroladores Miguel Grassi (www.miguelgrassi.com.ar/mae)
24

Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

May 25, 2018

Download

Documents

truongcong
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Robótica

Maestría en Tecnología y Estética de las Artes Elec trónicasUniversidad Nacional de Tres de Febrero

Introducción a los Microcontroladores

Miguel Grassi (www.miguelgrassi.com.ar/mae)

Page 2: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Esquema de un Microcontrolador

� Todo en uno� De aplicación específica� Embebido en la aplicación� Especializado en control

Page 3: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Diagrama de Bloques

� PIC 16F887(aunque es similar para todos)

Page 4: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Distribución de la memoria

� Programa

� Puertos Entrada / Salida

Page 5: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Qué es un REGISTRO

� Registro es una porción de memoria de un micro. Es un circuito electrónico que puede memorizar el estado ( 1 ó 0) de 8 bits (1 byte). Usualmente la CPU puede leer y escribir esos valores desde el programa

Page 6: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Puertos (o registros) de Entrada/Salida

� Los bits (1 ó 0) de ciertos registros se corresponden directamente con el estado eléctrico (0 voltsó 5 volts) de algunos pines

� Si son Entradas , la CPU puede Leer su valor para usarlos en el programa� Si son Salidas , la CPU puede Escribir su valor para encender y apagar a voluntad los dispositivos

externos que estén conectados a esos pines

Page 7: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Entradas y Salidas Digitales

� Lectura de SENSORES y control de un Relay desde el micro

Page 8: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Conversión Analógica/Digital

� Permite convertir las señales de tensión contínua (usualmente cualquier valor intermedio en el rango 0-5 volts) en un valor digital de 0 a 1024 para que lo use el programa

� Especialmente indicado para lectura de SENSORES de luz (LDRs), temperatura, etc. desde el micro

Page 9: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Osciladores internos y externos

� Suministran las señales de reloj para el funcionamiento del micro

Page 10: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

� Se escribe el programa en PC (lenguaje de alto nivel, Assembler o C) y se compila a “código de máquina” (1’s y 0’s en hexadecimal)

� Se copia el programa a la memoria ROM del Microcontrolador mediante un PROGRAMADOR

Ciclo de desarrollo de un programa

Page 11: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Arquitectura de las computadoras

� Forma física lógica de interconectar componentes de hardware

� Principalmente se refiere a la interacción dentro de la CPU, es decir entre la ALU, la UC y la Memoria principal

� A veces el término se extiende a la relación entre las CPU y los periféricos principales

� Se suele representar el modelo en capas superpuestas, como las de la figura

Page 12: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Arquitectura – Modelos de acceso a memoria

• Von Newmann• Datos e instrucciones en una misma memoria

• Harvard• Datos e instrucciones en memorias separadas

Page 13: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Arquitectura – Sets de Instrucciones

� CISC – Complex Instruction Set Computer (Ej: Intel PC)

� SISC – Simple Instruction Set Computer (Ej: dsp)

� RISC – Reduce Instruction Set Computer (Ej. Microcontoladores)

Page 14: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Tamaño de palabra

� Es la cantidad fija de bits que un procesador maneja como unidad.� Los anchos más comunes son 8, 16, 32 y 64 bits, aunque hay otros� Ejemplos:

� Zilog Z80…………………………… 8 bits� Intel 8008, 8080 (PC XT)………… 8 bits� PIC, Atmega8……………..………. 8 bits� Intel 8086 (AT) 80x86…………..… 16 bits� Intel Pentium ……………………… 32 bits� PIV, AMD64, PowerPC, ARM…... 64 bits

Page 15: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Marcas y modelos de microcontroladores más difundidos

� Atmel (Atmega8, 16, 32, etc. AVR)� Microchip (PIC16F84,87,18F4550,PIC32, etc)� Freescale (Motorola - 68HC05, 68HC16, 683xx)� Zilog (Z8, Z80, Z16)� Rabbit (2000, 3000)� ARM (Acorm RISC Machine o Advanced RISC Machine)

� ARM7, ARM9, Cortex, etc.� Licenciados para ser producidos por distintas marcas:

Apple, Atmel, NXP (ex Philips), Sharp, Texas, Freescale, LG, Microsoft, LG, Ericsson, etc. etc.

Page 16: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Plataformas de Desarrollo y Prototipado

� Arduino Diecimila (Atmega168)

•Voltage 5 V

•Input Voltage(recommended) 7-12V

•I/O Pins 14 (of which 6 providePWM output)

•Analog Input Pins 6

•Memory 16 KB of which 2 KB used by bootloader

•SRAM 1KB

•EEPROM 512 KB

•Clock Speed 16 MHz

Page 17: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Plataformas de Desarrollo y Prototipado

� Arduino Uno (Atmega328)

•Voltage 5 V

•Input Voltage(recommended) 7-12V

•I/O Pins 14 (of which 6 providePWM output)

•Analog Input Pins 6

•Memory 32 KB of which 0.5 KB used by bootloader

•SRAM 2KB

•EEPROM 1 KB

•Clock Speed 16 MHz

Page 18: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Plataformas de Desarrollo y Prototipado

� Arduino Mega (ATmega2560 )

•Voltage 5 V

•Input Voltage(recommended) 7-12V

•I/O Pins 54 (of which 12 providePWM output)

•Analog Input Pins 16

•Memory 256 KB of which 8 KB used by bootloader

•SRAM 8 KB

•EEPROM 4 KB

•Clock Speed 16 MHz

Page 19: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Plataformas de Desarrollo y Prototipado

� Arduino Due (ARM Cortex-M3)

•Voltage 3.3V

•Input Voltage(recommended) 7-12V

•I/O Pins 54 (of which 12 providePWM output)

•Analog Input Pins 12

•Analog Outputs Pins 2 (DAC)

•Memory 512 KB all available forthe user applications

•SRAM 96 KB (two banks: 64KB and 32KB)

•Clock Speed 84 MHz

Page 20: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Plataformas de Desarrollo y Prototipado

� Basic Stamp II (PIC16C57)

Page 21: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Plataformas de Desarrollo y Prototipado

� Mbed Lpc1768 (ARM Cortex M3)

Page 22: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Plataformas de Desarrollo y Prototipado

� LPCXpresso LPC1343 Cortex M3

� JTAG, 8 kB SRAM, 32 kB Flash, USB 2.0, SSP, UART etc. Clock de 72 Mhz, arquitectura Harvard

Page 23: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Plataformas de Desarrollo y Prototipado

� BeagleBoard xM

• More than 2,000 MIPS• Up to 20 million polygons/second graphics• HD video capable C64+TMDSP core• 512 MB LPDDR RAM• 2D/3D graphics accelerator• 4 USB 2.0 ports• MMC/SD connector• DVI-D port• S-Video port• USB mini AB connector• Ethernet

Soporta Sistemas Operativos: Angstrom Linux, Android , Ubuntu, XBMC (Media Center)

Page 24: Microcontroladores y Placas Desarrollo - Miguel Grassi y Placas Desarroll… · microcontroladores más difundidos Atmel (Atmega8, 16, 32, etc. AVR) Microchip (PIC16F84,87,18F4550,PIC32,

www.miguelgrassi.com.ar/mae

Plataformas de Desarrollo y Prototipado

� Raspberry Pi - Rev. B (ARM 11)

• 700 MHz• HD video capable C64+TMDSP core• 512 MB LPDDR RAM• 1920×1200 px• 2USB 2.0 ports• MMC/SD connector• V-comp.RCA port• HDMI / raw LCD• USB mini AB connector• Ethernet (c/Adapter)

Sistemas Operativos: Linux (Raspbian, Debian GNU/Linu x, OpenELEC, Fedora, Arch LinuxARM, Gentoo), RISC OS, FreeBSD, NetBSD, Plan 9, Inf erno, Openwrt, XBMC (Media Center)