Top Banner
Sistemas Embebidos en Argentina Universidad Nacional del Nordeste Universidad Nacional del Nordeste Universidad Nacional del Chaco Austral Universidad Tecnológica Nacional – FR Resistencia Diseño con Micro Ing. Juan Manuel Cruz ([email protected]) Ing. Juan Manuel Cruz ([email protected] ) Gerente de Ingeniería de Cia. Hasar SAIC Profesor Asociado Ordinario Técnicas Digitales II UTN-FRBA Profesor Adjunto Interino Sistemas Embebidos FIUBA Corrientes y Chaco - 7, 9 y 11 de Octubre de 2013
15

Universidad Nacional del Nordeste Universidad Nacional del ...

Jun 26, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Universidad Nacional del Nordeste Universidad Nacional del ...

Sistemas Embebidos en Argentina

Universidad Nacional del NordesteUniversidad Nacional del NordesteUniversidad Nacional del Chaco Austral

Universidad Tecnológica Nacional – FR Resistencia

Diseño con Micro

Ing. Juan Manuel Cruz ([email protected])Ing. Juan Manuel Cruz ([email protected])

Gerente de Ingeniería de Cia. Hasar SAIC

Profesor Asociado Ordinario Técnicas Digitales II UTN-FRBA

Profesor Adjunto Interino Sistemas Embebidos FIUBA

Corrientes y Chaco - 7, 9 y 11 de Octubre de 2013

Page 2: Universidad Nacional del Nordeste Universidad Nacional del ...

Temario

� Introducción� Introducción

� Estado del arte

� Problemática general

� Aspectos de diseño

� Caso típico de uso

� Difusión <http://laboratorios.fi.uba.ar/lse/difusion/>

Desde la patria Chica (Julián Zini)

2Ing. Juan Manuel Cruz7, 9 y 11 Oct. de 2013

Desde la patria Chica (Julián Zini)

Con permiso, que traigo, mis amigos,

florecida en una canto mi Verdad,

esta hermosa verdad de mi Corrientes,

que hace tiempo les debo, ¡y aquí está..!

Page 3: Universidad Nacional del Nordeste Universidad Nacional del ...

Estado del Arte

� Sistema embebido: equipos electrónicos que incluyen � Sistema embebido: equipos electrónicos que incluyen procesamiento de datos y función específica, compuesto de hardware y software, contenido (“embebido”) dentro de un equipo completo que incluye partes de otro tipo

� Usualmente se recurre a microcontrolador (SoC: System-on-a-chip solution), o a DSP / FPGA / Microprocesador / ASIC

� El diseño se orienta a reducir: tamaño / consumo / costo, � El diseño se orienta a reducir: tamaño / consumo / costo, aumentar: eficiencia / confiabilidad / re-usabilidad, mejorar: desempeño, asegurar: determinismo / tiempo de respuesta, atender: mayor cantidad de tareas posibles, etc.

� Contar con: conectividad e interfaz de usuario en uso corriente

3Ing. Juan Manuel Cruz7, 9 y 11 Oct. de 2013

Page 4: Universidad Nacional del Nordeste Universidad Nacional del ...

Estado del Arte

� Para cumplir éstos requerimientos (en permanente evolución) se hace � Para cumplir éstos requerimientos (en permanente evolución) se hace necesario contar con plataformas (micros/DSP/FPGA/ASIC/ etc.) de rendimiento y recursos en crecimiento que permitan atender el incremento del procesamiento necesario para soportar periféricos avanzados con capacidad de atender las nuevas conectividades e interfaces de usuario requeridas por el mercado (usuarios)

� Variada oferta de plataformas competitivas además en costo, disponibilidad, soporte, herramientas (de HW & SW); en especial en el campo de los microcontroladores de nueva generación (ARM: 32 bits)campo de los microcontroladores de nueva generación (ARM: 32 bits)

� Esto permite recurrir a las mejores prácticas de Ingeniería de Software, al uso de modelos, lenguajes de alto nivel, con y sin un sistema operativo de tiempo real (RTOS) (empleando técnicas de programación específicas para lograr eficiencia, confiabilidad y re-usabilidad)

4Ing. Juan Manuel Cruz7, 9 y 11 Oct. de 2013

Page 5: Universidad Nacional del Nordeste Universidad Nacional del ...

Problemática General

� Podemos lograr soluciones adecuadas con suma simpleza, � Podemos lograr soluciones adecuadas con suma simpleza, previa determinación del objetivo de excelencia a cumplir, obviamente contando con la documentación debida y recurriendo a la metodología de trabajo adecuada

� Debemos encarar el diseño de:

� Circuitos eléctricos (electrónica Analógica/Digital - Hard & Soft)

� Dibujo del Circuito Impreso (componentes & producto)

� Fabricación del circuito impreso & producto

� Programas (firmware/software)

� Etc., etc.

� Y hacerlo mediante un método de trabajo

5Ing. Juan Manuel Cruz7, 9 y 11 Oct. de 2013

Page 6: Universidad Nacional del Nordeste Universidad Nacional del ...

Aspectos del diseño

� En el diseño de sistemas embebidos nos preocupa el tiempo� En el diseño de sistemas embebidos nos preocupa el tiempo

� Sistemas multimedia o simuladores interactivos en los que

� Si esporádicamente la imagen no se visualiza o se congela se pude incomodar al usuario pero sin consecuencias catastrófico

� Sistemas de control en las cuales se debe medir, calcular y actuar en un plazo perentorio (Estricto)

� Si esto no ocurre, la planta queda a lazo abierto, pudiendo tener consecuencias catastróficastener consecuencias catastróficas

� Sistema de tiempo real: la corrección del resultado depende tanto de su validez lógica como del instante en que se produce

� Asegurar determinismo & tiempo de respuesta

� P/tiempo de ejecución: contemplar caso más desfavorable

� Atención: Tiempo Real no es igual a Rápido (ver el caso)

Ing. Juan Manuel Cruz 67, 9 y 11 Oct. de 2013

Page 7: Universidad Nacional del Nordeste Universidad Nacional del ...

Aspectos de diseño

� En los sistemas de control existen cuatro niveles jerárquicos de � En los sistemas de control existen cuatro niveles jerárquicos de software:

� Adquisición de datos / Manejo de actuadores

� Algoritmos de control (PID)

� Algoritmos de supervisión (trayectorias)

� Interfaz de usuario, registro de datos, etc.

� El abordaje puede ser mediante:� El abordaje puede ser mediante:

� Programa Secuencial: se divide en funciones que se ejecutan por completo según un orden o secuencia preestablecido

� Sistema en tiempo real: se divide en tareas que se ejecutan en paralelo (la ejecución en paralelo se puede lograr como la sucesión rápida de actividades secuenciales)

Ing. Juan Manuel Cruz 77, 9 y 11 Oct. de 2013

Page 8: Universidad Nacional del Nordeste Universidad Nacional del ...

Aspectos de diseño

� Contamos con varias técnicas para ejecutar tareas en paralelo:� Contamos con varias técnicas para ejecutar tareas en paralelo:

� Procesamiento secuencial (Lazo de barrido o scan loop)

� Interrupciones (Background/Foreground)

� Multitarea cooperativo o expropiativo (preemptive)

� Los más usados por principiantes es el Procesamiento Secuencial combinado con Interrupciones.

� Interrupciones: para atender el hardware (1° plano, tomar muestras)

� Procesamiento Secuencial: para atender tareas (proc. muestras, interfaz de � Procesamiento Secuencial: para atender tareas (proc. muestras, interfaz de usuario, etc.). Algo más relajado, va en el main (2° plano)

� Coherencia de datos compartidos por ambos planos (atomico, volatile).

� En conjunto con las máquinas de estado finito constituyen una de las soluciones muy eficientes de la denominada programación gobernada por eventos (event driven programming)

Ing. Juan Manuel Cruz 87, 9 y 11 Oct. de 2013

Page 9: Universidad Nacional del Nordeste Universidad Nacional del ...

Método de Trabajo

� Variante de Secuencial e Interrupciones, se modulariza en:� Variante de Secuencial e Interrupciones, se modulariza en:

� Startup / Inicio => Inicializaciones básicas del micro

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

� Manejadores / Drivers de Entrada / Salida => Interacción con el mundo exterior (atención de eventos y sincronismos)

� Se comunica los módulos mediante:

� Flags / Semáforos o Variables o Colas

� Garantizar un comportamiento comunitario (que ningún módulo se apropie de la CPU)

9Ing. Juan Manuel Cruz7, 9 y 11 Oct. de 2013

Page 10: Universidad Nacional del Nordeste Universidad Nacional del ...

Entradas Salidas

Método de Trabajo

PP

RTarea 1

Startup / Inicio

Reset

DriversInterrupcionesde entrada

Flags

DriversInterrupciones

de salida

INSerie

ParaleloI2CSPICAD

TimerTicks

Entradas

OUT Serie

ParaleloI2CSPICDA

Timer Ticks

SalidasInterrupcionesOUT: Deshab

IN: Hab

Flags

InterrupcionesDeshabilitadas Flag?

variable? Cola?

P

R

O

G

R

A

M

A

R

I

N

C

I

P

A

L

Tarea 1

Tarea 2

Tarea nColas

Variables

Flags

¡ Cola Llena !Deshabilitarinterrupciones

de EntradaCola?

variable?

Flag?

Colas

Variables

Flags

¡ Cola No Vacia !Habilitar

interrupcionesde Salida

¡Cola Vacia!Deshabilitar

Ing. Juan Manuel Cruz 107, 9 y 11 Oct. de 2013

Page 11: Universidad Nacional del Nordeste Universidad Nacional del ...

Método de Trabajo

� Garantizar que ningún módulo se apropie de la CPU � Garantizar que ningún módulo se apropie de la CPU (comportamiento comunitario o no bloqueante)

?

Acción

AsíSI !

?

AsíNO !

Acción Acción

Ing. Juan Manuel Cruz 117, 9 y 11 Oct. de 2013

Page 12: Universidad Nacional del Nordeste Universidad Nacional del ...

Método de Trabajo

� Además dividir la solución en capas aporta portabilidad (re-� Además dividir la solución en capas aporta portabilidad (re-usabilidad)

Device Drivers

Aplicación

PORTABLE

Hardware (Core & Peripherals)

Core Peripheral Access LayerDevice Peripheral Access LayerAccess Functions for Peripherals

E

Ing. Juan Manuel Cruz 127, 9 y 11 Oct. de 2013

Page 13: Universidad Nacional del Nordeste Universidad Nacional del ...

Caso típico de uso

� Como principiantes debemos asegurar que:� 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 �

� Shanon (Teorema Muestreo)

� JMC (Experiencia de desarrollador)

� Mamá de JMC (Experiencia de modista)

Ing. Juan Manuel Cruz 137, 9 y 11 Oct. de 2013

Page 14: Universidad Nacional del Nordeste Universidad Nacional del ...

Caso típico de uso

� MCS-51 ejecuta ~ 1MIPS con Fcristal = 12MHz & � MCS-51 ejecuta ~ 1MIPS con Fcristal = 12MHz & DIVclock = 12 (CPU de la familia Intel original)

� Tinstrucción ≈ 1µS Tcpu-pp ≤ 1mS

� Tick-mín ≥ 1mS Tcpu-driver/tarea ≤ 100µS

unsigned char data timerTickUChar; // 0 a 255mSunsigned char data timerTickUChar; // 0 a 255mS

unsigned int data timerTickUInt; // 0 a 65.535mS

unsigned long int data timerTickULongInt; // 0 a 4.294.967.295mS

if (!timerTickUXxx)

timerTickUXxx--;

Ing. Juan Manuel Cruz 147, 9 y 11 Oct. de 2013

Page 15: Universidad Nacional del Nordeste Universidad Nacional del ...

Preguntas

El perro Fernando (Mempo Giardinelli)

Creo que fue la Navidad del 57, o el 58, cuando visitó Resistencia un famosísimo pianista polaco, de apellido Paderewsky. Ofreció un concierto único en el Cine Teatro Sep, el más importante de la ciudad, y por supuesto mis papás me llevaron. La sala estaba repleta y Fernando se acomodó bajo el piano de cola (los organizadores siempre anticipaban a los músicos visitantes la ineludible presencia del cuzquito) y a la vista de más de mil personas se diría que Paderewsky y él comenzaron el concierto.

Nunca olvidaré la impresión de aquel público cuando, en medio de una sonata de Beethoven, de pronto Fernando se puso de pie alzando las orejas y soltó un gruñido. Pareció que el mundo se detenía, pero Paderewsky, todo un profesional, siguió como si Pareció que el mundo se detenía, pero Paderewsky, todo un profesional, siguió como si nada. Sin embargo hacia el final del concierto, nuevamente el perrito sacudió las orejas y miró fijo al pianista como diciéndole oiga, la está pifiando.

Entonces Paderewsky, con europea elegancia, detuvo sus manos, miró al perrito y le dijo, en duro castellano: "Tiene razón, equivoqué dos veces". E hizo un dacapo y repitió la sonata, que le salió perfecta. El concierto acabó con una ovación, un par de bises y el discreto mutis de Fernando, que, se dijo después, tenía esa noche dos casamientos y un cumple de quince.

Ing. Juan Manuel Cruz 157, 9 y 11 Oct. de 2013