0% encontró este documento útil (0 votos)
17 vistas35 páginas

Clase Micro

Los microcontroladores son dispositivos especializados en el control de equipos electrónicos, integrando memoria y módulos de hardware para interactuar con otros dispositivos. Se diferencian de los microprocesadores en su especialización, costo, y consumo de energía, y se utilizan en diversas aplicaciones como control de motores, biometría y automotriz. La arquitectura de los microcontroladores, como la de los PIC de Microchip, incluye características como memoria de programa y datos, temporizadores, y capacidades de comunicación como SPI e I2C.

Cargado por

Jorge Gamez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas35 páginas

Clase Micro

Los microcontroladores son dispositivos especializados en el control de equipos electrónicos, integrando memoria y módulos de hardware para interactuar con otros dispositivos. Se diferencian de los microprocesadores en su especialización, costo, y consumo de energía, y se utilizan en diversas aplicaciones como control de motores, biometría y automotriz. La arquitectura de los microcontroladores, como la de los PIC de Microchip, incluye características como memoria de programa y datos, temporizadores, y capacidades de comunicación como SPI e I2C.

Cargado por

Jorge Gamez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

PROGRAMACIÓN EN

TIEMPO REAL
Microcontroladores
Microcontroladores - Introducción
• Un microcontrolador es un microprocesador
especializado en el control de dispositivos o equipos
electrónicos.

• Integra memoria de datos y programa, y módulos de


hardware que le permiten “sensar,” controlar y
comunicarse con otros dispositivos.

• Existe en el mercado una gran cantidad de


microcontroladores de muchas empresas: Atmel,
Freescale (Motorola), Hitachi, Intel, National
Semiconductor, Microchip, NEC, Parallax, ST
Microelectronics, Texas Instruments
Microprocesador vs. Microcontrolador

Microprocesador Microcontrolador
Alto nivel de generalización Alto nivel de especialización

No integra periféricos dentro del mismo chip Integra periféricos dentro del chip

Alto Costo Bajo Costo

Velocidades de reloj altas Velocidades de reloj medianas/bajas

Consumo de energía medio/alto Consumo de energía bajo/medio

Generalmente son CISC Generalmente son RISC

Tiempo de ejecución variable entre instrucciones Tiempo de ejecución constante entre instrucciones

Se utiliza para procesar información Se utiliza para controlar dispositivos electrónicos


Necesita de gran cantidad de componentes Necesita de pocos componentes externos para
externos para funcionar funcionar
Memorias de datos y programa externas Memorias de datos y programa internas
Microprocesador vs. Microcontrolador
Microcontroladores - Aplicaciones
• Control de motores: continuos, PWM, etc.
• Biometría: Reconocimiento huellas digitales y voz
• Telefonía: detección de DTMF, identificadores de
llamadas
• Aparatos electrónicos: impresoras, scanners, módems,
microondas, etc.
• Mediciones en general: temperatura, humedad, señales
biológicas.
• Procesamiento de señales: reducción de ruidos.
• Automotriz: airbag, frenos ABS.
• Juguetes y Robótica.
Microcontroladores - Características
• Arquitectura Harvard.

• Memoria de programa reducida:


• Unos pocos Kbytes.
• suelen ser ROM (una grabación) o EEPROM (muchas grabaciones).

• Memoria de datos reducida:


• Desde unos bytes a Kbytes.

• Conjunto Reducido de Instrucciones (RISC).

• Salvo líneas de altas prestaciones y DSP, no tienen soporte para


multiplicaciones y/o divisiones.

• Integra temporizadores, conversores A/D, dispositivos de


comunicación.
Microcontroladores - Arquitectura
Memoria • Flexibilidad para
de almacenar datos y
Datos CPU
+
programas.
Programa

Arquitectura Von Neumann

• Independencia de tamaños
Memoria
de buses de memoria y
de
datos.
Datos
CPU • Simplificación de la
Memoria de electrónica de control.
Programa
• Acceso simultaneo a
Arquitectura Harvard memoria de datos y
programa.
Microcontroladores - Dispositivos
• Entrada / salida digital.
• Comunicación :
• SPI, I2C, UART, CAN, USB, SPP.
• Temporizadores.
• Comparadores de salida.
• Capturadores de entrada.
• Conversores analógico/digital.
• Control por PWM (Modulación de ancho de pulso)
• Codificadores de cuadratura.
Microcontroladores - Comunicación
SPI, Serial Peripherical Interface:

• Líneas de comunicación :
• SDI / MOSI: entrada de datos serie (serial data input).
• SDO / MISO: salida de datos serie (serial data output).
• SCK / SCLK: señal reloj para E/S (serial clock).
• SS / SSx: selección de esclavo (slave select).

• Características:
• Comunicación sincrónica full-duplex.
• Transmisión y recepción de flujos de 8/16 bits, 1 ciclo/bit.
• Maestro/esclavo, el maestro genera señal SCK y activa señal SS.
• Requiere de una línea SS por dispositivo esclavo.
• Capacidad de interrumpir al transmitir/recibir.
• Velocidades de transferencia entre 1Mhz y 100Mhz.
Microcontroladores - Comunicación
SPI – Esquema de conexión
Microcontroladores - Comunicación
I2C, Inter-Integrated Circuit:
• Líneas de comunicación:
• SDA: entrada/salida de datos serie (serial data).
• SCL : señal reloj para E/S (serial clock).

• Características:
• Comunicación sincrónica half-duplex.
• Modos Maestro, esclavo, o multi-maestro con detección de
colisiones y arbitraje.
• El maestro transmite número de dispositivo e información de la
operación a realizar . El dispositivo esclavo responde .
• Comunicación con tantos dispositivos como direcciones pueda
codificar.
• Capacidad de interrumpir al transmitir/recibir.
• Velocidades de transferencia de 100Khz y 400Khz.
Microcontroladores - Comunicación
I2C - Esquema de conexión

I2C - Lectura de dispositivo de memoria EEPROM


Microcontroladores - Comunicación
USART, Universal Synchronous/Asynchronous
Receiver/Transmiter:

• Características:
• Comunicación sincrónica/asincrónica full-duplex de 8 o 9
bits.
• Opciones de paridad par, impar o ninguna. 1 o 2 Bits de
parada.
• Detección de errores de paridad y desbordamiento de
buffers.
• Capacidad de interrumpir al transmitir/recibir.
• Velocidades de transferencia de 29 bps hasta 1,875 Mbps.
Microcontroladores - Comunicación
CAN, Control Area Network:
• Sistema de comunicación orientado al mensaje. El
mensaje corre por la red y cada dispositivo filtra los de su
interés.
• Diseñado para entornos ruidosos.
• Longitud de datos entre 0 y 8 bytes.
• Tipos de Tramas:
• Estándar: transmisión de datos.
• Extendida: extender transmisión normal.
• Remota: para que algún nodo responda a un pedido.
• Error: transmitida por un nodo cuando detecta un error.
• Capacidad de interrumpir al transmitir/recibir.
• Velocidades de transferencia de 1 Mbps.
Microcontroladores - Comunicación
CAN – Esquema de conexión

Device 1 Device 2 Device 3


CAN CAN CAN
Controller Controller Controller

TX RX TX RX TX RX
CAN CAN CAN
Transeiver Transeiver Transeiver

Ejemplo:
Microcontroladores - Dispositivos
Temporizadores (Timers)/Contadores:
• Registros para contar (“tiempo” o eventos)
• Resolución: 8bits, 16bits, 32 bits.
• Para contar tiempos “largos” se combinan con:
• Otros contadores: 2 de 8 bits o 2 de 16 bits.
• Divisores de frecuencia:
• Prescaler: cuando esta como entrada del contador.
• Postscaler: cuando esta como salida del contador.

• Fuentes de entrada, controla cuando cuenta:


• interna: reloj interno, prescaler, contador.
• externa: señal externa que entrada desde un pin del micro.

• Generan eventos por desborde o por comparación con


registros programables:
• Interrupciones.
• Disparan conversiones A/D.
• Cambio en un pin de salida.
Microcontroladores - Dispositivos
Comparadores:

• Permite comparar dos valores analógicos a


través de 2 pines de entrada.
• Puede realizar una acción sobre un pin de salida:
• Cambiar su estado.
• Generar un pulso
• Generar un tren de pulsos.

• Tienen capacidad de interrumpir.


Microcontroladores - Dispositivos
Capturadores de entrada:

• Permite detectar un cambio en un pin de entrada.

• Cuando registra el evento almacena el valor de un


temporizador en un registro

• Útil para medir frecuencias.

• Tienen capacidad de interrumpir.


Microcontroladores - Dispositivos
Conversores Analógico/Digital:

• Permiten convertir una entrada analógica en un valor digital.


• Resolución comunes de 8, 10, 12 y 16 bits.
• Normalmente tienen un conversor A/D y un multiplexor para
seleccionar canales.
• Los micros de alto rendimiento normalmente pueden programarse
para muestreo secuencia de canales.
• Tienen capacidad de interrumpir al finalizar la conversión.
• Tipo de conversiones:
• Manual: cuando se lo indica.
• Automática: dispara una nueva conversión al terminar la actual.
• Automática por evento: se dispara la conversión al producirse un evento
asociado a un dispositivo (ej: timer).
Microcontroladores - Dispositivos
Codificadores de Cuadratura:

• son codificadores incrementales para detectar la posición


y velocidad de rotación de movimiento
• Tiene 3 señales: Fase A (QEA), Fase B(QEB) e índice
(INDX).
• Con estas señales e incrementa o decrementa un
contador según la dirección de giro.
• Este dispositivo cuenta con:
• Contador de posición de 16 bits.
• Cuenta, con estado de dirección.
• Resolución de cuenta por dos (x2) y por cuatro (x4).
• Interrupciones generadas por INDX o por eventos del contador.
Microcontroladores - Dispositivos
• Codificadores de Cuadratura

Detección
de
dirección

Detección
de cambio
Microcontroladores – Microchip PIC
• Son populares:
• Hay muchas herramientas para desarrollo.
• Es posible conseguir muchos de los modelos con facilidad.
• Es posible adquirir dispositivos para grabar los programas
(“programadores”) fácilmente y a bajo costo.

• Muchas “familias” de microcontroladores:


• Datos de 8 bits
• Datos de 16 bits
• Datos de 32 bits
• Procesamiento Digital de Señales (DSP ).
Microcontroladores – Microchip PIC
En la práctica usaremos:

• Microcontroladores de 8 bits PIC 16F84A (básico) y PIC


16F877 (completo).

• Entorno Isis – Proteus (versión demo) que permite


simular circuitos electrónicos , inclusive
microcontroladores.

• Compilador C, PICC (versión “lite”).


Microcontroladores – Microchip PIC
Microchip PIC - Arquitectura
• Arquitectura Harvard.
• Núcleo RISC.
• Cauce (Pipeline) de 4 etapas: fetch, decode, execute,
write-back.
• 35 instrucciones de 14 bits.
• Ejecución de instrucciones en 1 ciclo de instrucción (4 de
reloj). 2 ciclos para saltos.
• Velocidades de reloj de hasta 20 MHz (5 MIPS).
• Una única interrupción para varias fuentes.
• Memoria EEPROM que permite mantener datos
persistentes al estar apagado.
PIC – Memoria de Programa
• Hasta unos Kbytes de palabras.

• Vector de inicio en la posición 0: instrucción de salto a la


primera línea del programa.

• Vector de interrupción en posición 4: instrucción de salto


a la primera línea de rutina de interrupción única.

• Programa a partir de la posición 5, la capacidad depende


del modelo del microcontrolador.

• Pila para subrutinas de 8 niveles.


PIC – Memoria de Programa
PIC – Memoria de Datos
• Memoria paginada (bancos), basada en banco de
registros: posición de memoria = registro.

• Siempre hay una pagina activa, para acceder a


posiciones fuera de la actual hay que cambiar de página
(si usamos C esto lo hace el compilador).

• Por razones de rendimiento algunos registros que se


usan frecuentemente (ej: para direccionamiento o estado
de ALU) se mapean en todas las páginas o bancos.
PIC – Memoria de Datos - Registros
• Propósito especial:
• Asociados al estado y control de dispositivos.
• reciben nombres según su función, incluso su bits.
• En general se ubican en las posiciones iniciales.

• Propósito general:
• RAM normal, se ubican después de los de propósito
especial.
BANCO DE REGISTROS 0 BANCO DE REGISTROS 1
Dir Nombre Descripción Dir Nombre Descripción
Contenido apuntado por el registro FSR (no Contenido apuntado por el registro FSR (no
00h INDF* 80h INDF*
es un registro físico) es un registro físico)
01h TMR0 Contador de 8 bit 81h OPTION Configuración asociada a TMR0
02h PCL* 8 bit bajos del Contador de Programa 82h PCL* 8 bit bajos del Contador de Programa
03h STATUS* Estado de operaciones aritméticas 83h STATUS* Estado de operaciones aritméticas
Puntero indirecto de direccionamiento de Puntero indirecto de direccionamiento de
04h FSR* 84h FSR*
datos datos
05h PORTA Puerto de entrada/salida A 85h TRISA Configuración del puerto A
06h PORTB Puerto de entrada/salida B 86h TRISB Configuración del puerto B
07h -- No implementada, se lee como "00" 87h -- No implementada, se lee como "00"
08h EEDATA Registro de datos EEPROM 88h EECON1 Registro de control de EEPROM
09h EEADR Registro de direcciones EEPROM 89h EECON2 Registro de control de EEPROM
0Ah PCLATH* Bits más significativos del PC 8Ah PCLATH* Bits más significativos del PC
0Bh INTCON* Registro de control de interrupciones 8Bh INTCON* Registro de control de interrupciones
0Ch Mapeados al Banco 0, es decir que la
68 registros de propósito general
a -- 8Ch --* lectura/escritura de estos registros se hace
(SDRAM)*
4Fh sobre los registros del Banco 0
50h D0h
A -- No implementados A -- No implementados
7Fh FFh
Registros de PIC 16F84A. * registros de bancos diferentes mapeados físicamente a un mismo registro.
PIC – Memoria de EEPROM
• Memoria de tipo flash, normalmente de hasta 256
bytes, algunos micros almacenan algunos kbytes. De
necesitar más se apoyan en dispositivos externos
con comunicación I2C o SPI.

• No es accesible directamente, se utilizan registros de


funciones especiales:

• Dirección: posición que se quiere acceder.


• Datos: registro donde se lee/escribe el valor.

• Generan interrupción al finalizar la operación.


PIC – Entrada/Salida
• Permiten a través de un registro (puerto) enviar/recibir
una señal digital al exterior
• La cantidad de puertos depende del modelo del
microcontrolador.
• Se nombra al registro que permite el acceso como
PORT{X} donde X es una letra, “A” para el 1º, “B” para el
2º, etc.
• Un registro PORT{X} tiene asociado otro de control
TRIS{X} que configura el hardware para controlar el
sentido de cada bit:
• “1” en bit de TRIS{X}, bit de PORT{X} es entrada.
• “0” en bit de TRIS{X}, bit de PORT{X} es salida.
PIC – Entrada/Salida
• Cada bit del registro PORT{X} también recibe un
nombre R{X}{Y} donde X es el nombre del puerto
que pertenecen e Y es el número de bit

Bit 2 (3er bit) del Puerto A

TRISA = 4 (00000100b)
Configura el Bit 2 como
entrada y el resto como
salida

Variable = PORTA AND 4


PIC – Entrada/Salida
• La programación del 2º puerto (PORTB) puede realizarse:
Microcontroladores – Desarrollo
• Microchip MPLAB: www.microchip.com

• CMX System: www.cmx.com

• IAR Systems : www.iar.com

• Hi-Tech Software : www.htsoft.com

• Atmel: www.atmel.com

• Arduino: arduino.cc

También podría gustarte