L3 Introducción Al Diseño Con UC - IMT 320 II 2016

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 53

Universidad Católica Boliviana “San Pablo”

MICROCONTROLADORES IMT-320
Introducción al Diseño con
Microcontroladores

Ing. Mauricio Uyuni Miranda


[email protected]
Ing. Mauricio Uyuni Miranda
Introducción al Diseño Microprocesadores y Microcontroladores

con Microcontroladores

IMT-320 En la actualidad, la utilización de sistemas computacionales basados en


“Diseñar e implementar soluciones computacionales microcontroladores orientados al diseño de aplicaciones en diversas
basadas en microcontroladores orientadas al desarrollo áreas de la ingeniería evolucionó en gran medida, permitiendo a los
de sistemas embebidos en diversas áreas de la diseñadores poder crear, desarrollar e implementar soluciones
ingeniería, mediante la utilización de plataformas de electrónicas a medida, cuya factibilidad en cuanto a costo y tiempo de
desarrollo emergentes” desarrollo permite incrementar la productividad en la industria.

Ing. Mauricio Uyuni Miranda


¿Cómo seleccionar un microcontrolador?

Características:

• Ancho de palabra
• Requerimiento I/O
• Tipo de procesamiento y funcionalidades
• Costo
• Memoria
• ….Factores más relevantes

Ing. Mauricio Uyuni Miranda


¿Cómo seleccionar un microcontrolador?

Características:

• Ancho de palabra
• Requerimiento I/O
• Tipo de procesamiento y funcionalidades
• Costo
• Memoria
• ….Factores más relevantes

Ing. Mauricio Uyuni Miranda


¿Cómo seleccionar un microcontrolador?….
Ilimitadas aplicaciones basadas en microcontroladores

5
Ing. Mauricio Uyuni M. Ingeniería Mecatrónica
¿Cómo seleccionar un microcontrolador?….
1. Primer paso….(identificar y limitar el problema)

• A diferencia de un microprocesador que suele ser


diseñado con características de propósito general, los
microcontroladores generalmente son de propósito
específico (sistemas embebidos)

• La selección correcta es crítica en este tipo de


sistemas

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
6
¿Cómo seleccionar un microcontrolador?….
1. Debido a que los sistemas computacionales de
aplicación específica poseen límites conocidos
de diseño los microcontroladores son
adecuados al contener:
• Memoria interna
• Periféricos e interfaces
• Bajo costo (suficientes para cumplir con las
funcionalidades básicas del diseño)

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
7
Limitando el problema

• Identificar el nivel de rendimiento requerido,


reflejado en el tamaño de palabra (4, 8, 16, 32 bits)

• Los benchmakrs estándar no son adecuados para la


selección de microcontroladores, debido a que
deben considerarse evaluaciones (cálculo de
parámetros) en tiempo real y limitaciones físicas
que son dependientes el tipo de sistema a
diseñarse.

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
8
Limitando el problema
• Evaluaciones en tiempo real:
• No se cumplen las funciones dentro de un
periodo de tiempo específico

• Pérdida de sincronización del sistema

• Generación de resultados erróneos

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
9
Limitando el problema
Ejemplo 1:
Si un temporizador debe generar una onda
cuadrada para una frecuencia dada, el CPU debe
ser lo suficientemente rápido para determinar el
tiempo en el que ocurrirá el flanco de subida

“Ejemplos”

Ing. Mauricio Uyuni Miranda


Limitando el problema

• Limitaciones Físicas (definidas por el sistema a


diseñar):
• Precisión (número de bits para representar un
valor)

• Rango dinámico (margen entre un valor máx y


mínimo)

• Tipo de CPU (arquitectura a nivel de SW/HW)

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
11
Limitando el problema
Ejemplo 2:
Una máquina controlada numéricamente
que requiere una precisión de 1 grado
dentro de una revolución en un eje, para
esta precisión relativa un valor de 8-bits
que puede tener una resolución de 1 a
256 es insuficiente.

Mientras que un dato de 16-bits podría


representar entre 1 a 65536 o alrededor
de 18 segundos de arco
“Ejemplos”

Ing. Mauricio Uyuni Miranda


Limitando el problema
Ejemplo 2:
1” = (1/60)′ = (1/3600)° = 0,00027778°
65536*(1/3600)° (grado sexagesimal)=
=65536* 0,00027778°=18.20459008
≈18 asec (segundos de arco)

Recordar que:
1°=(1/3600)segundos
1 asec= 1/3600 del grado sexagesimal
“Ejemplos”

Ing. Mauricio Uyuni Miranda


Limitando el problema
Ejemplo 3:
El rango dinámico también
restringe(limita) al sistema
Si la máquina NC requiere una precisión
absoluta de 1 grado sobre 1000 (0.001)
revoluciones de tornillo de avance incluso
los 16 bits son insuficientes para
representar el rango absoluto, y sería
necesario utilizar una solución de 32-bits
o si es sumamente necesario utilizar un
rango dinámico amplio recurrir a una
“Ejemplos”
solución de representación de punto
flotante

Ing. Mauricio Uyuni Miranda


Evaluación (Grupos de 2)
Ejercicio_1:
• Si se requiere un temporizador debe
generar una onda cuadrada cuyo
periodo de reloj es de 100 nsegundos ,
calcular la frecuencia mínima a la que
debe ejecutarse el CPU para procesar un
ciclo de reloj de la forma de onda a
partir de un flanco de subida
¿Qué ocurre si el CPU debe procesar 4 ciclos
de reloj de la forma de onda?
“Ejercicios”

Ing. Mauricio Uyuni Miranda


Evaluación (Grupos de 2)
Ejercicio_2:
Si una máquina de NC requiere una
precisión de 4 grados dentro de una
revolución en un eje, para ésta
precisión relativa :

¿Cuántos bits son necesarios


(suficientes) para tener una
resolución que pueda
“Ejercicios” representarse?

Ing. Mauricio Uyuni Miranda


Evaluación (Grupos de 2)
Ejercicio_3:
Si se tiene un dato de 20-bits
¿Cuál es el rango de representación ?
Determinar la cantidad de segundos de
arco que pueden representarse con este
tamaño de dato

Recordar que:
1” = (1/60)′ = (1/3600)° = 0,00027778°
1 asec= 1/3600 del grado sexagesimal
“Ejercicios”

Ing. Mauricio Uyuni Miranda


Solución
• Ejercicio_1:
1 1
𝑓= = = 1/0.000000100=10000000 Hz=10 MHz
𝑇 100𝑛𝑠
Si deben procesarse 4 ciclos de reloj de la forma de onda
fmin= 𝑇1 ∗ 𝑁𝑐𝑖𝑐𝑙𝑜𝑠 𝑎 𝑒𝑗𝑒𝑐𝑢𝑡𝑎𝑟𝑠𝑒 = 1
100𝑛𝑠
∗ 4 = 10 𝑀𝐻𝑧 ∗ 4 = 40𝑀𝐻𝑧

• Ejercicio_2:
Una revolución completa del eje supone 360 grados, si la
precisión es de 4 entonces:
N° pasos eje para completar una revolucion completa =
360
=90 pasos
4
La cantidad de bits exactos por dato a representar es de:
2𝑛 =27 =128 (resolución suficiente que puede representarse
de 1 a 90)
Ing. Mauricio Uyuni M.
Ingeniería Mecatrónica
18
Solución

Pero la solución estandarizada, considerando que el tamaño de


palabra del uP/uC determina el tamaño de dato, es:
2𝑛 =28 =256 (resolución suficiente/estandarizada que puede
representar de 1 a 90)

Ejercicio_3:
El rango de representación es:
2𝑛 =220 = 1.048.576 entonces el rango es de 1 a 1.048.576
Los segundos de arco se obtienen por:
1.048.576*(1/3600)° (grado sexagesimal)=
=1.048.576* 0,00027778°=291.271≈291 segs de arco

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
19
Limitando el problema
• Seleccionar un CPU basándose
simplemente en un simple cálculo puede
ser un error.

• Si la aplicación requiere cálculos de baja


resolución es recomendable seleccionar
un microcontrolador que cumple con las
operaciones predominantes, dejando las
operaciones de alta resolución en
subrutinas

• En algunos casos una librería de


matemática de punto flotante puede ser
mejor que hardware de punto flotante*

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
20
Limitando el problema

1. Segundo paso…(errores comúnmente cometidos


durante la selección)
• Identificar:
• Cantidad (según la aplicación)

• Frecuencia (determinará la velocidad de ejecución


de instrucciones)
• Tipo de señales I/O(análogicas,digitales, seriales,
etc)
• Requerimientos adicionales del sistema
(ej:mecánicos, actuadores)
Ing. Mauricio Uyuni M.
Ingeniería Mecatrónica
21
Limitando el problema

• Un diseño Top-Down del sistema general es


muy importante, para poder particionar e
identificar requerimientos del sistema
preliminarmente.

• No es importante en esta fase, comenzar


con la definición de funciones de los
periféricos del microcontrolador.

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
22
Limitando el problema

1. Tercer paso…(requerimientos de memoria)


• Principalmente distribuida en memoria de programa y
memoria de datos:
• La memoria del microncontrolador puede ser
categorizada como volátil (RAM almacena datos
cuando está energizada usualmente memoria de
datos) y no volátil (ROM almacena
permanentemente su información usualmente
programa del sistema embebido)

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
23
Definición de términos

1. Benchmark: Test estandarizado o conjunto de test


compararar el rendimiento computacional
2. Rango dinámico: Concepto físico aplicable a cualquier señal
que varíe en función de una determinada variable
independiente, y mide la relación existente entre los
valores máximo y mínimo que la amplitud de dicha señal
adquiere para todo el conjunto de posibles valores de la
variable de la que depende.
3. Sistema embebido: Sistema que posee uno o más
dispositivos computacionales (microprocesadores o
microcontroladores) con una función específica, estos
dispositivos pueden no ser directamente accesibles por el
usuario Ing. Mauricio Uyuni M.
24
Ingeniería Mecatrónica
Definición de términos

4. Punto flotante (Floating-point) : Representación de


números en notación científica, donde el exponente y
mantisa están separadas permitiendo representar un
amplio rango de valores.
5. Programada-enmascarada(mask-programmed):
Dispositivo semiconductor, mayormente ROMs que es
permanentemente programada durante su
manufactura . En cambio, una field-programmed es
programada después de la manufactura del dispositivo.

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
25
Definición de términos

6. NMOS(Negative-channel-Metal-Oxide
Semiconductor) : Es un tipo de transitor MOS de
efecto de campo

7. RFI (Radio frecuency interference):


Energía electromagnética irradiada (no
intencionalmente) que puede interferir con la
operación, o incluso dañar, el equipo electrónico

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
26
Tipos de Memoria

1. Las memorias no volátiles: principalmente se clasifican


en cuatro variantes:
• Programables eléctricamente (EPROM)
• Programables/borrables eléctricamente (EEPROM)
• EPROM Programable una vez
• Programable/enmascarada (Mask-ROM)
EPROM y EEPROM son utilizadas con propósito de
desarrollo (son costosas por el
empaquetado,complejidad de proceso y tamaño del
die(circuito integrado)
Una EPROM se puede borrar con una intensa luz ultravioleta
Ing. Mauricio Uyuni M.
Ingeniería Mecatrónica
27
Tipos de Memoria

1. Las memorias programables una vez fabricadas con un


estándar EPROM (programables por el usuario) de
bajo costo, eliminando el ciclo de programación de las
Mask-ROMs

2. Si la producción (masiva) alcanza un volumen alto y la


aplicación ha sido verificada, las Mask-ROMs suponen
una reducción en el costo total.

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
28
Tipos de Memoria

• Tecnología emergente se basa en las Flash EEPROMs,


almacenamiento más veloz que EEPROMs
tradicionales.

• Permite eliminar bytes seleccionados de información,


a diferencia de la EEPROM que permite eliminar toda
la información e iniciar de cero.

• Las memorias de este tipo no se utilizan simplemente


para almacenamiento de programa (instrucciones
frecuentes)
Ing. Mauricio Uyuni M.
Ingeniería Mecatrónica
29
Tipos de Memoria
1. EEPROM llega a ser un periférico estratégico:
• Aplicaciones industriales con periféricos, cuyos
parámetros son modificados mecánicamente y
eléctricamente, pueden ser reemplazados por
valores almacenados.

• Guardar información de manufactura, modelo,


número de serie , descripción de un producto en
general, garantía,etc

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
30
Limitando el problema: Memoria

1. La estimación de cantidad de memoria necesaria para


almacenar el programa es uno de retos más
importantes dentro del proceso de selección.
1. No existe una fórmula “mágica” (rule of thumb)
para determinar esta cantidad

Experiencia previa combinada con ejemplos diagramas


de flujo y pseudocódigo son útiles para determinar la
cantidad de almacenamiento.

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
31
Limitando el problema: Memoria

• Aplicaciones simples como termostatos electrónicos


requieren alrededor de 2K bytes.
• Aplicaciones más complejas como sistemas de
control, podrían requerir 64Kbytes o más
• El sistema deberá contener la suficiente RAM para
almacenar: variables, pila de datos
temporales(system stack frame), memoria de
acceso rápido(scratchpad memory) y arreglos de
datos y buffers.

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
32
Limitando el problema: Memoria

• Todos estos parámetros se ven afectados por el tipo


de lenguaje de programación utilizado, la partición
del problema(variables) y la configuración del
hardware (buffers de datos)

• La estimación de cantidad de memoria para estos


parámetros usualmente se calculan a partir de un
porcentaje de ROM estimado.

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
33
Limitando el problema: Memoria

Aplicaciones codificadas en lenguaje Ensamblador(bajo


nivel) tienden a ser más pequeñas en cantidad de
memoria (mayor tiempo de desarrollo)

Mientras que aplicaciones desarrolladas en lenguaje


codificado(alto nivel) son mucho más grandes (menor
tiempo de desarrollo)

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
34
Mapeo de I/O a los periféricos

Periférico: Todo dispositivo, componente o aparato


auxiliar e independiente conectado al CPU.

Funciones de periféricos incluidas en los


microcontroladores usualmente son:
• Temporizadores

• Puertos de comunicación serial y paralela

• Conversores A/D

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
35
Mapeo de I/O a los periféricos

• Periféricos Externos: van desde contadores


simples a complejos subsistemas con
microinstrucciones-dedicadas incorporando
arquitectura RISC.

• Son llamados para generar interrupciones,


capturar tiempos de eventos o generarlos en
tiempos específicos.

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
36
Mapeo de I/O a los periféricos
• Los más complejos pueden generar trenes de
pulsos para controlar motores paso a paso o incluso
los inyectores de combustible en un automóvil sin
intervención del CPU

• Periféricos externos: proveen funciones no


añadidas en los µC interfaces para puerto serial o
un bus paralelo(dirección, datos y control)
(puede generar RFI debido al alto consumo de energía y número de líneas)

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
37
Mapeo de I/O a los periféricos

• Aplicaciones que trabajen con un sólo chip


trabajan generalmente con un periférico de
puerto serial:
• Requiere pocos pines(2 o 3)

• RFI sólo se genera durante las


transmisiones
• Consumo de energía es mínimo

• Posee clocks de tiempo real

• EEPROMs y display drivers (LCD Display)

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
38
Mapeo de I/O a los periféricos

• El puerto paralelo se encuentra en casi todos


(virtualmente) los microcontroladores, pero no todos
son equivalentes:
• Los más versátiles permiten definir pines como I/O
que dan la facilidad al sistema de modificar
parámetros durante su ejecución.
• Algunos son fijos (cantidad de pines, I u O,
direcciones)
• Alto consumo de energía frente al Ps

• Genera RFI

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
39
Mapeo de I/O a los periféricos

• Conversores A/D se encuentran en diversos µC (entre


8 a 10 bits de rango pero diferentes resoluciones
según su manufactura)

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
40
Mapeo de I/O a los periféricos

• Los periféricos requieren interrupciones frecuentes


que reducen en gran medida en ancho de banda del
CPU.
• Los diseñadores utilizan diferentes métodos para dar
solución a este problema:
• Vectores dedicados a interrupciones

• Múltiples niveles de prioridad

• Circuitos de prioridad de interrupciones HW

• SW polling (consulta constante)


En su forma más simple, el ancho de banda es la capacidad de transferencia de datos la
cantidad de datos que se pueden mover de un punto a otro en cierta cantidad de tiempo

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
41
Mapeo de I/O a los periféricos

El ancho de banda es afectado por dos


componentes:
• Tamaño del bus

• Tasa de transferencia

La solución es incrementar cualquiera de los dos,


pero también implica el costo.
No todos los periféricos/componentes requieren la
máxima tasa.(Algunos casos donde se requiere :
pila RAM)

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
42
Chip Simple o expandido

Los µC soportan múltiples modos de operación, los más


comunes:
• Chip simple, todos los aspectos del computador están
incluidos en el chip. Los buses de control, datos y
direcciones no son accesibles por los pines I/O.
• Expandido, estos buses son accesibles por los pines
I/O
• µC con ambos modos son requeridos para
aplicaciones con mejoras futuras o reducción de
costos (donde no es deseable una reescritura total de
la aplicación SW)
Ing. Mauricio Uyuni M.
Ingeniería Mecatrónica
43
Chip Simple o expandido

Seleccionar entre una solución de un chip o


múltiples de considerar:
• Capacidad de memoria (suele ser limitada). En
ciertos casos puede requerirse almacenar datos
y/o programa fuera del chip
• Consumo de energía

• Múltiples periféricos

• Costo

• RFI generado

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
44
El proceso de selección

En la etapa inicial no es necesario que coincidan


totalmente los requerimientos y las características.

Modificaciones menores (reducir requerimientos o


añadir un periférico) pueden resultar en una
solución que relacione muy bien “efectividad-costo”

La evaluación de características debería empezar a


partir de una lista de requerimientos en orden de
prioridad descendente.

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
45
El proceso de selección

Si algún requerimiento no fue mapeado a las funciones


de los periféricos, debe realizarse en esta etapa.

No determina totalmente el fabricante o modelo de


plataforma, pero se logran identificar las características
suficientes.

Al finalizar este etapa se realiza una comparación de


candidatos para una aplicación determinada.

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
46
Conclusiones

Muchos fabricantes se basan en un CPU común para


familias de µC.

El rendimiento se incrementa por la frecuencia de


funcionamiento

Considerar las herramientas de programación

Tiempo de desarrollo (deadline) /costos necesarios


Las etapas descritas no son universales pero facilitan la selección del proceso de
selección
Ing. Mauricio Uyuni M.
Ingeniería Mecatrónica
47
Funciones comunes de los periféricos de los
microcontroladores

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
48
Pasos de selección de un
microcontrolador

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica 49
Pasos de selección de un
microcontrolador

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica 50
Pasos de selección de un
microcontrolador

Ing. Mauricio Uyuni M.


Ingeniería Mecatrónica
51
Resumen

El proceso de Selección Considerar limitar el Determinar los Plantear entre 3 o


es General pero no problema antes de la requerimientos técnicos más candidatos,
definitivo toma de decision en la (Componentes, hasta encontrar la
selección procesamiento solución más
estimado, partición, etc adecuada

PRÁCTICA N°1: Trabajo Grupal (Miércoles 24/08/16)


• Definir un problema (especificar la propuesta de aplicación a
desarrollar), realizar el proceso de selección de HW :
Lecciones 3
• Tiempo de presentación: 15 min.
• Adjuntar informe impreso.

Ing. Mauricio Uyuni Miranda


Gracias

Ing. Mauricio Uyuni Miranda

También podría gustarte