Está en la página 1de 20

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Sistemas Embebidos
El Diseo en Ingeniera Electrnica
http://laboratorios.fi.uba.ar/lse/
seminario-embebidos@googlegroups.com

66.48 & 66.66 Seminario de Electrnica: Sistemas Embebidos


Curso de Posgrado: Introduccin a los Sistemas Embebidos
Ingeniera en Electrnica FI UBA
Buenos Aires, 16 de Agosto de 2011

Ing. Juan Manuel Cruz

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Temario

Introduccin
Estado del arte
Problemtica general
Criterios de diseo
Casos tpicos de estudio
Un ejemplo de aplicacin

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Estado del Arte, cul es?

Lineamientos a seguir:

KISS Keep It Simple, Stupid

DFE Design for Excellence

Documentarse debidamente antes de


comenzar el diseo

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

KISS, qu significa?

KISS es un acronismo en ingls que significa:

Una acepcin menos chocante es:

Keep It Simple, Stupid (Mantenlo simple, estpido)

Keep
Keep It Short and Simple
Simple (Mantenlo corto y simple)

Comenz a usarse en EEUU en los aos 60 (en relacin con el


proyecto
p
y
Apollo)
p
)
Deriva del Principio de Economa de William of Ockham (siglo
XIV DC) y variantes formuladas por Leonardo da Vinci, Isaac
Newton Albert Einstein y otros
Newton,

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

KISS, qu se procura?

Afirma que la simplicidad es la clave del xito de un


diseo en ingeniera

En el desarrollo de sistemas complejos en ingeniera


debemos:

Desarrollar empleando partes sencillas, comprensibles que


redundar en errores de fcil deteccin y correccin.
Rechazar lo rebuscado e innecesario

En otras palabras advierte al diseador para que en


su labor no compre problemas sino que venda
soluciones

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

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
Et etc.
Etc.,
t

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

DFE, qu se procura?

Disear para la excelencia no implica la


implementacin de todos y cada uno de los
tems listados,
listados ya que cualquier actividad de
diseo estar fuertemente condicionado por
dos factores:

La idiosincrasia tanto del diseador como del


medio en que ste se desempea

El contexto en que se lleve a cabo el diseo


propiamente dicho

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Documentarse antes de ,, qu
q
significa?

Seguramente Ud. no es el primero que intenta


resolver el problema que enfrenta, por tal motivo es
recomendable q
que recopile
p toda documentacin
referida al diseo
que est
por encarar, a las tcnicas

y/o herramientas que pueden serle tiles para el


diseo, etc., etc.; como por ejemplo:

Hojas de Datos (Fe de Erratas)


Notas de Aplicacin
Ejercicios o Ejemplos de Diseo
Manuales de Usuario
Manuales de Referencia Tcnica
Etc., etc.

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Documentarse antes de ,, qu
q
se procura?

Aproveche las facilidades que ofrecen las vas de comunicacin


actuales para la bsqueda de informacin

Procure encarar la bsqueda con sentido comn y criterio

Recuerde que la bsqueda en si misma es un medio y no un fin

Lea, analice y clasifique toda la documentacin recopilada

Durante la etapa de diseo saque provecho de la informacin


recopilada aprendiendo del trabajo de los dems

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Problemtica General

Debemos detenernos a analizar lo siguiente:

Metodologa de trabajo
Diseo electrnico Analgico/Digital (Hard & Soft)
Dibujo del Impreso
Componentes
Producto
Fabricacin del circuito impreso
Fabricacin del Producto
Etc etc
Etc.,
etc.

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

10

10

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Metodologa de Trabajo

Optamos por el ms usado, simple y seguro

Recomendaciones:

Procure aprender del mtodo


Procure adaptarlo a su gusto
Si no esta conforme con el mtodo:

Genere su propio mtodo, pero use uno, pues:

Sin mtodo cada diseo nos obliga a comenzar de cero

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

11

11

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Cul es el mtodo?

El mtodo ms usado simple y seguro para


desarrollar aplicaciones con micro consiste en
fraccionar la solucin en mdulos simples:

Startup / Inicio => Inicializaciones bsicas del micro


Programa Principal => Iteracin perpetua de Tareas
(algoritmos de control)

Manejadores / Drivers de Entrada / Salida =>

Interaccin con el mundo exterior (atencin de eventos y


sincronismos)
16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

12

12

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

En qu consiste el mtodo?

Comunicar los mdulos simples mediante:

Flags / Semforos
Variables
Colas

Garantizar que ningn mdulo se apropie de


la CPU (comportamiento comunitario)

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

13

13

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Mtodo de Diseo (1 de 2)
Entradas
IN
Serie
Paralelo
I2C
SPI
CAD

Interrupciones
Deshabilitadas

Drivers
Interrupciones
de entrada

Salidas
Interrupciones
OUT: Deshab
IN: Hab

Startup / Inicio

Flag?
Drivers
Interrupciones
de salida

variable?

Timer
Ticks

Flags
Variables

Cola Llena !
Deshabilitar
interrupciones
de Entrada

Colas

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Reset

Tarea 1

Flag?
Tarea 2

variable?
Tarea n

P
R
O
G
R
A
M
A

P
R
I
N
C
I
P
A
L

Cola?

Ing. Juan Manuel Cruz

Cola?

Flags

OUT
Serie
Paralelo
I2C
SPI
CDA
Timer
Ticks

Variables

Colas

Cola Vaca!
Deshabilitar
interrupciones
de Salida

14

14

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Mtodo de Diseo (2 de 2)

Garantizar que ningn mdulo se apropie de la CPU


(comportamiento comunitario)

As
SI !

As
NO !
Accin

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Accin

Ing. Juan Manuel Cruz

15

15

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Criterios de diseo

Como principiantes debemos asegurar que:

T
Tcpu-pp
1/2 Fmax
F
E t d ad
Entrada
detectar/Salida
t t /S lid a generarn
n
1000 Tinstruccin o
Tick-mn o
60~70% (Tcpu-driver/tarea) p
Tcpu-driver/tarea
Tcpu
driver/tarea Tcpu
Tcpu-pp
pp / 10 o
n Shanon (Teorema Muestreo)
o JMC (Experiencia de desarrollador)
p Mam
M de
d JMC (Experiencia
(E
i
i de
d modista)
di t )

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

16

16

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Casos tpicos de estudio

MCS-51 ejecuta ~ 1MIPS con Fcristal = 12MHz &


DIVclock = 12 (CPU de la familia Intel original)

Tinstruccin 1S
Tick-mn 1mS

Tcpu-pp 1mS
Tcpu-driver/tarea
p
/
100S

unsigned char data timerTickUChar;


// 0 a 255mS
unsigned
g
int data timerTickUInt;;
// 0 a 65.535mS
unsigned long int data timerTickULongInt; // 0 a 4.294.967.295mS
if ((!timerTickUXxx))
timerTickUXxx--;
16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

17

17

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Cmo mejorar el mtodo?

Para mejorar el mtodo es conveniente experimentar e


incorporar

Nuevas tecnologas y arquitecturas


Lenguajes de programacin de alto nivel (C, C++, Java, etc.)
Tcnicas de Modelado de software (objetos, eventos, etc.)
Herramientas de Ingeniera del Software
Sistemas Operativos de Tiempo Real (RTOS)
Nuevas conectividades y dispositivos de conversin A/D y D/A
Modularizar y estructurar la solucin en capa de software:
Capa de acceso al Hardware
Capa de Manejadores de Dispositivos
Capa de Aplicacin

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

18

18

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Cmo mejorar el mtodo?

P
O
R
T
A
B
L
E

Dividir la solucin en capas aporta portabilidad


Aplicacin

Device Drivers
Core Peripheral Access Layer
Device Peripheral Access Layer
Access Functions for Peripherals
Hardware (Core & Peripherals)
16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

19

19

Sistemas Embebido - El Diseo en Ingeniera Electrnica

16 de Agosto de 2011

Conclusiones

Cada diseo tiene una solucin adecuada

Pues cualquier actividad de diseo estar fuertemente


condicionado p
por dos factores:

La idiosincrasia tanto del diseador como del medio en que


ste se desempea
El contexto en que se lleve a cabo el diseo propiamente dicho

Esta terminologa es de aplicacin en pases perifricos como el


nuestro con condiciones desfavorables para el desarrollo de la
i d t i electrnica
industria
l t i local
l
l (baja
(b j escala
l de
d consumo del
d l mercado
d
local, dificultades para exportar, inercia en incorporar innovaciones
tecnolgicas, etc.)

Cada diseo tiene una solucin adecuada

16 de Agosto de 2011

Ing. Juan Manuel Cruz

Ing. Juan Manuel Cruz

20

20