Embedded Systems
General
Code: ΕΠ52
Language: Greek
Delivery: Face-to-face teaching in the lecture hall and laboratory, using specialized software tools
Prerequisites:
Logic Design
Computer Architecture
Workload
- Lectures: 39.0 hours
- Lab: 0.0 hours
- Study: 36.0 hours
- Project: 40.0 hours
Course Content
• Introduction to Embedded Systems. Design challenges and optimization. Real-time embedded systems (hard/soft real-time systems). Introduction to processing element technologies and integrated circuits.
• General-purpose and application-specific processors. Combinational and sequential logic design. Hardware design of application-specific processors.
• Interfacing with the (analog) world. Communication fundamentals. Buses. Parallel, serial, and wireless communication. Communication protocols.
• Reconfigurable hardware (FPGAs). Hardware Description Languages (HDLs): Verilog and VHDL. Hardware/Software co-design methodologies. Design verification and reuse.
• FPGA-based implementation of basic embedded systems (without processors) using hardware description languages.
• Simpler systems. The case of Arduino and Raspberry Pi.
Learning Outcomes
The course aims to familiarize students with the fundamental concepts, techniques, and tools related to embedded systems. Embedded systems represent the vast majority of computing systems produced today, as they are specialized systems with distinct characteristics such as small size, low power consumption, low production cost, and high performance for specific applications.
The course provides both a theoretical understanding of the architecture and design of embedded systems and practical programming skills for their development. It introduces widely used architectures and presents application examples where the use of embedded systems is essential. Furthermore, reconfigurable architectures and relevant hardware description languages (e.g., Verilog and VHDL) are also explored, given their growing research and commercial interest.
Learning Outcomes:
Upon successful completion of the course, students will be able to:
a. Understand the basic characteristics, architecture, and specific features of embedded systems in comparison to general-purpose computing systems.
b. Describe the fundamental principles of design and operation of embedded systems.
c. Analyze various embedded system architectures and evaluate their use in specific applications.
d. Program embedded systems using appropriate techniques and software development tools.
e. Recognize the significance of reconfigurable architectures and apply basic hardware description languages for implementing such systems.
Skills
Ability to work independently
Ability to work in a team
Fostering free, creative, and inductive thinking
