Está en la página 1de 11

10/3/2021

Definiciones

• Hardware
• Software
• Firmware

24

Ejemplo – Firmware
• Hoy es recomendado que para pequeñas
producciones, se empleen placas comerciales
sin necesidad de diseñar impresos, comprar
componentes, armarlas y probarlas.
• Para esas placas y a fin de minimizar el tiempo
de desarrollo, se incorpore un sistema operativo
en tiempo real, que por lo menos, nos evita
tener que inicializar todos los componentes (y
por supuesto agregarán múltiples prestaciones
adicionales de mucha mayor envergadura)
Diseño, Desarrollo y Depuración 25

25

1
10/3/2021

¿Cómo encarar el
diseño de un sistema
embebido?

Diseño, Desarrollo y Depuración 26

26

Temario
• Introducción
• Estado del arte
• Problemática general
• Criterios de diseño
• Casos típicos de estudio
• Un ejemplo de aplicación

Diseño, Desarrollo y Depuración 2727

27

2
10/3/2021

Estado del Arte, ¿cuál es?


Lineamientos a seguir:

• KISS “Keep It Simple, Stupid”

• DFE “Design for Excellence”

Documentarse debidamente antes de comenzar el


diseño

Diseño, Desarrollo y Depuración 2828

28

KISS, ¿qué significa?


KISS es un acronismo en inglés que significa:
“Keep It Simple, Stupid” (Mantenlo simple, estúpido)
Una acepción menos chocante es:
“Keep It Short and Simple” (Mantenlo corto y simple)
Comenzó a usarse en EEUU en los años 60 (en
relación con el proyecto Apollo)
Deriva del “Principio de Economía” de William of
Ockham (siglo XIV DC) y variantes formuladas por
Leonardo da Vinci, Isaac Newton, Albert Einstein y
otros.

Diseño, Desarrollo y Depuración 2929

29

3
10/3/2021

KISS, ¿qué se procura?


Afirma que la simplicidad es la clave del éxito de un diseño
en ingeniería
En el desarrollo de sistemas complejos en ingeniería
debemos:
• Desarrollar empleando partes sencillas, comprensibles que
redundará en errores de fácil detección y corrección.
• Rechazar lo rebuscado e innecesario
En otras palabras advierte al diseñador para que en su
labor no “compre” problemas sino que “venda” soluciones

Diseño, Desarrollo y Depuración 3030

30

DFE, ¿qué significa?


DFE “Design For Excellence”:
• Manufacture and Assembly
• Reliability
• Testing and Service
• Disassembly and Reassembly
• Use and Operability
• Green, Environment and Recycling
• Quality and Cost
• Logistic
• Inspection and International
• Etc., etc. Diseño, Desarrollo y Depuración 3131

31

4
10/3/2021

DFE, ¿qué se procura?


Diseñar para la excelencia no implica la
implementación de todos y cada uno de los
ítems listados, ya que que cualquier actividad
de diseño estará fuertemente condicionado por
dos factores:

La idiosincrasia tanto del diseñador como del medio en


que éste se desempeña

El contexto en que se lleve a cabo el diseño


propiamente dicho
Diseño, Desarrollo y Depuración 3232

32

Documentarse antes de …, ¿qué


significa?
Seguramente Ud. no es el primero que intenta resolver el
problema que enfrenta, por tal motivo es recomendable
que recopile toda documentación referida al diseño que
está por encarar, a las técnicas y/o herramientas que
pueden serle útiles para el diseño, etc., etc.; como por
ejemplo:
• Hojas de Datos (Fe de Erratas)
• Notas de Aplicación
• Ejercicios o Ejemplos de Diseño
• Manuales de Usuario
• Manuales de Referencia Técnica
• Etc., etc.
Diseño, Desarrollo y Depuración 3333

33

5
10/3/2021

Documentarse antes de …, ¿qué se


procura?
Aproveche las facilidades que ofrecen las vías de
comunicación actuales para la búsqueda de
información
Procure encarar la búsqueda con sentido común y
criterio
Recuerde que la búsqueda en si misma es un medio y
no un fin
Lea, analice y clasifique toda la documentación
recopilada
Durante la etapa de diseño saque provecho de la
información recopilada “aprendiendo del trabajo de los
demás”
Diseño, Desarrollo y Depuración 3434

34

Problemática General
Debemos detenernos a analizar lo siguiente:
•Metodología de trabajo
•Diseño electrónico Analógico/Digital (Hard & Soft)
•Dibujo del Impreso
•Componentes
•Producto
•Fabricación del circuito impreso
•Fabricación del Producto
•Etc., etc.
Diseño, Desarrollo y Depuración 3535

35

6
10/3/2021

Metodología de Trabajo
Optamos por el más usado, simple y seguro
Recomendaciones:
Procure aprender del método
Procure adaptarlo a su gusto
Si no esta conforme con el método:
Genere su propio método, pero use uno, pues:
Sin método cada diseño nos obliga a comenzar de cero

Diseño, Desarrollo y Depuración 3636

36

¿Cuál es el método?
El método más usado simple y seguro para
desarrollar aplicaciones con micro consiste en
fraccionar la solución en módulos simples:

Startup / Inicio => Inicializaciones básicas del micro


Programa Principal => Iteración perpetua de Tareas
(algoritmos de control)

Manejadores / Drivers de Entrada / Salida => Interacción


con el mundo exterior (atención de eventos y sincronismos)

Diseño, Desarrollo y Depuración 3737

37

7
10/3/2021

¿En qué consiste el método?


Comunicar los módulos simples mediante:
• Flags / Semáforos
• Variables
• Colas

Garantizar que ningún módulo se apropie de la


CPU (comportamiento comunitario)

Diseño, Desarrollo y Depuración 3838

38

Método de Diseño (1 de 2)
Interrupciones
Deshabilitadas Reset Interrupciones Flag?
OUT: Deshab
IN: Hab
Drivers Drivers
Entradas Interrupciones Interrupciones Salidas
de entrada de salida
Startup / Inicio
IN variable? Cola? OUT
Serie Serie
Paralelo Paralelo
I2C I2C
SPI Flags Tarea 1 Flags SPI
CAD CDA

Timer Flag? Timer


Ticks Variables Variables Ticks
Tarea 2

¡ Cola Llena ! variable? ¡ Cola Vacía!


Deshabilitar Colas Colas Deshabilitar
interrupciones Tarea n
PROGRAMA interrupciones
de Entrada PRINCIPAL de Salida
Cola?

Diseño, Desarrollo y Depuración 39

39

8
10/3/2021

Método de Diseño (2 de 2)
Garantizar que ningún módulo se apropie de la CPU (comportamiento
comunitario)

?
?
Así Así
SI ! NO !
Acción Acción

Diseño, Desarrollo y Depuración 4040

40

Criterios de diseño
Como principiantes debemos asegurar que:

Tcpu-pp ≤ 1/2 Fmax Entrada a detectar/Salida a


generar
≤1000 Tinstrucción
≤ Tick-mín
≤ 60~70% ∑ (Tcpu-driver/tarea)

Tcpu-driver/tarea ≤ Tcpu-pp / 10
Diseño, Desarrollo y Depuración 4141

41

9
10/3/2021

Casos típicos de estudio


Cortex M ejecuta ~ 100 MIPS
Tinstrucción ≈ 10 nS Tcpu-pp ≤ 10 µS
Tick-mín ≥ 10 µS Tcpu-driver/tarea ≤ 1µS
Fmax Entrada a detectar/Salida a generar ≤ 500 kHz
unsigned char data timerTickUChar; // 0 a 2,5 mS
unsigned int data timerTickUInt; // 0 a 655 mS
unsigned long int data timerTickULongInt; // 0 a 42.900.000 mS
if (!timerTickUXxx)
timerTickUXxx--;

Diseño, Desarrollo y Depuración 4242

42

¿Cómo mejorar el método?


Para mejorar el método es conveniente
además dividir la solución en capa de software:

• Capa de acceso al Hardware


• Capa de Manejadores de Dispositivos
• Capa de Aplicación

Diseño, Desarrollo y Depuración 4343

43

10
10/3/2021

¿Cómo mejorar el método?


Dividir la solución en capas aporta portabilidad

P
O Aplicación
R
T
A
B Device Drivers
L
E
Core Peripheral Access Layer
Device Peripheral Access Layer
Access Functions for Peripherals

Hardware (Core & Peripherals)

Diseño, Desarrollo y Depuración 4444

44

11

También podría gustarte