Cuando piensa en su clase de sistemas integrados, ¿qué espera que aprendan sus alumnos? ¿Qué necesitan saber sobre computadoras de placa única como Raspberry Pi y Beaglebone? ¿Placas de desarrollo como la familia Arduino y los microcontroladores PIC? ¿Qué pasa con Xilinx? y placas de desarrollo basadas en Altera Con tantas opciones disponibles en el mercado actual, ayuda a los estudiantes a aprender aspectos fundamentales del mundo integrado Elegir la placa de desarrollo adecuada puede ser difícil.
Cuando piensa en su clase de sistemas integrados, ¿qué espera que aprendan sus alumnos? ¿Qué necesitan saber sobre computadoras de placa única como Raspberry Pi y Beaglebone? ¿Placas de desarrollo como la familia Arduino y los microcontroladores PIC? ¿Qué pasa con Xilinx? y placas de desarrollo basadas en Altera Con tantas opciones disponibles en el mercado actual, ayuda a los estudiantes a aprender aspectos fundamentales del mundo integrado Elegir la placa de desarrollo adecuada puede ser difícil. Muchas de las expectativas de los estudiantes que ingresan a la fuerza laboral son poder construir y mantener sistemas integrados. Cuanto más estrechos sean los límites de la base de conocimientos cuando los estudiantes obtienen sus primeros trabajos, más fácil será para los empleados de nivel inicial pasar a proyectos más grandes y avanzados. Con el fin de preparar a los estudiantes para el empleo de tiempo completo en campos relacionados con la informática, es aconsejable incluir los aspectos más importantes de los sistemas integrados en su plan de estudios.
Para comprender un área tan amplia como los sistemas integrados, debe superar los conceptos básicos. De la forma en que se configuran algunos cursos de nivel universitario, los estudiantes de ingeniería eléctrica, ingeniería informática y ciencias de la computación pueden inscribirse en el mismo curso. También descubrí que muchas clases de posgrado son accesibles para estudiantes universitarios. Como tal, encontrar el equilibrio adecuado de información previa puede ayudar a agilizar el proceso de aprendizaje para estudiantes de electricidad/computación de todo tipo.
Los tipos de estudiantes que ingresan a los sistemas integrados son bastante similares. La mayoría son estudiantes de ingeniería, generalmente ingenieros eléctricos e ingenieros informáticos, informáticos. Al observar los antecedentes comunes de estudiantes como ingenieros eléctricos, ingenieros informáticos e informáticos, es fácil ver que sus puntos fuertes varían. Los estudiantes de ingeniería eléctrica tienen mucha experiencia en diseño de hardware, como la construcción de transformadores y el diseño de circuitos avanzados. Los estudiantes de ingeniería informática, encargados de aprender la arquitectura de los sistemas informáticos, están más inmersos en el desarrollo de software que los ingenieros eléctricos.
Los informáticos son técnicamente desarrolladores de software que están interesados en la ciencia detrás de la informática y desarrollan prácticas que existen en el mundo del software. Con esta información en mente, comprender los aspectos más importantes de un sistema embebido y elegir estos elementos como materias iniciales es todo el trabajo del profesor en este contexto.
Todos los antecedentes de nuestros estudiantes tienen sus raíces en la ingeniería, por lo que una selección de componentes básicos puede guiarlos en la dirección correcta hacia la construcción y el mantenimiento de sistemas integrados. Los directores de currículo deben considerar todo el sistema integrado. Algunas preguntas que pueden hacer son:
• ¿Qué tipos de sistemas integrados existen?
• ¿CPU vs FPGA vs Microcontrolador?
• ¿Qué lenguaje de programación sería más efectivo para aprender?
• ¿Qué periféricos se utilizan comúnmente?
• ¿Qué interfaz de programación sería más beneficiosa para aprender?
Las respuestas a estas preguntas en realidad pueden conducir a muchas preguntas nuevas que deben responderse para identificar la mejor manera de abordarlo como un semestre Puedes hacer un trabajo más detallado. Por ejemplo, después de responder qué tipos de sistemas integrados existen, es posible que el profesor desee centrarse en los sistemas integrados médicos y los sistemas integrados domésticos. Estas opciones realmente determinan si un desarrollador elige entre un sistema operativo en tiempo real y un sistema operativo de propósito general. Otra cuestión importante que plantea otras cuestiones es la elección del tipo de procesador de datos. El estilo de codificación utilizado está determinado por la elección del procesador de datos. Los archivos C y Java pueden ejecutarse en todos los procesadores de datos, pero la programación de FPGA requiere un lenguaje de descripción de hardware (HDL) y la programación de microcontroladores puede usar lenguaje ensamblador. Entonces, ¿cuál es la mejor manera de ayudar a los estudiantes a aprender los conceptos básicos de los sistemas integrados?
Algunos de los principales temas que surgen de todas estas preguntas son el uso de HDL, la programación en C, la necesidad de placas de desarrollo típicamente entre FPGA o microcontroladores, y periféricos como VGA, PS/2 y USB. Controla la placa de desarrollo. Se eligieron estos temas porque son los más relevantes para el desarrollo de sistemas integrados. El uso de HDL es muy importante porque ayuda a los estudiantes de ingeniería eléctrica a programar fácilmente y ayuda a otros ingenieros a relacionarse con la ingeniería eléctrica. La programación en C es una gran herramienta que debe aprenderse antes de las clases integradas de alto nivel. Pero muchas otras clases que introducen el tema casi nunca entran en detalles serios. La programación de sistemas integrados brinda a los estudiantes una comprensión de cómo interactúan las construcciones de programación y las estructuras de archivos. Muchos sistemas integrados no utilizan sistemas operativos basados en Linux, por lo que la capacidad de aprender y comprender un lenguaje de programación tan poderoso es de gran beneficio para los estudiantes. Para crear realmente un sistema embebido, es necesario desarrollarlo en algún tipo de placa de computadora. Sin embargo, esta elección no es tan importante como las demás. Con la forma en que se pueden programar la mayoría de los chips de computadora y los tipos de periféricos que se pueden agregar, programar un FPGA es tan fácil como programar un microcontrolador.
Si se eligen microcontroladores en otras clases, los estudiantes tendrán que aprender a usar FPGA y viceversa. Aparte de la elección de la placa de desarrollo, los periféricos no son importantes. Si bien es importante comprender los aspectos que componen los dispositivos de entrada y salida, no importa mucho cuál elija. En la mayoría de los casos, incluir una salida visual y una entrada PS/2 o USB es una apuesta segura. Esto ayuda a los estudiantes no solo a programar la pizarra, sino también a ver los resultados en la pantalla. Con todos estos requisitos, puede ser difícil encontrar una pizarra que pueda satisfacer tanto las necesidades de enseñanza de los profesores como las necesidades de aprendizaje de los estudiantes.
Afortunadamente, para los profesores universitarios y la facultad, hay algunos programas disponibles que están predefinidos con el conocimiento que estamos buscando.Tenemos un programa de aprendizaje para ayudar a los usuarios potenciales a aprender a usar un microchip. Las empresas de FPGA y microcontroladores como Altera, Xilinx, PIC y Parallax crearon planes de lecciones para ayudar a los nuevos sujetos a aprender a usar el producto de su elección. Incluso las computadoras de placa única Raspberry Pi, BeagleBoard y Omilex tienen sus propias páginas introductorias con proyectos de ejemplo. Estos ejercicios de capacitación no son tan profundos como los sistemas de capacitación para FPGA y microcontroladores, pero pueden ayudar a los nuevos usuarios a desarrollar proyectos no triviales.
Pero no parece razonable enseñar una clase sin tareas, experimentos o procedimientos de prueba. Esto elimina la posibilidad de utilizar una computadora de placa única como fuente de aprendizaje. Organizar una clase en torno a una Raspberry Pi o BeagleBoard puede llevar mucho tiempo sin un plan de lección por adelantado. También excluyen funciones de aprendizaje importantes, como HDL, ciertos periféricos y opciones de programación. Además, no parece que gran parte de la industria construya productos utilizando computadoras de placa única. Excluyendo estas opciones, los FPGA o los microcontroladores parecen ser las mejores plataformas para construir clases. Empresas como Altera y Microchip (PIC) ejecutan ejercicios de “universidad” o “aula” para ayudar a los estudiantes a aprender los conceptos básicos de los sistemas integrados. Las clases basadas en FPGA y microcontroladores, que incluyen ejercicios de programación VHDL, Verilog y C, programación de placas de desarrollo mediante IDE y trabajo con periféricos, enseñan a los estudiantes a diseñar, desarrollar y probar sistemas integrados.
Referencias
• Zhang Nanzhong. Lancelot: placa de minería de Bitcoin basada en FPGA. Imagen digital. Wikipedia. Fundación Wikimedia, 1 de agosto de 2013. web. 24 de enero de 2014.
• Hacer cosas LLC. Mac Glamour 320. Imagen digital. Wikipedia. Fundación Wikimedia, sin fecha Web. 24 de enero de 2014.
• Xilinx. Xilinx Zynq-7000 AP SoC. Imagen digital. Wikipedia. Fundación Wikimedia, 29 de octubre de 2012. web. 24 de enero de 2014.