
- Aprendizaje por refuerzo y algoritmos evolutivos
- Comunicaciones y ciberseguridad para IoT
- Desarrollo de aplicaciones e implementación para IoT
- Diseño, fabricación y armado de circuitos electrónicos (PCBs)
- Inteligencia Artificial Aplicada
- Microelectrónica - Nivel 1
- Microelectrónica - Nivel 2
- Microelectrónica - Nivel 3
- Procesamiento del lenguaje natural
- Procesamiento Digital
- Sistemas Embebidos - Nivel 1
- Sistemas Embebidos - Nivel 2
- Sistemas Embebidos - Nivel 3
- Visión por computadora
Procesamiento Digital
Dirigido a:
. Egresados/as y/o estudiantes avanzados de determinadas carreras y/o que posean conocimientos básicos necesarios para cursar
Objetivos:
. Brindar una formación integral que profundice en los conocimientos teóricos y prácticos de las tecnologías del área, con énfasis en la especificación de componentes y equipos, así como en el diseño y evaluación de sistemas que utilicen tecnologías de sistemas embebidos
. Fomentar la capacidad de integrar tecnologías de sistemas embebidos con otras áreas tecnológicas, y promover la creación de nuevas tecnologías que contribuyan al avance del campo
. Desarrollar habilidades para abordar problemas complejos que permitan ampliar los conocimientos en el área, con un enfoque particular en el procesamiento de señales y la resolución de desafíos técnicos asociados
. Capacitar en el diseño y desarrollo de implementaciones de sistemas operativos, asegurando una comprensión profunda de su funcionamiento y su aplicación en entornos de sistemas embebidos
Temario:
:: Asignatura: Protocolos de Comunicación en Sistemas Embebidos
. Protocolos de comunicación sobre un bus serie
. Protocolos de comunicación sobre redes de área local
. Device Drivers
. Aplicaciones prácticas de los protocolos
:: Asignatura: Programación de Microcontroladores
. Lenguajes estructurados en sistemas embebidos
. Diagramas de estado. Programación orientada a eventos
. Programación orientada a objetos en sistemas embebidos
. Periféricos típicos en sistemas embebidos
. Introducción al diseño de controladores de periféricos
:: Asignatura: Arquitectura de Microprocesadores
. Microprocesadores utilizados en sistemas embebidos
. Modelo del programador. Set de instrucciones
. Introducción a la programación en Assembly
. Optimización para procesamiento de datos en paralelo (DSP)
:: Asignatura: Procesamiento de Señales
. Señales
. Sistemas LTI
. Respuesta al impulso
. Adquisición con ADC
. Aliasing
. Cuantización
. Dithering
. Sobre muestreo
. Visualización con Python
. Reconstrucción con DAC
. Nyquist
. Números Q
. Euler
. FFT
. DFT/IDFT, Convolución/deconvolucion y Filtrado FIR con cmsis-dsp y numpy
. Prácticas con señales de rango audible
:: Asignatura: Implementación de Sistemas Operativos I
. Arquitectura de procesadores multitarea
. Inicialización de un sistema de hardware
. Bare metal programming
. Gestión de memoria
. Segmentación y paginación
. Paginación solo
. Memoria virtual
. Control de memoria dinámica
. Tareas
. Contexto
. Conmutación: recursos propietarios
. Diseño de schedulers. Conmutación por paginación
. Niveles de privilegio. System Calls
:: Asignatura: Gestión de Proyectos
. Fases y procesos del proyecto
. Procesos de iniciación: Acta del proyecto, interesados
. Procesos de planificación: requerimientos, alcance, gestión del tiempo, riesgos, factibilidad técnica y económica, gestión de costos, calidad, recursos humanos
. Procesos de ejecución
. Proceso de control y seguimiento
. Procesos de cierre
:: Asignatura: Circuitos Lógicos Programables
. Arquitectura de FPGA
. Fundamentos de lenguajes HDL
. Descripción de circuitos sintetizables utilizando un HDL
. Simulación y bancos de prueba básicos
. Síntesis e implementación de circuitos digitales descritos en un HDL
:: Asignatura: Implementación de Sistemas Operativos II
. Comparación y análisis de tarjetas de desarrollo más populares
. Análisis de arquitecturas y hardware requeridas para correr linux embebido
. Generación de herramientas para compilación cruzada - toolchain
. Estudio de la secuencia de arranque del sistema - uBoot en detalle
. Kernel de Linux - exploración del código fuente, versionado, configuración y compilación
. Booteo de Linux con uBoot desde SD, flash y TFTP
. Opciones de root file system. Busybox en detalle
. Meta tools para generar todos los componentes anteriores: Buildroot y YOCTO en detalle
. Análisis de diferentes block filesystems (ext3, ext4, btrfs, zfs, etc)
. Análisis de diferentes flash filesystems (jffs2, yaffs, ubifs)
. Trabajo práctico integrador utilizando las tecnologías estudiadas
:: Asignatura: Microarquitecturas y Softcores
. Microarquitecturas clásicas. Superscalar, Superpipelined
. Fundamentos del lenguaje descriptor de hardware Verilog
. Diseño e implementación de Sistemas Embebidos sobre plataformas de lógica reconfigurable. Softcores y hardcores. Diferencias, ventajas y desventajas. Arquitecturas. Buses de interconexión
. Uso de periféricos existentes e implementación y uso de periféricos propios. Comunicación microprocesador-periférico
. Co-Depuración software-hardware de Sistemas Embebidos sobre plataformas de lógica reconfigurable
:: Asignatura: Implementación de Manejadores de Dispositivos
. Módulos del kernel de Linux, concepto y metodología de desarrollo
. Concepto de espacio de usuario y espacio de kernel
. Desarrollo de drivers en espacio de kernel: linked list, locking, sleep, queues, timers
. Device tree, concepto, ejemplos, compilación y uso. Detalle de dts, dtsi, dtb
. Instanciación y remoción de módulos en espacio usuario, modprobe, insmod, rmmod
. Char devices: major/minor numbers, registracion, probe, remove, file operations, ioctl. Escritura de un char driver
. Platform devices: I2C, SPI, UART, PCI. Concepto de platform bus. Escritura de un platform driver
. I2C devices: concepto master/slave, estructuras de datos, funciones i2c_master_rcv, i2c_master_snd, i2c_transfer. Escritura de un I2C driver
. SPI devices: estructuras de datos, funciones spi_transfer, spi_read, spi_write, etc. Escritura de un SPI driver
. Proyecto final integrador: desarrollo de un driver de dispositivo para un periférico real, con uso de device tree, I2C o SPI
:: Asignatura: Procesamiento Digital de Señales
. Numeración y representación
. Cordic
. Filtros FIR e IIR: diseño y optimización
. FFT
Asignatura: Control Digital
. Introducción al control digital
. Implementación de controladores digitales
. Sistemas de control de tiempo real (RTCS)
Docentes:
Denis Jorge Genero
Patricio Bos
Israel Jordán Pavelek
María Celeste Corominas
Christian Marcelo Yanez Flores
Lionel Gutierrez
Luis Mariano Campos
Pablo Slavkin
Hanes Nahuel Sciarrone
Nicolás Alvarez
Hanes Nahuel Sciarrone
William's Ernesto Limonchi Sandoval
Ariadna Garmendia
María Carina Roldán
Pedro Rosito
Duración:
372 horas
Fecha de inicio:
Lunes 3 de marzo de 2025
Horario:
De 19.00 a 22.00
Informes e inscripción:
Laboratorio de Sistemas Embebidos: inscripcion.lse@fi.uba.ar