Harokopio University
School: School of Digital Technology
Department: Informatics and Telematics
Program: Undergraduate Programme

Embedded Systems

Semester: 5 ECTS: 5.0 Elective Erasmus

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