Sei sulla pagina 1di 27

UNIVERSIDAD NACIONAL DE

RO CUARTO

FACULTAD DE INGENIERA

DIPLOMATURA SUPERIOR EN
SISTEMAS EMBEBIDOS

Contenidos mnimos Cursos,


Seminarios y Talleres

CODIGO CURSO: CDIP.SE 01


DENOMINACIN: Programacin embebida: C.
RESPONSABLE: Mg. Manuel AMOR
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Dominio bsico de Linux.
OBJETIVOS:
Adquirir la capacidad de programar aplicaciones embebidas en lenguaje C.
Conocer las posibilidades implementacin de comunicacin a travs de diferentes
interfaces en aplicaciones escritas en C.
Entender la importancia de las buenas prcticas de programacin.
Llevar a cabo ejercicios prcticos que permitan la aprehensin de los conceptos
tericos.
JUSTIFICACIN:
Hoy en da est muy difundido el uso del lenguaje C en aplicaciones de todo tipo. Se ha extendido
profundamente en el en el mbito de la Ingeniera en general y en la de los sistemas embebidos en
particular. Los sistemas embebidos han tomado un gran protagonismo en la actualidad por los
avances tecnolgicos que se han ido sucediendo. Aplicaciones de agricultura, de medicina, de
aeronutica, del espacio, etc, tienen lugar en los sistemas embebidos. Es por ello que se considera
fundamental que el ingeniero a cargo tanto del diseo como de la enseanza de sistemas embebidos
incorpore el dominio del lenguaje C como herramienta necesaria y fundamental para el xito de sus
proyectos.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs, 1 clase por semana
METODOLOGA DE DICTADO:
La metodologa de dictado ser TericoPrctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las clases y la realizacin de los
ejercicios de evaluacin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.
Software Necesario:
Linux (preferentemente debian o ubuntu)
GNU Toolchain

Hardware Necesario:
PCs estndar
CONTENIDOS:
UNIDAD 1: Tipos y/o Funciones Bsicas del lenguaje C ANSI. Funciones, procedimientos, pasajes
de parmetros. Aritmtica de punteros (bsico). Memoria Esttica, Memoria Dinmica. Ciclos,
bloques de programacin, alcance (scope) y tiempo de vida de datos. Expresiones aritmticas.
Estructuras de datos: Pilas, Colas, Listas
UNIDAD 2: Conceptos generales de Entrada/Salida. Entrada/Salida por archivos. Entrada/Salida
por comunicacin de datos bsica: RS232, TCP/IP y UDP. Pipes.
UNIDAD 3: Concurrencia. Concepto de Threads: Biblioteca Poxi Threads (No ANSI). Creacin de
procesos con llamada de sistema fork(). Mecanismos para sincronizacin de datos y exclusin
mutua: Semforos, Mutex. Problemas de DeadLock, y Race Condition.
UNIDAD 4: Libreras. Creacin de libreras estticas y dinmicas. Interfaces de libreras,
ocultamiento de informacin.
BIBLIOGRAFA:
G.L.U.P. Gua de Linux Para el Usuario. Larry Greenfield 1997.
Linux Installation and Getting Started. MattWelsh et al. 2002.
Running Linux MattWelsh et al. OReilly Associates, Inc.1999.
El lenguaje de programacin C. Kernighan, Brian, Ritchie, Dennis. Prentice
Hall 1988
Topics in C Programming. Stephen Kochan, Patrick Wood. John Wiley & Sons. 1991.

CODIGO CURSO: CDIP.SE 02


DENOMINACIN: Introduccin al Lenguaje de Programacin Python para la ingeniera
RESPONSABLE: Mg. Sebastin TOSCO
DOCENTES PARTICIPANTES: Mg. Fernando CORTEGGIANO
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Se deber tener conocimientos
bsicos previos sobre conceptos generales de programacin.
OBJETIVOS:
Brindar las herramientas y conocimientos bsicos para que los asistentes puedan
desempearse e interiorizarse en el lenguaje de programacin Python, en particular en lo que
respecta a la programacin orientada a aplicaciones de ingeniera.
JUSTIFICACIN:
Python es un lenguaje de sintaxis simple, clara y sencilla. La disponibilidad de libreras para
mltiples aplicaciones cientficas y tcnicas, hace que sea una herramienta importante para su
implementacin en el mbito de la ingeniera. No se requiere la compra de licencia para la
utilizacin de este lenguaje.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs, 1 clase por semana
METODOLOGA DE DICTADO:
La metodologa de dictado ser Terico-Prctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de los mdulos y la realizacin de un
trabajo final con defensa en seminario.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.
Software Necesario:
Linux (preferentemente debian o ubuntu)
Sistema Operativo: Windows Linux (preferentemente Linux)
Python 2.7
Numpy
Scipy

pylab
matplotlib
Hardware Necesario:
PCs estndar
CONTENIDOS:
UNIDAD 1: Python. Caractersticas Principales. Mdulos. Uso del Intrprete. Uso de dir() y help()
UNIDAD 2: Tipos de datos y sus propiedades. Enteros, de punto flotante, Complejos. Cadenas de
texto. Tuplas y listas. Conjuntos. Diccionarios.
UNIDAD 3: Control de flujo. Instrucciones if, for, while, try except.
UNIDAD 4: Funciones. Definicin de una funcin. Utilizacin. Pasaje de parmetros.
UNIDAD 5: Clases. Definicin. Utilizacin de clases en Python.
UNIDAD 6: Manejo de archivos en Python. Objeto indentificador de archivo. Sentencias de
apertura y cierre de archivos. Ejemplos de uso.
UNIDAD 7: Utilizacin de herramientas para graficacin y clculo. Uso de matplotlib y pylab.
Ejemplos de uso.
UNIDAD 8: Sockets. Definicin. Tipificacin. Usos comunes. Ejemplos.
UNIDAD 9: Interfaz grfica (GUI). Justificacin de uso. Libreras disponibles. Ejemplos.
UNIDAD 10: Trabajo final. Organizacin de un proyecto. Desarrollo del trabajo final. Seminario de
exposicin
BIBLIOGRAFA:
Tutorial de Python http://python.org.ar/tutorial
Documentacin Oficial de Python http://docs.python.org/
Matplotlib http://matplotlib.sourceforge.net/
PyQT https://wiki.python.org/moin/PyQt/Tutorials
WxGlade http://wxglade.sourceforge.net/

CODIGO CURSO: CDIP.SE 03


DENOMINACIN: Sistemas Operativos de Tiempo Real
RESPONSABLE: Mg. Gustavo RODRIGUEZ

CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Conocimientos bsicos de


programacin y sistemas operativos
OBJETIVOS:
Incorporar elementos de programacin utilizando RTOS, como extensin superadora
de la programacin bare-metal(sin RTOS).
Discernir la diferencia entre RTOS dinmicos y estticos, y en qu casos es
conveniente la utilizacin de cada tipo.
Entender los motivos de las diferentes polticas de scheduling que implementan los
RTOS a diferencia de los Sistemas Operativos de propsito general.
Llevar a cabo ejercicios prcticos que permitan la aprehensin de los conceptos
tericos.
JUSTIFICACIN:
Hoy en da existen muy pocas aplicaciones que empleen sistemas embebidos basados en
microcontroladores de 32-bits que no utilicen un Sistema Operativo de Tiempo Real (RTOS, por sus
siglas en ingls). Un RTOS puede verse bsicamente como una biblioteca de software que es
aprovechada por el cdigo del usuario a fin de sumar ciertas caractersticas al diseo de su
aplicacin, como ser:
Multitarea cooperativa y/o expropiativa.
Poltica de scheduling de procesos orientada a satisfacer requerimientos de respuesta
en tiempo real.
Gestin dinmica de memoria.
Mecanismos de comunicacin entre procesos.
Dichas caractersticas, entre otras, dotarn a la aplicacin embebida de una confiabilidad superior,
adems de aumentar la portabilidad de su cdigo a otras arquitecturas, dado que muchos RTOS
disponen de Interfaces de Programacin de Aplicaciones (API) basadas en estndares como POSIX.
Es por ello que se considera fundamental que el ingeniero a cargo tanto del diseo como de la
enseanza de sistemas embebidos incorpore los conceptos fundamentales que sern explicados en el
presente curso.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs c/u. 1 clase por semana.
METODOLOGA DE DICTADO:
La metodologa de dictado ser Terico Prctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las clases y la realizacin de los
ejercicios de evaluacin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.

Software Necesario:
Linux (preferentemente debian o ubuntu)
GNU Toolchain
qemu emulator
Hardware Necesario:
NXP LPC1769
CONTENIDOS:
UNIDAD 1: Arquitecturas de hardware. Caractersticas generales. Modelo del programador. Modos
de ejecucin privilegiado (kernel) y no privilegiado (user). Modelo de Excepciones e
Interrupciones. Controlador NVIC. Unidad de Proteccin de Memoria (MPU).
UNIDAD 2: Conceptos generales de Sistemas Operativos de Tiempo Real. Cambio de contexto y
polticas de scheduling. Gestin de memoria. Gestin de interrupciones de hardware y excepciones
del procesador. Comunicacin entre procesos: Semforos, Message Queues, Mutexs.
UNIDAD 3: Sistemas Operativos de Tiempo Real estticos. Caso de estudio: OSEK-OS. Caso de
estudio: POK.
UNIDAD 4: Sistemas Operativos de Tiempo Real dinmicos. Ventajas y desventajas respecto a los
RTOS estticos.Caso de estudio I: FreeRTOS. Caso de estudio II: RTEMS.
BIBLIOGRAFA:
ARMv7-M Architecture Reference Manual, http://infocenter.arm.com/
The Definitive Guide to ARM Cortex- M3 and Cortex-M4 Processors, 3rd Edition. J. Yiu,
Newnes (2013).
Using the FreeRTOS Real-Time Kernel, NXP LPC17xx edition. R. Barry.
Implementacin de un Kernel de Tiempo Real para Arquitectura ARMv7- M. P. Ridolfi et al.
Congreso Argentino de Sistemas Embebidos (2013).
OSEK-OS 2.2.3 standard. http://www.osek-vdx.org/

CODIGO CURSO: CDIP.SE 04


DENOMINACIN: Linux Embebido
RESPONSABLE: Mg. Gustavo RODRIGUEZ
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Conocimientos bsicos de
programacin en C y Linux.
OBJETIVOS:
Introducir a los alumnos en la arquitectura de un sistema embebido basado en Linux.
Presentar las herramientas de software necesarias en el proceso de desarrollo.
Presentar alternativas de plataformas de hardware.
JUSTIFICACIN:
Hoy en da abundan los sistemas operativos para un sistema embebido, tanto de cdigo abierto
como propietario. Linux es una de estas opciones. No importa lo que se utiliza para el entorno de
desarrollo (Linux o Windows), es necesario aprender a programar utilizando el sistema operativo de
destino. En este sentido, un Linux Embebido no es muy diferente de usar a un Sistema Operativo
de Tiempo Real u otro sistema operativo. Es necesario comprender cmo el sistema operativo est
diseado, cmo configurarlo, y cmo programar usando su interfaz de programacin de
aplicaciones (API).
Es por ello que se considera fundamental que el ingeniero a cargo tanto del diseo como de la
enseanza de sistemas embebidos incorpore los conceptos fundamentales que sern explicados en el
presente curso.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs c/u. 1 clase por semana.
METODOLOGA DE DICTADO:
La metodologa de dictado ser Terico Prctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las clases y la realizacin de los
ejercicios de evaluacin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.
Software Necesario:
Linux (preferentemente debian o ubuntu)
GNU Toolchain

CONTENIDOS:
UNIDAD 1: Introduccin a Linux Embebido. Ventajas. Hardware para
Ejemplos de placas comerciales. Arquitectura bsica de un sistema Linux.

Linux

Embebido.

UNIDAD 2: Entorno de desarrollo para Linux Embebido: Toolchain. Definicin de toolchain.


Formas de armar un toolchain.
Componentes.
Bibliotecas de C. Armando un toolchain:
construccin manual, toolchains precompilados, uso de herramientas de ayuda en el armado.
UNIDAD 3: Kernel de Linux. Breve historia. Caractersticas principales. Esquema de versiones.
Fuentes del kernel y parches. Configuracin del kernel: xconfig, gconfig, nconfig, menuconfig.
Opciones principales de configuracin.
Cross-compilacin e instalacin del kernel.
UNIDAD 4: Bootloaders. Definicin. Secuencia de boot en x86. Secuencia de boot en embebidos.
UNIDAD 5: Root filesystem. Definicin. Montaje de un sistema de archivos. Network Filesystem.
Organizacin de un filesystem.
Archivos de dispositivos. Sistemas de archivos virtuales.
Sistemas de archivos de bloque.
Sistema de archivos Flash.
BIBLIOGRAFA:
Embedded Linux Primer: A Practical Real-World Approach, Christopher Hallinan, 2010, Prentice
Hall.
Building Embedded Linux Systems, Karim Yaghmour, Jon Masters, Gilad Ben-Yossef y Philippe
Gerum, 2008, OReilly.

CODIGO CURSO: CDIP.SE 05


DENOMINACIN: Desarrollo de Aplicaciones para Android
RESPONSABLE: Mg. Gustavo RODRIGUEZ
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Conocimientos bsicos de
programacin y sistemas operativos.
OBJETIVOS:
Al trmino del curso los participantes sern capaces de:
Introducir a los alumnos en la plataforma de aplicaciones Android.
Presentar las herramientas de software necesarias en el proceso de desarrollo.
Presentar alternativas de hardware para distintas aplicaciones.
JUSTIFICACIN:
Hasta la fecha abundan diferentes Sistemas Operativos, pero ninguno tan sobresaliente como lo ha
sido Android, que si bien es parte de la familia de Linux, es sobresaliente debido a que se desarroll
para dispositivos mviles con pantallas tctiles, como telfonos inteligentes o tablets; y tambin
para relojes inteligentes, televisores y automviles.
Tiene una gran comunidad de desarrolladores creando aplicaciones para extender la funcionalidad
de los dispositivos. A la fecha, se ha llegado ya al 1.000.000 de aplicaciones de las cuales, dos
tercios son gratuitas.
Hoy en da abundan diferentes plataformas de desarrollo que trabajan bajo diferentes arquitecturas.
Android es una de estas opciones. Ofrece un entorno de desarrollo de software de cdigo abierto,
complementa con hardware con diferentes aplicaciones y usos para ofrecer funciones informticas
mas avanzadas a quienes ya estn familiarizados con otras herramientas.
Es por ello que se considera fundamental que el ingeniero a cargo de desarrollo de sistemas
embebidos se instruya la Plataforma de Desarrollo Android e incorpore los conceptos
fundamentales que sern explicados en el presente curso.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs c/u. 1 clase por semana.
METODOLOGA DE DICTADO:
La metodologa de dictado ser Terico Prctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las clases y la realizacin de los
ejercicios de evaluacin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.

Software Necesario:
Linux (preferentemente debian o ubuntu)
Eclipse
Emulador Android
CONTENIDOS:
UNIDAD 1: Introduccion Android. Fundamentos de Android y Conceptos de Programacin. Tipos
de Datos y Pruebas Logicas Bucles y Estructuras de Control.
UNIDAD 2: Interfaz Usuario. Componentes de desarrollo. Software de Instalacin. Layouts en
Android.
UNIDAD 3: Comunicacin con Sensores. Sensores de Movimiento. Sensores Ambientales.
Sensores de Posicion (Mapas y GPS).
UNIDAD 4: Productividad. Publicacin de aplicaciones realizadas. Creacin de Base de Datos.
BIBLIOGRAFA:
https://www.android.com/
http://www.aprendeandroid.com/menu.htm
Curso Android - Desarrollo de aplicaciones moviles - Versin 1 / junio 2011.
www.maestrosdelweb.com/editorial/curso-android.
Curso Programacion Android - Salvador Gomez Oliver - www.sgoliver.net.
Curso de programacion en android para principiantes. desarrollado por Robert P. para
FaqsAndroid.com del Grupo bemoob.

CODIGO CURSO: CDIP.SE 06


DENOMINACIN: Aplicaciones de red en sistemas embebidos
RESPONSABLE: Mg. Fernando CORTEGGIANO
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Dominio bsico de Linux y
conceptos generales de programacin en Python y C/C++.
OBJETIVOS:
Se pretende brindar las herramientas y conocimientos bsicos para que los asistentes puedan
entender y aplicar esquemas de comunicacin en el contexto de los sistemas embebidos.
JUSTIFICACIN:
En sistemas embebidos que soportan sistemas operativos es posible utilizar herramientas que
facilitan las comunicaciones entre dichos sistemas, permitiendo el desarrollo de aplicaciones de red
y comunicaciones eficientes de fcil implementacin.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs c/u. 1 clase por semana.
METODOLOGA DE DICTADO:
La metodologa de dictado ser Terico Prctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las clases y la realizacin de los
ejercicios de evaluacin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.
Software Necesario:
Sistema Operativo ARM: Linux (preferentemente Ubuntu)
Python 2.7
Compilador C/C++
Libreras bsicas
Editor de Texto / IDEs. Ejemplos:
Gedit
Geany
QtCreator / CodeBlocks
Hardware Necesario:

PCs estndar
Placa con hardware embebido con capacidad para sistema operativo linux
ubuntu/debian (tipo Beaglebone Pcduino)
Dongle para aadir capacidad WiFi + usb-hub
Conectores, fuente y cables varios
CONTENIDOS:
UNIDAD 1: Conceptos generales de un sistema linux embebido. Manejo bsico. Comandos de
inters. Comparacin Linux desktop vs. Embebido vs. Linux embebido RTO.
UNIDAD 2: Conceptos sobre sistemas distribuidos. Sistemas basados en mensajes (MOM).
Arquitectura Cliente Servidor. Arquitectura Publicador Subscriptor.
UNIDAD 3: Uso de tecnologas middleware para comunicaciones. Definiciones. Ejemplos de
distintos middleware para comunicaciones. Bindings a distintos lenguajes. Instalacin de
middleware. Configuracin de middleware en distintos escenarios. Pruebas y mediciones de
funcionamiento. Ejercitacin.
UNIDAD 4: Trabajo final. Organizacin de un proyecto. Desarrollo del trabajo final. Seminario de
exposicin.
BIBLIOGRAFA:
Tutorial de Python http://python.org.ar/tutorial
Documentacin Oficial de ROS http://www.ros.org/
Sacha Krakowiak, S.,"Middleware Architecture with Patterns and Frameworks". Under CC v.3,
access from http://proton.inrialpes.fr/~krakowia/MW-Book/main-onebib.pdf (last access
24/02/2015)
Pgina oficial de RabbitMQ http://proton.inrialpes.fr/~krakowia/MW-Book/main-onebib.pdf
Pgina oficial de ZeroMQ http://zeromq.org/
Sitio de inters http://elinux.org/BeagleBoardUbuntu
Material del curso.

CODIGO CURSO: CDIP.SE 07


DENOMINACIN: Plataformas de Desarrollo: Arduino I
RESPONSABLE: Mg. Sebastian TOSCO
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Conocimientos bsicos de
programacin y sistemas operativos.
OBJETIVOS:
Al trmino del curso los participantes sern capaces de:
Conocer los diversos protocolos de comunicacin soportado por Arduino.
Realizar lecturas de sensores digitales con protocolo 1-Wire e I2C.
Comprender el funcionamiento de libreras y su utilizacin.
Manejar datos en memorias no voltiles.
Manejar conceptos de comunicaciones inalmbricas.
Establecer comunicacin entre dispositivos mediante bluetooth
JUSTIFICACIN:
El Arduino es una plataforma libre, que permite el prototipado de proyectos que requieren un
microcontrolador para basar su funcionamiento. Realmente, la aplicacin del Arduino puede ir ms
all de un simple proyecto, ya que puedes emplearlo en muchos mbitos de la vida cotidiana, como
modificacin de tus aparatos elctricos, creacin de nuevos aparatos, elaboracin de proyectos para
la Universidad o ms an, brindar una solucin a una problemtica de una empresa.
Una de las principales ventajas del Arduino es que realmente es una tarjeta entrenadora, lo que
permite que slo conectes perifricos o mdulos auxiliares a la misma. Esta placa entrenadora se
basa en tecnologa Atmel, especificamente con microcontroladores como del ATMega328.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs c/u. 1 clase por semana.
METODOLOGA DE DICTADO:
La metodologa de dictado ser Terico Prctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las clases y la realizacin de los
ejercicios de evaluacin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.
Software Necesario:
Linux (preferentemente debian o ubuntu)

IDE Arduino
Hardware Necesario:
Placa Arduino Nano o Arduino UNO.
Placa entrenadora multipropsito compatible con Arduino.
Componentes electrnicos Bsicos (Resistencias, Led, etc).
Kit de sensores varios compatibles con Arduino.

CONTENIDOS:
UNIDAD 1: Introduccin a Arduino. Definicin. Historia. Introduccin al movimiento Open
Hardware y Cultura libre. Ejemplos de aplicacin. Tipos de placas Arduino. Descripcin de sus
caractersticas. Descarga del software e instalacin.
UNIDAD 2: Reconocimiento del IDE de Arduino. Partes y funciones del IDE. Partes de un sketch.
Compilacin de un sketch. Carga de un sketch a la tarjeta Arduino. Sintaxis de programacin.
Estructuras. Variables. Funciones. Bucles de Control. Libreras. Funciones y usos de Libreras.
UNIDAD 3: Conceptos de Electronica Aplicado a Arduino. Conexin de protoboards con arduinos.
Tipos de seales (anlogo y digital). Salidas (digital y PWM). Uso de actuadores. Entradas (digital
y anlogas). Uso de sensores. Conexin e instalacin de los componentes electrnicos ms usados.

BIBLIOGRAFA:
http://www.arduino.cc/
http://www.arduino.cc/es/
http://arduino.cc/es/Secundaria/Secundaria
http://arduino-ubuntu.blogspot.com/
http://visualp5.net/visualp5net-taller-arduino.html
ttps://sites.google.com/a/divinechildhighschool.org/electronics/Home/Arduino-Lessons

CODIGO CURSO: CDIP.SE 08


DENOMINACIN: Plataformas de Desarrollo: Arduino II
RESPONSABLE: Mg. Sebastian TOSCO
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Conocimientos bsicos de
programacin y sistemas operativos.
OBJETIVOS:
Al trmino del curso los participantes sern capaces de:
Identificar y aplicar los conceptos fundamentales de electricidad, electrnica y
programacin aplicados a Arduino.
Conocer los componentes de la tarjeta Arduino y la utilizacin de ella.
Conocer las distintas formas de programacin y su realizacin.
Disear, montar y programar circuitos con sensores y actuadores.
Montar circuitos en protoboard y simularlos.
JUSTIFICACIN:
El Arduino es una plataforma libre, que permite el prototipado de proyectos que requieren un
microcontrolador para basar su funcionamiento. Realmente, la aplicacin del Arduino puede ir ms
all de un simple proyecto, ya que puedes emplearlo en muchos mbitos de la vida cotidiana, como
modificacin de tus aparatos elctricos, creacin de nuevos aparatos, elaboracin de proyectos para
la Universidad o ms an, brindar una solucin a una problemtica de una empresa.
Una de las principales ventajas del Arduino es que realmente es una tarjeta entrenadora, lo que
permite que slo conectes perifricos o mdulos auxiliares a la misma. Esta placa entrenadora se
basa en tecnologa Atmel, especificamente con microcontroladores como del ATMega328.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs c/u. 1 clase por semana.
METODOLOGA DE DICTADO:
La metodologa de dictado ser Terico Prctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las clases y la realizacin de los
ejercicios de evaluacin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.

Software Necesario:
Linux (preferentemente debian o ubuntu)
IDE Arduino
Hardware Necesario:
Placa Arduino Nano o Arduino UNO.
Placa entrenadora multipropsito compatible con Arduino.
Componentes electrnicos Bsicos (Resistencias, Led, etc).
Kit de sensores varios compatibles con Arduino.

CONTENIDOS:
UNIDAD 1: Comunicacin con Arduino. Comunicacin serial por hardware y software.
Comunicacin serial PC-Arduino y Arduino-Arduino.
Sensores
I2C.
Fundamentos
de
comunicacin Ethernet.
UNIDAD 2: Almacenamiento de datos. Lectura y escritura de EEPROM interna. Lectura y escritura
de tarjetas SD. Utilizacin de reloj de tiempo real. Ejercicio prctico:
Construccin de un
datalogger.
BIBLIOGRAFA:
http://www.arduino.cc/
http://www.arduino.cc/es/
http://arduino.cc/es/Secundaria/Secundaria
http://arduino-ubuntu.blogspot.com/
http://visualp5.net/visualp5net-taller-arduino.html
ttps://sites.google.com/a/divinechildhighschool.org/electronics/Home/Arduino-Lessons

CODIGO CURSO: CDIP.SE 09


DENOMINACIN: Plataformas de Desarrollo: Intel Galileo
RESPONSABLE: Mg. Fernando CORTEGGIANO
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Conocimientos bsicos de
programacin en C y Linux.
OBJETIVOS:
Introducir a los alumnos en la plataforma de desarrollo de Intel Galileo.
Presentar las herramientas de software necesarias en el proceso de desarrollo.
Presentar alternativas de aplicaciones de hardware.
JUSTIFICACIN:
Hoy en da abundan diferentes placas de desarrollo que trabajan bajo diferentes arquitecturas. Intel
Galileo es una de estas opciones. Se trata de una familia de placas de desarrollo compatibles con
Arduino que trabaja bajo arquitectura Intel.
Ofrece un entorno de desarrollo de hardware y software de cdigo abierto, complementa y ampla la
lnea de productos Arduino para ofrecer funciones informticas ms avanzadas a quienes ya estn
familiarizados con las herramientas de prototipos Arduino.
Es por ello que se considera fundamental que el ingeniero a cargo del diseo de Sistemas
Embebidos incorpore los conceptos fundamentales que sern explicados en el presente curso.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs c/u. 1 clase por semana.
METODOLOGA DE DICTADO:
La metodologa de dictado ser Terico Prctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las clases y la realizacin de los
ejercicios de evaluacin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.
Software Necesario:
Linux (preferentemente debian o ubuntu) o Windows 7.
Hardware Necesario:
Placa Intel Galileo

CONTENIDOS:
UNIDAD 1: Introduccin a Intel Galileo. Definicin. Historia. Introduccin al movimiento Open
Hardware y Cultura libre. Ejemplos de aplicacin.
UNIDAD 2: Placas Intel Galileo. Descripcin de sus caractersticas. Componentes de desarrollo.
Software e instalacin.
UNIDAD 3: Comunicacin con Galileo. Comunicacin serial por hardware y software. Sensores
I2C. Fundamentos de comunicacin Ethernet.
UNIDAD 4: Almacenamiento de datos. Lectura y escritura de EEPROM interna. Lectura y escritura
de tarjetas SD. Utilizacin de reloj de tiempo real.
BIBLIOGRAFA:
https://communities.intel.com/docs/DOC-22886
https://communities.intel.com/docs/DOC-22475
https://communities.intel.com/community/makers/galileo/documentation

CODIGO CURSO: CDIP.SE 10


DENOMINACIN: Plataformas de desarrollo: EduCIAA
RESPONSABLE: Mg. Manuel AMOR
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Conocimientos bsicos de
programacin en C y arquitectura de procesadores ARM.
OBJETIVOS:
Introducir a los alumnos en la arquitectura de una plataforma de desarrollo moderna
y econmica basada en la CIAA.
Presentar las herramientas de software necesarias en el proceso de desarrollo.
Brindar una base para disear sistemas capaces de considerar cuestiones de
disponibilidad, confiabilidad, verificacin, validacin y seguridad intrnseca.
JUSTIFICACIN:
La Computadora Industrial Abierta Argentina (CIAA) es una plataforma electrnica de hardware
libre que, adems, presenta ciertas caractersticas que la hacen cualitativamente diferente respecto
de las dems, al punto que configura una experiencia nica a nivel global.
Una de las principales diferencias es su concepcin, en la que se prioriz generar un producto
robusto para que soporte las condiciones hostiles de los ambientes industriales los que abundan
ruidos, vibraciones, temperaturas extremas, picos de tensin e interferencias electromagnticas,
pero, a la vez, disearla de modo tal que pueda ser fabricada en Argentina.
Es por ello que se considera fundamental que el ingeniero a cargo tanto del diseo como de la
enseanza de sistemas embebidos incorpore los conceptos fundamentales que sern explicados en el
presente curso.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs c/u. 1 clase por semana.
METODOLOGA DE DICTADO:
La metodologa de dictado ser Terico Prctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las clases y la realizacin de los
ejercicios de evaluacin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.

Software Necesario:
Linux (preferentemente debian o ubuntu)
GNU Toolchain
Hardware Necesario:
EDU-CIAA
Kit de sensores varios

CONTENIDOS:
UNIDAD 1: Introduccin a la CIAA. Descripcin. Ventajas. Hardware de la CIAA (versiones
multiprocesadores). Firmware de la CIAA. Software de la CIAA.
UNIDAD 2: Entorno de desarrollo para CIAA: Toolchain. Definicin de toolchain. Formas de
armar un toolchain. Componentes. Bibliotecas de C. Armando un toolchain: construccin manual,
toolchains precompilados, uso de herramientas de ayuda en el armado.
UNIDAD 3: freeOSEK. Breve historia. Caractersticas principales. Esquema de versiones. Fuentes
del kernel y parches. Opciones principales de configuracin. Cross-compilacin e instalacin del
kernel.
UNIDAD 4: Depuracin. Definicin. Depuracin en x86.
UNIDAD 6: Testing y Certificacin. Definicin. Testing. Configuracin del entorno. Organizacin
del testing. Certificacin bajo IEC 61508
BIBLIOGRAFA:
http://proyecto-ciaa.com.ar/

CODIGO CURSO: CDIP.SE 11


DENOMINACIN: Interfaces y Perifricos
RESPONSABLE: Dr. Guillermo MAGALLAN
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS: Conocimientos bsicos de
programacin en C y arquitectura de procesadores ARM.
OBJETIVOS:
El curso tiene por objetivo dar al alumno el conocimiento de las principales interfaces y perifricos
comnmente utilizados en sistemas electrnicos digitales.
Se pretende tambin que el alumno logre identificar las caractersticas principales de las interfaces
y la eleccin ms conveniente para una aplicacin puntual: especificaciones de velocidad,
interconexin con otros dispositivos, inmunidad al ruido. Capacitar al alumno en el uso de
perifricos para interaccin con el mundo analgico e interfaces de usuario.
JUSTIFICACIN:
Interfaces y Perifricos es un curso que pretende que el alumno adquiera conocimientos de las
diferentes arquitecturas basadas en microprocesadores y microcontroladores y en los diferentes
perifricos que conectamos de forma habitual a travs de interfaces bien definidas.
Un Ingeniero a cargo de desarrollos de sistemas embebidos debe poder enfrentarse a las diferentes
tareas relacionadas con el uso e implementacin de interfaces y sus perifricos asociados, as como
la programacin de controladores para su correcto funcionamiento, es por ello que se considera
fundamental que se capacite e incorpore los conceptos fundamentales que sern explicados en el
presente curso.
DURACIN Y ORGANIZACIN:
20 hs. Cuatro clases de 5 hs c/u. 1 clase por semana.
METODOLOGA DE DICTADO:
La metodologa de dictado ser Terico Prctica. Se desarrollarn los temas con el apoyo de
presentaciones multimedia, ejemplos funcionales que se demostrarn en el momento y ejercicios a
realizar por los asistentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las clases y la realizacin de los
ejercicios de evaluacin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
Material didctico y cdigos usados para el dictado del curso.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas, 20 computadoras (preferentemente
conectadas en red) y 1 proyector.
Software Necesario:
Linux (preferentemente debian o ubuntu)

Eclipse
Emulador Android
CONTENIDOS:
UNIDAD 1: Interfaces de conexin. Tipos y niveles de interfaces y perifricos. Sistemas basados en
microprocesadores, microcontroladores, PCs. Compatibilidad de tecnologa. Velocidades, cantidad
de informacin.
UNIDAD 2: Entradas y salidas. Tipos de entradas y salidas digitales. Acondicionamiento de
seales digitales. drivers. Aislacin de entradas y salidas. Optoacopladores. Entradas y salidas
analgicas, acondicionamiento, aislacin.
UNIDAD 3: Interfaces seriales y paralelas estndares. Puerto paralelo del PC (IEEE1284). Modos
ECP, EPP. Aplicaciones de comunicaciones paralelas. Norma RS232. Norma RS485. Drivers. Bus
I2C. Bus SPI. USB. Ethernet. Aplicaciones.
UNIDAD 4: Perifricos. Conversores A/D y D/A, externos e internos. Aplicaciones con perifericos.
BIBLIOGRAFA:
Halsall, Fred. (1998). Comunicacin de datos, redes de computadores y sistemas
abiertos. Mxico: Addison Wesley. (ISBN : 968-444-331-5).
Paret, Dominique. (1995). El bus I2C. De la teora a la prctica. Madrid: Paraninfo. (ISBN: 84-2832189-2 ).
Martnez Dur, Rafael J. et al. Estructura de computadores y perifricos. Madrid: RAMA. (ISBN:
84-7897-447-4).
Neil Willis, Fundamentos de arquitectura de ordenadores y comunicaciones de datos. Ed. Anaya
Multimedia (1990).

CODIGO SEMINARIO: SDIP.SE 12


DENOMINACIN: Seminario de aplicacin/actualizacin I
RESPONSABLE: Mg. Hctor MAGNAGO
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS:
OBJETIVOS:
Presentar problemas de aplicacin concreta de los sistemas embebidos en diferentes
mbitos tales como agropecuarios, industriales, de seguridad, etc.
JUSTIFICACIN:
El planteamiento de necesidades concretas y actuales por parte de especialistas o usuarios de otras
disciplinas, permite al alumno visualizar un panorama de aplicacin ms amplio de los contenidos
estudiados en esta diplomatura a la vez que plantearn distintos desafos cuyo ataque y resolucin
puede, no solamente realizar un aporte directo a la culminacin de la diplomatura sino que brinda la
oportunidad de dar solucin a dichas necesidades.
DURACIN Y ORGANIZACIN:
20 hs. Cinco reuniones de 4 hs c/u.
METODOLOGA DE DICTADO:
En cada una de las tres primeras reuniones un invitado especial, presentar la problemtica a
resolver. Los alumnos utilizarn estas reuniones para recabar la mayor informacin posible y
seleccionarn, individualmente o por grupos, al menos uno de los problemas planteados. En las dos
ltimas reuniones los alumnos plantearn un esbozo de solucin que ser discutida entre todos los
actores presentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las reuniones de planteo de
problemas y la participacin en al menos una de las reuniones de propuesta de solucin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
No corresponde.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas y 1 proyector.
TEMTICAS DE LAS REUNIONES:
Aplicaciones de los Sistemas Embebidos en:
Actividades agropecuarias.
Sistemas de observacin y monitoreo.
Sistemas de alarma contra incendios forestales

Sistemas de alarma por crecidas de ros y/o arroyos

CODIGO SEMINARIO: SDIP.SE 13


DENOMINACIN: Seminario de aplicacin/actualizacin II
RESPONSABLE: Mg. Jos Luis HERNANDEZ
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS:
OBJETIVOS:
Presentar problemas de aplicacin concreta de los sistemas embebidos en diferentes
mbitos tales como agropecuarios, industriales, de seguridad, etc.
JUSTIFICACIN:
El planteamiento de necesidades concretas y actuales por parte de especialistas o usuarios de otras
disciplinas, permite al alumno visualizar un panorama de aplicacin ms amplio de los contenidos
estudiados en esta diplomatura a la vez que plantearn distintos desafos cuyo ataque y resolucin
puede, no solamente realizar un aporte directo a la culminacin de la diplomatura sino que brinda la
oportunidad de dar solucin a dichas necesidades.
DURACIN Y ORGANIZACIN:
20 hs. Cinco reuniones de 4 hs c/u.
METODOLOGA DE DICTADO:
En cada una de las tres primeras reuniones un invitado especial, presentar la problemtica a
resolver. Los alumnos utilizarn estas reuniones para recabar la mayor informacin posible y
seleccionarn, individualmente o por grupos, al menos uno de los problemas planteados. En las dos
ltimas reuniones los alumnos plantearn un esbozo de solucin que ser discutida entre todos los
actores presentes.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las reuniones de planteo de
problemas y la participacin en al menos una de las reuniones de propuesta de solucin.
MATERIAL QUE SE OFRECE AL ASISTENTE:
No corresponde.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas y 1 proyector.
TEMTICAS DE LAS REUNIONES:
Aplicaciones de los Sistemas Embebidos en:
Captacin y recuperacin de datos en estaciones meteorolgicas remotas.
Domtica. Comandos remotos aplicados a la seguridad. Simulaciones de presencia.
Monitoreo de hogares, oficinas o plantas.
Agroindustria. Instrumentacin industrial

CODIGO TALLER: TDIP.SE 1


DENOMINACIN: Taller de Trabajo final integrador
CONOCIMIENTOS O REQUERIMIENTOS PREVIOS:
OBJETIVOS:
Que el alumno concrete un trabajo final integrador sobre un tema a eleccin con el
cual finalice sus estudios y obtenga el ttulo de Diplomado Superior
JUSTIFICACIN:
La integracin de los conocimientos tomados en el desarrollo de los cursos que conforman el
proyecto permite al alumno reconocer sus capacidades y aplicar su aprendizaje a la resolucin de un
caso concreto. La gua de los profesores y el establecimiento de los plazos a cumplir, pretende
garantizar la finalizacin de los estudios de la mayor parte de los alumnos de una cohorte.
DURACIN Y ORGANIZACIN:
20 hs. Ocho reuniones de 2.5 hs c/u.
METODOLOGA DE DICTADO:
En la primera reunin se har una presentacin por parte de los profesores gua sobre los temas en
los cuales podrn asesorar y apoyar a los alumnos. Asimismo se dar a conocer una lista de
problemas, no excluyente, para que puedan elegirse para su resolucin. Casa alumno podr, a su
vez, proponer otra problemtica y consensuarla con su profesor gua. Las posteriores reuniones
servirn para desarrollar el proyecto y la ltima de ellas se utilizar para la exposicin de la
solucin.
METODOLOGA DE EVALUACIN Y APROBACIN:
Para la aprobacin del curso se requiere la asistencia al 80% de las reuniones y la exposicin de la
solucin al problema elegido.
MATERIAL QUE SE OFRECE AL ASISTENTE:
No corresponde.
CANTIDAD MNIMA Y MXIMA DE ASISTENTES:
La cantidad mxima de asistentes ser de 20 (veinte) participantes.
NECESIDADES Y DISPONIBILIDAD DE INFRAESTRUCTURA:
Se requiere de un aula con capacidad para 20 personas y 1 proyector.

Potrebbero piacerti anche