Ir al contenido principal

Empleartec Control+F / Control+A

Formación profesional gratuita en Software y Tecnología

Cursos

SISTEMAS EMBEBIDOS EN TIEMPO REAL CON MICROCONTROLADORES DE 32 BITS

Descripción

La generalización del uso de las microcomputadoras en un solo circuito (microcontroladores) ha requerido la generación nuevas técnicas de desarrollo tanto de hardware y de software. Más aún cuando existen requerimientos de diseño de tiempo real. Este curso constará de dos partes. En la primera parte se presentarán las técnicas generales de diseño y simulación respetando las reglas del arte y la arquitectura básica de un microcontrolador de 32 bits. En la segunda parte se verán aplicaciones reales de esas técnicas generales de diseño.

Dónde se dicta

CABA

Carga horaria

80 horas

Contenidos del curso

CAPÍTULO 1: Diseño, Desarrollo y Depuración.
Técnicas de diseño y desarrollo de circuitos y programas. Análisis de herramientas CAD y Entornos de desarrollo y depuración.
Fragmentación en módulos de fácil depuración. Elaboración de macros y bibliotecas con criterio de reuso de los mismos. Sistemas secuenciales. Repaso de diagramas de estados. Especificación y limitación de métodos formales: máquinas de estado finito, Empleo de tablas. Parsing. Gráficos de estado (statecharts), Redes de Petri, UML.
Técnicas de puesta a punto y depuración. Simulación y emulación. Programas monitores, simuladores por software y emuladores de hardware. Kits de evaluación y desarrollo. JTAG y serial wire protocol. Principios de operación y uso. Breakpoints sobre instrucciones y data watchpoints. Trace.
El empleo de repositorios
Técnicas de cálculo de la duración de un proyecto. Costeo.
CAPÍTULO 2: Microcontroladores de 32 bits.
Arquitectura de un microcontrolador de 32 bits. Estructura de registros. Contador de programa, Link register, punteros a la pila. Registros especiales. Modos de trabajo. Niveles de privilegio.
Repertorio de instrucciones. Thumb-2. Caso de estudio: Cortex-M3. Ejemplos. Evolución desde ARM7. Aplicaciones de Systick.
Herramientas de depuración incorporadas. Halting y stepping, Breakpoints y watchpoints. Accesos a memoria y registros. Perfilado y trazado. Debug Access Port, Debug Port. Debug Trace Macrocell. Breakpoints sobre memoria Flash. Interfaz con dispositivos externos de depuración.
Temporizadores. Reloj de tiempo real y watchdog. Programación y empleo en sistemas con interrupciones.
Reusabilidad de código. CMSIS. Ejemplos sobre diversos fabricantes
Manejos de bits. Bit banding e instrucciones específicas.
Excepciones e Interrupciones. Controlador de interrupciones avanzado NVIC. NMI y soporte de interrupciones vectorizadas. Asignación dinámica de prioridades. Enmascarado. Latencia. Tablas de vectores. Implementación y uso de la pila en las excepciones.
Mapa de memoria. Unidad de protección de memoria (MPU). Pipeline. Buses.
CAPÍTULO 3: Estrategias de control de periféricos.
Políticas de manejo de entrada / salida. Manejo por flag, ready, interrupción y acceso directo a memoria. Concepto de sincronización. Handshake. Líneas de control. Elección del tipo de entrada salida más adecuado según cada aplicación. Supervisores de circuito. Uso de rutinas de atención de interrupción. Buffer de memoria de entrada y salida. Manejo de colas. Implementación sobre Cortex M3. Drivers: sincrónicos (bloqueantes), asincrónicos (proactivo/reactivo). Ejemplos.
CAPÍTULO 4: Conectividad Serie de Sistemas Embebidos.
Necesidad de la comunicación serie. Normas de conexión entre equipos y circuitos asociados. RS232, RS422, RS423, RS485. Uso de temporizadores como generadores de baud-rate.
Modems. Parámetros de programación. Programación y códigos AT y registros S. Ejemplos de conexión a microprocesadores y entre módems. Modems internos y externos. Líneas conmutadas y líneas dedicadas. Líneas RTS, CTS, DTR y DSR. Modems GPRS. Conceptos elementales.
Conexión de periféricos intra-placa. I2C y SPI. Ejemplos (memorias, procesadores, conversores, etc.). Implementación sobre Cortex M3. Ejemplos.

Parte 2
CAPÍTULO 1: Sistemas Operativos en Tiempo Real
Núcleo de Tiempo Real: Pseudo-kernels, sistemas foreground/background, sistemas manejados por interrupciones: por prevaciado o cooperativos. Ventajas y Desventajas de los sistemas sin administrador de Tareas. Diferencias entre un sistema operativo tradicional y un RTOs. Determinismo.
Fundamentos teóricos de Sistemas Operativos de Tiempo Real: Planificación de tareas; tipos de planificadores. Componentes de un sistema de tiempo real. Sistemas de tiempo real relajados y estrictos.
Estados de una tarea. Descriptores de tareas. Creación y eliminación de tareas. Asignación de prioridades. Algoritmos específicos. Llamadas al sistema. Comunicación entre tareas. Sincronización. Semáforos binarios, contadores y mutex. Riesgos de inversión de prioridad.
Scheduling. Gerenciación de memoria.
Caso de estudio: Un sencillo núcleo de tiempo real. FreeRTOs. Implementación sobre un hardware estándar
CAPÍTULO 2: Muestreo
Magnitudes analógicas y digitales, unipolares y bipolares. Muestreo de señales analógicas. Circuitos de muestreo y retención (sample and hold). Niveles de cuantización. Teoría de Shannon. Criterio de Nyquist. Filtros anti-aliasing. Diseño asistido por computadora. Circuitos de acondicionamiento de entrada y salida.
CAPÍTULO 3: Conversión Analógica a Digital y Digital a Analógica.
Sistemas de adquisición de datos. Conversores D/A. Principios de operación. Abanicos de resistores. Redes R-2R. Conversores integradores y multiplicadores de 1, 2 y 4 cuadrantes. Análisis de errores. Selección del conversor más adecuado para una aplicación. Conexión a microprocesadores.
Conversores A/D. Principios de operación. Conversores A/D basados en un D/A y en contadores. Conversores serie. Servo-conversores. Sigma delta. Conversores con comunicación serie intraplaca.
Análisis de errores. Selección del conversor más adecuado para una aplicación. Resolución, exactitud, y precisión. Conexión a microprocesadores.
Microcontroladores Cortex M3 con conversores incorporados.
CAPÍTULO 4: Interfaz USB.
Descripción del Bus USB. Características eléctricas y temporales. Modelo de Arquitectura en capas. Evolución. Host, device y On-the-go. Transferencias. Endpoint, pipes, tipos de transferencias. Inicio de una transferencia. Bloques constitutivos de la misma. Fases de la transferencia. Handshake y procesamiento de errores. Conexión de dispositivos y su detección.
Transferencias de control, a granel, por interrupción e isócronas. Tramas y división de tiempos. Latencias y requerimientos al host.
El proceso de enumeración. Incorporación y remoción de un dispositivo. Descriptores. Distintos tipos (de dispositivo, calificador, de configuración, de interfaz, de string, de endpoint, etc).
Clases de dispositivos, principales características. La clase de los dispositivos de interfaz con el ser humano (HID). Su caracterización. Configuración de un controlador para ser interpretado por un sistema operativo.
Técnicas de diseño de un dispositivo USB device y host empleando un microcontrolador comercial que contenga ambas opciones. Campos de aplicación. Ejemplos.

Requisitos

Conocimientos en Herramientas Office y sistema Operativo Windows