curso de robótica móvil con arduino y arduino...croma3d 2016 e.t.s.i.i. ciudad real uclm curso de...
Post on 09-Jul-2020
18 Views
Preview:
TRANSCRIPT
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Curso de Robótica Móvil
con Arduino y Arduino
• Andrés S. Vázquez
• Francisco Ramos
• Raúl Fernández
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
El cerebro del robot
Sesión 2 (Teoría)
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Parte 1 Parte 2
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Parte 1. El Micro
(cerebro) del Robot
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Índice Parte 1
1. Definición de microcontroladores
2. Microprocesadores
3. Memorias
4. Periféricos
5. Microcontroladores
6. El (micro)cerebro de nuestro robot
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Definición Microcontrolador
• Integrado que incluye un microprocesador,
memoria (de programa y datos) y unidades de
entrada/salida (puertos paralelo,
temporizadores, módulos CCP, conversores
A/D, puertos serie, etc)
MICROCONTROLADOR
=
MICROPROCESADOR + MEMORIA + PERIFÉRICOS
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Definición Microcontrolador
• Ejemplo
– CPU.
– Memoria RAM de datos.
– Memoria ROM/UVPROM/OTPROM de programa.
– Memoria EEPROM de datos.
– Puertos de entrada-salida.
– Temporizadores/contadores.
– Sistemas de interrupción.
– Módulos auxiliares:
• Convertidores A/D.
• USART.
• Etc Display
Drivers
D / AA / D
FLASH
USARTSPII2C
CAP
COMP
PWM
EEPROM
PowerDrivers
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
MICROCONTROLADOR
=
MICROPROCESADOR + MEMORIA +PERIFÉRICOS
Definición Microcontrolador
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Microprocesadores
• Es el componente electrónico (circuito
integrado) encargado de la interpretación,
generación y ejecución de programas o
secuencia de ordenes, operando con los
datos que recibe la memoria, los dispositivo
de entrada/salida y periféricos
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Microprocesadores
• La arquitectura de un procesador se clasifica
según que características tenga.
Arquitecturas según
acceso a
datos/memoria
Arquitecturas según
juego de
instrucciones
• Von Neumann
• Harvard
• CISC
• RISC
• SISC
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Arquitectura Von Neumann
• Un único bus de datos para instrucciones y datos.
• Las instrucciones del programa y los datos seguardan conjuntamente en una memoria común.
• Cuando la CPU se dirige a la memoria principal,primero accede a la instrucción y después a losdatos necesarios para ejecutarla, esto retarda elfuncionamiento. (Máquina secuencial)
• Ejecuta solo una operación a la vez: Lenta
• Generalmente se combina con juego deinstrucciones tipo CISC
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Arquitectura Harvard
• El bus de datos y el bus de instrucción están separados, haciéndolos totalmente independientes
• Acceso en paralelo:– Cuando se está leyendo una instrucción, la instrucción
actual está utilizando el bus de datos. Una vez finalizada la instrucción actual, la siguiente ya está disponible en la CPU.
• Permite una ejecución más rápida.
• Pueden direccionar altas cantidades de memoria
• Se combinan con juego de instrucciones RISC
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Microprocesadores
Memoria
Principal CPU
Instrucciones
Datos
Unidad
De
Control
Unidad
Operativa
Bus Control
Bus
Direcciones
Bus Datos e
Instrucciones
VON-NEUMANN
Memoria
InstruccCPU
I
N
S
T
R
U
C
C
I
O
N
E
S
Unidad
De
Control
Unidad
Operativa
Bus Control
Bus
Direcciones
Bus
Instrucciones
D
A
T
O
S
Bus Control
Bus
Direcciones
Bus Datos
Memoria
Datos
HARVARD
C P U
8 = 8
Program& DataMemory
DataMemory
C P U
816
ProgramMemory
12141624
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Microprocesadores
• Ejemplos arquitectura
Harvard Von Neumann
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Microprocesadores
¿Cuál es la arquitectura que utilizan la mayoría de
computadores?
¿Cuál es mejor cuando la frecuencia de lectura de
instrucciones y de datos es aproximadamente la
misma?
Esta arquitectura suele utilizarse en DSPs, o
procesador de señal digital, y microcontroladores
VON NEUMANN
HARVARD
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Clasificación según el Juego de Instrucciones
• Complex Instruction Set Computer
– Set de instrucciones grande
– Instrucciones son muy potentes. En algunos casos equivalen a muchas instrucciones simples.
– Reduce el tamaño del código de programa
• Reduced Instruction Set Computer
– Pocas instrucciones
• El controlador es más sencillo y el chip es más
pequeño.
– Tiene un consumo menor.
– Mayor tamaño del código de programa
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
MICROCONTROLADOR
=
MICROPROCESADOR + MEMORIA +PERIFÉRICOS
Memorias
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Concepto
• Una memoria es un dispositivo capaz de guardar el estado de un bit durante cierto tiempo.
• Posee casillas o localidades cada una con la capacidad de almacenar un dato generalmente de tamaño byte (8 bits).
• Tiene un bus de direcciones para identificar cada una de las localidades.
• Tiene un bus de datos por donde entran y salen datos a cada una de las casillas o localidades de la memoria.
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
• Registros (memoria de corto plazo):– Pequeña (relativamente)
– Almacenamiento temporario p/CPU
• Memoria de datos– Relativamente Grande
– Almacena datos mientras el MCU funciona
• Memoria de programa– Relativamente Grande
– De preferencia, mantiene el programa incluso con el MCU apagado.
Uso
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
• CAPACITIVO: Un capacitor se mantiene cargado y
representa un 1 lógico, si se descarga represente
un 0 lógico.
• FUSIBLES: Un filamento delgado de semiconductor
que se quema o se deja completo para representar
un 1 o un 0
• ORIENTACIÓN MAGNÉTICA: La orientación de un
dispositivo magnético representa un 1 o un 0 lógico.
Principios de funcionamiento
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Tipos de memorias
RAM
• Random Access Memory• Almacenamiento temporal de datos
• Pierde la información capturada cuando se le
desconecta alimentación
ROM
• Read Only Memory• Memoria que conserva el contenido aun cuando
se desconecta
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Tipos de memorias ROM
• EPROM (Erasable-Programable Read Only Memory)– Funciona con el principio de fusibles
– Puede borrarse mediante luz ultravioleta
– Se reprograma eléctricamente
• EEPROM (Electrically Erasable-Programable Read Only Memory)– Funciona con el principio de fusibles
– Puede borrarse con impulsos eléctricos controlados
– Se reprograma eléctricamente
• Flash– Funciona igual que la EEPROM pero a una
velocidad de operación y programación mayor.
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
• S/DRAM: sin limite de escrituras
• EEPROM: 100.000 ciclos de borrado
• Flash: 10.000 ciclos de borrado
Memorias
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
MICROCONTROLADOR
=
MICROPROCESADOR + MEMORIA +
PERIFÉRICOS
Periféricos
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Periféricos
• PUERTOS (E/S)
– PARALELO (PINES E/S DIGITALES )
(para control otros periféricos)
– SERIE (COMUNICACIONES)
• CONVERSORES A/D
• TIMERS
• PWM
• ETC...
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos (E/S)
• Ventanas por las cuales el procesador se comunica con los periféricos.
• Tienen un canal de datos por el cual circula la información
• El procesador genera las señales de control que permiten habilitar a cada uno de sus periféricos
• Cuando un periférico es habilitado, este pone información en el bus de datos. Esta información es leida por el puerto correspondiente.
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos (E/S)
– Salidas en paralelo.
• Son las más comunes y se suelen utilizar para controlar relés, led,
displays, LCD, transistores, etc.
– Se caracterizan por una corriente máxima individual y una máxima
común.
– Salidas de Potencia.
• Montaje Darlington.(transistores)
• Control de relé.
• Control de triacs.(transistores-interruptor alterna)
– Entradas en paralelo.
• Son las comunes y se utilizan para lectura de pulsadores, teclados, en
general para leer el nivel lógico de la entrada. Pueden estas
optoaisladas.
– Entradas/Salidas.
– Permiten cambiar la patilla como salida o entrada en cada instante.
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos (E/S)
Comunicación serie (I)• Universal Asynchronous Receiver/Transmitter
– Elemento HW que traduce datos de paralelo a serie
• Utiliza un registro de desplazamiento para la traducción
– Usado junto con otro estándar de comunicación (i.e. RS-232)
– La comunicación puede ser Full o Half Duplex
• Líneas independientes para recepción/transmisión
– No precisa llevar señal de reloj (configuración receptor/transmisor)
• Formato de los datos
• Velocidad de transmisión (típica 9600 baudios, 104us)
– Una transmisión asíncrona consta de
• 1 bit de comienzo (space)
• De 5 a 8 bits de datos
• 1 bit de paridad (opcional)
• 1 o 2 bits de parada
• USART (Unidad Universal de Transmisión Recepción Síncrona y Asíncrona)
es un adaptador serie para comunicaciones asíncronas o síncronas.
– Los dispositivos que usan USART suelen ser más rápidos (hasta 16 veces) que un
adaptador UART.
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos (E/S)
Comunicación serie (II)
• RS232 - Recommended Standard 232 (1962)– Norma para el intercambio serie de datos
• Entre un DTE (equipo terminal) y un DCE (equipo de comunicación)
• Entre dos DTEs (Conexión en módem nulo)
– El estándar completo tiene 25 pines (DB-25)
• Sólo se usan 9 (DE-9)
– Está desapareciendo porque se consideraheredado y obsoleto
• Lento comparado con buses actuales
– Aún se encuentran en sistemasindustriales y de consumo
– Máximo 20Kbps según norma
Señal DB-25DE-
9
Common Ground G 7 5
Transmitted Data TD 2 3
Received Data RD 3 2
Data Terminal Ready DTR 20 4
Data Set Ready DSR 6 6
Request To Send RTS 4 7
Clear To Send CTS 5 8
Carrier Detect DCD 8 1
Ring Indicator RI 22 9
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos
• Comunicación serie (III)
• USB- Universal Serie Bus (1996)
– Consorcio de empresas (Intel, IBM, Microsoft, Compaq...)
– Mejorar plug & play Gran popularidad
– Permite conexión “en caliente”
– Puede servir como fuente de alimentación
– Velocidades
• Baja (1.0) Hasta 1,5 Mbps. Ejemplo: teclado, ratón...
• Completa (1.1) Hasta 12 Mbps.
• Alta (2.0) Hasta 480 Mbps (Generalmente de 125 Mbps). La más
habitual
• Super alta (3.0) Hasta 4,8 Gbps.
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos
Comunicación serie (IV)
• SPI- Serial Peripheral Interface– Protocolo de comunicación síncrona
entre dos dispositivos digitales
• Punto a punto
• Múltiples esclavos
– Independientes
– Daisy Chain
– Cuatro líneas de señal
• SCLK: Señal de sincronismo
• MOSI: Master Out-Slave In
• MISO: Master In-Slave Out
• SS: Señal de selección de esclavo
– Full-Duplex
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos
Comunicación serie (V)
• I2C Inter-Integrated Circuit
– Protocolo multi-maestro
– El dispositivo que inicia una transmisión es el maestro
– Utiliza 2 líneas de señal bidireccionales
• SDA: Serial Data
• SCL: Serial Clock
– Half-Duplex
– Se puede colocar cualquier número de esclavos y maestros
– Se comunican mediante un protocolo que define:
• Direcciones de esclavos (7 bits). Única para cada dispositivo
• Datos divididos en bytes (8 bits)
• Bits de control para inicio, parada, dirección y ack
– Tasa de transferencia
• 100 kbps (standard), 400 kbps (fast) o 3,4 Mbps (high-speed)
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos
• Comunicación serie (V)
Ethernet (1973)
– Estándar de redes de computadoras de área local (LAN)
– IEEE 802.3
Controlled Area Network (CAN Bus) (1986)
– Estándar de la industria de la automoción
– Entornos distribuidos
System Management Bus (SMBus)
– Derivado del I2C
– Más lento
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos
• Infrarrojos
-Un led emisor de banda infrarroja envía tramas de
luz a 38.5kHz
- El receptor esta a las escucha en esa frecuencia,
teniendo como salida un tren de pulsos
- En función del protocolo, ese tren se decodifica
para obtener una palabra en binario
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos
• WiFi
– Estándar IEEE 802.11.x
• Redes de Área Local Inalámbricas (WLAN)
• Conectividad punto a punto
• Wide Area Network (WAN)
– Ancho de banda
• De 11 a 300 Mbps
• Bluetooth
– Especificación industrial de WPAN
(Redes de Área Personal Inalámbrica)
– Bajos consumo, cobertura y coste
– Ancho de banda
• De 1 a 24 Mbps
Clase
Potencia
máxima
permitida
(mW)
Potencia
máxima
permitida
(dBm)
Rango
Clase
1100 mW 20 dBm
~100
metros
Clase
22.5 mW 4 dBm
~25
metros
Clase
31 mW 0 dBm ~1 metro
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos
• ZIGBEE
– Protocolos de alto nivel de comunicación
inalámbrica
– Radiodifusión digital de bajo consumo
– Estándar IEEE 802.15.4 de WPAN
– Utilización
• Comunicaciones seguras
• Baja tasa de envío de datos
• Maximización de la vida útil de las baterías
• Ejemplo: domótica
– Topología de red en malla (tb estrella y árbol)
• 65535 nodos distribuidos en subredes de 255
– Tasa de transferencia
• Hasta 250 kbps
– Baratos
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Conversores
• Conversor Analógico Digital (A/D).– Convierte la tensión analógica a su valor digital.
• Pueden ser externos o internos al micro.
• Existen, en general, tres tipos integrados:
– Aproximaciones sucesivas (común en micro).
– Delta-Sigma (común en DSP).
– Flash (rápido pero menos habitual).
• Conversores D/A.• Obtienen una tensión analógica a partir de un valor digital.
• Conversor D/A con Modulador de ancho de Pulso (PWM).
• Otros Dispositivos.• Contador de pulsos: cada pulso incrementa un contador.
• Entrada de Captura: sirve para medir intervalos de tiempo entre
eventos.
• Comparadores analógicos.
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Interrupciones y Polling
– Transferencia de E/S por consulta (Polling)• El polling es una técnica software en la que el microcontrolador pregunta
constantemente al periférico si necesita ser atendido.
– Interrupciones• Cuando los periféricos necesitan ser atendidos por el microcontrolador
se lo comunican; de esta forma el micro puede atender a un programa
principal (a diferencia del polling).
• Es una técnica más rápida en atender al periférico que el polling.
• El micro recibe la interrupción, identifica quién la ha provocado, ejecuta
la rutina para atenderla y vuelve al programa principal.
• Disparo de interrupciones:
– Por flanco (de subida o bajada).
– Por nivel.
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Reset y Reloj
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
– Inicialización o reset
• La mayoría de los micros disponen de un sistema de
inicialización cuando se conectan a alimentación.
• Poseen, además, de una entrada de reset sensible a nivel
– Reloj• Todos los micros tienen integrado un oscilador y sólo
necesitan un elemento externo para fijar la frecuencia
dentro del margen indicado.
• Puede ser interno o externo con ayuda de un cristal de
cuarzo, resonador cerámico o una red RC.
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Microcontroladores
• Así que todo esto era un micro
controlador1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Carácteristicas especiales
– Watchdog (Perro Guardian).• Un temporización que permite la recuperación del sistema ante un
bloqueo.
• Si el programa entra en bucle infinito o si deja de funcionar el watchdog
provoca un reset tras un tiempo predeterminado.
– Monitor de reloj (Clock Monitor).• Permite apagar el micro si la señal de reloj varia.
– Cargador del programa residente.• Al inicializar, el micro carga automáticamente el programa a ejecutar por
un puerto desde un lugar remoto (o desde el mismo micro).
– Programa Monitor.• Un programa instalado en el micro que permite desarrollos básicos y
depuración de programas.
• Pueden comunicarse con un PC para ser ejecutado desde el mismo.
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Diseño
Diseño discreto.
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Diseño
Diseño Integrado.
ATmega16 (atmel)
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Familias
• Tipos de microcontroladores
– Según el ancho de palabra:
• Los hay de 4, 8, 16, y 32 bits
– Existen Microcontroladores/Procesadores especializados para:
• Comunicaciones, Manejo del teclado, Procesamiento de la señal, Proceso
vídeo, Etc
• Fabricantes de microcontroladores– INTEL 8048-8051-80C196-80386
– MOTOROLA 6805-68HC11-68HC12
– HITACHI HD64180
– PHILIPS 8051
– SGS-THOMSON ST-62XX
– NATIONAL SMC. COP400-COP800
– ZILOG Z8, Z86XX
– TEXAS INST. TMS370
– TOSHIBA 68HC11
– MICROCHIP PIC
–ATMEL ATMEGA168…
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Familias
• Atmel /AVR
– Concebidos por dos estudiantes del instituto de tecnología
noruego NTH
– Originalmente conocido como microRisc
– AVR no es un acrónimo pero podría significar Advance
Virtual RISC
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
El cerebro de nuesto robot:
ATMega328p
• Low-Power 8-bit AVR Microcontroller
• Modified Harvard Architecture
• 32 8-bit general-purpose registers
• 131 Instructions, Multi-cycle Implementation
– Most are single-cycle
– 2-cycle multiply, 2-cycle memory access
– Thus up to 1MIPS/MHz
• 20MHz, up to 20MIPS
• 32KB self-programmable Flash
• 1KB EEPROM
• 2KB SRAM
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Puertos (E/S)
• 6 PWM Shared Input/Outputs (Analog)
• 8 digital input/outputs
• SPI-serial, 2-wire serial, ISP, others
– Monitoring, debugging, programming, power
• USART serial interface
– (interfaces with USB on Arduino)
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Otras características
• Registers for serial access
• Interrupts
• External Interrupts
• Power Management
• Timers
• Analog Comparators
• Etc
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
ATMega328
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
ATMega 328
1. Definición de
mcontroladores
2. Mprocesadores
3. Memorias
4. Periféricos
5. Mcontroladores
6. El cerebro de
nuestro robot
7. Programación
mcontroladores
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Parte 2. Amplicación
del Micro(cerebro) del
Robot
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
¿Pero entonces
nuestro robot tiene
este cerebro?
Low-Power 8-bit AVR
Microcontroller
Modified Harvard
Architecture
32 8-bit general-purpose
registers
131 Instructions, Multi-
cycle Implementation
20MHz, up to 20MIPS
32KB self-programmable
Flash
1KB EEPROM
2KB SRAM
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Y yo quería algo tan
listo como este…!
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
Microcomputadores
• Placas basadas en microprocesadores
avanzados
• Arquitecturas RISC Avanzadas
• Utilizados en Smartphones y Tablets
• Incorporan S.O. embebidos como Linux
(o Android)
• Ejemplo: ARM Cortex
• Antiguamente conocidos
como ADVANCE RISC MACHINE
• RISC de 32 bits.
• Desarrollado por ARM Limited
CRoMA 2010 por Francisco Ramos y Andrés S. VázquezCRoMA3D 2016 E.T.S.I.I. Ciudad Real UCLM
55
Artik 1
Artik 5
Espruino
Particle
Bean +
MicroView
Piccolino
Wino
The Neutrino
MetaWearUdoo Neo
Chip
top related